MTU配置说明

IPsec-VPN连接只支持传输已经分片的数据包,不支持对数据包分片及数据包分片重组。在您使用IPsec-VPN时,IPsec协议会对数据包进行加密,加密过程会扩大数据包长度,扩大后的数据包长度可能会超过网络中设置的最大数据传输单元MTU(Maximum Transmission Unit),影响数据包的正常传输。本文介绍如何设置MTU以确保数据包的正常传输。

MTU配置原则

MTU注意事项

本文以上图场景为例说明MTU配置原则。本地数据中心已与专有网络VPC(Virtual Private Cloud)建立了IPsec-VPN连接。在客户端访问VPC资源时,数据包将在本地网关设备中加密后被传输至互联网,经过互联网中的网络设备(图例中为路由器2和路由器3)被传输至VPN网关。

在数据包从客户端传输至VPN网关的过程中,数据包的大小将会受到以下三种MTU的限制:

  • 用户MTU

    用户MTU即客户端和本地网关设备之间所有网络设备接口MTU的最小值。该MTU会限制客户端发送的数据包的大小。

    本示例用户MTU取标记为1的接口中MTU的最小值。

  • 公网接口MTU

    公网接口MTU即本地网关设备连接VPN网关的公网接口上的MTU。该MTU会限制被加密后的数据包的大小。

    本示例公网接口MTU取标记为2的接口的MTU。

  • 路径MTU

    路径MTU即互联网中所有网络设备接口MTU的最小值。该MTU会限制被加密后的数据包的大小。

    您可以向相关互联网厂商咨询路径MTU。通常以太网的路径MTU默认为1500字节。

    本示例中路径MTU取标记为3的接口中MTU的最小值。

为确保数据包被正常传输,您需要在本地数据中心配置用户MTU和公网接口MTU,使上述三种MTU满足以下关系:

用户MTU的最大值=min{公网接口MTU,路径MTU}-101    # 101是IPsec协议为数据包加密后占用的最大字节数。
重要

对于2021年04月01日之前创建的VPN网关,如果配置本地数据中心的用户MTU大于1300字节(不包含1300字节),则可能存在IPsec-VPN连接不通的问题,建议您将VPN网关升级至最新版本以规避该问题。关于如何升级VPN网关,请参见升级VPN网关

MTU配置示例

MTU配置示例

如上图所示,假设路径MTU为1500字节,您设置的本地网关设备公网接口的MTU也为1500字节,则:

用户MTU的最大值=min{1500,1500}-101=1500-101=1399字节

即客户端发送数据包时,数据包的大小建议不超过1399字节,否则可能会导致数据包无法正常传输。

MSS配置建议

在通过IPsec-VPN连接传输TCP流量的场景下,如果需要确保数据包不被分段传输,则最大分段大小MSS(Maximum Segment Size)和用户MTU需保证以下关系:

MSS=用户MTU-IP数据包头部占用字节数(20字节)-TCP数据包头部占用字节数(20字节)

例如,在公网接口MTU和路径MTU均为1500字节的情况下,用户MTU最大为1399字节,为确保数据包不被分段传输,MSS的最大值为1359字节。