计算机网络(CN)

一、计算机网络体系结构

分层的目的在于把复杂通信问题划分为若干相对独立的层。协议由语法、语义和同步三部分组成;同层实体之间遵循协议,相邻层之间通过接口提供服务。

OSI 层次 主要作用 常见设备/协议
应用层 面向应用提供网络服务 HTTP、DNS、FTP、SMTP
表示层 数据表示、加密、压缩
会话层 会话建立与管理
传输层 端到端进程通信 TCP、UDP
网络层 分组转发与路由选择 IP、路由器
数据链路层 帧传输、差错检测、介质访问 Ethernet、交换机
物理层 比特传输 中继器、集线器

“协议”是对等实体之间的规则,“服务”是下层向上层提供的功能。服务访问点不是协议本身。

二、物理层

码元传输速率(波特率)表示每秒传输的码元数;信息传输速率(比特率)表示每秒传输的比特数。若一个码元有 M 种离散状态,则一个码元最多携带 log₂M 比特。

1
比特率 = 波特率 × log₂M

理想低通信道的奈奎斯特公式:

1
2
最高码元速率 = 2W Baud
最高数据率 = 2W log₂V bit/s

有噪声信道的香农公式:

1
C = W log₂(1 + S/N)

香农公式中的 S/N 是无量纲功率比。若题目给出分贝:SNR(dB)=10log₁₀(S/N),需先换算。

时延

1
2
3
4
发送时延 = 数据长度 ÷ 发送速率
传播时延 = 信道长度 ÷ 传播速度
总时延通常还包括处理时延和排队时延
带宽时延积 = 带宽 × 传播时延

三、数据链路层

3.1 差错检测与纠正

我的记录

1
//码距 >= e+1,e为检测错误个数。码距 >= 2t+1,t为纠正错误个数。

补充内容

若要同时纠正 t 位错误并检测 e 位错误(e ≥ t),常用条件为 d_min ≥ t + e + 1。奇偶校验可检测奇数个位错误,但不能确定错误位置;CRC 擅长检测突发错误,接收端余数为 0 通常表示未检测到错误,但不等于绝对无错。

3.2 流量控制与可靠传输

  • 停止—等待协议:发送一帧后等待确认,简单但信道利用率较低。
  • 后退 N 帧(GBN):发送窗口大于 1,接收窗口通常为 1,累计确认,超时后重传出错帧及其后的帧。
  • 选择重传(SR):接收窗口大于 1,单独确认,通常只重传出错或超时的帧。

若序号字段为 n 位:

  • GBN 发送窗口通常满足 W_T ≤ 2^n - 1
  • SR 为避免新旧帧混淆,发送窗口和接收窗口通常均不超过 2^(n-1)

3.3 以太网与 CSMA/CD

我的记录

1
//万兆以太网必须支持全双工,不需要CSMA/CD协议

补充内容

传统共享式半双工以太网使用 CSMA/CD:先监听信道,空闲则发送,发送时继续检测冲突;检测到冲突后发送强化冲突信号,并执行截断二进制指数退避。

全双工交换式以太网的收发双方使用独立信道,不会发生冲突,因此不使用 CSMA/CD。交换机根据 MAC 地址表转发帧,MAC 表通常通过读取收到帧的源 MAC 地址自学习。

以太网最短帧长与争用期有关:发送端必须在发送完最短帧之前检测到最远端可能产生的冲突。万兆以太网只工作在全双工模式。

四、网络层

4.1 IPv4 与分片

我的记录

1
//IP分片数据载荷必须是 8 字节的整数倍,不包括首部

补充内容

IPv4 片偏移字段以 8 字节为单位,因此除最后一个分片外,各分片的数据部分长度通常必须是 8 字节的整数倍。首部中的 DF 表示不允许分片,MF 表示后面还有分片。分片可由源主机或路由器产生,重组只在目的主机进行。

片偏移针对原始 IP 数据报的数据部分计算,不包含首部;分片后的“总长度”包含该分片自己的首部。最后一个分片的数据长度可以不是 8 字节的整数倍。

4.2 子网与 CIDR

子网掩码与 IP 地址按位与,可得到网络前缀。长度为 /n 的 IPv4 前缀共有 2^(32-n) 个地址;传统子网中通常不能分配网络地址和广播地址,但点到点链路等场景需按题设判断。

最长前缀匹配:路由表中有多条目的地址时,选择网络前缀最长、匹配最具体的路由。

4.3 ARP、DHCP、ICMP

协议 作用
ARP 在局域网内根据 IPv4 地址获得 MAC 地址
DHCP 动态分配 IP 地址及相关网络参数
ICMP 传递差错报告和询问信息

