MTU 注意事项

最大传输单元 (MTU) 是网络层协议支持的最大数据包的大小(以字节为单位),标头和数据均包括在内。

通过 VPN 隧道发送的网络数据包经过加密,然后封装在外部数据包中,以便进行路由。Cloud VPN 隧道使用 IPsec 和 ESP 进行加密和封装。因为封装的内部数据包本身必须适合外部数据包的 MTU,所以其 MTU 必须更小。

封装和碎片化

Cloud VPN 使用预碎片化。在 VPN 网关上启用预碎片化,以便先对它发送的数据包进行碎片化处理,然后再进行加密和封装。从您的对等系统发送的数据包必须关闭 DF

网关 MTU 与系统 MTU

将对等 VPN 网关配置为使用不超过 1460 字节的 MTU。我们推荐使用 1460 字节的值,因为该值与 Google Cloud 虚拟机 (VM) 实例的默认 MTU 设置相匹配。

对等系统和 Google Cloud 虚拟机的有效 MTU 通常低于 VPN 网关的 MTU:

  • 对于 TCP 流量,“MSS 固定”会重写初始 TCP 握手的 SYN 数据包。通过此操作,系统可动态调整最大分段大小 (MSS) 以适应封装。

  • 对于 UDP 流量,如果您的防火墙规则允许 ICMP 流量,则路径 MTU 发现 (PMTUD) 可在在某些情况下协商较小的 MTU 大小。

性能考虑因素

“MSS 固定”和 PMTUD 不能解决数据包丢失的所有原因。为确保系统可以通过 Cloud VPN 隧道可靠地通信,请考虑以下策略:

  • 如果本地 VPN 网关的 MTU 设置为 1460 字节并且存在以下情况,则考虑将本地和 Google Cloud 虚拟机的 MTU 设置为 1390 字节:

    • “MSS 固定”不能减少 TCP 流量数据包丢失。
    • 您正在发送 UDP 流量并且无法实现 PMTUD。例如,并非所有 UDP 应用都可以利用 PMTUD。
  • 如果您将对等 VPN 网关的 MTU 配置为小于 1460 字节的值,则必须为对等系统和 Google Cloud 虚拟机确定一个可接受的 MTU。此 MTU 必须比网关的 MTU 低大约 70 字节。

后续步骤