本文整理计算机网络的基本概念、协议与重点知识。
计算机网络相关概念
计算机网络
- 定义:由若干 结点node 和连接结点的链路(link) 组成,结点可以是计算机、集线器、交换机、路由器等设备。
- 核心功能:数据通信(信息传递)、资源共享。
互连网(internet,小写 i)
- 定义:多个计算机网络通过路由器互相连接而成的网络集合。
- 关键特点:可使用任意通信协议,是泛指的 “网络的网络”。
互联网(Internet,大写 I,即因特网)
- 定义:特指全世界最大的计算机网络,由各大 ISP 和国际机构组建,是世界上最大规模的互连网。
- 关键特点:以TCP/IP 协议族作为统一通信规则。
其他
- ISP:互联网服务提供商(Internet Service Provider),为用户提供互联网接入服务的机构。
- 网络设备分工:
- 集线器、交换机:用于连接同一网络内的不同结点。
- 路由器:用于连接不同的网络,实现网络间的通信。
- 家用路由器:本质是 “路由器 + 交换机 + 其他功能(如 Wi-Fi)” 的集成设备。
计算机网络组成
组成:硬件、软件、协议;边缘部分、核心部分;资源子网、通信子网
1. 从组成部分看
硬件
- 主机(端系统):电脑、手机、物联网设备
- 通信设备:集线器、交换机、路由器、调制解调器、无线基站
- 通信链路:网线、光纤、同轴电缆
- 网络适配器(网卡):收发网络数据
软件:Email、聊天、网盘等,实现资源共享
协议:网络通信规则,由硬件 + 软件共同实现
- 从工作方式看
- 边缘部分:直接为用户服务(通信、资源共享),由主机 + 软件组成
- 核心部分:为边缘提供连通与交换服务,由网络 + 路由器组成
- 从逻辑功能看
- 资源子网:提供共享软硬件与信息资源,由主机组成
- 通信子网:负责信息传输,由通信链路 + 通信设备 + 协议组成(含网卡、底层协议)
计算机网络功能
功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡、其他
- 数据通信:最基本、最重要功能,实现计算机间数据传输
- 资源共享:硬件、软件、数据资源共享
- 分布式处理:复杂任务分给多台计算机(如大矩阵运算、MapReduce)
- 提高可靠性:设备互为备份,冗余保障
- 负载均衡:多机分担繁重任务
- 其他:远程办公、远程教育、娱乐等
电路交换,报文交换,分组交换
电路交换
建立过程:
- 建立链接(占用通信资源)
- 通信(一直占用–期间两者链接的线路不可被再用)
- 释放链接(归还通信资源)
中间节点还会提供端到端的物理链接,如同管道传输;故只适用于,次数少,连续,大量的数据传输。
电路交换技术优点:
- 通信前建立专用物理通路:主叫端到被叫端建立一条专用的物理通路,通信全程双方始终占用端到端的线路资源。
- 数据直送,传输速率高:通路建立后数据直接传输,无额外转发延迟,传输效率高。
- 适用场景:更适合低频次、大量传输数据的场景(如长时间通话)。
缺点:
- 建立 / 释放连接的额外开销:需要专门的时间来建立和释放连接,耗时较长(如打电话的拨号等待)。
- 线路独占,利用率低:通信双方全程独占线路,即使不传输数据也无法被其他用户使用,资源浪费严重。
- 线路分配灵活性差:通路一旦建立,无法动态调整线路资源,难以适配突发传输需求。
- 无差错控制能力:交换节点不支持差错控制,无法发现和纠正传输过程中的数据错误。
不适合计算机数据传输:计算机数据多为突发式、高频次、少量传输的模式,电路交换的线路独占和连接开销会导致体验极差(如等 2 分钟通话,仅讲 5 秒的场景)。
典型例子:传统电话网络,通话期间全程占用一条物理线路。
报文交换
报文:源地址,目的地址,数据。使用存储转发技术,一次一次转发到目标地址。每个报文可以独立选择通往目的端的路径。
报文交换的优点
- 无需建立连接:通信前不需要预先建立专用物理通路,属于无连接的通信方式。
- 存储转发机制:数据以报文为单位,在交换节点间采用 “存储转发” 方式传输,通信线路可灵活分配。
- 线路利用率高:通信双方无需独占整条物理线路,相比电路交换,资源利用率显著提升。
- 支持差错控制:交换节点可通过校验技术实现差错控制,能发现传输过程中的数据错误。
报文交换的缺点
- 报文管理不便:报文长度不固定,不利于存储转发过程中的管理与调度。
- 开销较大:长报文的存储转发会带来较大的时间延迟和缓存资源开销。
- 重传成本高:长报文传输过程中容易出错,一旦出错需要重传整个报文,代价较高。
分组交换
分组交换是一种无连接的存储转发交换方式,它将用户的完整报文分割为多个固定长度的 “分组”(Packet),以分组为单位在网络中传输,每个分组独立路由,最终在目的地重组为完整报文。
分组交换的优点
- 无需建立连接:通信前无需预先建立专用物理通路,随时可发送数据。
- 存储转发机制:数据以 “分组” 为单位,在交换节点间存储转发,通信线路可灵活分配。
- 线路利用率高:通信双方无需独占整条物理线路,相比电路交换,资源利用率大幅提升。
- 支持差错控制:交换节点可通过校验技术实现差错控制,能发现传输错误。
- 对比报文交换的改进:
- 分组长度固定,方便存储转发的管理与调度;
- 单个分组的存储转发时间开销、缓存开销更小;
- 单个分组出错概率低,重传仅需重发出错分组,代价远低于重传整个报文。
分组交换的缺点
- 控制信息占比增加:每个分组都需要携带首部控制信息(如地址、序号),相比报文交换,额外开销比例上升。
- 存在存储转发时延:相比电路交换的直通传输,分组在每个节点都需要存储、转发,存在额外时延。
- 传输复杂度高:报文被拆分为多个分组后,传输过程中可能出现失序、丢失、重复等问题,目的地需要额外的重组、排序、差错恢复处理,增加了协议复杂度。
分组交换是目前互联网的主流交换方式,它在电路交换和报文交换之间做了折中,既解决了电路交换资源浪费的问题,又解决了报文交换开销大、重传成本高的问题,同时也引入了额外的控制开销和传输复杂度。
计算机网络分类
按分布范围
- 广域网 WAN:几十~几千公里,跨省 / 跨国
- 城域网 MAN:几~几十公里,城市级
- 局域网 LAN:几十米~几公里,校园 / 公司 / 家庭
- 个域网 PAN:几十米内,个人设备互联
局域网通过路由器链接广域网
按传输技术
- 广播式网络:一发全收,按目的地址筛选
- 点对点网络:一对一精准传输
按拓扑结构
- 总线型:广播,争用总线
- 环形:广播,令牌控制
- 星型:点对点,无争用
- 网状:点对点,高可靠,广域网常用
按使用者
- 公用网:公众可用
- 专用网:内部专用
按传输介质
- 有线:网线、光纤
- 无线:Wi‑Fi、5G、蓝牙
计算机网络性能指标
信道:表示向某一方向传送信息的通道(信道≠通信线路)一条通信线路在逻辑上往往对应一条发送信道和一条接收信道
速率(Speed):指连接到网络上的节点在信道上传输数据的速率。也称数据率或比特率、数据传输速率
速率单位: bit/s,或 b/s,或 bps(真题最常用)
⚠️注意:有时也会用 B/s(1B = 8b,B=Byte 字节,b=bit 比特)
1 | 1 bps = 1 bit/s = 1/8 B/s ≈ 0.125 B/s |
带宽
- 信道最高数据率,单位 bps
- 通信原理:频带宽度,单位 Hz
本质一样:信道带宽越大,传输数据的能力越强
在《计算机网络》中:带宽(bandwidth):表示某信道所能通过的 “最高数据率”。单位:bps(或记为 b/s、bit/s;可加上数量前缀 k、M、G、T)。
在《通信原理》(通信领域的一门基础学科)中:带宽(bandwidth):表示某信道允许通过的信号频带范围。单位:Hz(读作 “赫 / 赫兹”;可加上数量前缀 k、M、G、T)。
吞吐量
- 单位时间实际通过的数据量
时延:
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
发送时延 = 数据长度 / 发送速率
传播时延 = 信道长度 / 电磁波速度
时延带宽积
- 时延带宽积 = 传播时延 × 带宽
- 表示链路中最多能容纳的比特数
往返时延 RTT
- 发数据 → 收确认 的总时间
信道利用率
- 有数据时间 / 总时间
- 太低浪费,太高易拥塞
计算机网络分层结构
一、分层的设计思想
- 核心:将庞大复杂的网络问题,拆解为若干较小的局部问题,简化设计与实现。
- 计算机网络分层需实现的核心功能:差错控制、流量控制、分段和重装、复用和分用、连接建立和释放。
- 特点:分层设计不唯一,可按需增减层次;同一功能可在多层重复出现。
二、三种常见网络体系结构
| 体系结构 | 层数 | 定位 | 层次划分 |
|---|---|---|---|
| OSI 参考模型 | 7 层 | 法律上的国际标准 | 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 |
| TCP/IP 模型 | 4 层 | 事实上的工业标准 | 应用层、传输层、网际层(IP 层)、网络接口层 |
| 五层模型 | 5 层 | 考研教学标准 | 应用层、传输层、网络层、数据链路层、物理层 |
三、核心基础概念
- 网络体系结构:计算机网络各层及其协议的集合,是抽象的功能定义,不涉及具体硬件 / 软件实现。
- 实现:遵循体系结构,用硬件 / 软件完成功能的具体过程,是具体的。
四、PDU、SDU、PCI 核心关系
- 协议数据单元(PDU):对等层次之间传送的数据单位,记为n-PDU。
- 服务数据单元(SDU):为完成上层功能传送的数据,记为n-SDU。
- 协议控制信息(PCI):控制协议操作的信息,记为n-PCI。
- 核心公式:n-SDU + n-PCI = n-PDU = (n-1)-SDU
五、协议三要素
六、数据传输核心视角
- 水平视角:对等层通过协议直接通信,用户感知不到底层封装 / 解封装。
- 垂直视角:数据从上层到下层逐层加首部 / 尾部封装,物理层转为比特流传输;接收方反向逐层解封装。
OSI参考模型-物联网叔会使用
物联网叔会使用
物理层
任务:比特传输
数据链路层
任务:帧为单位,差错检测,流量控制
网络层
任务:分组为单位,路由选择,分组转发,拥塞控制,网际互联
其他:差错控制,流量控制,链接建立与释放(确保分组有序),可靠传输管理(接收方需要返回分组确认消息)。
传输层
任务:报文段为单位,复用和分用
其他:差错控制,流量控制,链接建立与释放,可靠传输管理。
会话层
任务:会话管理,采用检查点机制
表示层
任务:数据格式转换,解决两台主机信息不一致
应用层
任务:特定网络功能HTTP
TCP/IP模型-接网输用
接网输用
第二章物理层
通信基础
- 信源(信息源)
- 定义:产生并发送信息(数据)的设备 / 实体,是通信的 “发送端”。
- 作用:将待传输的原始信息(文字、语音、图像等)转换为可传输的信号形式。
- 信宿(收信者)
- 定义:接收并还原信息的设备 / 实体,是通信的 “接收端”。
- 作用:将收到的信号还原为原始信息,完成信息的接收与处理。
- 信号
- 定义:数据的电气 / 电磁表现形式,是信息传输的载体。
- 分类:
- 模拟信号:连续变化的信号(如传统电话线上的语音信号);
- 数字信号:离散的、取值有限的信号(如计算机传输的二进制比特流)。
- 信道
定义:传输信号的物理 / 逻辑通道,是信号从信源到信宿的传输媒介。
分类:
- 按传输介质:有线信道(双绞线、光纤、同轴电缆)、无线信道(无线电波、微波);
- 按传输信号类型:模拟信道(传输模拟信号)、数字信道(传输数字信号)。
- 码元(Symbol)
- 定义:在数字通信中,用固定时长的离散信号波形表示数字信号的基本单元,这个基本信号单元就叫码元。
- 关键细节:
- 这个固定时长称为 “码元长度”,单位时间内传输的码元数量就是 “码元传输速率”;
- 一个码元可携带多个比特信息:若一个码元有
N种不同的离散状态(电平 / 波形),则它能携带的比特数为log₂N。 - 例:用 4 种不同的电压波形表示码元,每个码元可携带
log₂4=2bit的信息
- 波特(Baud)
- 定义:是 码元传输速率(波特率) 的单位,符号为
B。 - 波特率(
R_B):单位时间内传输的码元数目,单位是波特(Baud)。 - 关键细节:波特率只和码元的传输速度有关,与每个码元携带多少比特无关。
- 例:1 秒内传输了 1000 个码元,波特率就是
1000 Baud。
- 例:1 秒内传输了 1000 个码元,波特率就是
信道的极限容量
带宽
噪声
编码和调制
常用调制方法
传输介质
双绞线,同轴电缆,光纤与无线传输介质。
物理层设备
中继器
集线器
第三章数据链路层
数据链路层的功能-封帧、透传、差检
三个基本问题:封装成帧,透明传输,差错检测
点对点,广播通信两种
组帧
字符计数法
字节填充法
零比特填充法
HDLC,PPP协议就是使用的这种方法。
违规编码
差错控制
码距特性
码距(海明距离)
两个合法码字之间,二进制对应位不相同的位数,就是这两个码字的码距。
最小码距 *(d_0)*
一组编码中,所有两两合法码字码距的最小值,决定了编码的检错、纠错能力。
列出所有合法码字;
逐对对比两个码字,统计二进制位不同的个数,即为两两码距;
从所有两两码距中取最小值,就是最小码距 (d_0)。
编码集合:0000、0011、1100
0000 与 0011:2 位不同 → 码距 = 2
0000 与 1100:2 位不同 → 码距 = 2
0011 与 1100:4 位不同 → 码距 = 4
最小码距:d_0=2
src=”image-20260505164916135.webp” alt=”image-20260505164916135” style=”zoom: 67%;” />
检错编码-奇校验、偶校验
检错编码-CRC循环冗余码
检错编码-海明校验
流量控制和可靠传输机制
两个都要靠“滑动窗口机制”来实现
滑动窗口机制
发送窗口WT
接受窗口WR
停止等待协议(S-W)
正常工作
帧丢失
1.数据帧丢失
发送方设置计时器,时间到了,没有收到确认帧就重传。
2.确认帧丢失
发送方设置计时器,时间到了,没有收到确认帧就重传。
接收方收到后,根据重传的数据帧,返回对应的确认帧。
3.为什么要给帧编号?
如果不编号,超时重传出的帧,在接受方看来可能是新的帧,也可能是刚刚确认帧丢失之后,重新传送的帧。同理之前的所有数据可能都是重传帧。
所有根据滑动距离1,设置1bit的位置编号即可判断是否出现重传现象。也能根据编号重现发送确认帧,让发送方下一步。
帧出错
接受方在检测到帧的信息出现错误的时候,直接丢弃帧,不会发送确认帧。等待发送方开始重新发送。
多滑动窗口&后退N帧协议GBN
正常
帧丢失
1.数据帧丢失/检测数据帧i出错
发送方:数据帧i发送后启动计时器,到时间(如果数据帧丢失,或者数据帧出错,接收方都不会返回该数据帧的确认帧) 就会根据当前返回的数据帧编号K,选择K之后的Wt帧发送。
接受方:检测帧i是否出错,等待接受下一帧,一帧一帧滑动向右,如果数据帧丢失,或者数据帧出错,接收方都不会返回该数据帧的确认帧。开始等待计时器耗尽。
2.确认帧丢失
发送方:数据帧i发送后启动计时器,到时间没收到确认帧,直接重传刚才发送的帧。
接收方:已经受到一次,检测到是重复的帧直接丢弃,并返回最后一帧的确认帧。
3.为什么要满足Wt+Wr<=2^n?
保证相邻的Wt+1帧内不含重复的接受方(Wr=1)最后所在帧编号.
如果Wt=4,Wr=1,n=4.发送4帧后,确认帧丢失,重传过程,接收方接收到的是从0开始的4帧,接收方看到帧编号和当前最后一个帧一致,直接滑动的话就会出现数据错乱。
多滑动窗口&选择重传协议SR
1.数据帧丢失
发送方:发送后开启计时器,开启等待,接受方的确认帧。等不到就不滑动,如果等到就划过当前帧。再次重传。
接受方:受不到,则不返回确认帧。开启等待计时器耗尽重发。窗口不会划过当前帧。
2.数据帧出错
接收方检测到帧i出错,返回否认帧NAKi。发送方接受到直接开始重传,并暂停滑动在当前帧,检测窗口内其他未发送帧继续发送。
3.确认帧丢失
接收方:不管接收方,受到直接滑动窗口;检测接受到的帧是否重复,返回重复帧ACK,等待新帧,没有新帧不滑动窗口。
接收方:收不到确认帧就一直发,不滑动窗口;受到之后,滑动。
4.为什么要满足Wt+Wr<=2^n?
保证相邻的Wt+Wr帧内不含重复的接受方(Wr)最后所在帧编号.
在接受方:也就是一个满编号队列当中,不会检测到出重复编号。
信道利用率
停止等待协议(S-W)
情况一
情况二
例题
GBN、SR协议信道利用率
例题1
信道利用率80%,100Mps*80%=80Mps。
例题2
介质访问控制
信道划分介质访问控制-静态划分信道
时分复用TDM(Time Division Multiplexing)
统计时分复用STDM
频分复用FDM
波分复用WDM
码分复用CDM
随机访问介质访问控制-动态划分
ALOHA协议
- 纯ALOHA协议
- 时隙ALOHA协议
CSMA协议
节点的网络适配器,需要搭载载波监听装置。
区别ALOHA,在发送数据之前会先监听信道,信道空闲才会发送数据。
- 1-坚持CSMA协议
- 非坚持CSMA协议
- p-坚持CSMA协议
CSMA/CD-总线型(Collision Detection)
先听后发:具备1-坚持CSMA的特性,检测到空闲会立即发送;
边听边发:发送自己数据帧的同时,持续监听有无其他数据帧;
冲突停发:发送监听过程中,如果有其他的就是检测到冲突,放弃传输并等待,记录冲突次数。如果次数等于16时放弃传出,直接报告传输失败。
随机重发:随机等待r倍争用期
随机数r:
争用期:两倍最大单向传播时延。
注意: 其他接受到小于最短帧长的帧,直接丢弃当前帧。
最短帧长:争用期X信道带宽;
没有ACK机制,发送过程没有检测到冲突,就视为发送成功。
最长帧长:规定最长帧长防止某些节点一直占用信道。
以太网规定:最短64B,最长1518B
IP数据报的长度是:46–1500B
CSMA/CA(Collision Avoidance)
模式一。
时间长度:DIFS>PIFS>SIFS
设置DIFS>SIFS+ACK最远传播时延
模式二。
1 | 问:CSMA/CA协议有没有冲突检测能力,可以用于有线网络吗? |
轮询访问介质访问控制-令牌传递协议-动态划分
生成令牌帧->如果有数据要发送就将令牌帧转化为数据帧->循环发送对比目标节点->回到原点检测将令牌交给下一个节点
局域网
局域网体系
IEEE 802.11-无线 与 802.3-有线
src=”image-20260508203226548.webp” alt=”image-20260508203226548” style=”zoom:200%;” />
IEEE 802.3以太网标准
做题默认交换机连接的终端都可以全双工。
用集线器连接的节点,仅支持半双工模式。
同轴电缆网段只支持半双工通信。
以太网MAC帧
广播域-单播域
注意:以太网交换机隔离冲突域,但是不隔离广播域;
路由器隔离广播域也隔离冲突域;
集线器不隔离广播域也不隔离冲突域
VLAN基本概念和原理
提取的 VLAN 技术要点
- 可将一个大型局域网分割成若干个较小的 VLAN,每个 VLAN 是一个广播域
- 需要使用支持 VLAN 功能的以太网交换机来实现
- 每个 VLAN 对应一个VID(VLAN ID,VLAN 标识)
VLAN(虚拟局域网)的核心作用是通过逻辑分段,隔离广播域、提升网络安全性与带宽利用率;
VID是 VLAN 的唯一标识,取值范围通常为 1-4094,其中 1 为默认 VLAN,用户可自定义 2-4094 的 VLAN;
只有支持 VLAN 功能的交换机,才能识别和处理带 VLAN 标签的帧,实现跨交换机的 VLAN 通信。
- 基于端口划分(静态 VLAN,最常用)
- 原理:手动将交换机的物理端口 / 逻辑端口(如 Eth0/1、Trunk 口)固定分配到不同 VLAN 中,端口属于哪个 VLAN,接入的设备就属于哪个 VLAN。
- 配置示例:在交换机上执行
switchport access vlan 10,将端口 10 加入 VLAN 10。 - 优点:配置简单、稳定可靠,广播域隔离效果明确,无额外开销。
- 缺点:用户设备移动(换端口)时,需要手动修改端口的 VLAN 配置,灵活性差。
- 适用场景:工位固定的企业办公网络、机房设备接入等场景。
- 基于 MAC 地址划分(动态 VLAN)
- 原理:交换机维护一张
MAC地址-VLAN映射表,主机接入端口时,交换机会读取主机的 MAC 地址,根据映射表自动将端口划分到对应 VLAN。 - 配置示例:在交换机上绑定 MAC 地址
00-11-22-33-44-55到 VLAN 20,主机接入后自动分配到 VLAN 20。 - 优点:用户设备移动(换端口)时无需重新配置 VLAN,适合移动办公场景。
- 缺点:初始化配置工作量大,且 MAC 地址可被伪造,存在安全风险。
- 适用场景:企业内部笔记本、移动终端较多的环境,或对用户物理位置不固定的场景。
- 基于 IP 地址 / 子网划分(三层 VLAN)
- 原理:根据主机的IP 地址 / IP 子网划分 VLAN,交换机(或三层设备)通过解析 IP 数据包的源 IP,将流量分配到对应 VLAN(需三层交换机支持)。
- 示例:192.168.1.0/24 网段的主机自动划分到 VLAN 10,192.168.2.0/24 网段的主机划分到 VLAN 20。
- 优点:与 IP 子网天然绑定,适合按部门网段规划的网络,用户更换端口无需修改配置,只需 IP 在对应网段即可。
- 缺点:依赖三层协议解析,配置复杂度高,且 IP 地址可手动修改,易导致 VLAN 划分混乱。
- 适用场景:企业按业务部门网段划分的网络,或需要跨网段动态分配 VLAN 的场景。
802.1Q帧-交换机之间的传输
无线局域网
- 有固定基础设施无线局域网-802.11无线局域网(WIFI)
- 无固定基础设施的移动自组织网络-隔空投送
基本概念:
门户(Portal):将两类局域网(无线802.11和有线802.3)链接变成更大的局域网。
802.11帧:
例题:
广域网
广域网的组成
PPP协议
提供无差错,不可靠服务
链路控制协议LCP-网络控制协议NCP
PPP 链路永久连通,LCP/NCP 一次协商完成就长期保持,没有反复建链的开销。
节点交换机基于分组交换转发,PPP 只是帧格式,不影响转发速度。
PPP不是电路交换,不需要建立 “独占物理链路”
数据链路层设备
以太网交换机P118
,
自学习算法
表项有时间期限过期自动作废。
第四章网络层
网络层的功能
IPv4
各协议之间服务关系
IP数据报的格式
IP数据报中-源地址与目的地址(IP地址分类方案)
若主机号占 N bit,则一个网络中可指派的主机/路由器接口数最多为 2^N - 2(去掉全0网络地址和全1广播地址)。
1 | IP 数据报在主机之间的转发流程 |
- DHCP 请求:主机未获 IP 时,用
0.0.0.0作为源地址,255.255.255.255作为目的地址发送发现报文。 - 环回测试:发往
127.0.0.1的数据报不离开本机,直接由协议栈环回,用于测试网络协议栈是否工作正常。 - 网络地址 / 广播地址:不会出现在普通数据报的目的地址中,但可用于路由表条目或网络配置。
子网划分-子网掩码
[4.2.3 子网划分与和子网掩码(纯净版).pdf](4.2.3 子网划分与和子网掩码(纯净版).pdf)
无分类编址CIDR
路由聚合