跨网段发送数据时,主机通常通过 ARP 查询默认网关接口的 MAC 地址,而不是远端目的主机的 MAC 地址。

4.4 路由协议

协议 类型 核心算法/特点
RIP 内部网关协议 距离向量,跳数作为度量
OSPF 内部网关协议 链路状态,运行 Dijkstra
BGP 外部网关协议 路径向量,重视策略

五、传输层

5.1 UDP 与 TCP

对比项 UDP TCP
连接 无连接 面向连接
可靠性 尽最大努力 可靠、有序、无重复
数据单位 用户数据报 字节流
首部 8 字节 最少 20 字节
流量/拥塞控制
广播/多播 可支持 不支持

端口号用于标识主机中的应用进程。套接字通常由 IP 地址和端口号组成;一条 TCP 连接可由源 IP、源端口、目的 IP、目的端口唯一标识。

5.2 TCP 可靠传输

TCP 使用序号、确认、校验、定时器和重传实现可靠传输。确认号表示期望收到的下一个字节序号。TCP 通常采用累计确认,并根据估计的往返时间动态设置重传超时。

5.3 TCP 连接管理

1
2
三次握手:SYN → SYN+ACK → ACK
四次挥手:FIN → ACK → FIN → ACK

SYN 和 FIN 即使不携带应用数据,也各自消耗一个序号。主动关闭方通常进入 TIME_WAIT,以保证最后一个 ACK 可重传,并让旧报文段在网络中消失。

5.4 流量控制与拥塞控制

流量控制用于避免发送方过快导致接收方来不及处理,主要依靠接收窗口;拥塞控制用于避免过多数据进入网络,主要依靠拥塞窗口。

实际发送窗口通常受两者共同限制:

1
发送窗口上限 = min(rwnd, cwnd)
  • 慢开始:拥塞窗口按往返轮次近似指数增长。
  • 拥塞避免:拥塞窗口按往返轮次近似线性增长。
  • 快重传:收到多个重复确认后,不等待超时就重传。
  • 快恢复:配合快重传调整拥塞窗口,避免直接回到最小值的完整慢开始过程。

六、应用层

协议 默认端口 传输层 作用
DNS 53 UDP 为主,必要时 TCP 域名解析
HTTP 80 TCP Web 传输
HTTPS 443 TCP(传统) 加密 Web 传输
FTP 控制 21 TCP 文件传输控制连接
SMTP 25 TCP 邮件发送
POP3 110 TCP 邮件读取
IMAP 143 TCP 邮件同步管理

DNS 使用分层命名空间,查询可分为递归查询和迭代查询。HTTP 本身是无状态协议,Cookie 等机制可用于维护状态。

端口号是常见默认值,不代表协议只能使用该端口。DNS 普通查询常使用 UDP;区域传送或响应过大等情况可使用 TCP。

七、网络性能与交换方式

补充内容:本节及后续章节补齐计算机网络统考中的完整框架和易错计算点。

7.1 组成与性能指标

计算机网络可按范围分个人区域网、局域网、城域网和广域网;按交换技术分电路交换、报文交换和分组交换;按拓扑分总线、星形、环形、网状等。

  • 速率:单位时间传输的比特数,单位 bit/s
  • 带宽:数字信道的最高数据传输速率;模拟语境也可表示频带宽度。
  • 吞吐量:单位时间实际通过网络的数据量,不超过瓶颈链路能力。
  • 时延带宽积:传播时延内可充满链路的比特数,形象表示“以比特为单位的链路长度”。
  • 往返时延 RTT:发送方到接收方再返回的时间,通常包含多种时延。

端到端经过多段链路时,每段都产生发送时延和传播时延;存储转发设备必须接收完整分组后再转发(忽略直通交换)。多个分组流水传输时,不能简单把单分组时延乘分组数,应画时间轴。

7.2 交换方式

方式 建立连接 存储转发 特点
电路交换 需要 独占固定资源,连续数据实时性好
报文交换 不需专用电路 整个报文 缓冲需求大、时延大
分组交换 数据报或虚电路 分组 资源共享、适合突发数据

数据报网络每个分组独立选路,可能乱序;虚电路建立逻辑连接,沿固定路径转发,但链路资源不一定独占。分组越小,流水效果和差错重传代价越好,但首部开销和处理开销增大。

八、物理层补全

8.1 信号、信道与编码

单工只允许单向通信;半双工双方均可发送但不能同时;全双工可同时双向通信。基带传输直接传数字信号,宽带传输通常把信号调制到不同频段。

常见数字编码:

  • 不归零 NRZ:实现简单但连续相同比特时缺少时钟同步。
  • 曼彻斯特:每个比特中间跳变,自同步,所需信号变化速率较高;以太网具体 0/1 跳变方向依约定。
  • 差分曼彻斯特:中间总跳变,用比特起始处是否跳变表示数据,抗极性反转。
  • 4B/5B:把 4 位映射为 5 位码组,保证足够跳变,有 25% 编码开销。

