第三章 · 数据链路层:打包大师,局域江湖

------小dora计算机网络闯关记 · Vol.3

"比特送上门前,必须打包、贴地址、验真伪、避堵车,我全都负责!"

------链路层打工人·dora


一、链路层职责一览:小角色,大责任

数据链路层处于 OSI 模型第 2 层,位于物理层之上、网络层之下,是网络"可靠传输"的地基。

五大职责:

  1. 帧的封装与解封
  2. 差错检测与恢复
  3. 流量控制(防止"塞车")
  4. 媒体接入控制(协调谁先说话)
  5. 链路地址管理(MAC地址识别)

🧠 小dora口诀:

"封装先打包,校验防跌倒;

拿话筒别抢,发太快我控;

MAC贴门牌,数据不走错。"


二、帧的封装:比特不能裸奔,要穿"协议马甲"

物理层传输的是无序比特流,链路层将其封装成"帧",附加必要信息。

以太网帧结构:

css 复制代码
[前导码][目的MAC][源MAC][类型][数据][FCS]
字段名 功能描述
目的 MAC 数据要发给谁
源 MAC 谁发的这份数据
类型 表示数据中封装的协议类型
数据 上层数据(如 IP 包)
FCS CRC 校验码,用于检测错误

🧠 巧记:

"先写地址后写信,最后盖章防假信。"


三、链路层差错检测:查得出但不一定改得了

物理传输易受干扰,链路层负责检查错误。

检错方法:

方法 原理 优缺点
奇偶校验 控制 1 的个数为奇或偶 简单但易被绕过
校验和 所有字节求和 效果中等,IP首部使用
CRC 二进制除法生成冗余码 检错能力强,广泛应用

🧠 记忆口诀:

"一看奇偶,二听和声,三除法才靠谱。"

⚠️ 注意:CRC能检测错误,但不能自动纠正。


四、差错恢复机制:ARQ,让我们有错能改

出现错误,链路层自动请求重发。

三大 ARQ 协议:

协议 特点
停止等待 ARQ 一次发一帧,等确认才继续,安全但慢
回退 N ARQ 连发多帧,出错回退出错帧及后续重发
选择重传 ARQ 只重传出错帧,效率最高

🧠 类比:

停止等待 = 新手司机(慢但稳)

回退 N = 连坐处罚

选择重传 = 精准补救


五、流量控制:谁来决定我该不该继续发?

发送方不能无节制地发,避免接收方缓冲溢出。

滑动窗口协议

  • 定义"窗口大小",允许连续发送帧数
  • 接收方确认后窗口滑动,继续发后续帧

🧠 巧记:

"窗口未满能塞车,确认后才松口。"


六、媒体访问控制:共享链路就得排队说话

多个设备共享信道,避免冲突。

CSMA/CD 协议:

  1. 先监听信道是否空闲
  2. 若空闲则发送
  3. 发送时检测冲突
  4. 发生冲突则停止,随机退避后重试

🧠 顺口溜:

"先听后讲莫抢话,撞了退避别慌张。"


七、链路类型及 MAC 地址

链路类型 示例 共享链路 是否需访问控制
点对点 拨号、串口
广播型 以太网、WIFI

每个设备有唯一的 MAC 地址(如 AA:BB:CC:DD:EE:FF),用于局域网内识别。


八、小dora全章知识总结

复制代码
数据链路层
├─ 封帧机制(MAC头、类型、数据、CRC尾)
├─ 差错控制(CRC检错、ARQ恢复)
├─ 流量控制(滑动窗口)
├─ 访问控制(CSMA/CD)
├─ 地址识别(MAC地址)

例题及解析


例题 1:MAC帧地址识别

目的地址为 FF:FF:FF:FF:FF:FF 是哪种地址?

选项 分析
A. 单播 单播是单一设备地址,非全F,不符
B. 组播 组播地址最低位为1,但非全F
C. 广播 ✅ 全F为以太网广播地址,发送给网络所有设备
D. 回环 回环是 IP 层概念,非 MAC 地址

例题 2:最适合检测突发错误的方法?

选项 分析
A. 奇偶校验 只能检测单个位错误,弱
B. 校验和 效果中等,不能有效检测突发错误
C. CRC ✅ 适合检测突发错误,广泛应用链路层检错
D. 重传机制 是恢复手段,不是检测方式

例题 3:滑动窗口协议优点?

选项 分析
A. 简单但效率低 不符合滑动窗口设计初衷
B. 提高信道利用率 ✅ 通过连续发送多帧避免等待ACK带来的停顿
C. 一次只能发一帧 描述停止等待协议
D. 错误纠正能力强 纠错主要靠ARQ,非滑动窗口直接功能

例题 4:CSMA/CD 正确描述?

选项 分析
A. 冲突后随机退避 ✅ 防止冲突再次发生,基于指数退避算法
B. 冲突后继续发 错误,会导致更多冲突
C. 固定退避时间 退避时间是随机且指数增加,非固定
D. 不监听信道 错误,监听信道是基础步骤

例题 5:综合题------以太网帧处理流程?

答题思路示范:

  1. 网络层数据被封装为以太网帧(加源、目的MAC,FCS)
  2. 发送前监听信道(Carrier Sense)
  3. 信道空闲,开始发送
  4. 发送时检测冲突,若有冲突则停止发送,执行退避
  5. 接收方做CRC校验检测错误
  6. 出错请求重发(ARQ)
  7. 滑动窗口机制控制发送节奏,防止接收端溢出

小dora语录 · 第三话

"封包,是我;查错,是我;

你抢网线时,替你撞南墙的,还是我。"

相关推荐
帽儿山的枪手26 分钟前
追踪网络流量就这么简单 | 进阶篇 | conntrack
linux·windows·网络协议
yqcoder1 小时前
7. TCP 和 UDP 的区别
网络·网络协议·http
wanhengidc1 小时前
UDP服务器的优缺点都包含哪些?
服务器·网络协议·udp
小猫会后空翻2 小时前
HTTPS与DNS
网络协议·http·https
hrrrrb3 小时前
【TCP/IP】14. 远程登录协议
网络·网络协议·tcp/ip
小镇敲码人4 小时前
【实习篇】之Http头部字段之Disposition介绍
网络·网络协议·http
黎相思4 小时前
应用层协议HTTP
网络·网络协议·http
啊森要自信6 小时前
【Linux 学习指南】网络基础概念(一):从协议到分层,看透计算机通信的底层逻辑
linux·运维·服务器·网络·网络协议·tcp/ip·ip
彬彬醤8 小时前
ChatGPT无法登陆?分步排查指南与解决方案
服务器·网络·数据库·网络协议·chatgpt