参考 <The TCP/IP Guide> http://tcpipguide.com
MTU,分片 (Fragmentation) 和重组 (Reassembly)
IPv6 与 IPv4 在 MTU,分片和重组上的不同:
- 增大了默认 MTU:在 IPv4 中,路由器和物理链路要求的最低 MTU 为 576bytes。而在 IPv6 中,最低要求为 1280bytes。
- 取消了路由器分片:在 IPv6 中,数据报只能由发送者进行分片,路由器不能进行分片。所以在发送数据报之前要进行 Path MTU 发现,并将数据报分片成合适的碎片进行发送。
- MTU Size Error 回复:因为路由器不能对数据报进行分片,当要传递一个过大的数据报时就只能将其丢弃,并返回一个 ICMPv6 Packet Too Big 信息。
- 去除报头中的 Fragment 相关字段:在 IPv4 中固定存在的 Fragment 相关字段被去除,改为以 Fragment 扩展头的形式存在,仅在需要的时候添加。
IPv6 分片处理
IPv6 数据报被分为两部分:
- 不可分段部分 (Unfragmentable Part):主报头和以下扩展头(如果有的话):Hop-By-Hop Options, Destination Options(可被路由上的设备处理的选项)和 Routing。