调制方式包括 ASK、FSK、PSK 和 QAM。M 个相位/幅相组合每码元承载 log2 M 位。奈奎斯特上限与码元状态数有关,香农上限只取决于带宽和信噪比;实际最高速率同时受二者限制。

8.2 传输介质与物理设备

双绞线成本低;同轴电缆抗干扰较好;光纤带宽高、损耗低、抗电磁干扰,分单模和多模;无线介质具有广播性并受干扰和传播环境影响。

中继器与集线器工作在物理层,只转发/再生比特,不识别帧和 MAC 地址。集线器端口共享带宽和冲突域;交换机每个端口通常是独立冲突域。物理层设备不能隔离广播域。

8.3 多路复用

  • FDM:用户占用不同频带,适合模拟信号。
  • TDM:用户占用周期性时隙;同步 TDM 即使用户无数据也可能保留时隙。
  • STDM:按需分配时隙,提高利用率但需地址信息。
  • WDM:光纤中的波分复用,本质类似频分。
  • CDM/CDMA:用户使用相互正交码片序列,可同时同频传输。

CDMA 中规格化内积可判断发送比特和站点:与某站码片内积为 +1 表示一种比特,-1 表示另一种,0 表示该站未发送,具体比特映射依题设。

九、数据链路层补全

9.1 组帧与透明传输

组帧方法包括字符计数、字符填充、零比特填充和违规编码。字符填充在控制字符前插入转义字符;零比特填充常在发送端每遇到连续 5 个 1 插入一个 0,接收端删除该 0,实现透明传输。

链路层常提供无确认无连接、有确认无连接和有确认面向连接服务。可靠服务的需求取决于链路误码率和上层协议,并非所有数据链路都保证可靠传输。

9.2 滑动窗口与利用率

停止等待协议若忽略确认帧发送和处理时间:

1
信道利用率 U = T_data / (T_data + RTT)

若超时、确认传输和处理不可忽略,应按完整周期计算。滑动窗口允许连续发送多个帧,使发送窗口覆盖时延带宽积。为充分利用链路,窗口大小至少要覆盖一个“发送窗口周期”中的可发送帧数,严格按题设时序取整。

GBN 接收方只按序接收,丢弃失序帧并累计确认最后按序帧;SR 缓存窗口内失序帧并分别确认。确认号表示“已正确收到的最后序号”还是“下一期待序号”依协议定义。

9.3 介质访问控制

信道划分协议包括 FDM、TDM、WDM、CDM;随机访问协议包括 ALOHA、CSMA、CSMA/CD、CSMA/CA;轮询访问包括轮询与令牌传递。

  • 纯 ALOHA 易冲突,时隙 ALOHA 把发送限制在时隙边界,吞吐性能更好。
  • 1-坚持 CSMA 在信道空闲时立即发送;非坚持等待随机时间再监听;p-坚持用于时隙信道。
  • CSMA/CD 的最短帧发送时间至少为争用期 ,因此 最短帧长 ≥ 2τ×发送速率

9.4 CSMA/CA 与无线局域网

IEEE 802.11 无线局域网使用 CSMA/CA,原因包括无线设备难以边发边检测冲突,以及隐蔽站问题。基本机制:信道空闲 DIFS 后随机退避;倒计时只在空闲时递减,忙时冻结;接收方经 SIFS 返回 ACK。可选 RTS/CTS 预约信道,缓解隐蔽站,但有额外开销。

无线帧地址字段数量和含义取决于 To DS/From DS 位,用于区分发送站、接收站、源、目的及 AP/BSSID。做题应按帧方向映射,不能把所有地址简单当作以太网源/目的。

十、局域网、以太网与交换机

10.1 IEEE 802 与以太网帧

局域网数据链路层可分 LLC 与 MAC 子层;以太网重点在 MAC。经典 Ethernet II 帧字段:目的 MAC 6B、源 MAC 6B、类型 2B、数据 46~1500B、FCS 4B。前导码和帧开始定界符用于同步,通常不计入 MAC 帧长度;帧间间隔也不属于帧。

最短 MAC 帧 64B、最长通常 1518B(不含 VLAN 标记等扩展)。数据不足 46B 需填充。MAC 地址 48 位;全 1 是广播地址,最低有效位相关位可区分单播/组播。

10.2 交换机学习与转发

交换机收到帧后学习“源 MAC—入端口”并更新老化时间:

  • 目的 MAC 为已知单播:只向对应端口转发;若对应端口就是入端口则过滤。
  • 未知单播:除入端口外泛洪。
  • 广播/相应组播:除入端口外泛洪。

交换机隔离冲突域,不默认隔离广播域;路由器或 VLAN 可划分广播域。存储转发交换检查完整帧和 FCS,时延较大;直通交换读取目的地址后即可转发,时延小但可能转发错误帧。

10.3 VLAN

VLAN 在二层逻辑划分广播域,不同 VLAN 间通信需要三层转发。Access 链路通常承载一个 VLAN,Trunk 链路用 802.1Q 标签承载多个 VLAN。802.1Q 标签 4B,使带标签以太网最大帧长相应增加;本征 VLAN 等细节按题设设备规则。

十一、网络层地址与转发

11.1 IPv4 首部

IPv4 基本首部 20B,IHL 以 4B 为单位;总长度字段含首部和数据,最大 65535B。TTL 每经一个路由器至少减 1,为 0 时丢弃并通常返回 ICMP 超时报文。首部校验和只校验 IPv4 首部,每跳因 TTL 改变需重新计算。

标识、DF、MF、片偏移用于分片。各分片标识相同;除最后片外 MF=1;片偏移以 8B 为单位。若原数据报已分片后再分片,新片偏移仍相对原始数据部分。

11.2 IPv4 地址分类与特殊地址

传统分类地址:A 类默认 /8、B 类 /16、C 类 /24,现代网络主要使用 CIDR。常见特殊地址:

  • 0.0.0.0:未指定地址,也用于默认路由前缀的一部分。
  • 255.255.255.255:受限广播。
  • 127.0.0.0/8:环回。
  • 私有地址:10.0.0.0/8172.16.0.0/12192.168.0.0/16
  • 169.254.0.0/16:链路本地自动配置常用。

定向广播是某网络前缀加全 1 主机号,路由器是否允许转发受安全策略影响。网络号全 0、主机号全 0/全 1 等传统语义需结合题设,不宜脱离上下文绝对化。

11.3 子网划分与路由聚合

给定主机需求 H,传统可分配地址需满足 2^h-2 ≥ H,前缀长为 32-h;VLSM 应先给地址需求最大的子网分配。每个子网起始地址必须按块大小对齐。

路由聚合要求地址块连续、数量为 2 的幂且起始地址对齐。寻找共同前缀可把地址转二进制,从最高位找连续相同位。聚合路由可能覆盖未实际分配地址,需用更具体路由或空接口防止环路。

11.4 路由表转发

路由器对目的 IP 做最长前缀匹配,再根据下一跳和出接口转发。每经过一个路由器:二层帧头/尾重新封装,源/目的 MAC 改变;IP 源/目的地址通常不变(NAT 除外);TTL 和首部校验和改变。

直连目的主机时 ARP 查询目的 IP 的 MAC;跨网段时查询下一跳路由器接口 MAC。ARP 请求是局域网广播,响应通常单播;ARP 只解析同一广播域中的下一跳。

11.5 NAT

NAT 在边界设备转换私网与公网地址。NAPT/PAT 还转换端口,使多个内网主机共享公网地址。NAT 节省 IPv4 地址并隐藏内部结构,但破坏端到端透明性,某些协议需额外处理。转换表通常按内网地址端口、公网映射地址端口及协议维护。

十二、网络层控制协议与 IPv6

12.1 ICMP

ICMP 封装在 IP 中,用于差错报告与询问。常见:目的不可达、超时、参数问题、回送请求/回答。通常不对 ICMP 差错报文再发送 ICMP 差错,也不对广播/组播及非首片分片发送某些差错报告,具体规则按题目范围。

ping 常用 ICMP 回送请求/回答;traceroute/tracert 利用逐步增加 TTL 并接收超时报文探测路径,不同系统最终探测报文可能使用 UDP 或 ICMP。

12.2 DHCP

典型 DORA:Discover、Offer、Request、ACK。客户端初始无地址,前几个报文常使用广播;DHCP 基于 UDP,服务器端口 67、客户端端口 68。租约到期前客户端需续租;中继代理可帮助跨网段联系服务器。

12.3 IPv6

IPv6 地址 128 位,基本首部固定 40B。相较 IPv4,取消首部校验和,扩展功能通过扩展首部实现;路由器不进行分片,源主机可依据路径 MTU 分片。IPv6 不使用广播,使用单播、组播和任播。

IPv6 文本表示可省略每组前导 0,并用一次 :: 压缩连续全 0 组。链路本地地址常为 fe80::/10。IPv6 邻居发现使用 ICMPv6,替代 IPv4 ARP 的相关功能。

十三、路由算法与协议

13.1 静态与动态路由

静态路由由管理员配置,开销小但适应性差;动态路由通过协议更新。自治系统 AS 内使用内部网关协议,AS 间使用外部网关协议。

