Appearance
数据包的网络之旅:协议栈封装与解封装
考情分析
你发一条微信,数据经历了什么?很多同学背了五层模型的名字、知道每层的 PDU 叫什么,但脑子里始终没有一个从上到下封装、从左到右传输、从下到上解封装的完整画面。
这个交互式动画用一次完整的 认识协议栈 → 封装之旅 → 传输与解封装 操作,把三大考点串起来:
| 考点 | 你会在哪个场景看到 | 考频 |
|---|---|---|
| 五层协议模型(各层功能、PDU、协议) | 认识协议栈 | 🔥🔥🔥 |
| 封装过程(每层加头部,链路层加帧尾) | 封装之旅 | 🔥🔥🔥 |
| 中间设备处理层次(交换机 L2、路由器 L3) | 传输与解封装 | 🔥🔥 |
| 经过路由器 MAC 变 IP 不变 | 传输与解封装 | 🔥🔥🔥 |
按顺序走完三个场景大约 10 分钟。走完之后,你对"分层"的理解会从抽象口诀变成具体画面。
场景一:认识协议栈
打开动画后,你看到左右两个五层协议栈——发送方(主机 A)和接收方(主机 B),中间用虚线连接表示网络。
点击每一层
点击任意一层(比如"网络层"),右侧面板会显示三个关键信息:
- 功能:路由选择与分组转发,提供逻辑寻址
- PDU:IP 数据报 (Packet)
- 协议:IP、ICMP、ARP、OSPF、RIP
408 选择题常考:"以下哪个协议工作在 X 层?"——把五层都点一遍,协议归属自然记住。
三个核心概念
右侧面板始终显示三个概念,考试常以判断题形式出现:
| 概念 | 含义 | 方向 |
|---|---|---|
| 协议 | 对等层实体间的通信规则 | 水平 |
| 服务 | 下层向上层提供的功能 | 垂直 |
| SAP | 相邻层之间的接口(如端口号) | 垂直 |
易错点:协议是水平的(同层之间),服务是垂直的(上下层之间)。考试经常反着出选项来混淆。
准备好后,在输入框输入一条消息(默认 "Hello"),点击「发送消息」进入场景二。
场景二:封装之旅
这是核心场景——你会看到数据从应用层出发,逐层向下"穿衣服"的完整过程。
逐层封装
使用底部的 ⏮ ⏭ 按钮逐步观看,或点 ▶ 自动播放:
| 步骤 | 当前层 | 数据块变化 | 右侧面板 |
|---|---|---|---|
| 1 | 应用层 | [Hello] | PDU = 报文 (Message) |
| 2 | 传输层 | [TCP头][Hello] | 源端口 1234、目的端口 80 |
| 3 | 网络层 | [IP头][TCP头][Hello] | 源 IP、目的 IP、TTL |
| 4 | 数据链路层 | [帧头][IP头][TCP头][Hello][FCS] | 源 MAC、目的 MAC、类型、FCS |
| 5 | 物理层 | 01101000... 比特流 | 编码为电信号发送 |
必须记住的要点
1. 每层只加自己的头部
传输层加 TCP 头(端口号),网络层加 IP 头(IP 地址),链路层加帧头帧尾。上层的整体作为本层的"载荷"——这就是封装的本质。
2. 链路层是唯一既加头又加尾的
帧头包含 MAC 地址和类型字段,帧尾包含 FCS 校验值。其他层只加头部。
3. 目的 MAC 不是最终目标
注意第 4 步的目的 MAC 是 CC:CC:CC:00:00:01——这是路由器的 MAC,不是主机 B 的。因为 A 和 B 不在同一网段,帧只能先发给默认网关。
封装完成后,点击「开始传输」进入场景三。
场景三:传输与解封装
全景拓扑图展开:数据包从主机 A 出发,依次经过 交换机 → 路由器 → 交换机 → 主机 B。
关键观察点
交换机(第 2 层设备)
- 只亮底部 2 个色块(物理层 + 数据链路层)
- 只看帧头中的 MAC 地址,查转发表决定从哪个端口发出
- 帧头帧尾不变——它不拆 IP 头,也不改 MAC
路由器(第 3 层设备)
- 亮底部 3 个色块(到网络层)
- 拆到 IP 层,读取目的 IP,查路由表
- 重点来了:路由器会替换帧头——
- 新源 MAC = 路由器出接口的 MAC
- 新目的 MAC = 下一跳(主机 B)的 MAC
- IP 地址完全不变!
右侧面板会用红色高亮强调:IP 地址不变,只有 MAC 地址被替换!
这是 408 的经典考点,几乎每年都以某种形式出现。
主机 B 解封装
到达主机 B 后,开始从下到上"脱衣服":
| 步骤 | 动作 | 剥掉什么 |
|---|---|---|
| 1 | 物理层还原 | 比特流 → 帧 |
| 2 | 链路层处理 | 剥帧头帧尾,检查 FCS |
| 3 | 网络层处理 | 剥 IP 头,确认目的 IP 是自己 |
| 4 | 传输层处理 | 剥 TCP 头,按端口号交给应用 |
| 5 | 应用层收到 | 还原出原始数据 "Hello" |
考研真题演练
题目 1(概念辨析)
下列关于计算机网络体系结构的说法,正确的是: A. 协议是垂直方向相邻层之间的通信规则 B. 数据链路层的 PDU 称为分组 C. 路由器工作在网络层,转发时会更换帧头但不改变 IP 地址 D. 交换机能看到 IP 头部并据此转发
答案:C
- A 错:协议是水平方向对等层之间的规则(在场景一的右侧面板可以看到)
- B 错:链路层 PDU 是帧 (Frame),网络层才是分组/IP数据报 (Packet)
- C 对:在场景三你亲眼看到了路由器替换帧头、IP 不变的过程
- D 错:交换机只工作到第 2 层,看的是 MAC 地址
题目 2(封装过程)
主机 A 向主机 B 发送数据,中间经过一个路由器。在数据传输过程中,以下哪一项在整个传输过程中保持不变? A. 源 MAC 地址 B. 目的 MAC 地址 C. 源 IP 地址 D. 以上都不是
答案:C
经过路由器时,源 MAC 和目的 MAC 都会被替换为路由器接口的 MAC 和下一跳的 MAC。但 IP 地址从发送方到接收方始终不变——这是网络层端到端通信的基本保证。
在场景三的第 7 步(路由器替换帧头),你可以清楚地看到 MAC 地址变了而 IP 地址没变。
一句话总结
封装是穿衣服,解封装是脱衣服,中间设备只解到自己能看懂的那一层。
记住这句话,再回去做真题,五层模型相关的选择题基本不会丢分。