随着网络技术的发展,针对下一代IP的问题提出了IPv6,它设计的目的就是为了解决IP地址不够用,IP的安全性、移动性以及服务质量(QoS)等问题。本文就IPv6分片的部分进行讨论。
在IPv4网络当中,一个数据包在发送到网络当中时,是无法知道网络的全部情况的,这个设计主要是为了减轻主机的负担。因为一台主机存储网络的所有IP地址、网络带宽以及各个部分的传输速度等是会耗费大量的主机资源的,是不现实的,也是没必要的。所以,数据包在源可以分片,同时在中间转发节点也会分片,最终由目的主机进行重组,这个机制可以保证数据最终的完整性。
但是在IPv6网络中,只允许源分片,不允许中间转发节点进行分片。为什么会这么设计呢?本文将从三个方面进行讨论,同时结合其他参考文章进行解释。
IPv6只允许源分片
IPv6路径MTU发现机制
参考杨宁老师的《IPv6和MIPv6参考文档》,路径MTU(Path MTU,PMTU)是从分组源到目的节点的路径上所有链路MTU中的最小值。由于IPv6不允许在转发路由器上进行分片,因此IPv6源节点需要使用路径MTU发现机制来确定PMTU,以确保分组或分片不超过PMTU,从而能被路径上的所有路由器成功转发。