路径MTU发现(PMTUD)是否应该通过碎片来实现,而不管它是IPv4还是IPv6?还是应该仅仅在ipv6中实现,因为现在是通过扩展头处理而不再由路由器处理碎片?
发布于 2017-01-15 15:05:16
IPv4数据包有一个不碎片(DF)标志,它指示当数据包不适合下一个链路的MTU时,路径上的路由器是否允许执行分段。如果您不使用DF标志,您可以在本地链路上尽可能大地发送数据包,如果/在必要时,路径上的路由器将分块。因此,作为发送者,您不需要发现整个路径的MTU。
只有当您告诉路由器不要分割IPv4并打开DF位时,您才需要进一步了解更低的MTU。已经支离破碎的路由器现在将发回ICMP消息(类型3:无法到达目的地,子类型4:所需的碎片和不要碎片设置),发送方需要接收这些消息,以便他们可以调整数据包大小。
IPv6没有DF标志,因此始终禁止沿路径分段。因此,它的行为方式类似于带有DF标志的IPv4。路由器将发回ICMP消息(类型2:数据包太大,它不再是不可到达的目标子类型,它现在非常重要,它有自己的类型),发送方在确定数据包大小时必须考虑到这些。
因此,是否必须实现路径MTU发现与在报头中实现分段无关(主标头还是扩展头),这取决于是否沿着路径处理碎片,或者发件人是否必须确定正确的数据包大小。如果路径上的路由器处理它(IPv4和DF ),那么发件人就不需要关心了,但是另外(IPv4和IPv6)发送方必须能够接收那些ICMP消息,这样它就可以相应地调整自己的行为。
https://networkengineering.stackexchange.com/questions/38070
复制相似问题