路由算法追求正确、简单、鲁棒、公平和最优,但“最优”取决于度量。收敛是路由器对网络状态形成一致视图的过程。

13.2 RIP

RIP 基于距离向量和 Bellman-Ford 思想,以跳数为度量,最大有效距离 15,16 表示不可达。路由器周期性向邻居发送整个/主要路由表,收到后把距离加 1 并按规则更新。

距离向量可能产生“坏消息传播慢”和计数到无穷,可用水平分割、毒性逆转、触发更新等缓解。RIP 使用 UDP 520 端口。

13.3 OSPF

OSPF 是链路状态协议:发现邻居、测量代价、泛洪链路状态通告,使区域内路由器建立一致链路状态数据库,再运行 Dijkstra 求最短路径。它直接封装在 IP 中,协议号 89,不使用 TCP/UDP。

OSPF 支持层次区域,骨干为 Area 0,可减少泛洪和计算规模。链路状态更新通常在拓扑变化时触发,并有序列号和老化机制避免旧信息。

13.4 BGP

BGP 是 AS 间路径向量协议,使用 TCP 179。它交换网络可达性和 AS_PATH 等属性,强调策略、可扩展和避免 AS 级环路,不单纯追求最短路径。eBGP 用于不同 AS,iBGP 用于同一 AS 内传播外部路由。

十四、传输层深化

14.1 复用、分用与端口

传输层通过端口标识应用进程。套接字通常由 IP 地址和端口组成;TCP 连接由源 IP、源端口、目的 IP、目的端口四元组唯一标识。服务器可用同一监听端口同时维护多个客户端连接。

熟知端口常见:FTP 控制 21、SSH 22、Telnet 23、SMTP 25、DNS 53、DHCP 67/68、HTTP 80、POP3 110、IMAP 143、HTTPS 443。考试应以题目给定或常见标准为准。

14.2 UDP

UDP 首部 8B:源端口、目的端口、长度、校验和。长度包括首部和数据。UDP 无连接、不保证可靠、无拥塞控制,支持一对一、一对多、多对一和多对多;应用可自行实现可靠机制。

UDP 校验和计算包含伪首部、UDP 首部和数据;伪首部不实际传输,只参与校验。IPv4 中 UDP 校验和可选,IPv6 中通常必需。

14.3 TCP 首部与序号

TCP 面向字节流,序号是本报文段数据第一个字节的编号;ACK 号表示期望收到的下一个字节,具有累计确认含义。SYN 和 FIN 各消耗一个序号,即使不携带普通数据。

基本首部 20B,数据偏移指出首部长度。重要标志:SYN 建连、FIN 释放、ACK 确认字段有效、RST 复位、PSH 提示尽快交付、URG 紧急指针有效。接收窗口 rwnd 用于流量控制。

14.4 可靠传输与超时

TCP 使用校验和、序号、确认、重传和滑动窗口实现可靠传输。重复 ACK 可触发快速重传。超时重传时间 RTO 根据 RTT 的平滑估计和偏差动态调整,通常应略大于 RTT;重传样本会带来歧义,实际算法有相应处理。

接收方可延迟确认、累计确认,失序段处理取决于实现。发送方可发送量受发送窗口限制:

1
发送窗口 = min(rwnd, cwnd)

其中 rwnd 来自接收方,cwnd 由拥塞控制维护。

14.5 三次握手与四次挥手

三次握手典型过程:

1
2
3
客户端 -> SYN, seq=x
服务器 -> SYN+ACK, seq=y, ack=x+1
客户端 -> ACK, seq=x+1, ack=y+1

三次而非两次可确认双方收发能力并避免旧连接请求造成错误建立。连接释放通常四段,因为 TCP 全双工,两方向需独立关闭;若服务器 ACK 与 FIN 合并也可能表现为三段。

主动关闭方最后进入 TIME_WAIT,等待 2MSL,使最后 ACK 丢失时可重发,并让旧连接报文在网络中消失。CLOSE_WAIT 表示收到对方 FIN、已确认但本地应用尚未关闭。

14.6 拥塞控制

  • 慢开始:cwnd 从较小值开始,每经过一个 RTT 近似翻倍(按每个 ACK 增加)。
  • 拥塞避免:超过慢开始门限后,每 RTT 近似增加 1 MSS。
  • 超时:通常把 ssthresh 降为拥塞时窗口的一半,cwnd 重置为较小值。
  • 三个重复 ACK:快速重传;结合快速恢复,门限减半后避免完全回到最初慢开始,具体窗口设置依 TCP 版本。

流量控制解决接收方来不及接收,拥塞控制解决网络负载过大。零窗口时发送方使用持续计时器探测,防止窗口更新报文丢失造成死锁。

十五、应用层深化

