📄 一句话概括
同一条连接的多个包,各走各的路、各排各的队——顺序可能乱,路由可能不同;拼回原样是 TCP 序号的活。
📝 本节和前面几节的关系
第二章包出了网卡;本篇从【线缆上的规矩】开始,第三章正式上路。
一、独立的意义
每个包自带完整头部(目的地、序号),不需要队伍, 谁先到线谁先走——这就是包交换的基本性格。
二、乱序谁负责
线路上乱序了不要紧——收方按 TCP 序号排序(2.3.3); 这正是【独立性】安全落地的原因:上层兜底。
三、动手 Demo:每个包独立旅行
三个包各走各的:
for i, road in [(1, '路线 A'), (2, '路线 B'), (3, '路线 C')]:
print('包 %d [172.20.1.1] ---- %s' % (i, road))
实跑输出:
--------------------------------------------------------------------
每个包独立旅行
--------------------------------------------------------------------
同一条连接的多个包,走法互不相干:
包 1 [172.20.1.1] ---- 先走,路线 A
包 2 [172.20.1.1] ---- 后走,路线 B(可能不同路!)
包 3 [172.20.1.1] ---- 再走,路线 C
原因:每个包各自选路、各自排队,谁快谁先到——
顺序乱了由 TCP 的序号负责拼回去(2.3.3 的对账)。
【包交换】对比【电路交换】:电话是电路交换, 接通后独占一条道——上网是包交换,人人分时共享。
30 秒实验
- 说出包交换与电话(电路交换)的三个区别。
- 想想为什么视频直播仍能容忍乱序(有缓冲)。
- 用 Wireshark 看同一连接的包序号是否连续排列。
常见误区
- 以为同一连接走同一条路——每个包独立选路。
- 以为乱序是故障——是常态,上层负责恢复。
自测三问(点开对答案)
1. 包为什么能独立传输? —— 每个包自带完整头部信息。 2. 乱序由谁恢复? —— TCP 序号机制。 3. 包交换与电路交换的区别是什么? —— 分时共享 vs 独占通路。- ☐ 下一节(3.1.2 防止网线中的信号衰减很重要)
相关笔记
- 向集线器发送网络包 — 前一站的交接
- 防止网线中的信号衰减很重要 — 线缆里的物理考卷
- 🔌 网络是怎样连接的 · 索引