2014-03-07 59 views
0

我知道ipv4中的包的碎片是由路由器完成的,而在ipv6中是由主机通过发送pmtu来发现的。主机可以确定mtu的最小尺寸的mtu,这样他就可以发送一个适合这些小尺寸的数据包,那么为什么我们需要在ipv6中使用fragmention头部,如果我们已经知道尺寸的话! 为什么我们只发送它没有碎片?为什么我们需要在ipv6中使用碎片?

回答

1

仅在IPv6中“强烈推荐”使用PMTU发现,因此必须支持某种分段。

这引出了为什么PMTU发现不是强制性的问题。这是对IPv6的作者问题,但有几个注意的原因是:一个新的对等,这可能是不希望通信时

  • PMTU发现增加了一些延迟。
  • PMTU发现/管理需要发送器中的一些内存,这在受限制的设备中可能不合意。
  • 两个对等体之间的PMTU可能会改变;通过分段来处理这种情况(在发生后续的PMTU重新发现的情况下)可能比拖延通信更好,直到新的PMTU建立。
  • PMTU可能被阻挡,例如,由防火墙。 (尽管在这种情况下,IPv6建议降级到1280个八位字节的MTU而不是分段,但如果真正的MTU是< 1280个八位字节 - IPv6不允许,但可能在IPv6-> IPv4翻译中),那么我们仍然需要)
  • 某些第4层协议不支持可变数据包大小,因此如果最初的PMTU发现不成功,则碎片将是必不可少的。
相关问题