0. 前言:链路层的"桥梁"作用
如果说物理层是在铺设"公路",那么数据链路层就是在公路上画"车道线"并安装"红绿灯"。它的核心任务是将原始的、可能出错的物理比特流,封装成具有逻辑结构的帧(Frame),并通过一系列协议确保数据在相邻节点间的可靠移动。
对于考研 408 来说,这一章的滑动窗口计算几乎是必考的大题/难题;对于三级网络技术,掌握 PPP 和 HDLC 的报文细节则是拿稳选择题的关键。
1. 数据链路层的三大基本功能
在讨论具体协议前,必须掌握所有链路协议都要解决的三个"元问题"。
1.1 封装成帧 (Framing) 与 透明传输
封装成帧就是在一段数据的前后分别添加首部和尾部。接收方通过这些定界符识别出一个帧。
-
字符填充法 (Character Stuffing): 使用控制字符(如 SOH, EOT)。如果数据中恰好出现了这些字符,则在前面插入转义字符(ESC)。
-
零比特填充法 (Bit Stuffing) ✨:
-
原理: 以
01111110(6个1) 作为界定符。 -
发送端: 只要发现数据中有 5 个连续的 1,立即强行填入一个 0。
-
接收端: 发现 5 个连续 1 后,若后面是 0 则剔除,若后面是 1 则说明是界定符。
-
意义: 实现了"面向比特"的透明传输,这是 HDLC 协议的核心。
-
1.2 差错检测:CRC 循环冗余校验深度解析

🚀 408 考点: CRC 只能做到"无差错接受",不能做到"可靠传输"。如果帧在传输中丢失或失序,链路层(如 PPP 协议)通常直接丢弃,不负责重传。
2. 流量控制与可靠传输:滑动窗口协议 (408 重难点)
可靠传输是通过"确认 (ACK)"和"超时重传"实现的。滑动窗口机制则让这个过程变得高效。
2.1 停止-等待协议 (Stop-and-Wait)
-
规则: 发送方发一帧,必须等回一个 ACK 才能发下一帧。
-
窗口: 发送窗口 WT = 1,接收窗口 WR = 1。
-
利用率: 效率极低。当传播延迟很大时,大部分时间链路都在"等"。
2.2 后退 N 帧协议 (GBN)
-
规则: 累计确认。发送方可连续发多个帧。如果第 i 帧丢失,即使后面 i+1, i+2 帧都到了,接收方也丢弃,发送方必须从第 i 帧开始全部重传。
-
窗口限制: 若用 n 比特对帧编号,则 1 < WT <= 2^n - 1。
-
接收窗口: WR = 1。
2.3 选择重传协议 (SR)

2.4 信道利用率与有效带宽计算 ✨

3. 点对点协议对比:PPP vs HDLC (三级必考)
在三级网络技术中,你需要像背单词一样记住这两者的细微差别。
| 特性 | PPP 协议 (广域网主流) | HDLC 协议 (工业级/旧标准) |
|---|---|---|
| 传输单位 | 面向字节 (Byte-oriented) | 面向比特 (Bit-oriented) |
| 透明传输 | 字符填充 (0x7D) | 零比特填充 (5个1插1个0) |
| 可靠性 | 不可靠(不提供确认/序号) | 可靠(提供确认/序号) |
| 连接管理 | LCP (链路配置), NCP (网络配置) | 无(或非常简单) |
| 应用场景 | 拨号上网、光猫连接 | 早期同步串行链路 |
4. 408 真题实战模拟:信道利用率计算

🛠 三级/考研必背考点
-
数据链路层在局域网中被分为 [ LLC (逻辑链路控制) ] 和 [ MAC (介质访问控制) ]。
-
PPP 协议协议栈中,负责分配 IP 地址、配置 DNS 的协议是 [ NCP (网络控制协议) ]。
-
停止-等待协议中,如果 ACK 帧丢失,发送方会触发 [ 超时重传 ]。
-
在 HDLC 帧格式中,标志字段 F 的十六进制值是 [ 0x7E ]。
💡 深度思考:链路层可靠了,传输层还要 TCP 吗?
这是一个经典的 408 简答题/面试题。
-
链路层可靠: 只能保证两个直接相邻节点间的通信。
-
传输层可靠: 解决的是"端到端"(进程到进程)的问题。即使每一段链路都可靠,中间路由器如果缓冲区满了丢包,链路层是无能为力的。此外,路径切换导致的包顺序错乱也只能由传输层解决。
总结
本篇文章我们完成了从"比特"到"帧"的飞跃。掌握了 CRC 计算 、滑动窗口利用率公式 以及 PPP/HDLC 区别,你就已经拿到了链路层 80% 的分数。
下一篇预告:【以太网与交换机】我们将讨论 CSMA/CD 的暴力美学,以及如何配置交换机 VLAN。
版权声明:本文为【计网全栈通关】系列,转载请注明出处。