15.1 DNS

DNS 是分层分布式命名系统,域名从右向左层次升高。常见记录:A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件交换)、NS(权威服务器)。

递归查询要求被查询服务器继续代查并返回最终结果;迭代查询返回下一步应联系的服务器。主机到本地 DNS 通常递归,本地 DNS 向根、顶级域、权威服务器通常迭代。DNS 一般使用 UDP 53,区域传送或响应过大等场景可使用 TCP。

缓存依据 TTL 保存结果,降低时延和服务器负载,但可能短暂返回旧记录。根服务器通常返回顶级域服务器线索,而不是直接遍历整个互联网查最终地址。

15.2 HTTP 与 HTTPS

HTTP 是无状态应用层协议。HTTP/1.0 默认非持续连接;HTTP/1.1 默认持续连接,并支持流水线但存在队头阻塞。非持续连接每个对象通常建立独立 TCP 连接;计算时延应区分 DNS、TCP 握手、请求响应和对象传输,是否并行按题设。

常见方法 GET、HEAD、POST、PUT、DELETE;状态码:2xx 成功,3xx 重定向,4xx 客户端错误,5xx 服务器错误。Cookie 在响应中设置、后续请求携带,可用于会话状态;缓存通过条件请求减少重复传输。

HTTPS 是 HTTP over TLS,通常端口 443。TLS 提供机密性、完整性和身份认证;证书把公钥与主体绑定,由受信任 CA 签名。对称加密用于高效传输,非对称密码和密钥交换用于认证/协商,具体流程随 TLS 版本变化。

15.3 FTP

FTP 使用控制连接和数据连接。控制连接通常使用服务器端口 21,并在整个会话保持;每次传输目录或文件建立数据连接。主动模式服务器从端口 20 主动连客户端指定端口;被动模式由客户端连接服务器给出的临时端口,更适合 NAT/防火墙环境。

15.4 电子邮件

发送邮件和服务器间传递使用 SMTP;接收可用 POP3 或 IMAP。SMTP 基于 TCP,原始协议主要处理 ASCII 文本;MIME 扩展支持非 ASCII 内容和附件。POP3 倾向下载管理,IMAP 支持服务器端文件夹和多设备同步。

一次邮件路径通常为:发送方用户代理 → 发送方邮件服务器 → 接收方邮件服务器 → 接收方用户代理。DNS MX 记录帮助找到接收域邮件服务器。

15.5 其他应用与 P2P

DHCP、DNS、HTTP 等应用协议底层选择 TCP 或 UDP取决于可靠性、时延和消息模式需求。P2P 中各节点既可请求也可提供服务,可扩展性较好;BitTorrent 把文件分块,多源并行下载,并通过激励与分块选择机制提高效率。客户端—服务器模型中服务器通常长期在线、具有固定可达地址,客户端间通常不直接通信。

十六、跨层综合题方法

  1. 先画拓扑和分层封装。 标出主机、交换机、路由器、链路速率、MTU、IP/MAC 和端口。
  2. 判断是否同一子网。 同网段 ARP 目的主机,跨网段 ARP 默认网关。
  3. 逐跳看帧、端到端看 IP/端口。 经过路由器 MAC 改变;无 NAT 时 IP 与 TCP/UDP 端口通常不变。
  4. 时延画时间轴。 区分发送、传播、处理、排队;考虑存储转发与多分组流水。
  5. 可靠传输画窗口。 写清序号单位、窗口边界、ACK 含义、超时点和重传范围。
  6. 子网题先算块大小再对齐。 路由选择始终使用最长前缀匹配。
  7. 分片先算每片最大数据。 floor((MTU-首部)/8)×8,最后片可例外,再求 MF 与偏移。
  8. TCP 题按字节编号。 SYN/FIN 占序号,ACK 本身不占序号(不携带数据且非 SYN/FIN 时)。

十六-A、补充专题:链路协议、网络层扩展与 OSPF

补充说明:本节补全海明码、PPP、IP 多播、移动 IP、网络设备层次边界,以及 OSPF 分组和 LSA 的关系。

16-A.1 海明码

设数据位数为 m、校验位数为 r。若要实现一位纠错,校验位应满足:

1
2^r >= m + r + 1

编码位置从 1 开始编号,校验位通常放在 1、2、4、8... 等 2 的幂位置。第 2^k 个校验位负责所有编号二进制表示中第 k 位为 1 的位置。接收端重新计算校验,形成的校验综合值为 0 表示未检测到错误,非 0 时其数值指出出错位。

普通海明码最小码距为 3,可纠正 1 位错或检测 2 位错,但不能同时可靠地完成“纠 1 检 2”。增加一位总校验位可形成 SEC-DED,实现纠正 1 位错、检测 2 位错。

