

# 路径 MTU 发现和网络 ACL
<a name="path_mtu_discovery"></a>

路径 MTU 发现用于确定两台设备之间的路径 MTU。路径 MTU 是原始主机和接收主机之间的路径所支持的最大数据包大小。

对于 IPv4，如果主机发送一个大于接收主机的 MTU 或大于路径上某台设备的 MTU 的数据包，则接收主机或设备将删除此数据包，然后返回以下 ICMP 消息：`Destination Unreachable: Fragmentation Needed and Don't Fragment was Set`（类型 3，代码 4）。这将指示传输主机将有效负载拆分为多个较小的数据包，然后重新传输。

IPv6 协议不支持网络中的分段。如果主机发送一个大于接收主机的 MTU 或大于路径上某台设备的 MTU 的数据包，则接收主机或设备将删除此数据包，然后返回以下 ICMP 消息：`ICMPv6 Packet Too Big (PTB)`（类型 2）。这将指示传输主机将有效负载拆分为多个较小的数据包，然后重新传输。

如果您子网中主机之间的最大传输单位 (MTU) 不同，或您的实例可以通过互联网与对等项通信，则必须添加以下网络 ACL 规则（入站和出站）。这可确保路径 MTU 发现能够正常工作并防止数据包丢失。为类型选择**自定义 ICMP 规则**，为端口范围选择**目的地无法到达**、**需要分段，DF 标志已设置**（类型 3，代码 4）。如果您使用 traceroute，还需添加以下规则：选择**自定义 ICMP 规则**作为类型，并选择**超时**和 **TTL 中转过期**作为端口范围（类型 11，代码 0）。有关更多信息，请参阅《*Amazon EC2 用户指南*》中的 [EC2 实例的网络最大传输单位（MTU）](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/network_mtu.html)。