计算机网络
第一章 计算机网络基础
三种交换方式
| 交换方式 | 内容 |
|---|---|
| 电路交换 | 类似传统电话网,二者间存在真实线路。电路交换三步:建立连接、传输数据和释放连接。 |
| 报文交换 | 将数据加上地址等信息封装成报文,报文经中间设备不断存储转发,最终到达目的地。 |
| 分组交换 | 将报文以分组为单位存储转发。极大地缩减发送时延,可能出现失序、丢失、重复的情况。 |
分组交换中使用虚电路可解决失序问题。虚电路即建立连接时确认一条固定的转发线路,可视为虚拟的电路。


| 电路交换 | 报文交换 | 分组交换 | |||
|---|---|---|---|---|---|
| 优点 | 缺点 | 优点 | 缺点 | 优点 | 缺点 |
| 通信时延小 | 建立时间长 | 无建立时延 | 转发时延高 | 转发时延低 | 仍有存转时延 |
| 有序传输 | 线路利用率低 | 线路利用率高 | 缓存开销大 | 缓存开销小 | 额外信息量多 |
| 没有冲突 | 线路灵活性差 | 线路分配灵活 | 错误处理低效 | 错误处理高效 | 失序丢失重复 |
| 实时性强 | 无差错控制 | 支持差错控制 | |||

网络性能指标
| 性能指标 | 含义 |
|---|---|
| 发送时延 | 发送第一个比特到最后一个比特发完所需的时间,也叫传输时延 |
| 传播时延 | 信道中传播一定距离所需的时间,和数据长度无关 |
| 处理时延 | 分组在节点的处理时间,通常忽略 |
| 排队时延 | 分组在节点中等待转发的时间,通常忽略 |
| 时延带宽积 | 带宽和传播时延之积,相当于能有多少比特同时移动 |
| 往返时间RTT | A到B的总时延 + B到A的总时延 |
| 信道利用率 | 有数据通过的时间 / 总时间 |
【例1-1 2013统考真题】主机甲通过一个路由器(存储转发方式)与主机乙互连,两段链路的数据传输速率均为10Mb/s,主机甲分别采用报文交换和分组大小为10kb的分组交换向主机乙发送一个大小为8Mb(1M=106)的报文。若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为 ( )。
【分析】
分组数量=8Mb/10kb=800,一个分组的发送时延=10kb/10Mbps=1ms。报文交换共需800ms+800ms= 1600ms,分组交换共需800ms+1ms=801ms。

【例1-2】如下图所示,主机H1和H2之间有三种可选的交换方式——电路交换、报文交换和分组交换,其中电路交换建立电路连接的时间为2s,报文交换和分组交换都要经过由一个路由器连接的链路,分组大小为5kb。三种交换方式的数据传输速率均为2.5kb/s,忽略所有的传播时延、分组开销和不可预料的线路延迟,则下列说法中正确的是 ( )。

【分析】

【例1-3 2010统考真题】在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为100Mb/s,分组大小为1000B,其中分组头大小为20B。若主机H1向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是 ( )。

【分析】
一个分组的大小=980B,一个分组的发送时延=1000B/100Mbps=0.08ms,分组数量=980000B/ 980B=1000个。
第1个发送时延:H1→A,第1个数据已发送
第2个发送时延:H1→A, A→B,第2个数据已发送
第3个发送时延:H1→A, A→B, B→H2,第3个数据已发送
第4个发送时延:H1→A, A→B, B→H2,第4个数据已发送
……
第1000个发送时延:H1→A, A→B, B→H2,第1000个数据已发送
第1001个发送时延:A→B,第1000个数据由A到B
第1002个发送时延:B→H2,第1000个数据由B到H2
故总时延=1000×0.08ms+2×0.08ms=80.16ms。

【例1-4 2023统考真题】在下图所示的分组交换网络中,主机H1和H2通过路由器互连,2段链路的带宽均为100Mb/s,时延带宽积(单向传播时延×带宽)均为1000b。若H1向H2发送一个大小为1MB的文件,分组长度为1000B,则从H1开始发送的时刻起到H2收到文件全部数据时刻止,所需的时间至少是 ( )。(注:1M=106。)

【分析】
单向传播时延=0.01ms,分组数量=1MB/1000B=1000,一个分组的发送时延=1000B/100Mbps=0.08 ms。如下图分析,总时延=1000个发送时延+1个传播时延+1个发送时延+1个传播时延=80.10ms。

【例1-5 2024统考真题】某分组交换网络及每段链路带宽如图所示,H1到H2的最大吞吐量约为 ( )。

【分析】
考虑木桶效应。
网络协议模型
协议由语法、语义和同步三部分组成。
| 协议组成 | 内容 |
|---|---|
| 语法 | 数据与控制信息的格式。如TCP报文段由语法定义。 |
| 语义 | 需要发出何种控制信息、动作及应答。如TCP握手的所有操作由TCP语义定义。 |
| 同步/时序 | 强调各种操作执行的条件、时序、顺序。如TCP握手的时序关系由TCP同步定义。 |

| 层次 | 功能 | 设备 |
|---|---|---|
| 应用层 | 实现具体功能 | |
| 表示层 | 数据格式转换 | |
| 会话层 | 会话管理 | |
| 传输层 | 复用分用、差错控制、流量控制、连接管理、可靠传输 | |
| 网络层 | 路由选择、分组转发、拥塞控制、网际互联、流量控制 | 路由器 |
| 数据链路层 | 差错控制、流量控制 | 交换机 |
| 物理层 | 定义电路接口参数、信号含义、电气特性 | 中继器、集线器 |
第二章 物理层
物理层接口特性
| 特性 | 含义 |
|---|---|
| 机械特性 | 指明接口所用接线器的形状、尺寸、引脚数目、排列、规定装置 |
| 电气特性 | 指明在接口电缆的各条线上出现的电压范围 |
| 功能特性 | 指明某条线上出现的某一电平的电压意义 |
| 过程特性 | 指明对于不同功能的各种可能出现的事件顺序 |
【例2-1】某网络在物理层规定,信号的电平用+10V~+15V表示二进制0,用-10V~-15V表示二进制1,电线长度限于15m以内,这体现了物理层接口的 ( )。
【例2-2】当描述一个物理层接口引脚处于高电平时的含义时,该描述属于 ( )。
【例2-3 2012统考真题】在物理层接口特性中,用于描述完成每种功能的事件发生顺序的是 ( )。
【例2-4 2018统考真题】下列选项中,不属于物理层接口规范定义范畴的是 ( )。
通信指标计算
码元
- 一个固定时长的信号波就是一个码元。该时长称为码元宽度/信号周期。
- 若信号波可能出现4种信号,则称其为4进制码元,即码元一次携带2位二进制数据。
- 一个K进制码元携带的比特数为log2K。
传输速率
| 两种传输速率 | 含义 | 单位 |
|---|---|---|
| 码元传输速率 / 波特率 | 每秒传输几个码元 | 码元/秒、波特 Baud |
| 信息传输速率 / 比特率 | 每秒传输几个二进制位 | 比特/秒、bit/s、bps、b/s |
奈氏准则
奈氏准则适用于无噪声信道,
其中 W 是信道带宽。
奈奎斯特定理说明:
- 波特率太高,会造成“码间串扰”,即接收方无法识别码元。
- 带宽越大,信道传输码元的能力越强
- 奈奎斯特定理没有解释一个码元最多可以携带多少比特。
香农定理
香农定理适用于有噪声信道,
香农定理说明:
- 提高信道带宽、加强信号功率、降低噪声功率,都可以提高信道的极限比特率
- 在带宽信噪比确定的信道上,波特率和比特率都有极限,故一个码元携带的比特数有上限。
【例2-5 2016统考真题】如下图所示,若连接R2和R3链路的频带宽度为8kHz,信噪比为30dB,该链路实际数据传输速率约为理论最大数据传输速率的50%,则该链路的实际数据传输速率约为 ( )。

【例2-6 2017统考真题】若信道在无噪声情况下的极限数据传输速率不小于信噪比为30dB条件下的极限数据传输速率,则信号状态数至少是 ( )。
编码与调制
编码

以太网默认使用曼彻斯特编码方式。
【例2-7 2013统考真题】下图为10Base-T网卡接收到的信号波形,则该网卡收到的比特串是 ( )。

【例2-8 2015统考真题】使用两种编码方案对比特流01100111进行编码的结果如下图所示,编码1和编码2分别是 ( )。

【例2-9 2021统考真题】下图为一段差分曼彻斯特编码信号波形,该编码的二进制串是 ( )。
调制

