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。