为什么我们需要在ipv6中使用碎片?
问题描述:
我知道ipv4中的包的碎片是由路由器完成的,而在ipv6中是由主机通过发送pmtu来发现的。主机可以确定mtu的最小尺寸的mtu,这样他就可以发送一个适合这些小尺寸的数据包,那么为什么我们需要在ipv6中使用fragmention头部,如果我们已经知道尺寸的话! 为什么我们只发送它没有碎片?为什么我们需要在ipv6中使用碎片?
答
仅在IPv6中“强烈推荐”使用PMTU发现,因此必须支持某种分段。
这引出了为什么PMTU发现不是强制性的问题。这是对IPv6的作者问题,但有几个注意的原因是:一个新的对等,这可能是不希望通信时
- PMTU发现增加了一些延迟。
- PMTU发现/管理需要发送器中的一些内存,这在受限制的设备中可能不合意。
- 两个对等体之间的PMTU可能会改变;通过分段来处理这种情况(在发生后续的PMTU重新发现的情况下)可能比拖延通信更好,直到新的PMTU建立。
- PMTU可能被阻挡,例如,由防火墙。 (尽管在这种情况下,IPv6建议降级到1280个八位字节的MTU而不是分段,但如果真正的MTU是< 1280个八位字节 - IPv6不允许,但可能在IPv6-> IPv4翻译中),那么我们仍然需要)
- 某些第4层协议不支持可变数据包大小,因此如果最初的PMTU发现不成功,则碎片将是必不可少的。