- 正交幅度调制QAM:将调幅AM和调相PM叠加。
- 若有m种幅值、n种相位,则可调制出mn种信号,一个码元可携带logmn个比特。
| QAM方案 | 信号数 | 比特数 |
|---|---|---|
| QAM-16 | 调制出16种信号 | 一个码元可携带4bit数据 |
| QAM-32 | 调制出32种信号 | 一个码元可携带5bit数据 |
| QAM-64 | 调制出64种信号 | 一个码元可携带6bit数据 |
| QAM-128 | 调制出128种信号 | 一个码元可携带7bit数据 |
【例2-10 2009统考真题】在无噪声的情况下,若某通信链路的带宽为3kHZ,采用4个相位,每个相位具有4种幅度的QAM调制技术,则该通信链路的最大数据传输速率是 ( )。
【例2-11 2011统考真题】若某通信链路的数据传输速率为2400b/s,采用4个相位调制,则该链路的波特率是 ( )。
物理层设备
中继器
中继器的主要功能是整形、放大、转发信号。消除信号经过长段电缆产生的失真和衰减,让信号的波形和强度达到所需的要求。
集线器
集线器Hub一个端口收到数据后,会转发给其余所有端。若同时有多个端输入,则发生冲突它会让这些数据都失效。
- 冲突:多个设备同时在同一传输介质上发送数据时,数据会碰撞导致失效。
- 冲突域:如果多个设备同时发送会导致数据冲突,则它们所在范围就是一个冲突域。相当于是数据发送的“临界区”。
集线器无法分割冲突域,所以集线器端口所连的所有设备同属于一个冲突域。
第三章 数据链路层
数据链路层
+--------+---------+----------+-----------+
组帧 差错控制 可靠传输 流量控制 介质访问控制封装成帧
| 组帧的方法 | 内容 |
|---|---|
| 字符计数法 | 帧首添加一个字节保存帧长,出错导致后续所有帧无法定界 |
| 字节填充法 | 首尾添加控制字符SOH和EOT,中间添加转义字符ESC避免歧义 |
| 零比特填充法 | 特殊字节01111110标记帧首尾。发送方遇连续5个1添加一个0,接收方要去掉。 |
| 违规编码法 | 使用违规信号标记帧首尾,需要物理层配合。 |
HDLC协议和PPP协议就使用零比特填充法。


差错控制
奇偶校验码

- 奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
- 偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
奇偶校验码仅能检测奇数个位出错,无纠错能力。
- 奇校验:11001101 01010111
- 偶校验:01001101 11010111
校验时也是数“1”的个数。
循环冗余校验码 CRC

【例3-2】生成多项式 G(x)=x3+x2+1,信息码 101001,求CRC校验码。
| 求校验码步骤 | 举例 |
|---|---|
| ① 多项式的最高次数,为校验位位数 | R=3 |
| ② 多项式的系数,作除数 | 除数=1101 |
| ③ 信息位左移R位,作被除数 | 被除数=101001 000 |
| ④ 模2除运算,余数为校验位 | 余数=001 |
| 校验步骤 | |
| 信息位+校验位 模2除 除数,结果为0正确 | 101001 001 % 1101 = 000 |
模2除运算
- 最高位为1则商1,为0商0
- 抛去最高位(以及连续的多个0),后多位进行异或,异或完下一位下来。

【例3-3】要发送的数据是1101011011,采用CRC检验,生成多项式是10011,那么最终发送的数据应是 ( )。
【分析】

注意抛去最高位的连续的多个0。
【例3-4 2023统考真题】若甲向乙发送数据时采用CRC检验,生成多项式为G(X)=X4+X+1(G=10011),则乙方接收到比特串 ( ) 时,可以断定其在传输过程中未发生错误。
【分析】

海明校验码
假设m位校验位、n位信息位,要求:
m位校验位可表示2m种情况,m+n位数据共有m+n种单位错误可能,在加正确情况一种。
【例3-5】对于10位要传输的数据,若采用海明校检验,则需要增加的冗余信息位数是 ( )。
流量控制和可靠传输
做到流量控制和可靠传输,需实现滑动窗口、确认机制、重传机制、帧编号。下面三种协议分别是三种具体实现。
- 接收方可通过接收窗口控制发送方发送速度,这就是流量控制。
- 确认机制和重传机制可保证可靠传输。
停止等待协议 SW
| 机制 | 内容 |
|---|---|
| 滑动窗口 | 发送窗口 WT=1,接收窗口 WR=1 |
| 确认机制 | 逐帧确认:收到i号帧,需要返回 ACKi |
| 重传机制 | 超时重传:超时未收到 ACKi,则重传i号帧 |
| 帧编号 | 仅需1bit |
后退N帧协议 GBN
| 机制 | 内容 |
|---|---|
| 滑动窗口 | WT>1 WR=1 |
| 确认机制 | 累积确认:ACKi 表示确认i号帧及其之前所有帧 主动丢弃:接收窗口之外的帧,丢弃并返回最后收到帧的ACK |
| 重传机制 | 超时重传:超时未收到 ACKi,则重传i号帧及其之后所有帧 |
| 帧编号 | 需nbit,要求 WT+WR≤2n,即 WT+1≤2n |
若接收速度慢或信道误码率高,导致发送方经常需要“后退”,传输效率低。
选择重传协议 SR
| 机制 | 内容 |
|---|---|
| 滑动窗口 | WT>1 WR>1 |
| 确认机制 | 逐帧确认:收到i号帧,必须返回 ACKi,不支持累计确认 请求重传:若帧出错,丢弃并返回否认帧NAKi |
| 重传机制 | 超时重传:超时未收到 ACKi,则重传i号帧 |
| 帧编号 | 需nbit,要求 WT+WR≤2n,一般 WT=WR≤2n-1 |
SW、GBN、SR 三种协议对比
| 协议 | 窗口大小 | 确认机制 | 重传机制 | 编号机制 |
|---|---|---|---|---|
| 停止等待SW | WT=1 WR=1 | 逐帧确认 | 超时重传 | 1bit |
| 后退N帧GBN | WT>1 WR=1 | 累积确认、主动丢弃 | 超时重传 | WT+WR≤2n |
| 选择重传SR | WT>1 WR>1 | 逐帧确认、请求重传 | 超时重传 | WT=WR≤2n-1 |
- 滑动窗口协议中,序列号个数要大于等于窗口总数(发送窗口大小+接收窗口大小)。
【例3-6 2009统考真题】数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时的时候,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是 ( )。
【例3-7 2011统考真题】数据链路层采用选择重传协议(SR)传输数据,发送方已发送0~3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是 ( )。
【例3-8 2019统考真题】对于滑动窗口协议,若分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是 ( )。
【例3-9 2024统考真题】主机甲通过选择重传(SR)滑动窗口协议向主机乙发送帧的部分过程如下图所示,Fx为数据帧,ACKx为确认帧,x是位数为3比特的序号。主机乙只对正确接收的数据帧进行独立确认,发送窗口与接收窗口大小相同且均为最大值。主机甲在t1时刻和t2时刻发送的数据帧分别是 ( )。

信道利用率
信道利用率,意指发送时间与整个周期之比。
- 停止等待的信道利用率:
- 后退N帧、选择重传的信道利用率:
其中TD为数据帧发送时延,TA为确认帧发送时延,RTT为往返传播时延,n为发送窗口大小。

【例3-10 2012统考真题】两台主机之间的数据链路层采用后退N协议(GBN)传输数据,数据传输速率为16kb/s,单向传播时延为270ms,数据帧长范围是128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为 ( )。
【例3-11 2014统考真题】主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,主机甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,主机乙每收到一个数据帧,就立即利用一个短帧(忽略其传输延迟)进行确认,若主机甲和主机乙之间的单向传播时延是50ms,则主机甲可以达到的最大平均数据传输速率约为 ( )。
【例3-12 2015统考真题】主机甲通过128kb/s卫星链路,采用滑动窗口协议向主机乙发送数据链路单向传播时延为250ms,长为1000字节。不考虑确认的开销,为使链路利用率不小于80%,帧序号的比特数至少是 ( )。
【例3-13 2018统考真题】主机甲采用停止-等待协议向主机乙发送数据,数据传输速率是3kb/s:单向传播时延是200ms,忽略确认帧的传输时延。当信道利用率等于40%时,数据帧的长度为 ( )。
【例3-14 2020统考真题】假设主机甲采用停止-等待协议向主机乙发送数据帧,数据长与确认长均为1000B,数据传输速率是10kb/s,单项传播时延是200ms。则主机甲的最大信道利用率为 ( )。
【例3-15 2023统考真题】假设通过同一条信道,数据链路层分别采用停止-等待协议、GBN协议和SR协议(发送窗口和接收窗口相等)传输数据,三个协议的数据帧长相同,忽略确认帧长,帧序号位数为3比特。若对应三个协议的发送方最大信道利用率分别是U1、U2和U3,则U1、U2和U3满足的关系是 ( )。
介质访问控制
多个节点共享一个信道时,可能发生冲突,因此需要介质访问控制。
信道划分
时分复用TDM、频分复用FDM、波分复用WDM、码分复用CDM。
| 码分复用CDMA | 步骤 |
|---|---|
| 每个节点拥有专属的码片序列, 各个节点的码片序列需正交 | A站:(1,1,1,1) 表示 1,(-1,-1,-1,-1) 表示 0 B站:(1,-1,1,-1) 表示 1,(-1,1,-1,1) 表示 0 |
| 同时接收的数据,信号值会叠加 | (1,1,1,1)+(-1,1,-1,1)=(0,2,0,2) |
| 将结果和码片序列作单位化内积, 得1表示发的是码片序列本身即1 得-1表示发的是码片序列取反即0 | ¼·(1,1,1,1)·(0,2,0,2)=1表示A站发送(1,1,1,1)即1 ¼·(1,-1,1,-1)·(0,2,0,2)=-1表示B站发送(-1,1,-1,1)即0 |

