计算机网络(CN)
一、计算机网络体系结构
分层的目的在于把复杂通信问题划分为若干相对独立的层。协议由语法、语义和同步三部分组成;同层实体之间遵循协议,相邻层之间通过接口提供服务。
| OSI 层次 | 主要作用 | 常见设备/协议 |
|---|---|---|
| 应用层 | 面向应用提供网络服务 | HTTP、DNS、FTP、SMTP |
| 表示层 | 数据表示、加密、压缩 | — |
| 会话层 | 会话建立与管理 | — |
| 传输层 | 端到端进程通信 | TCP、UDP |
| 网络层 | 分组转发与路由选择 | IP、路由器 |
| 数据链路层 | 帧传输、差错检测、介质访问 | Ethernet、交换机 |
| 物理层 | 比特传输 | 中继器、集线器 |
“协议”是对等实体之间的规则,“服务”是下层向上层提供的功能。服务访问点不是协议本身。
二、物理层
码元传输速率(波特率)表示每秒传输的码元数;信息传输速率(比特率)表示每秒传输的比特数。若一个码元有 M 种离散状态,则一个码元最多携带 log₂M 比特。
1 | 比特率 = 波特率 × log₂M |
理想低通信道的奈奎斯特公式:
1 | 最高码元速率 = 2W Baud |
有噪声信道的香农公式:
1 | C = W log₂(1 + S/N) |
香农公式中的 S/N 是无量纲功率比。若题目给出分贝:SNR(dB)=10log₁₀(S/N),需先换算。
时延
1 | 发送时延 = 数据长度 ÷ 发送速率 |
三、数据链路层
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 | 三次握手:SYN → SYN+ACK → 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τ,因此最短帧长 ≥ 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/8、172.16.0.0/12、192.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 | 客户端 -> SYN, seq=x |
三次而非两次可确认双方收发能力并避免旧连接请求造成错误建立。连接释放通常四段,因为 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 把文件分块,多源并行下载,并通过激励与分块选择机制提高效率。客户端—服务器模型中服务器通常长期在线、具有固定可达地址,客户端间通常不直接通信。
十六、跨层综合题方法
- 先画拓扑和分层封装。 标出主机、交换机、路由器、链路速率、MTU、IP/MAC 和端口。
- 判断是否同一子网。 同网段 ARP 目的主机,跨网段 ARP 默认网关。
- 逐跳看帧、端到端看 IP/端口。 经过路由器 MAC 改变;无 NAT 时 IP 与 TCP/UDP 端口通常不变。
- 时延画时间轴。 区分发送、传播、处理、排队;考虑存储转发与多分组流水。
- 可靠传输画窗口。 写清序号单位、窗口边界、ACK 含义、超时点和重传范围。
- 子网题先算块大小再对齐。 路由选择始终使用最长前缀匹配。
- 分片先算每片最大数据。
floor((MTU-首部)/8)×8,最后片可例外,再求 MF 与偏移。 - TCP 题按字节编号。 SYN/FIN 占序号,ACK 本身不占序号(不携带数据且非 SYN/FIN 时)。
十六-A、补充专题:链路协议、网络层扩展与 OSPF
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 收敛通常更快,并可按链路代价选路。
十七、应试导航与跨层方法
| 模块 | 优先级 | 常见题型 | 掌握目标 |
|---|---|---|---|
| 时延与性能 | 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 分片严谨表述
计算步骤:
- 最大数据长度初值为
MTU-IP首部长度; - 非最后片取
floor(最大数据长度/8)×8; - 偏移量等于原始数据起点字节号除以 8;
- 最后一片
MF=0,其余片MF=1; - 每个分片都有自己的 IP 首部,总长度字段分别计算。
17.3 TCP/HTTP/DNS 综合题时间线
1 | 主机配置确认 |
- 通常端到端 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、路由协议。
路由器转发时通常重新封装链路层帧,MAC 地址逐跳改变;普通路由转发不改变端到端 IP 地址,NAT 场景除外。
18.3 传输层
高频 TCP 序号/确认号、三次握手与四次挥手、流量控制、拥塞控制、UDP。
序号题方法:先写每段首序号与数据长度;确认号表示“下一期待字节”;SYN 和 FIN 即使不携带数据也各占用一个序号。
拥塞窗口变化必须先确认算法版本、慢开始门限、超时还是重复确认,以及题设按“轮次”还是按“每个 ACK”更新。
18.4 应用层与跨层综合
高频 DNS、HTTP、电子邮件、DHCP,以及 DNS+ARP+IP+TCP+HTTP 时间线。
1 | DHCP(若尚未配置)→ DNS → 判断同网段/查路由表 |
HTTP 耗时不能固定背“若干 RTT”:必须确认 DNS 是否缓存、对象数量、持久/非持久连接、并行连接、流水化及传输时间是否忽略。
18.5 网络计算题单位检查
| 量 | 公式 | 必查条件 |
|---|---|---|
| 发送时延 | L/R |
L 为 bit,R 为 bit/s |
| 传播时延 | d/v |
距离与速度单位一致 |
| 带宽时延积 | R×传播时延 |
单程还是 RTT |
| 利用率 | 有效发送时间/周期 | ACK、首部、等待是否计入 |
18.6 经核验真题登记表
| 年份 | 题号 | 主考点 | 协议层/关键条件 | 答案/结论 | 解析位置 |
|---|---|---|---|---|---|
| 待逐卷核验 | — | — | — | — | — |
历年真题跳转
计算机网络在统考卷中通常对应 第 33—40、47 题。以下链接可直接进入各年试卷的本科目区域: