二、基础篇
约 938 字大约 3 分钟
2026-03-31
2.1 TCP/IP 网络模型有哪几层?

补充:
Q:网络模型中都有哪一层可以切分数据?
- 传输层:TCP 分段
TCP 有 MSS (最大报文段长度)应用层大块数据 → TCP 切成一段段合适大小 → 封装 TCP 头 → 交给 IP目的:让 IP 包小于 MTU,尽量避免 IP 分片。这叫:传输层分段
- 网络层:IP 分片
IP 包 > 链路 MTU(比如以太网 1500 字节)路由器会把 IP 包切成多个小 IP 分片,独立转发,到达目标主机网络层重组。这叫:网络层 IP 分片
- 数据链路层(以太网 / Wi-Fi 帧):绝不分片
链路层有 MTU,规定一帧最大能装多少上层数据: 收到上层 IP 包 > MTU 链路层不会拆帧、不会分片 直接:丢包 + (IP 可发 ICMP 需要分片) 链路层必须整帧收发,帧是它的最小封装单元,拆了就不是合法帧,网卡 / 交换机不认。
| 层级 | 能不能拆分大包 | 专业叫法 | 重组位置 |
|---|---|---|---|
| 应用层 | 自己控制 | 数据拆分 | 应用自己 |
| 传输层 (TCP) | ✅ 能 | TCP 分段 | 对端传输层 |
| 网络层 (IP) | ✅ 能 | IP 分片 | 对端网络层 |
| 数据链路层 | ❌ 不能 | 直接丢包 | 无(不拆) |
现代网络普遍禁 IP 分片(安全 + 性能),一般是 TCP 提前 MSS 分段;
链路层只负责:把合规小包打帧,超大包直接拒收,绝不自己切。
Q:网络模型中既有分段又有分片,什么时候该用哪个?

以太网默认 MTU=1500 字节,IP 头最小 20 字节,TCP 头最小 20 字节,TCP 的 MSS 默认就是:1460 字节
完整封装链路:应用发一大段数据,TCP 主动切成 1460 字节一块(这叫 TCP 分段),每块加 TCP 头部 → 再加 IP 头部,拼成的整个 IP 包大小 ≤1500,刚好塞进以太网帧
运营商、路由器现在也普遍禁止 / 关闭 IP 分片,怕分片攻击、重组卡顿、丢包重传麻烦。
只有极端情况才会出现 IP 继续分片:
- 用 UDP 发超大包(UDP 不自己切)
- VPN、加密包、隧道协议,加了很多额外头部,把包撑爆 MTU
- 某些老旧特殊网络,MTU 比 1500 更小
这时 IP 包太大,链路装不下,才被迫在路由器做 IP 分片,把一个 IP 包劈成好几个小 IP 分片传输。平时我们抓包、上网看到的标准网络包:就是 TCP 提前分段切好 + 套 IP 头,大小贴合 MTU,根本不需要、也几乎不会再做 IP 分片;只有奇葩大包、VPN、老旧网络,才会触发 IP 二次分片。
