南方數據技术观察
首页 行业新闻 教程 技术文章 AI 对话 官网 咨询与报价
首页 / 行业新闻

IP MTU 与 TCP MSS 不匹配导致性能下降

以太网接口默认 MTU 1500 字节,扣除 20 字节 IP 头与 20 字节 TCP 头后,TCP MSS 为 1460 字节。当传输路径引入 MPLS、IPsec 或 IPv6 over IPv4 等额外封装时,帧长超标导致分片或丢包,严重损害网络性能。核心对策是在传输路由器上将 IP MTU 降至 1448 字节,预留 12 字节空间容纳最多三层 MPLS 标签,配合 TCP MSS 协商机制避免超大包产生。

封装开销如何打破 MTU 预算:

以太网标准要求最小 MTU 1500 字节,路由器 CLI 亦将 IP MTU 上限锁定在 1500 字节。正常转发时,1460 字节载荷加上双层 20 字节头部恰好填满帧。但 MPLS 标签交换每跳会压入 4 字节标签头,若叠加 LDP、VPN、TE 三层标签共 12 字节,出接口帧长达 1508 字节,超出物理接口承载能力。IPsec ESP 头、IPv6-in-IPv4 隧道头同理会产生同类超长帧。原文未给出具体数据表明其他封装的典型开销字节数。

缩减 IP MTU 与 MSS 联动机制:

将传输路由器接口 IP MTU 设为 1448 字节,即 1500 减去 12 字节三层标签上限再减 40 字节 IP/TCP 头部。该设置会向邻居设备通告更小的链路 MTU,促使 TCP 三次握手阶段协商出不超过 1448 字节的 MSS。若路由器未参与 MSS 协商(如未启用 TCP MSS clamping),源端仍可能发送 1460 字节载荷,导致中间节点被迫分片或直接丢弃,引发重传风暴与吞吐崩塌。

运维工程师应在部署 MPLS、IPsec 或隧道业务前,按最大标签层数计算安全 IP MTU 值,并在所有传输节点统一调整;同时开启 TCP MSS clamping 或依赖路径 MTU 发现,确保端到端协商落地。此举可从根源消除因封装超长触发的分片与丢包,显著提升长链路 TCP 传输稳定性。

原文: APNIC Blog(2014-12-15)|编译自 APNIC Blog,事实以原文为准。

来源:APNIC Blog

返回列表