Sunday面试指南

MTU 和 MSS 有什么区别?TCP 分段和 IP 分片是怎么回事?

以下对话为教学模拟,不是真实面经。

🧑‍💻 面试官:MTU 和 MSS 有什么区别?

🙋‍♂️ 我:都是一次能发送的数据大小。

🧑‍💻 面试官:一个说链路能容纳多大的 IP 包,另一个说 TCP 负载,这两者能直接相等吗?路径中间的 MTU 更小又怎么办?

MTU 限制包的大小,MSS 限制 TCP 数据部分。包头也要占位置。

面试速答(60 秒版)

MTU 是某条链路能够承载的最大网络层包大小;MSS 则是 TCP 在相应方向上接收的最大数据段负载,不包括 IP 和 TCP 头。

例如链路 MTU 为 1500,IPv4 和 TCP 都使用基本 20 字节头时,常见 MSS 算例是 1460。但选项、封装和路径条件会影响实际能发送的数据,不能永远减 40。

TCP 分段发生在传输层,IP 分片发生在网络层,它们不是同一种操作。IPv4 在允许条件下可以分片,IPv6 路由器则不负责中途分片。

实际传输要结合对端 MSS 和路径 MTU 等约束,并处理路径发现失败等问题,不只看本机接口 MTU。

速答总览:MTU 管包大小,MSS 管 TCP 数据负载;实际发送还需满足方向与路径约束。

知识点详解:一段 TCP 数据,怎样装进 IP 包

把包头和负载分开,数字才不会混淆

咱们假设一个以太网环境,接口 MTU 是 1500。这里通常说的是能够承载的 IP 包大小,不把以太网帧头直接算成 TCP 数据。

IP 包里还有 IP 头,里面的 TCP 段又有 TCP 头。最后剩下的位置,才是 TCP 应用数据。

因此,在 IPv4 与 TCP 都只有基本头部的教学算例中:

1500 - 20 - 20 = 1460 字节 TCP 数据

RFC 9293定义了 TCP 与 MSS 相关语义。这个算例的前提必须一起说出来,不然换成 IPv6、增加选项或隧道以后,就可能算错。

MSS 是方向相关的接收约束

TCP 在建立连接时,可以通过 MSS 选项表达自己接收数据段的限制。两端通告的值可以不同。

它不是双方一协商就固定成同一个“整个 IP 包大小”。发送端还需要结合路径和自身实现,决定实际分段的数据量。

也不能因为应用 write 了一个很大的缓冲区,就认为网络上一定只有一个同样大的 TCP 段。TCP 是字节流,发送边界和接收 API 的读取边界并不等同。

TCP 分段与 IP 分片,发生的位置不同

TCP 可以把较多字节分成多个段发送,每段进入对应 IP 包。这是在传输层组织数据。

IP 分片则是一个 IP 包因为尺寸限制被拆开,接收端需要按相关信息重组。它不是把应用直接改成多个独立 TCP 请求。

IPv4 可能在允许分片的情况下发生相关处理;设置禁止分片时,要通过相应反馈调整。IPv6 路由器不会中途分片,发送端需要处理路径限制。RFC 8200说明了 IPv6 的分片边界。

所以,“任何路由器都会自动把大包切小”是不准确的。

TCP 分段与 IP 分片位于不同层

本机能发出去,不代表整条路径都能通过

咱们假设本机链路允许 1500 字节,路径中某个隧道只能承载更小的包。本机 MTU 没有变化,端到端的可用路径大小却变了。

路径 MTU 发现需要利用相应反馈或其他探测机制。反馈被网络设备过滤时,可能出现小请求正常、大传输卡住等现象。

排查时可以结合接口、封装、路径和抓包,不要只盯着应用超时。抓包还需要考虑网卡卸载:本机观察到的大块数据,不一定代表线上真的发送了同样大小的包。

本机 MTU 与路径瓶颈 MTU 的区别

修改大小之前,先确认问题在哪一层

可以先检查链路配置与封装,再观察丢包、重传和反馈。降低 MTU 或 MSS 有时能缓解问题,但也可能改变效率,不能当成所有网络故障的通用修复。

最终需要验证端到端实际传输,包括不同大小、不同方向和目标路径。单个 ping 成功,不足以证明 TCP 大流量路径正常。

面试官继续追问

1500 的 MTU,MSS 一定是 1460 吗?

不是。1460 是带前提的 IPv4 基本头算例。协议头、选项、封装与路径约束都需要考虑。

TCP 分段以后,应用会读到同样的块吗?

不会保证。TCP 是字节流,读取边界由缓存和调用条件等决定,需要应用协议定义消息边界。

为什么抓包看到超大 TCP 包?

可能受发送或接收卸载影响。本机视图与实际链路包可能不同,需要结合抓包位置和配置判断。

面试速记卡

  • MTU:链路容纳的网络层包大小限制。
  • MSS:TCP 数据负载限制,不包含 IP 与 TCP 头。
  • 1460:只是在特定基本头条件下的算例。
  • 层次区别:TCP 分段不等于 IP 分片。
  • 路径判断:本机 MTU、对端 MSS 和路径约束共同影响发送。

公司面试真题

这道题暂未收录可核验的公司真题来源。你可以先阅读本文解析,或浏览已收录的公司面试真题。

浏览公司面试真题 →
简历汪永久免费在线制作简历,模板直接套用、导出无水印,永久免费、下载免费,不需要付费解锁任何功能。去写简历