无论是 IPv4 还是 IPv6,路径 MTU 发现 (PMTUD) 是否应该通过分段实现?还是应该只在 ipv6 中实现,因为现在通过扩展标头处理碎片,不再由路由器处理?
路径 MTU 协议对 IPv6 更有利吗
网络工程
IPv4
IPv6
碎片化
2022-02-12 11:48:03
1个回答
IPv4 数据包有一个 Don't-Fragment (DF) 标志,它指示当数据包不适合下一个链路的 MTU 时,是否允许路径上的路由器执行分段。如果您关闭 DF 标志,您可以在本地链路上发送尽可能大的数据包,并且如果/在必要时,沿路径的路由器将分段。因此,作为发送者,您不需要发现整个路径的 MTU。
只有当您告诉路由器不要对 IPv4 进行分段并打开 DF 位时,您才需要了解沿路径的较低 MTU。已经分段的路由器现在将发送回 ICMP 消息(类型 3:无法到达的目标,子类型 4:需要分段并且未设置分段)并且发送方需要接收这些消息,以便他们可以调整其数据包大小。
IPv6 没有 DF 标志,始终禁止沿路径分段。因此,它的行为方式与启用了 DF 标志的 IPv4 类似。路由器将发回 ICMP 消息(类型 2:数据包太大,它不再是 Destination Unreachable 的子类型,它现在非常重要,它有自己的类型)并且发送方在确定数据包大小时必须考虑这些。
因此,是否必须实施路径 MTU 发现与在标头中实施分片的位置(主标头与扩展标头)无关,这取决于是否沿路径处理分片或发送方是否必须确定正确的数据包尺寸。如果沿路径的路由器处理它(关闭 DF 的 IPv4),则发送方不需要关心,否则(开启 DF 的 IPv4 和 IPv6)发送方必须能够接收这些 ICMP 消息,以便它可以调整它的相应的行为。
其它你可能感兴趣的问题