【例3-16 2014统考真题】站A、B、C通过CDMA共享链路,A、B、C的码片序列分别是(1,1,1,1)、(1,-1,1,-1)和(1,1,-1,-1)。若C从链路上收到的序列是(2,0,2,0,0,-2,0,-2,0,2,0,2),则C收到A发送的数据是 ( )。
随机访问 CSMA/CD
CSMA/CD 载波监听多路访问/冲突检测,适用于早期总线型以太网。
先听后发,边听边发,冲突停发,随机重发。
争用期、随机退避、最短帧长
- 争用期:2×最远单向传播时延。
- 截断二进制指数退避算法:k 为冲突次数,等待时长为 r×争用期。
- k≤10,r在[0,2k-1]中取随机值
- k>10,r在[0,210-1]中取随机值
- k=16,放弃传输
- 最短帧长:争用期×信道带宽。
以太网帧长规定为 64~1518。

随机访问 CSMA/CA
CSMA/CA 载波监听多路访问/冲突避免,适用于IEEE 802.11 无线局域网。
- 发送方:先听后发,忙则退避。
- 接收方:逐帧确认,若超时未收到确认则认为信道忙,进行“随机退避”。

信道预约机制
先预约,再发送。
- 发方发送“RTS”,向基站预约
- 基站广播“CTS”,表示“同意预约”,“其他勿扰”
- 若发方超时未收到CTS,则认为预约失败,进行随机退避。
请求发送控制帧 RTS (Request To Send) 和允许发送控制帧 CTS (Clear To Send) 都包含源目的地址和持续时间。

【例3-16 2015统考真题】下列关于CSMA/CD协议的叙述中,错误的是 ( )。
【例3-17 2020统考真题】在某个IEEE 802.11无线局域网中,主机H与AP之间发送或接收CSMA/CA的过程如下图所示。在H或AP发送帧前等待的帧间间隔时间(IFS)中,最长的是 ( )。

【例3-18 2023统考真题】已知10BaseT以太网的争用时间片为51.2μs。若网卡在发送某帧时发生了连续4次冲突,则基于二进制指数退避算法确定的再次尝试重发该帧前等待的最长时间是 ( )。
【例3-19 2024统考真题】在采用CSMA/CA的802.11无线局域网中,DIFS=128μs,SIFS=28μs,RTS、CTS和ACK帧的传输时延分别是3μs、2μs和2μs,忽略信号传播时延。若主机A要向AP发送一个总长度为1998B的数据帧,无线链路带宽为54Mb/s,则隐藏站B收到AP发送的CTS帧时,设置的网络分配向量NAV的值是 ( )。
【例3-20 2009统考真题】在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆传输速率为1Gb/s,电缆中的信号传播速率是200000km/s。若最小数据帧长减少800比特,则最远的两个站点之间的距离至少需要 ( )。
【例3-21 2016统考真题】如下图所示,在Hub再生比特流的过程中会产生1.535μs的时延(Switch和Hub均为100Base-T设备),信号传播速率为200m/μs,不考虑以太网帧的前导码,则H3和H4之间理论上可以相距的最远距离是 ( )。

【例3-22 2019统考真题】假设一个采用CSMA/CD协议的100Mb/s局域网,最小帧长是128B,则在一个冲突域内两个站点之间的单向传播时延最多是 ( )。
局域网
802.3 以太网

6 6 2 N 4 收发协数验。N 46~1500
为简化通信,以太网无连接、不对帧编号、不要求确认,尽最大努力交付数据,提供的是不可靠服务。
以太网标准

以太网标准名称解析
100Base-T,100表示速度100Mbps,Base表示基带传输,T表示双绞线,F表示光纤。
- 同轴电缆只能半双工
- 双绞线2.5Gbps以下可半可全,以上只能全
- 光纤只能全双工
802.11 无线局域网

无线通信必须通过基站转接,故有“去往AP”和“来自AP”。
地址1、地址2、地址3分别表示站A、站B、AP中的目的地址、源地址、第三者。
802.1Q 虚拟局域网
传统局域网中,大量广播会严重消耗网络,且无法保证安全。使用VLAN可以隔离广播域。

相同VID同属于一个VLAN,一个节点只能探测到同属于一个VLAN的节点。
【例3-23 2012统考真题】以太网的MAC协议提供的是 ( )。
【例3-24 2019统考真题】100Base-T快速以太网使用的导向传输介质是 ( )。
【例3-25】在下图所示的网络中,假定主机A给主机B发送数据,在MAC帧从接入点AP2转发到目的主机B的这段链路上,MAC帧的地址1、地址2和地址3分别是 ( )。

【例3-26 2017统考真题】在下图所示的网络中,若主机H发送一个封装访问Internet的IP分组的IEEE802.11数据帧F,则帧F的地址1、地址2和地址3分别是 ( )。

以太网交换机
独占带宽特点
用户通信时是独占带宽,而非和其他用户共享传输带宽。
一个10Mbps以太网交换机,每个接口的带宽还是10Mbps,所以N个接口交换机的带宽为N×10Mbps。
自学习功能
交换机内部维护一个交换表,记录MAC地址到端口号的映射。每条映射存在有效时间,过期自动作废。
- 有节点发送帧,记录源MAC地址和端口号。
- 表中有接收方,直接转发给接收方,若无接收方,就广播到其余所有端口。
两种交换方式
| 交换方式 | 内容 |
|---|---|
| 直通交换方式 | 接收到帧立即转发。 优点:转发时延低。 缺点:不适用于需要速率匹配、协议转换或差错检测的线路。 |
| 存储转发交换方式 | 先缓存帧,进行差错检测等处理再转发。 优点:可靠性高,适用于需要速率匹配、协议转换或差错检测的线路。 缺点:转发时延低高。 |
【例3-27 2009统考真题】以太网交换机进行转发决策时使用的PDU地址是 ( )。
【例3-28 2013统考真题】对于100Mb/s的以太网交换机,当输出端口无排队,以直通交换方式转发一个以太网帧(不包括前导码)时,引入的转发时延至少是 ( )。
【例3-29 2014统考真题】某以太网拓扑及交换机的当前转发表如下图所示,主机00-e1-d5-00-23-al向主机00-el-d5-00-23-c1发送一个数据帧,主机00-el-d5-00-23-cl收到该帧后,向主机00-el-d5-00-23-al发送一个确认帧,交换机对这两个帧的转发端口分别是 ( )。

【例3-30】某以太网如下图所示,假设交换机1和交换机2的交换表初始为空,各主机之间依次进行以下通信:A→B、H→A、E→X、X→E,则关于上述通信过程叙述错误的是 ( )。

【例3-31 2015统考真题】下列关于交换机的叙述中,正确的是 ( )。
【例3-32 2016统考真题】若主机H2向主机H4发送一个数据帧,主机H4向主机H2立即发送一个确认帧,则除H4外,从物理层上能够收到该确认帧的主机还有 ( )。