16-A.2 PPP

PPP 用于点到点链路,提供成帧、协议复用和差错检测,但不提供可靠传输、流量控制和序号确认。其典型帧包含:标志、地址、控制、协议、信息和 FCS 字段。

PPP 通过 LCP 建立、配置和测试数据链路,可进行身份认证;再由 NCP 配置不同网络层协议。异步链路常用字节填充,同步比特链路可使用比特填充。FCS 检错后通常丢弃错误帧,不由 PPP 自身重传。

16-A.3 IP 多播

IPv4 多播地址范围为 224.0.0.0/4。主机使用 IGMP 向本地多播路由器报告组成员关系;多播路由器构造从源到多个接收者的分发树,在分叉处复制分组,以避免源主机为每个接收者分别发送。

多播组地址标识一组接收者,不标识某个固定网络接口。IP 多播一般使用 UDP;TCP 是点到点连接,不能直接建立一条“一对多 TCP 连接”。

16-A.4 移动 IP

移动结点保留归属地址。离开归属网络后获取转交地址,归属代理维护归属地址到转交地址的绑定,并把发往归属地址的数据通过隧道转交到当前位置。通信对端不必因移动结点改变接入网络而修改其目标地址。

基础移动 IP 可能产生三角路由:对端先发往归属网络,再由归属代理隧道转发;反向路径可能直接返回对端。它解决的是网络层移动性,不等同于二层无线漫游。

16-A.5 网络设备的层次边界

设备 主要工作层 核心依据 是否隔离冲突域 是否隔离广播域
中继器/集线器 物理层 比特信号
网桥/二层交换机 数据链路层 MAC 地址 是,每端口一个 默认否
路由器 网络层 IP 与路由表
网关 视功能而定 协议转换 视实现而定 视实现而定

交换机配置 VLAN 后,不同 VLAN 属于不同广播域,跨 VLAN 通信需要三层转发。设备可能同时实现多层功能,考试判断应看题目描述的主要转发依据。

16-A.6 OSPF 分组与 LSA

OSPF 是自治系统内部的链路状态路由协议,直接封装在 IP 中,使用协议号 89。路由器泛洪链路状态信息,各路由器据此建立链路状态数据库(LSDB),再运行 Dijkstra 算法生成最短路径树和路由表。

OSPF 的五类基本协议分组为:Hello、数据库描述(DBD)、链路状态请求(LSR)、链路状态更新(LSU)和链路状态确认(LSAck)。其中 LSU 可携带一个或多个 LSA;OSPF 分组是传输与同步数据库的报文,LSA 是描述链路状态的数据库记录,二者不能混为一谈。

  • Hello:发现和维持邻居关系,并参与指定路由器选举;
  • DBD:交换 LSDB 摘要;
  • LSR:请求缺少或较新的 LSA;
  • LSU:发送 LSA;
  • LSAck:确认收到的 LSA。

OSPF 采用分层区域设计,骨干区域编号为 Area 0。相比 RIP 的距离向量和跳数度量,OSPF 收敛通常更快,并可按链路代价选路。

十七、应试导航与跨层方法

口径说明:本节依据 408 计算机网络考试范围和通行分层模型整理。袁春风、唐朔飞教材主要用于组成原理口径,因此不虚构二位老师对网络协议细节的教材出处。
模块 优先级 常见题型 掌握目标
时延与性能 S 选择、计算 发送、传播、处理、排队、RTT和利用率
数据链路层 S 选择、计算 CRC、可靠传输、窗口、以太网与交换机
IPv4与路由 S 选择、计算、综合 子网、CIDR、分片、ARP、最长前缀匹配
TCP S 选择、计算、综合 序号、确认、窗口、重传、拥塞控制
应用层 A 选择、综合 DNS、HTTP、邮件及完整访问过程
物理层 A 选择、计算 奈奎斯特、香农、编码与复用

17.1 必会计算模板

  • 端到端时延:逐段计算发送时延 L/R 与传播时延 d/v,再按题意加入处理、排队和存储转发;不要把发送与传播混为一谈。
  • CRC:r 个 0 后做模 2 除法,余数位数为 r;接收端用同一生成多项式检验。
  • 滑动窗口:先确认帧序号位数、GBN/SR、发送/接收窗口及是否考虑确认帧。
  • CSMA/CD:最短帧发送时间至少覆盖争用期,常写为 T_frame≥2τ;全双工交换式以太网不使用 CSMA/CD。
  • 子网/CIDR:求前缀长度和块大小 → 按块边界对齐 → 求网络地址、广播地址和可用范围。
  • 路由:逐项按掩码相与,所有匹配项中选择最长前缀;没有匹配再使用默认路由。
  • TCP:序号按字节编号;确认号表示下一期待字节。先画时间线,再处理累计确认、超时和窗口变化。

