一、IPv4首部
IPv4数据报的最大大小是65535字节,包括IPv4首部
二、IPv6首部
IPv6数据报的最大大小是65575字节,包括40字节的IPv6首部;IPv6的净荷长度字段不包括IPv6首部
三、MTU
1)IPv4要求的最小链路MTU是68字节,这允许最大的IPv4首部(包括20字节的固定长度部分和最多40字节的选项部分)
拼接最小的片段(IPv4首部中片段偏移字段以8个字节为单位)
2)IPv6要求的最小链路MTU为1280字节;IPv6可以运行在MTU小于此最小值的链路上,不过需要特定于链路的分片和
重组功能,以使得这些链路看起来具有至少为1280字节的MTU
3)以太网的MTU是1500字节
四、分片和重组
1)当一个IP数据报将从某个接口送出时,如果它的大小超过相应链路的MTU,IPv4和IPv6都将执行分片;这些片段在到
达最终目的地之前通常不会被重组
2)IPv4主机对其产生的数据报执行分片,IPv4路由器则对其转发的数据报执行分片;然而IPv6只有主机对其产生的数据
执行分片,IPv6路由器不对其转发的数据报执行分片
注意:一个标记为IPv6路由器的设备可能执行分片,不过只是对于那些由它产生的数据报,而绝不是对于那些由它转
发的数据报。当该设备产生IPv6数据报时,它实际上作为主机运行
3)当路由器接收到一个超过其外出链路MTU大小且设置了DF位的IPv4(IPv6)数据报时,它将产生一个ICMPv4
“destination unreachable,fragmentation needed but DF bit set”出错消息;当IPv6路由器接受到一个超过其外出链路
MTU大小的IPv6数据报时,它将产生一个ICMPv6“packet too big”出错消息
注意:每个IPv6数据报隐含一个DF位
4)IPv4和IPv6都定义了最小重组缓冲区大小,它是IPv4或IPv6的任何实现都必须保证支持的最小数据报大小。其值对于
IPv4为576字节,对于IPv6为1500字节
5)TCP有一个MSS,用于向对端TCP通告在每个分节中能发送的最大TCP数据量