IBM Cloud Docs
IBM 站点间 VPN 最大传输单元 (MTU) 箝位

IBM 站点间 VPN 最大传输单元 (MTU) 箝位

配置和优化站点间 IPsec VPN 连接时,可能会迂到网络性能问题,其中一个问题与“最大传输单元”(MTU) 和“最大段大小”(MSS) 箝位相关。 本主题深入探讨这些概念,以帮助您更好地了解和优化 IPsec VPN 连接。

什么是 MTU?

MTU 是指在单个帧中可以在计算机网络中传输的数据包的最大大小。 通常,MTU 值是固定的,并以字节为单位进行测量。 在以太网网络中,标准 MTU 大小为 1500 字节。 当数据包超过 MTU 时,会将其分段为较小的段以进行传输。 在 IBM Cloud VPC 网络中,可以启用 MTU 为 9000 字节的 巨型帧 以提高虚拟机性能。 但是,在 IBM 站点到站点 VPN 网关上,MTU 固定为 1500 字节,因为 VPN 流量必须通过因特网传输。

什么是 MSS?

MSS 是特定于 TCP/IP 网络堆栈中传输控制协议 (TCP) 层的参数。 MSS 表示可以包含在 IP 包中的单个 TCP 段内的最大数据量。 与由网络基础结构确定的 MTU 不同,MSS 值是在两个通信设备之间的 TCP 握手期间协商的。 它用于确保 TCP 段适合网络的 MTU,从而避免分段和重新组装。

MTU 与 MSS 之间的关系基于确保在网络的 MTU 的约束下进行高效的数据传输。 要使 MSS 与网络的 MTU 保持一致,可以使用以下算术关系:

MSS = MTU - (IP Header Size + TCP Header Size)

其中:

  • IP Header Size 是 IP 头的大小 (通常为 20 个字节)。
  • TCP Header Size 是 TCP 头的大小 (通常为 20 字节)。 因此,MSS 在 VPN 网关上为 1460。

MSS 夹紧

当 IPsec 尚未对包进行加密时,VPN 网关的 MSS 为 1460。 当 VPC 虚拟机通过 IBM VPN 网关将流量发送到 VPN 连接时,可能会由于在其他头中封装 IP 包以进行加密和认证而产生问题。 此封装会增加包的大小,超过 MTU 1500 字节。 发生这种情况时,可能会发生诸如包分段和重新组装之类的问题,从而导致性能下降和等待时间增加。

为了解决 IBM 站点到站点 IPsec VPN 中与 MTU 相关的问题,VPN 网关使用 MSS 箝位,这是一种方法,用于将 TCP 包的 MSS 限制为确保其适合网络的 MTU 的值。 通过执行此操作,可防止包分段和关联的性能问题。

由于 IPsec 封装而增加的包大小因 IPsec VPN 使用的加密密码而异。 通常,MSS 1360 是 MTU 1500 的各种加密密码的安全值。 因此,当流量通过 IBM 站点到站点 VPN 网关时,TCP 包中的 MSS 会自动减少到 1360。

如果网络或 ISP 提供商网络 MTU 小于 1500 字节,那么必须在本地 VPN 网关上启用 MSS 箝位并减少 MSS。