首页/网络/BGP 与广域网速查/隧道 MTU 与 TCP MSS 调整
IPsec VPN60 条

隧道 MTU 与 TCP MSS 调整

封装开销使隧道有效 MTU 小于物理口:GRE 约 24 字节、IPsec 约 50-73 字节;通常把隧道 MTU 设为 1400、MSS 设为其减 40,避免大包丢弃。

BGP 与广域网速查网络更新于 2026-10-13

封装开销与 MSS 调整

封装开销会让隧道有效 MTU 小于物理接口:GRE 约 24 字节,IPsec 约 50 到 73 字节(与算法和填充有关)。常见做法是把隧道 MTU 设为 1400、TCP MSS clamp 设为其减 40(即 1360),避免大包在隧道中被丢弃或分片。

基本信息

GRE 开销约 24 字节(20 字节 IP 头 + 4 字节 GRE 头)
IPsec 开销约 50-73 字节,含填充与算法差异
MSS 经验值MTU 减 40,例如 MTU 1400 对应 MSS 1360
生效范围MSS clamp 只影响 TCP 会话
调整位置隧道接口上设置 MTU 与 MSS
典型现象小包通、大包丢,或应用长时间等待

典型使用场景

  • 新建隧道:先算清封装开销,再定 MTU 与 MSS
  • 排障大包不通:检查隧道接口的 MTU 与实际生效值
  • 两端对称调整:两侧都要改,避免单向问题
  • UDP 业务:MSS 调整对其无效,需要另行评估分片与 MTU
  • 变更核对:改完用探测命令确认实际可用 MTU

两侧配置对照

两侧配置对照
interface Tunnel0
 ip mtu 1400                    # 隧道接口 MTU
 ip tcp adjust-mss 1360         # TCP MSS clamp(MTU 减 40)
!
show interfaces Tunnel0 | include MTU
! 华为侧对应配置
interface Tunnel0/0/1
 mtu 1400
 tcp adjust-mss 1360

封装开销参考

封装方式开销说明
GRE约 24 字节20 字节 IP 头与 4 字节 GRE 头
IPsec约 50-73 字节受算法与填充影响
GRE over IPsec两者叠加开销最大,MTU 需留更多余量
无封装0按物理接口 MTU 处理
MSS clamp 只影响 TCP:UDP 与应用层大包要看 MTU 与分片策略,不能指望一条 MSS 命令解决所有大包问题。
只调一侧等于没调:反方向仍按旧值发送,问题依旧存在;变更时必须两端同时调整,并各自验证实际效果。
数值靠实测而不是照搬:从隧道两端发带 df-bit 的探测包,逐步加大包长,记录能通过的最大值,再留出少量余量;经验值只有在封装方式、加密算法与链路参数都相同时才可直接复用。

数值确定步骤

  • 确认封装方式与加密算法,估算标签或封装开销
  • 在隧道两端用 df-bit 探测,逐步加大包长找上限
  • 把实测上限留出余量后写入隧道 MTU
  • 按 MTU 减 40 设置 TCP MSS 并两端同步
  • 改完双向复测并记录结果作为基线

易错点

  • 只调一侧:反方向仍按旧值发送,问题依旧,排查时容易误判为应用层问题
  • 认为 MSS clamp 覆盖全部流量:UDP 与 IP 分片需要另行评估
  • 忽略封装叠加开销:GRE over IPsec 场景开销最大,MTU 余量要给足
  • 调完不验证:用探测命令确认实际可用 MTU,避免配置生效但链路仍有丢包
  • 用固定经验值套所有场景:开销随算法与封装方式变化,应结合实测确定

数据来源与参考

  • Cisco: IP MTU 与 MSS 调整
  • RFC 879: TCP MSS 选项
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