17.2 IPv4 分片严谨表述

勘误:片偏移字段以 8 字节为单位,因此除最后一片外,各分片数据长度通常应为 8 字节的整数倍;最后一片的数据长度不要求是 8 的整数倍。

计算步骤:

  1. 最大数据长度初值为 MTU-IP首部长度
  2. 非最后片取 floor(最大数据长度/8)×8
  3. 偏移量等于原始数据起点字节号除以 8;
  4. 最后一片 MF=0,其余片 MF=1
  5. 每个分片都有自己的 IP 首部,总长度字段分别计算。

17.3 TCP/HTTP/DNS 综合题时间线

1
2
3
4
5
6
7
8
9
主机配置确认
→ 若目标域名未缓存,进行 DNS 查询
→ 判断目标是否同一子网
→ 必要时 ARP 获取下一跳 MAC 地址
→ IP 按路由表逐跳转发(每跳链路层帧会重封装)
→ TCP 三次握手
→ 发送 HTTP 请求并接收响应
→ 按连接是否持久、是否流水化计算额外 RTT
→ TCP 连接释放
  • 通常端到端 IP 地址不因普通路由转发改变,NAT 是例外;每一跳的源/目的 MAC 地址会改变。
  • TCP 与 IP 校验、以太网 FCS 的覆盖范围不同,不能混用。
  • HTTP 版本与连接复用方式必须以题设为准,不能固定套 RTT 个数。

17.4 报文首部识图清单

首部 必看字段 高频考法
Ethernet MAC、类型、FCS 逐跳地址变化、帧长
IPv4 总长度、标识、DF/MF、偏移、TTL、协议 分片、转发、首部校验
TCP 端口、序号、确认号、首部长度、标志、窗口 握手、可靠传输、流控
UDP 端口、长度、校验和 长度关系、复用分用

17.5 真题与错题登记

年份/题号|所在层|PDU|地址变化|时间线|关键公式|错误原因|一句话结论

十八、2009—2025 真题融合复习地图

本节把真题常见跨层场景融入各章。频率标签表示复习优先级;精确年份、题号与答案必须逐卷核验后登记。

18.1 物理层与数据链路层

高频 编码与带宽、奈奎斯特/香农、CSMA/CD、帧长、差错检测、滑动窗口。

  • 万兆以太网只支持全双工,不使用 CSMA/CD;最短帧长公式只适用于需要冲突检测的共享半双工模型。
  • 码距为 d 时,最多检测 d-1 位错误;纠正 t 位错误需要 d≥2t+1
  • 滑动窗口题先确认序号位数、发送窗口、接收窗口、累计确认和是否允许失序接收。

18.2 网络层

高频 子网划分、CIDR、路由表最长前缀匹配、IPv4 分片、ARP/ICMP、路由协议。

分片勘误:除最后一片外,分片数据长度通常必须是 8 字节的整数倍;最后一片不要求。片偏移以 8 字节为单位,且每个分片都带独立 IP 首部。

路由器转发时通常重新封装链路层帧,MAC 地址逐跳改变;普通路由转发不改变端到端 IP 地址,NAT 场景除外。

18.3 传输层

高频 TCP 序号/确认号、三次握手与四次挥手、流量控制、拥塞控制、UDP。

序号题方法:先写每段首序号与数据长度;确认号表示“下一期待字节”;SYN 和 FIN 即使不携带数据也各占用一个序号。

拥塞窗口变化必须先确认算法版本、慢开始门限、超时还是重复确认,以及题设按“轮次”还是按“每个 ACK”更新。

18.4 应用层与跨层综合

高频 DNS、HTTP、电子邮件、DHCP,以及 DNS+ARP+IP+TCP+HTTP 时间线。

1
2
3
DHCP(若尚未配置)→ DNS → 判断同网段/查路由表
→ ARP 获取下一跳 MAC → IP 逐跳转发
→ TCP 建连 → HTTP 请求/响应 → TCP 释放

HTTP 耗时不能固定背“若干 RTT”:必须确认 DNS 是否缓存、对象数量、持久/非持久连接、并行连接、流水化及传输时间是否忽略。

18.5 网络计算题单位检查

公式 必查条件
发送时延 L/R L 为 bit,R 为 bit/s
传播时延 d/v 距离与速度单位一致
带宽时延积 R×传播时延 单程还是 RTT
利用率 有效发送时间/周期 ACK、首部、等待是否计入

18.6 经核验真题登记表

年份 题号 主考点 协议层/关键条件 答案/结论 解析位置
待逐卷核验

历年真题跳转

计算机网络在统考卷中通常对应 第 33—40、47 题。以下链接可直接进入各年试卷的本科目区域: