隧道会在原始数据包外面再包一层头,如果 MTU 没有相应调整,每个包都可能被分片甚至丢弃,吞吐会断崖式下降。
为什么会分片
以太网默认 MTU 是 1500 字节,隧道封装要占用几十到上百字节,超出的包要么被分片,要么在禁止分片的链路上被直接丢弃。
分片带来的问题是重传放大:一个分片丢失,整个原始包都要重传,效率急剧下降。
MSS 钳制更省事
与其改 MTU,不如在握手阶段钳制 MSS(最大报文段长度),让 TCP 从一开始就不发过大的包,从源头避免分片。
对 UDP 承载的隧道,则需要在客户端侧限制单包负载大小。
自动探测最佳值
客户端会用不同大小的探测包做二分探测,找到链路能通过的最大值,并留出安全余量后自动应用。
如果你手动改过 MTU/MSS,建议先恢复自动,除非你明确知道链路的限制值。
要点速览
- 隧道封装占用头部,MTU 必须相应下调
- MSS 钳制从源头避免分片,比改 MTU 更稳
- 优先使用客户端的自动探测值
想直接体验文中提到的能力?
立即下载
下载客户端,全平台支持,新用户可享免费体验时长。