第四章 网络层
网络层
+---------+---------+-------------+----------+--------+--------+
网络层功能 报文分片 地址划分 ARP/DHCP/ICMP IPv6 路由协议 路由器网络层功能
异构网络互连
物理层或数据链路层的设备,只是把一个网络扩大了。从网络层的角度看,它仍然是同一个网络。
所以只有路由器才能实现连接两个异构网络,交换机、集线器都不行。
虚电路和数据报
网络层使用分组交换,分组交换又分为虚电路服务和数据报服务。
| 对比 | 虚电路服务 | 数据报服务 |
|---|---|---|
| 思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
| 是否建立连接 | 必须建立网络层连接 | 不需要建立网络层连接 |
| 是否携带地址 | 仅建立连接时使用,后续使用虚电路号 | 每个分组都有终点的完整地址 |
| 分组转发 | 分组按照同一路由进行转发 | 每个分组可走不同的路由 |
| 结点故障 | 虚电路故障需要重新建立链接 | 故障结点可能丢失分组,路由可能发生变化 |
| 分组顺序 | 总是按序到达终点 | 不一定按序到达终点 |
软件定义网络SDN
转发和路由是网络层的核心功能,故网络层可抽象地划分为数据平面和控制平面,数据平面实现转发,控制平面实现路由。
路由器间不再相互交换路由信息,控制平面有一个远程控制器,掌握各主机和整个网络的状态,为每个分组计算出最佳路由,通过Openflow协议将转发表(流表)下发给路由器。路由器按此转发即可。
| SDN的可编程性 |
|---|
| ① SDN对应用层提供的编程接口,称为北向接口。 ② SDN控制器和转发设备的会话接口称为南向接口,通过不同南向接口协议兼容不同硬件。 ③ SDN控制器集群之间的通信接口称为东西向接口,用于增强控制平面的可靠性和可拓展性。 |
| SDN的优点 |
| ① 集中式控制和分布式高速转发。既利于控制平面的全局优化,又利于高性能的网络转发。 ② 可编程与性能的平衡。控制和转发功能分离后,可由自动化工具以编程方式配置网络。 ③ 降低成本。控制和数据平面分离后,实现了网络设备的制造与功能软件的开发相分离。 |
| SDN的问题 |
| ① 安全风险,集中管理容易受攻击,若崩溃,整个网络会受到影响。 ② 瓶颈问题,控制平面集中化后,随着网络规模扩大,控制器可能成为网络性能的瓶颈。 |
【例4-1】下列有关虚电路服务和数据报服务的叙述中,正确的是 ( )。
【例4-2】下列关于虚电路的说法中, 正确的是 ( )。
【例4-3】下列描述中, ( ) 不是软件定义网络(SDN)的特点。
【例4-4】下列关于SDN(软件定义网络)的描述中,错误的是 ( )。
【例4-5 2011统考真题】TCP/IP模型的网络层提供的是 ( )。
【例4-6 2020统考真题】下列关于虚电路网络的叙述中,错误的是 ( )。
【例4-7 2022统考真题】在SDN网络体系结构中,SDN控制器向数据平面的SDN交换机下发流表时所使用的接口是 ( )。
IPv4

考试提供结构图,只记字段作用。
| 字段 | 含义 |
|---|---|
| 版本 | IP协议的版本 |
| 首部长度 | 报头长度,以4B为单位 |
| 总长度 | 整个报文的长度,以1B为单位 |
| 16位标识 | 分片报文的标识一致,以确认分片的报文 |
| 3位标志 | MF (More Fragment) 1表示还有更多分片,0表示无更多分片; DF (Don't Fragment) 1表示不允许被分片,0表示允许被分片;最高位保留 |
| 13位片偏移 | 报文的数据距原始数据起始位置的偏移量,以8B为单位 |
| 生存时间TTL | 防止报文无限转发。每经一个节点生存时间就减1,减到0就丢弃报文 |
| 协议 | 上层协议 |
| 源目的IP | 源目的主机的IP地址 |
418 首总偏:首部长度、总长度、片偏移分别以4B 1B 8B为单位。
IP分片
链路层帧能承载的最大数据量为MTU。以太网MTU为1500B,如果报文总长度超出下段链路的MTU,就需要分片。

设有4000B的报文需要发送到MTU为1500B的链路上,
- 先将首部去掉,4000B-20B=3980B
- 计算最大数据量,1500B-20B=1480B
- 按最大数据量拆分,3980B=1480B+1480B+1020B
- 最后组装成报文,1500B=20B+1480B、1500B=20B+1480B、1040B=20B+1020B
由于片偏移的影响,最大数据量一定要是8B的倍数。
【例4-8】某IP分组的片偏移字段值为100,首部长度字段值为5,总长度字段值为100,则该IP分组的数据部分的第一个字节的编号与最后一个字节的编号是 ( )。
【例4-9】下列对IP分组的分片和重组的描述中,正确的是 ( )。
【例4-10 2021统考真题】若路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报(首部长度为20B)时,进行了分片,且每个分片尽可能大,则第2个分片的总长度字段和MF标志位的值分别是 ( )。
IP地址划分
早期分类

| 特殊IP地址 | 含义 |
|---|---|
| 网络号确定,主机号全0 | 表示网络本身,不可做为地址 |
| 网络号确定,主机号全1 | 表示广播地址,只能作为目的地址 |
| 网络号全0,主机号确定 | 表示本网络中的主机,只能作为源地址 |
| 网络号全0,主机号全0 | 表示本网络中的本主机,只能在DHCP请求中作为源地址 |
| 网络号全1,主机号全1 | 表示本网络中的广播地址,只能作为目的地址 |
| 网络号127,主机号任意 | 表示环回自检地址,用于本地测试 |
【例4-11 2017统考真题】下列IP地址中,只能作为IP分组源IP地址但不能作为目的IP地址的是 ( )。
定长子网划分
可将主机号前k位作为子网号,剩余n-k位作为主机号,这样就能划分出2k个容量为2n-k-2的子网。
子网掩码就是网络号全1主机号全0的32位二进制串,和地址相与可得网络号,用于判断地址是否归属于当前子网。

【例4-12 2010统考真题】某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络中的最大子网个数、每个子网内的最大可分配地址个数分别是 ( )。
【例4-13 2011统考真题】在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是 ( )。
【例4-14 2012统考真题】某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是 ( )。
【例4-15 2016统考真题】如下图所示,假设H1与H2的默认网关和子网掩码均分别配置为192.168.3.1和255.255.255.128,H3和H4的默认网关和子网掩码均分别配置为192.168.3.254和255.255.255.128,则下列现象中可能发生的是 ( )。

【例4-16 2022统考真题】若某主机的IP地址是183.80.72.48,子网掩码是255.255.192.0,则该主机所在网络的网络地址是 ( )。
【例4-17 2022统考真题】下图所示网络中的主机H的子网掩码与默认网关分别是 ( )。

【例4-18 2023统考真题】主机168.16.84.24/20所在子网的最小可分配IP地址和最大可分配IP地址分别是 ( )。
变长子网划分 CIDR
CIDR表示法165.72.3.14/22,/22表示网络号占22位。注意主机号全0/全1依旧不能使用。

路由聚合
如果有路由表项的转发接口相同、部分网络前缀也相同,可将这几条路由表项合为一条。这种聚合称为路由聚合或构成超网。
优点:可减少路由表大小、增加查询速度。缺点:无法过滤无效地址。
但此时查表须采用最长前缀匹配原则,可以尽量走最短转发路径,避免多次跳转。


【例4-19 2015统考真题】某路由器的路由表如下所示:

若路由器收到一个目的地址为169.96.40.5的IP分组,则转发该IP分组的接口是 ( )。
【例4-20 2017统考真题】若将网络21.3.0.0/16划分为128个规模相同的子网,则每个子网可分配的最大IP地址个数是 ( )。
【例4-21 2018统考真题】某路由表中有转发接口相同的4条路由表项,其目的网络地址分别为35.230.32.0/21、35.230.40.0/21、35.230.48.0/21和35.230.56.0/21,将该4条路由聚合后的目的网络地址为 ( )。
【例4-22 2019统考真题】若将101.200.16.0/20划分为5个子网,则可能的最小子网的可分配IP地址数是 ( )。
【例4-23 2021统考真题】现将一个IP网络划分为3个子网,若其中一个子网是192.168.9.128/26,则下列网络中,不可能是另外两个子网之一的是 ( )。
【例4-24 2023统考真题】某网络拓扑如下图所示,其中路由器R2实现NAT功能。若主机H向Internet发送1个IP分组,则经过R2转发后,该IP分组的源IP地址是 ( )。

网络地址转换 NAT
NAT需要NAT路由器,其维护NAT表。
- 报文从内网转发到外网时,会将内网源IP和端口改为公网源IP和端口
- 报文从外网转发到内网时,会将公网目的IP和端口改为内网目的IP和端口

私有IP地址块
- 10.0.0.0/8,即 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0/12,即 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0/16,即 10.0.0.0 ~ 192.168.255.255
【例4-25 2016统考真题】下图中,假设连接R1、R2和R3之间的点对点链路使用地址201.1.3.x/30,当H3访问Web服务器S时,R2转发出去的封装HTTP请求报文的IP分组是源IP地址和目的IP地址,它们分别是 ( )。

IP地址解析 ARP
- ARP协议用于局域网内部,查询一个IP地址对应的MAC地址。
- 每个节点都维护一个ARP表,记录IP地址到MAC地址的映射,并定期更新表项。
| ARP请求和响应 | 内容 | 发送方式 |
|---|---|---|
| ARP请求分组 | 写明自身IP地址MAC地址、对方IP地址 | 通过MAC帧广播 |
| ARP响应分组 | 写明自身IP地址MAC地址 | 通过MAC帧单播 |
【例4-26 2012统考真题】ARP的功能是 ( )。
【例4-27 2018统考真题】路由器R通过以太网交换机S1和S2连接两个网络,R的接口、主机H1和H2的IP地址与MAC地址如下图所示。若H1向H2发送一个IP分组P,则H1发出的封装P的以太网帧的目的MAC地址、H2收到的封装P的以太网帧的源MAC地址分别是 ( )。

【例4-28 2024统考真题】如下图所示的支持VLAN划分的交换机,已按端口划分了3个VLAN,部分端口连接主机的IP地址和MAC地址如图中所示,ARP表结构为<IP地址,MAC地址,TTL>。下列选项中,不会出现在H4的ARP表中的是 ( )。

IP地址分配 DHCP
DHCP是基于UDP的应用层协议,用于给主机分配IP地址、子网掩码、默认网关、DNS服务器地址。
| DHCP报文 | 内容 |
|---|---|
| ① 客→服 发现报文 | 携带信息:客户主机的MAC地址 网络层:源IP=0.0.0.0,目的IP=255.255.255.255(广播IP报文) 链路层:源MAC=客户的MAC地址,目的MAC=全1(广播帧) |
| ② 服→客 提供报文 | 携带信息:给客户分配的IP地址、租用期、子网掩码、默认网关 网络层:源IP=DHCP服务器的IP,目的IP=255.255.255.255(广播IP报文) 链路层:源MAC=服务器的MAC地址,目的MAC=客户的MAC地址(单播帧) |
| ③ 客→服 请求报文 | 携带信息:客户机确认要使用的IP地址 网络层:源IP=0.0.0.0,目的IP=255.255.255.255(广播IP报文) 链路层:源MAC=客户的MAC地址,目的MAC=全1(广播帧) |
| ④ 服→客 确认报文 | 携带信息:重复提供报文的信息 网络层:源IP=DHCP服务器的IP,目的IP=255.255.255.255(广播IP报文) 链路层:源MAC=服务器的MAC地址,目的MAC=客户的MAC地址(单播帧) |

【例4-29】网络层的广播指的是目的IP地址是广播IP地址,数据链路层的广播指的是目的MAC地址是广播MAC地址,下列报文段封装成IP数据报和以太网MAC帧后,目的IP地址是广播地址,目的MAC地址是单播地址的是 ( )。
IP报文控制 ICMP
ICMP属于网络层协议,基于IP协议,封装在IP数据报中。用于让节点报告网络中发生的差错和异常。
| 差错报告报文 | 含义 |
|---|---|
| 终点不可达 | 无对应IP的主机或对应端口的进程 |
| 时间超过 | TTL耗尽报文被丢弃,报文分片超时未到齐被丢弃 |
| 参数问题 | 报文首部参数不合法或校验出错 |
| 改变路由(重定向) | 告知源主机走另一条转发路径 |
| 源点抑制 *已废弃 | 网络超载发生拥塞,要求源主机慢发 |
| 询问报文 | 含义 |
|---|---|
| 回送请求 (Echo Request) | 要求目的主机回复 |
| 回送回答 (Echo Reply) | 目的主机进行回复 |
| 时间戳请求 (Timestamp Request) | 要求目的主机回答时间 |
| 时间戳回答 (Timestamp Reply) | 目的主机进行回复时间 |
【例4-30 2010统考真题】若路由器R因为拥塞丢弃IP分组,则此时R可向发出该IP分组的源主机发送的ICMP报文类型是 ( )。
【例4-31 2012统考真题】在TCP/IP体系结构中,直接为ICMP提供服务的协议是 ( )。
IPv6
IPv6地址使用冒号十六进制记法,共128位,写为十六进制,16位为一段,段间以冒号分隔。
2001:0db8:85a3:0000:0000:8a2e:0370:7334
2001:db8:85a3:0:0:8a2e:370:7334 -- 每段前导零可省略
2001:db8:85a3::8a2e:370:7334 -- 使用一次::代替连续多个零
| 字段变化 | 内容 |
|---|---|
| 取消首部长度字段 | 首部长度固定为40B |
| 取消服务类型字段 | 优先级和流标号实现了对应功能 |
| 取消了总长度字段 | 改用有效载荷长度字段 |
| 取消标识、标志、片偏移字段 | 这些功能已包含在分片扩展首部中 |
| 取消TTL字段 | 改为跳数限制作用一样 |
| 取消协议字段 | 改用下一个首部字段 |
| 取消检验和字段 | 路由器不再校验报文 |
| 取消选项字段 | 用扩展首部实现选项功能 |
| IPv6的变化 | 含义 |
|---|---|
| 地址更长 | 从32位扩大到128位 |
| 灵活的首部格式 | IPv6的首部定义了许多可选的扩展首部,比IPv4提供更多的功能 |
| 改进的选项 | IPv6的首部长度固定,其他选项放在有效载荷中 |
| 允许协议继续扩充 | |
| 支持即插即用 | IPv6不需要DHCP |
| 支持资源的预分配 | |
| IPv6首部改为8字节对齐 | 对比IPv4则是4字节对齐 |
| IPv4向IPv6过渡 | 具体方法 |
|---|---|
| 双协议栈 | 设备同时支持IPv4和IPv6,和IPv4主机通信使用IPv4,和IPv6主机通信使用IPv6。 通过DNS查询域名时获取目的主机的IP协议。 |
| 隧道技术 | 进入IPv4网络时,将整个报文作为数据封装进IPv4报文, 离开IPv4网络时,再拆解出来。 |
【例4-32 2023统考真题】下列关于IPv4和IPv6的叙述中,正确的是 ( )。
路由算法和路由协议
路由器内部运行着一种路由协议,一个路由协议使用某种路由算法。路由算法获取网络中各个节点的信息,以生成最佳转发路径。
| 路由算法分类 | 含义 |
|---|---|
| 静态路由算法 | 网络管理员手工配置每一条路由。 |
| 动态路由算法 | 路由器根据网络负载和拓扑结构来动态调整路由表。 |
| 两种抽象路由算法 | 含义 |
| 距离向量路由算法 | 不管网络拓扑结构,只关心自身和相连点、相连点和目的点之间的最短距离。 |
| 链路状态路由算法 | 把完整网络拓扑结构摸清楚之后,再用Dijkstra算法确定最短路径。 |
自制系统内运行内部路由协议,如:RIP、OSPF,系统外运行外部路由协议,如BGP。
路由信息协议 RIP
RIP是基于UDP的应用层协议,端口号520。RIP使用“距离向量路由算法”。
RIP使用跳数Hop Count来衡量到达目的网络的距离,认为跳数最少就是最佳路由。规定合法距离不能超过15,距离为16表示网络不可达。

每个路由器都要维护自己的路由表,路由表项有三个关键字段:<目的网络N,距离d,下一跳路由器地址X>。
每个路由器都要维护从它自身到其他目的网络的距离,即距离向量
RIP的工作流程
- 路由器启动时,只知道和自身直接相连的网络,距离设为1。
- 0时刻,路由器向相邻路由器发送RIP响应,其中包含完整路由表。
- 收到其他路由器的路由表后,”目的网络不变,距离+1,下一跳改为对方“,若路由表中不存在该网络或距离更短,则放到自身路由表中。
- 每隔30秒,和相邻路由器交换路由信息。为加快收敛速度,可在网络拓扑变化时自动通知相邻路由器,即“触发更新”机制。
- 若超过RIP默认超时时间180秒没有收到相邻路由器的路由表,则将该路由器标记为不可达。
RIP的优缺点
优点:
- 实现简单、开销小、收敛较快
- 好消息传播得快:若发现了更短的路由,短时间内便可传至所有路由器 (30s)
缺点:
- 限制网络规模,最大距离为15
- 路由器间交换的是完整的路由表,因此规模越大开销越大
- “坏消息传得慢” / 慢收敛现象:网络故障时,需长时间才能将故障消息传至所有路由器 (180s)
开放最短路径优先协议 OSPF
OSPF是网络层协议,使用IP协议,IP首部的协议字段为89。
链路状态:路由器本身、相邻路由器和相邻网络、到相邻节点的距离,是一台路由器可独立探测的信息。
网络拓扑结构:路由器和网络作为顶点、距离作为边权重的带权有向图。

OSPF的工作流程
OSPF通过“洪泛法”,让每个路由器都获悉整个网络拓扑结构。一旦路由器探测到新的链路信息,就立即开始洪泛。
- 路由器将链路信息发送到与之相邻的所有路由器,
- 相邻路由器会接着转发给与自己相邻的所有路由器,
- 不可“回流”,转发过的信息不可再转。
边界网关协议 BGP
BGP是一种外部网关协议,用于自治系统之间交换路由信息,实现路由选择。BGP是基于TCP的应用层协议。
其中路由器称为BGP对等方、TCP连接称为BGP会话。跨越自治系统的BGP会话称为eBGP会话,自治系统内部的BGP会话称为iBGP会话。

BGP的特点
- BGP力求找到一条较好路由,而不是最佳路由
- 外部路由选择须考虑政治安全经济因素
- BGP采用路径向量路由算法,路由器间交换路由信息时,需告知目的地和到达目的地的完整路径,即经过哪些自治系统
BGP的路由算法
| 路由因素 | 含义 |
|---|---|
| 本地偏好值 | 本地偏好值由AS管理员设置,相当于优先级 |
| AS跳数 | AS跳数最少,路由器跳数不一定最少 |
| 热土豆路由 | 若有多条AS跳数相同的路线,选择一条离开本自治系统内部最快(内部转发最少)的路径 |
| BGP标识符 | 选择BGP标识符最小的“老员工”路由 |
BGP的四种报文
| 四种报文 | 内容 |
|---|---|
| Open打开报文 | 具体作用:与BGP邻居建BGP会话,初始化通信 发送时机:TCP连接建立成功 |
| Update更新报文 | 具体作用:通知对方更新或撤销某些路由信息 发送时机:路由状态发生变动 |
| Keepalive保活报文 | 具体作用:通知BGP邻居保持连接 发送时机:周期性发送60秒一次,如180秒未收到,说明BGP会话出问题 |
| Notification通知报文 | 具体作用:检测到报文出现错误,通知发送方并关闭BGP会话 发送时机:检测到BGP报文出错 |
【例4-33 2010统考真题】某自治系统内采用RIP,若该自治系统内的路由器R1收到其邻居路由器R2的距离向量,距离向量中包含信息<Net1,16>,则能得出的结论是 ( )。
【例4-34 2011统考真题】某网络拓扑如下图所示,路由器R1只有到达子网192.168.1.0/24的路由。为使R1可以将IP分组正确地路由到图中的所有子网,在R1中需要增加的一条路由(目的网络,子网掩码,下一跳)是 ( )。

【例4-35 2016统考真题】假设下图中的R1、R2、R3采用RIP交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是 ( )。

【例4-36 2017统考真题】直接封装RIP、OSPF、BGP报文的协议分别是 ( )。
【例4-37 2021统考真题】某网络中的所有路由器均采用距离向量路由算法计算路由。若路由器E与邻居路由器A、B、C和D之间的直接链路距离分别是8,10,12和6,且E收到邻居路由器的距离向量如下表所示,则路由器E更新后的到达目的网络Net1~Net4的距离分别是 ( )。

路由器
冲突域和广播域
- 冲突域:连接到同一介质上的节点的集合,集合内节点必须互斥访问,否则会发生冲突。
- 广播域:接收同样广播消息的节点的集合,集合内节点发送广播帧,其他节点都能收到。
集线器、中继器等简单复制转发信号的物理层设备所连接的节点属于一个冲突域,也就是说它们不能划分冲突域。
交换机相连的节点可以收到相互发的广播帧,所以说交换机可以连接广播域。交换机不同端口所连的节点同时发送数据互不影响,所以说交换机分割广播域。
路由器连接两个网络,节点可以收到自身网络中的广播帧,无法收到另一个网络中的广播帧,所以说路由器隔离广播域。
- 路由器隔开的是广播域
- 交换机隔开的是冲突域
路由器的功能
路由器的任务是连接不同的网络并完成分组转发。
从结构上看,路由器由路由选择和分组转发两部分构成:
- 控制层面:核心是路由选择处理机,任务是根据路由协议构造出路由表,同时定期更新维护路由表。
- 交换层面:交换结构根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。
【例4-38 2010统考真题】下列网络设备中,能够抑制广播风暴的是 ( )。
【例4-39 2012统考真题】下列关于IP路由器功能的描述中,正确的是 ( )。
【例4-40 2020统考真题】下图所示的网络中,冲突域和广播域的个数分别是 ( )。

第五章 传输层
传输层
+--------+-------------+------------+-------------+
UDP TCP连接管理 TCP可靠传输 TCP流量控制 TCP拥塞控制传输层实现“端到端”、“进程到进程”的通信。IP地址和端口号可以唯一确定一台主机的一个网络进程。
UDP数据报

| UDP特点 | TCP特点 |
|---|---|
| UDP首部8B | TCP首部20~60B |
| UDP报文不支持拆分 | TCP报文支持拆分 |
| UDP是无连接、不可靠的 | TCP是有连接、可靠的 |
| UDP不支持拥塞控制 | TCP支持拥塞控制 |
| UDP面向数据报 | TCP面向字节流 |
| UDP支持一对一、一对多传输 | TCP仅支持一对一传输 |
【例5-1 2014统考真题】下列关于UDP的叙述中,正确的是 ( )。
【例5-2 2018统考真题】UDP实现分用时所依据的头部字段是 ( )。
UDP检验

| 生成UDP报文 |
|---|
| ① 先添加伪首部 ② 再以16位为一组,二进制相加(最高位进位需要“回加”到最低位) ③ 将结果按位取反,得到16位检验和,将其填入UDP首部 ④ 去掉伪首部,就是最终报文 |
| 检验UDP报文 |
| ① 先添加伪首部 ② 再以16位为一组,二进制相加(最高位进位需要“回加”到最低位) ③ 若结果全1,说明报文无差错,反之丢弃 |
UDP检验是对整个报文作校验,IP报文检验只对首部作校验。
【例5-3 2024统考真题】若UDP在计算检验和的过程中,计算得到中间结果为1011100110110110时,还需要加上最后一个16位数0110010111000101,则最终计算得到的检验和是 ( )。
TCP报文段

| 字段 | 含义 |
|---|---|
| 序号 | 标记报文数据在原始字节流中的位置,由发送方设置,不一定从0开始 |
| 确认序号 | 确认序号之前的数据已收到,下次希望接收到从确认序号开始的数据 |
| 数据偏移 | 4位首部长度,以4字节为单位 |
| 窗口 | 自身接收缓冲区的剩余容量,对方实时调整发送速率 |
| 紧急指针 | 紧急数据在字节流中的位置 |
| 选项 | 前两次握手在选项中协商最大段长MSS |
| 标志位 | 解释 |
|---|---|
| URG | 表示紧急报文,紧急指针有效 |
| ACK | 表示确认报文,确认序号有效 |
| PSH | 表示催促接收,接收端尽快读取数据 |
| RST | 表明重置连接,底层会重新建立连接 |
| SYN | 表示请求连接,底层会进行三次握手 |
| FIN | 表示结束连接,底层会进行四次挥手 |
【例5-4 2021统考真题】若大小为12B的应用层数据分别通过1个UDP数据报和1个TCP段传输,则该UDP数据报和TCP段实现的有效载荷(应用层数据)最大传输效率分别是 ( )。
TCP连接管理
三次握手
- 客户端发送SYN报文,请求连接
- 服务端返回SYN+ACK报文,请求连接并应答
- 客户端发送ACK报文,应答

字段分析、耗时分析
- 前两次请求连接的握手中SYN=1,第三次纯应答的握手中SYN=0。
- 前两次请求连接的握手不能携带数据,但仍要消耗一个序号。
- 从第一次握手发出,到客户端进程可以发送数据,需要多久?1RTT
- 从第一次握手发出,到服务器进程可以发送数据,需要多久?1.5RTT
客户端收到第二次握手,认为连接建立完成,可发数据。
服务器收到第三次握手,认为连接建立完成,可发数据。
四次挥手
- 客户端发送FIN报文,请求关闭连接
- 服务端返回ACK报文,应答
- 服务端发送FIN报文,请求关闭连接
- 客户端返回ACK报文,应答
第二次挥手可携带数据,第四次挥手不可携带数据。

等待2MSL最长报文段寿命后,再关闭连接,以免第四次挥手丢失。
字段分析、耗时分析
- 只有请求断开的第一次和第三次挥手中FIN=1。
- 第一次和第三次挥手不能携带数据,但仍要消耗一个序号。
- 从客户发出第一次挥手,到客户进程进入CLOSE状态,需要多久?1RTT+2MSL
- 从客户发出第一次挥手,到服务器进程进程进入CLOSE状态,需要多久?1.5RTT

【例5-5 2011统考真题】主机甲向主机乙发送一个(SYN=1, seq=11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接收该连接请求,则主机乙向主机甲发送的正确的TCP段可能是 ( )。
【例5-6 2019统考真题】若主机甲主动发起一个与主机乙的TCP连接,甲、乙选择的初始序列号分别为2018和2046,则第三次握手TCP段的确认序列号是 ( )。
【例5-7 2020统考真题】若主机甲与主机乙建立TCP连接时,发送的SYN段中的序号为1000,在断开连接时,主机甲发送给主机乙的FIN段中的序号为5001,则在无任何重传的情况下,甲向乙已经发送的应用层数据的字节数为 ( )。
【例5-8 2021统考真题】若客户首先向服务器发送FIN段请求断开TCP连接,则当客户收到服务器发送的FIN段并向服务器发送ACK段后,客户的TCP状态转换为 ( )。
【例5-9 2022统考真题】假设客户C和服务器S已建立一个TCP连接,通信往返时间RTT=50ms,最长报文段寿命MSL=80ms,数据传输结束后,C主动请求断开连接。若从C主动向S发出FIN段时刻算起,则C和S进入CLOSED状态所需的时间至少分别是 ( )。
【例5-10 2024统考真题】假设主机H通过TCP向服务器发送长度为3000B的报文,往返时间RTT=10ms,最长报文段寿命MSL=30s,最大报文段长度MSS=1000B,忽略TCP段的传输时延,报文传输结束后H首先请求断开连接,则从H请求建立TCP连接时刻起,到H进入CLOSED状态为止,所需的时间至少是 ( )。
TCP可靠传输
| 确认机制 | 含义 |
|---|---|
| 累计确认 | 如果ack_seq=n,说明序号n之前的所有字节都已正确接收 |
| 延迟确认 | TCP标准规定,推迟时间最多0.5秒, 若连续收到两个长度为最大段长MSS的报文,应立即返回应答 |
| 捎带确认 | 如果需要应答且有数据要发送,立即发送应答报文并带上数据 |
| 重传机制 | 含义 |
|---|---|
| 超时重传 | 发送报文时设置计时器,计时器超时未收到应答,则重传报文 |
| 快重传 | 收到报文立即应答,失序报文也要立即应答,失序报文返回的是冗余应答 发送方连续收到三个冗余确认,就立即重传该位置数据 |

【例5-11 2009统考真题】主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300B和500B的有效载荷,第一个段的序列号为200,主机乙正确接收到这两个数据段后,发送给主机甲的确认序列号是 ( )。
【例5-12 2011统考真题】主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300B、400B和500B的有效载荷,第3个段的序号为900。若主机乙仅正确接收到第1个段和第3个段,则主机乙发送给主机甲的确认序号是 ( )。
【例5-13 2013统考真题】主机甲与主机乙之间已建立一个TCP连接,双方持续有数据传输,且数据无差错与丢失。若甲收到一个来自乙的TCP段,该段的序号为1913、确认序号为2046、有效载荷为100B,则甲立即发送给乙的TCP段的序号和确认序号分别是 ( )。
【例5-14 2019统考真题】某客户通过一个TCP连接向服务器发送数据的部分过程如图所示。客户在t0时刻第一次收到确认序列号ack_seq=100的段,并发送序列号seq=100的段,但发生丢失。若TCP支持快速重传,则客户重新发送seq=100段的时刻是 ( )。

【例5-15 2021统考真题】设主机甲通过TCP向主机乙发送数据,部分过程如下图所示。甲在t0时刻发送一个序号seq=501、封装200B数据的段,在t1时刻收到乙发送的序号seq=601、确认序号ack_seq=501、接收窗口rcvwnd=500B的段,则甲在未收到新的确认段之前,可以继续向乙发送的数据序号范围是 ( )。

TCP流量控制
| 窗口机制 | 含义 |
|---|---|
| 接收窗口 | 接收窗口大小受限于接收缓冲区 |
| 发送窗口 | 发送窗口大小受限于发送缓冲区、接收窗口和拥塞窗口 |
TCP首部中仅有接收窗口字段,发送方用对方的接收窗口调整自身发送窗口。
最大段长 MSS
最大段长MSS实际作用于报文切分。考试中MSS只会联系拥塞窗口,进而决定发送窗口。
报文切分不影响发送和传播时延。
TCP拥塞控制
发送窗口大小受限于接收窗口和拥塞窗口,拥塞窗口值的含义为nMSS的n,考查拥塞窗口时只会立即确认,不管延迟确认。
慢开始和拥塞避免

| 阶段 | 增长速度 | 临界情况、触发条件 | 内容 |
|---|---|---|---|
| 慢开始 | 指数增长 | cwnd=1 ssthresh=16 | 每发送一次,cwnd两倍增长 |
| 拥塞避免 | 线性增长 | cwnd==ssthresh | 每发送一次,cwnd自增 |
| 慢开始 | 指数增长 | ssthresh=cwnd/2 cwnd=1 | 发生超时重传,ssthresh下降,cwnd恢复 |
| 拥塞避免 | 指数增长 | cwnd==ssthresh | 每发送一次,cwnd自增 |
慢开始和拥塞避免算法描述
- 刚开始,采用慢开始算法,拥塞窗口指数增长,
- 到达阈值,采用拥塞避免算法,拥塞窗口线性增长,
- 发生超时重传,阈值设为拥塞窗口的一半,拥塞窗口恢复为1,重新开始。
cwnd×2 > ssthresh时,将cwnd设为ssthresh。
快恢复算法

| 阶段 | 增长速度 | 临界情况、触发条件 | 内容 |
|---|---|---|---|
| 慢开始 | 指数增长 | cwnd=1 ssthresh=16 | 每发送一次,cwnd两倍增长 |
| 拥塞避免 | 线性增长 | cwnd==ssthresh | 每发送一次,cwnd自增 |
| 拥塞避免 | 指数增长 | cwnd=ssthresh=cwnd/2 | 发生超时重传,ssthresh、cwnd下降 |
快恢复算法描述
- 刚开始,采用慢开始算法,拥塞窗口指数增长,
- 到达阈值,采用拥塞避免算法,拥塞窗口线性增长,
- 触发快重传,认定轻微拥塞,ssthresh和cwnd都设为拥塞窗口的一半,继续拥塞避免。
【例5-17 2009统考真题】一个TCP连接总以1KB的最大段长发送TCP段,发送方有足够多的数据要发送,当拥塞窗口为16KB时发生了超时,若接下来的4RTT时间内的TCP段的传输都是成功的,则当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是 ( )。
【例5-18 2010统考真题】主机甲和主机乙之间已建立一个TCP连接,TCP最大段长为1000B。若主机甲的当前拥塞窗口为4000B,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为2000B,则此时主机甲还可以向主机乙发送的最大字节数是 ( )。
【例5-19 2014统考真题】主机甲和乙建立了TCP连接,甲始终以MSS=1KB大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为10KB的确认段。若甲在t时刻发生超时的时候拥塞窗口为8KB,则从t时刻起,不再发生超时的情况下,经过10RTT后甲的发送窗口是 ( )。
【例5-20 2015统考真题】主机甲和主机乙新建一个TCP连接,甲的拥塞控制初始阈值为32KB,甲向乙始终以MSS=1KB大小的段发送数据,并一直有数据发送;乙为该连接分配16KB接收缓存,并对每个数据段进行确认,忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未出现发送超时的情况下,经过4RTT后,甲的发送窗口是 ( )。
【例5-21 2017统考真题】若甲向乙发起一个TCP连接,最大段长MSS=1KB,RTT=5ms,乙开辟的接收缓存为64KB,则甲从连接建立成功至发送窗口达到32KB,需经过的时间至少为 ( )。
【例5-22 2020统考真题】若主机甲与主机乙已建立一条TCP连接,最大段长(MSS)为1KB,往返时间(RTT)为2ms,则在不出现拥塞的前提下,拥塞窗口从8KB增长到32KB所需的最长时间是 ( )。
【例5-23 2022统考真题】假设主机甲和主机乙已建立一个TCP连接,最大段长MSS=1KB,甲一直向乙发送数据,当甲的拥塞窗口为16KB时,计时器发生了超时,则甲的拥塞窗口再次增长到16KB所需要的时间至少是 ( )。
第六章 应用层
应用层
+-----------+------------+-----------+--------+
网络应用模型 域名系统 文件传输协议 电子邮件 万维网网络应用模型 CS P2P
| C/S模型 | 含义 |
|---|---|
| 特点 | 客户服务器地位不平等,服务器处于中心,客户进程之间不直接通信 |
| 优点 | 便于集中管理 |
| 缺点 | 服务器损坏影响全局,中心位置的服务器负载大,服务器性能决定了整体性能 |
| P2P模型 | 含义 |
| 特点 | “去中心化”,主机与主机之间地位平等,主机与主机之间直接通信 |
| 优点 | 单个节点损坏不影响全局,各节点可以分摊负载 |
| 缺点 | 主机被服务也要服务其他主机,单主机负载较大。可能导致流量消耗大、网络拥塞 |

【例6-1 2019统考真题】下列关于网络应用模型的叙述中,错误的是 ( )。
域名系统 DNS
mail . cctv . com
三级域名 二级域名 顶级域名DNS采用C/S模型,使用UDP协议,53号端口。
| 域名服务器 | 含义 |
|---|---|
| 根域名服务器 | 最高层次的域名服务器,知道顶级域名服务器的地址 |
| 顶级域名服务器 | 负责管理在该顶级域名注册的所有二级域名 |
| 权限域名服务器 | 保存该区中的所有主机的域名到IP地址的映射 |
| 本地域名服务器 | 主机最先询问的是本地域名服务器 |
递归查询和迭代查询

- 递归查询中,主机和各级服务器都采用递归查询。
- 迭代查询中,主机和本地服务器采用递归查询,本地服务器向其他服务器采用迭代查询。
递归查询会造成根服务器负载严重,实际上几乎不用。
实际查询过程
查询www.abc.xyz.com,假设采用迭代查询,过程如下:
- 主机向本地域名服务器查询,
- 本地服务器向根域名服务器查询,查询未果,返回.com顶级域名服务器的地址。
- 本地服务器向顶级域名服务器查询,查询未果,返回xyz.com权限域名服务器的地址。
- 本地服务器向权限域名服务器查询,查询未果,返回abc.xyz.com权限域名服务器的地址。
- 本地服务器向权限域名服务器查询,查询成功,返回www.abc.xyz.com服务器的地址。
www只是万维网标识,不是域。
【例6-2 2010统考真题】若本地域名服务器无缓存,则在采用递归方法解析另一网络某主机域名时,用户主机和本地域名服务器发送的域名请求条数分别为 ( )。
【例6-3 2016统考真题】假设所有域名服务器均采用迭代查询方式进行域名解析。当主机访问规范域名为www.abc.xyz.com的网站时,本地域名服务器在完成该域名解析的过程中,可能发出DNS查询的最少和最多次数分别是 ( )。
【例6-4 2018统考真题】下列TCP/IP应用层协议中,可以使用传输层无连接服务的是 ( )。
【例6-5 2020统考真题】下图所示网络中的本地域名服务器只提供递归查询服务,其他域名服务器均只提供迭代查询服务;局域网内主机访问Internet上各服务器的往返时间(RTT)均为10ms,忽略其他各种时延。若主机H通过超链接http://www.abc.com/index.html请求浏览纯文本Web页index.html,则从单击超链接开始到浏览器接收到index.html页面为止所需的最短与最长时间分别是 ( )。

文件传输协议 FTP
FTP采用C/S应用模型,使用TCP协议。FTP使用两个并行的TCP连接,一个是控制连接端口号21,一个是数据连接端口号20。
| 设计 | 内容 |
|---|---|
| 控制连接 | • 21号端口上的连接称为控制连接,用来传输控制信息。 • 客户发出的请求,通过控制连接发送给控制进程。 • 传输中还可以中途控制,因此控制连接在整个会话期间一直保持打开。 |
| 数据连接 | • 控制进程接收到传输请求后,就创建“数据传送进程”和“数据连接”。 • 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。 |
工作模式
数据连接有两种传输模式:主动模式PORT和被动模式PASV。
- 主动模式:客户端开放一个端口,发送命令到服务器,服务器通过20端口向开放端口通信。
- 被动模式:客户端发送命令到服务器,服务器开放一个端口,客户端连接到该端口通信。
主动模式是服务器连接到客户端的端口,被动模式是客户端连接到服务器的端口。

【例6-6 2009统考真题】FTP客户和服务器间传递FTP命令时,使用的连接是 ( )。
【例6-7 2017统考真题】下列关于FTP的叙述中,错误的是 ( )。
电子邮件 SMTP POP3
邮件发送和读取协议

| 协议 | 含义 |
|---|---|
| 邮件发送协议 | 用于用户代理向服务器或服务器之间发送邮件,如SMTP |
| 邮件读取协议 | 用于用户代理从服务器读取邮件,如POP3 |
多用途因特网邮件扩展 MIME
SMTP只能传送ASCII码文本,故提出多用途因特网邮件扩展MIME。
若邮件中存在非ASCII码数据,要通过MIME将其转换为ASCII码数据。发送时要转换,接收时要逆转换。
SMTP和POP3的特点
- SMTP用于发送邮件,C/S模型,基于TCP,端口号25。
- POP3用于读取邮件,C/S模型,基于TCP,端口号110。
- SMTP是推Push,SMTP将邮件推送到SMTP服务器。
- POP3是拉Pull,POP3从POP3服务器上拉取邮件。
- SMTP通信三个阶段:连接建立、邮件传送、连接释放。
- POP3读取邮件时,支持“下载并删除”、“下载并保留”两种功能。
【例6-8 2012统考真题】若用户1与用户2之间发送和接收电子邮件的过程如下图所示,则图中①、②、③阶段分别使用的应用层协议可以是 ( )。

【例6-9 2013统考真题】下列关于SMTP的叙述中,正确的是 ( )。
【例6-10 2015统考真题】通过POP3协议接收邮件时,使用的传输层服务类型是 ( )。
【例6-11 2018统考真题】无须转换即可由SMTP直接传输的内容是 ( )。
万维网 WWW
HTTP协议特点
HTTP使用TCP作为传输层协议,但HTTP本身是无连接、无状态的。实际应用中,常用Cookie跟踪用户活动。
Cookie的工作原理
- 用户初次浏览时,网站为用户生成一个唯一的Cookie识别码,以此为索引在数据库中记录用户信息。
- 之后的响应报文中多了一个首部行“Setcookie:xxxx-xxxx”,浏览器会将网站信息记录到本地。
- 之后的请求报文中就多一个首部行“Cookie:xxxx-xxxx”,服务器根据Cookie识别码就能从数据库中查询到该用户的活动记录。
HTTP报文结构


| 方法 | 说明 |
|---|---|
| GET | 请求资源 |
| HEAD | 请求资源的首部 |
| POST | 传输实体资源 |
| PUT | 传输文件 |
| DELETE | 删除文件 |
| CONNECT | 用于代理服务器 |
HTTP请求时间分析
| 协议 | 分析 |
|---|---|
| HTTP1.0 非持续连接 | 每个网页对象都要建立一个TCP连接。为减小时延,浏览器通常建立多个并行连接以同时 请求多个对象。 • 请求网页耗时 = 建立连接耗时RTT + 传送文档耗时RTT = 2RTT • 请求图片耗时 = 建立连接耗时RTT + 传送图片耗时RTT = 2RTT • 串行请求网页和n个图片耗时 = 2RTT + n × 2RTT • 并行请求网页和n个图片耗时 = 2RTT + 2RTT |
| HTTP1.1 持续连接 | 一条TCP连接允许持续通信。持续连接又分是否流水线。非流水线请求只能串行,流水线 支持请求并行。 • 非流水线:请求网页和n个图片耗时 = 建立连接RTT + 传送文档RTT + 传送图片nRTT • 流水线:请求网页和n个图片耗时 = 建立连接RTT + 传送文档RTT + 传送图片RTT |
一般不考虑挥手时延。

【例6-12】若浏览器支持并行TCP连接,使用非持久的HTTP/1.0协议请求浏览1个Web页,该页中引用同一网站上的7个小图像文件,则从浏览器为传输Web页请求建立TCP连接开始,到接收完所有内容为止,所需的往返时间RTT数至少是 ( )。
【例6-13】假设主机通过HTTP/1.1(流水线方式)请求浏览某个Web服务器S上的Web页rfc.html,rfc.html引用了同目录下的3个JPEG小图像(假设只有在收到rfc.html后才能发送对其引用图像的请求),一次请求响应的时间为RTT,忽略其他各种时延,不考虑拥塞控制和流量控制,则从发出HTTP请求报文开始到收到全部内容为止,所耗费的时间是 ( )。
【例6-14】主机通过超链接http://www.cskaoyan.com/index.html请求浏览Web页index.html,若浏览器使用流水线方式的HTTP/1.1协议,该Web页引用了同一网站上的7个小图像文件,假设主机到本地域名服务器和互联网上各服务器的往返时延均为1RTT。本地域名服务器只提供递归查询服务,其他域名服务器只提供迭代查询服务,忽略其他所有时延,则从点击超链接开始到浏览器接收到所有内容为止,所需的往返时间RTT数最多是 ( )。
【例6-15 2014统考真题】使用浏览器访问某大学的Web网站主页时,不可能使用到的协议是 ( )。
【例6-16 2015统考真题】某浏览器发出的HTTP请求报文如下。下列叙述中,错误的是 ( )。

【例6-17 2022统考真题】假设主机H通过HTTP/1.1请求浏览Web服务器S上的Web页news408.html,news408.html引用了同目录下的1幅图像,news408.html文件大小为1MSS(最大段长),图像文件大小为3MSS,H访问S的往返时间RTT=10ms,忽略HTTP响应报文的首部开销和TCP段传输时延。若H已完成域名解析,则从H请求与S建立TCP连接时刻起,到接收到全部内容止,所需的时间至少是 ( )。
【分析】
提到最大段长MSS,说明考察TCP流量控制,考虑发送窗口、拥塞窗口等问题。
【例6-18 2024统考真题】若浏览器不支持并行TCP连接,使用非持久的HTTP/1.0协议请求浏览1个Web页,该页中引用同一网站上的7个小图像文件,则从浏览器为传输Web页请求建立TCP连接开始,到接收完所有内容为止,所需要的往返时间RTT数至少是 ( )。
【分析】
- 第一次传输1000B,发送窗口已用完,2000B必须等到下次传输。
- 第二次传输2000B,发送窗口已用完,FIN必须等到下次传输。
| 常见协议、及其下层协议和端口号 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| ARP | ICMP | OSPF | DHCP | RIP | DNS | BGP | FTP | SMTP | POP3 |
| MAC | IP | IP | UDP | UDP | UDP | TCP | TCP | TCP | TCP |
| 67/68 | 20/21 | 25 | 110 | ||||||