缓冲区大小及限制

一、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数据量

原文地址:https://www.cnblogs.com/soldierback/p/10632165.html