📄 一句话概括
包=切小的数据块+头部(目的地等控制信息)——交换机和路由器像分拣区,按头上的控制信息接力搬运。
📝 本节和前面几节的关系
2.4 节数据备好了;本篇从【整块发送】切换到【分包搬运】的世界观。
一、为什么切小
一条线路上多个通信共用——若独占发大文件,别人全卡死; 切小后大家轮流发,线路被公平分享。
二、头部决定去向
每个包头上写着目的地与序号; 包相当于信件,交换机与路由器是分拣处理区。
三、动手 Demo:包的套娃结构
出门的包由里到外三层信封:
for s in ['[数据][TCP头][IP头][MAC头]',
' 应用 传输 网络 链路']:
print(s)
实跑输出:
--------------------------------------------------------------------
包的套娃结构
--------------------------------------------------------------------
一个出门的包,由里到外三层信封:
[数据][TCP头][IP头][MAC头]
应用 传输 网络 链路
每层头只写本层关心的:
TCP 头管端口对账,IP 头管端到端,MAC 头管下一跳。
序号在 TCP 头里——分包后能拼回来,全靠它。
30 秒实验
- 算算 1MB 文件按 1460 字节分包有多少个。
- 想想如果包不切小,视频会议会怎样。
- 对照邮局分拣的类比,指出 IP 头和 MAC 头各像什么。
常见误区
- 以为包越小越好——头开销占比变大,效率反降。
- 以为分拣看的是数据内容——只看头部。
自测三问(点开对答案)
1. 为什么要分包? —— 共享线路、公平轮流。 2. 包像什么?分拣区像什么? —— 信件;交换机与路由器的分拣区。 3. 分包后靠什么拼回? —— TCP 头里的序号。- ☐ 下一节(2.5.2 包收发操作概览)
相关笔记
- 对较大的数据进行拆分 — TCP 层的切分
- 包收发操作概览 — IP 层的工单
- 🔌 网络是怎样连接的 · 索引