[4.2.5 路由聚合.pdf](4.2.5 路由聚合.pdf)
NAT地址转换
[4.2.6 网络地址转换 NAT(纯净版无手稿).pdf](4.2.6 网络地址转换 NAT(纯净版无手稿).pdf)
ARP协议-地址解析协议
动态主机配置协议-DHCP
[4.2.6 动态主机配置协议DHCP.pdf](4.2.6 动态主机配置协议DHCP.pdf)
ICMP网际控制报文
问题
1 | 为什么说互联网当中路由器对目的地址为私有地址的数据一律不转发? |
IPv6
IPv6格式
128bit
冒号十六进制、压缩记法
例题:
IPv6地址分类
IPv6支持即插即用:可以使用MAC地址拼接网络前缀
路由算法和协议算法
路由算法
距离-向量路由算法(RIP基于此)
链路状态路由算法(OSPF基于此)
本质是dj斯特拉算法,路由器需要知道完整的拓扑结构
路径向量路由算法(BGP基于此)
分层次的路由协议
每一个自治系统AS拥有唯一的自治系统编号ASN,自治系统之间都是独立平行的,一个自治系统通常包含一个或者多个CIDR地址块。
内部网关协议IGP:用于AS内部路由选择:RIP,OSPF
外部网关协议BGP:用于AS之间的路由选择:BGP
RIP路由协议
—本质上是图的最短路径问题
RIP属于应用层,使用UDP传输数据,端口号:520
RIP的两种报文:Request报文,Responde报文
RIP的规定
路由器之间如何交换必要信息?
路由器怎么知道发送给的是自己的邻居,而不是伪装的或者主机?
RIP的工作过程
为什么RIP要发送自己路由表给相邻节点,由相邻节点修改;而不是直接发送对应修改后的路由表给相邻节点呢?
全部建立在 “发送原始路由、接收方处理” 的逻辑上。
RIP优缺点
OSPF协议
OSPF特点
OSPF工作
LSDB:链路状态数据库-AS当中所有路由的链路状态有向邻接表(链表)的集合。

OSPF分组类型
1 | RIP,OSPF的信息传递都需要依赖IP数据报吗? |
BGP协议-外部网关协议
BGP特点
(1)、 力求找到一条自治系统之间比较好的路由,而不是最佳路由。
(2)、 AS之间的路由选择必须考虑政治、安全或经济等因素。
(3)、 BGP采用路径向量路由算法–路由器之间通告BGP路由信息时,不仅要告知目的地,还要告知到达该目的的完整路径。(需要告知经过哪些自治系统)
(4)、 BGP是应用层协议,基于TCP(端口号:179)
BGP相关概念
在一个自治系统中,边界路由器一定要运行BGP协议,内部的一些核心路由器也要运行BGP协议。 为简化理解,姑且认为自治系统内所有路由器都要运行 BGP协议,与此同时,也要运行 RIP 或 OSPF 协议。
BGP 邻居
- BGP 协议的通信双方称为 BGP 对等方(BGP peers),也常译为 “BGP 邻居”
- BGP 邻居之间先建立 TCP 连接,然后在该连接上交换 BGP 报文,从而建立 BGP 会话
BGP路由信息格式
BGP路由选择策略
IP多播
IP 数据报协议字段 (Protocol) 取值对照表
作用:标识 IP 数据包上层承载的是什么协议,8位字段,十进制编号为 IANA 标准协议号。
十进制值 协议名称
1 ICMP 网际控制报文协议
2 IGMP 网际组管理协议
6 TCP 传输控制协议
17 UDP 用户数据报协议
41 IPv6
47 GRE 隧道协议
50 ESP 加密安全协议
51 AH 认证头协议
88 EIGRP 路由协议
89 OSPF 路由协议
132 SCTP 流控传输协议
移动IP
移动设备在本地归属代理还是采用传统的TCP/IP通信。
网络层设备
第五章传输层
传输层功能
注意:应用层传给传输层的数据可以不使用H5包装,而是直接交给传输层
网络层实现主机到主机的通信,传输层实现了’端到端‘的通信。
两台主机的端口号是独立的,TCP和UDP的端口号也是独立的。
两个进程之间的通信需要指明:那种协议,本地进程绑定端口号,对方IP和端口号(套接字Socket是IP:端口号)。
**端口号分类 **
**端口号:16bit,0-65535 **
UDP数据报
TCP和UDP报文结构
支持一对多,设置广播IP地址255.255.255.255,符合UDP端口的所有进程都会接受。
TCP的一对一指的是进程和进程之间的一对一。
UDP数据报格式-UDP检验
理论上的最大长度是65535,实际封装到IP数据报中还要减去20IP数据报首部,也就是65515B
TCP报文段
TCP建立链接的过程
MSS并不包括TCP首部
TCP数据报格式
ack具有累计确认的特点,ACK和ack不一样
数据偏移字段用于指出TCP首部长度
TCP链接建立与释放
只有握手1,的ACK=0,其他为1;只有握手1,2的SYN=1,其他为0;只有挥手1,3的FIN=1,其他为0;
每次发送的seq是发送方自定义的序列号,ack是确认对方的序列号;两个主机之间交换会不断更新ack和seq
握手1,2都要消耗1个seq,不携带数据,但是握手3如果没有数据就不消耗seq,seq维持不变。
如果客户在TIME-WAIT,1600ms,2MSL后才会释放链接,如果服务器没有受到挥手4,就重发挥手3,这样客户收到挥手三就重置计时器并发送挥手4。
TCP-可靠传输、流量控制
连续受到1+3个序号相同的ACK才会立即重传,第一个ACK不属于冗余ACK。
TCP拥塞控制
流量控制和拥塞控制的区别
流量控制:端到端,防止接收方缓存被撑爆
拥塞控制:全网链路,防止中间路由器网络拥堵
| 对比项 | 流量控制 | 拥塞控制 |
|---|---|---|
| 核心目的 | 不让接收方收不下数据 | 不让整个网络堵车、丢包、时延暴涨 |
| 瓶颈位置 | 瓶颈在接收主机缓冲区 | 瓶颈在路由器、链路带宽 |
| 作用范围 | 一对一 发送方 ↔ 接收方 | 全局整个传输网络 |
| 控制依据 | 接收方返回的接收窗口 rwnd | 发送方探测网络得到拥塞窗口 cwnd |
| 控制主体 | 接收方说了算 | 发送方自己探测判断 |
| 解决问题 | 接收缓存溢出 | 网络拥塞、大量丢包 |
| 核心窗口 | 接收窗口 rwnd | 拥塞窗口 cwnd |
| 发送上限 | 受对方缓存限制 | 受网络路况限制 |
区别于:
ICMP 源点抑制(Source Quench)
属于网络层ICMP 协议的早期拥塞反馈机制,ICMP 报文类型号 = 4。
路由器本地缓存队列爆满、不得不丢弃数据包时,主动向数据源发送主机回发该报文,要求源主机降低发包速率,以此缓解网络拥塞。
协议层级:网络层,封装在 IP 分组里传输
报文标识:类型4,代码固定0
通信方向:路由器 → 源主机,只通知发送端,不通知接收端
核心用途:早期简易缓解链路拥塞
如何判断网络拥塞程度?
核心判断依据:丢包、时延、队列缓存、带宽利用率、协议反馈信号五大维度,分为主机端判定、路由器端判定、量化指标判定三类,考试高频考点集中在 TCP 侧判断逻辑。
1. 主机:
- 超时重传触发报文超时未收到确认 ACK,判定重度拥塞,大概率链路拥堵、路由排队爆满。
- 收到 3 次重复冗余 ACK仅单个报文丢失,整体链路未完全瘫痪,判定轻度局部拥塞。
- 往返时延 RTT 异常变大数据来回耗时远超正常基准值,时延持续攀升,拥塞逐步加重。
- 报文重传比例上升重传报文占比越高,网络拥塞程度越高。
- 拥塞窗口 cwnd 剧烈收缩窗口突然变小,说明发送方检测到网络拥塞并主动降速。
2. 路由器
从转发节点视角判断链路拥堵
输出队列长度
队列排队报文越多,排队延迟越大,拥塞越严重;队列塞满直接丢弃数据包,属于严重拥塞。
设备缓冲区占用率
缓存占用接近满载,达到拥塞临界状态。
单位时间丢包数量
丢包频次越高、丢包量越大,拥塞程度越高。
收到 / 发出 ICMP 源点抑制报文
路由器主动下发类型 4 抑制报文,代表当前链路已经拥堵。
横轴x倍RTT,纵轴y倍MSS
如果指数增长会超过阈值,那直接以阈值发送。8+8>12,cwnd=12,之后匀速增加,如果超时就将:阈值=当前窗口/2,然后从1开始增加。
第iRTT时刻发送的数据A和第i时刻cwnd大小B只有在阈值时刻相等,阈值之前2^A=B,阈值之后,A+1=B。
阈值不能小于2.
1 | TCP 四大计时器 |
第六章应用层
网络应用层模型
客户服务器模型
- 核心模型结构
服务器:图中的百度网盘服务器,本质是一台性能强悍的主机,长期运行,被动等待请求。
客户:客户 A/B/C/D,也就是我们使用百度网盘的电脑 / 设备,主动发起请求。
通信关系:所有客户都直接和服务器交互,客户之间不直接通信。 - C/S 模型的工作流程
服务器长期运行,监听端口,等待客户发来请求。
客户主动向服务器发起服务请求,必须提前知道服务器的 IP 和端口号。
服务器被动处理请求,并将结果返回给客户,服务器无需提前知道客户端的地址。 - C/S 模型的特点
客户与服务器地位不平等,服务器处于中心位置。
客户进程之间不直接通信,所有交互都经过服务器中转。
✅ 优点
便于集中管理:数据、带宽、用户权限都可以在服务器端统一管控,安全性和可控性更强。
⚠️ 缺点
单点故障风险:如果服务器损坏,整个系统的服务都会受影响。
性能瓶颈:服务器处于中心位置,负载压力极大,服务器性能直接决定了整个系统的性能上限。 - 常见的 C/S 模型应用
课件中提到的例子:
DNS、电子邮件、FTP、Web 应用(早期架构)、百度网盘等,都是典型的 C/S 模型。
P2P模型
1.P2P 模型中,网络里的每一台主机(称为 “对等方 / 节点”)既是客户端,也是服务器:
- 可以主动向其他节点请求资源(像客户端)
- 也可以向其他节点提供资源(像服务器)
- 节点之间可以直接通信,不需要经过中心服务器中转
2.核心特点
- 无中心节点:没有专门的服务器,节点地位完全平等
- 分布式存储与传输:资源分散在各个节点上,而非集中存储
- 自组织网络:节点可以随时加入 / 退出,网络自动适配
- 节点动态变化:节点可以随时上线、下线,网络具有很强的容错性
3.工作流程(以文件下载为例)
- 用户节点加入网络,通过索引 / 追踪服务找到拥有目标文件的其他节点
- 节点之间直接建立连接,互相传输文件片段
- 下载中的节点,也会把已下载的片段分享给其他需要的节点
- 所有节点共同完成资源的分发与共享
| 维度 | 优点 | 缺点 |
|---|---|---|
| 性能与扩展性 | 节点越多,整体带宽 / 资源越强,越不容易出现瓶颈 | 节点不稳定,下载速度受在线节点数量影响 |
| 容错性 | 无单点故障,部分节点下线不影响整体网络 | 节点不可控,难以统一管理和维护 |
| 成本 | 无需昂贵的中心服务器,建设成本低 | 资源分散,难以监管,易出现版权 / 安全问题 |
| 资源获取 | 热门资源下载速度快(多节点同时传输) | 冷门资源可能因节点下线而无法获取 |
4.典型应用场景
文件共享 / 下载:早期的 BitTorrent、电驴、迅雷(P2P 加速模式)
流媒体 / 直播:部分直播平台用 P2P 技术降低服务器带宽压力
区块链网络:比特币、以太坊等基于 P2P 节点网络运行
即时通信:部分端到端加密聊天工具(部分采用 P2P 直连)
C/S vs P2P 核心对比(考点版)
| 对比项 | C/S 模型(百度网盘) | P2P 模型(BT 下载) |
|---|---|---|
| 节点地位 | 客户端和服务器地位不平等 | 所有节点地位平等 |
| 通信方式 | 客户端→服务器→客户端,间接通信 | 节点之间直接通信 |
| 中心节点 | 必须有中心服务器 | 无中心节点(部分有索引服务器) |
| 性能瓶颈 | 服务器性能决定上限 | 节点越多,整体性能越强 |
| 单点故障 | 服务器故障则服务中断 | 单个节点故障不影响整体 |
| 资源存储 | 集中存储在服务器 | 分布式存储在各个节点 |
域名系统DNS
DNS采用CS工作方式,有NDS查询报文,DNS响应报文。在查找不到域名IP时,会向其他DNS查找。通常采用使用UDP报文,段口号53。DNS采用的是分布式系统。
DNS层次域名空间
递归查询、迭代查询
本地域名服务器通常采用递归查询
文件传输协议FTP-应用层TCP: 21(C/S)
数据传送的两种模式:主动模式和被动模式
主动模式
被动模式
电子邮件-TCP(C/S)
三大组成:用户代理,邮件服务器,电子邮件协议
SMTP基于TCP发送邮件,熟知端口号25.
POP3基于TCP接收邮件,熟知端口号110.
IMAP也是接受邮件、读取邮件,现实常用。
浏览器登陆邮箱则是使用的HTTP(发送)/HTTPS(发送+接收)
电子邮件格式:信封+内容(首部+主体)
信封是给SMTP协议使用的数据结构,(源+目的),由用户代理根据”首部“自动生成。SMTP规定只能发送7bit ASCII码(只支持英文,不支持中文,文件)
MIME不是协议,只是规范格式
万维网
并行建立多个TCP链接提升传输速度。
HTTP报文格式