TCP之数据缓冲区大小及其限制

1. IPV4数据报文的最大大小为2的16次方,即65535字节, 包括IPV4首部;原因IPV4头中的数据总长度字段占16位

2.IPV6数据报文的最大大小为2的16次方+40字节的IPV6首部;因为IPV6头中的净荷长度字段占16位,这个净荷长度字段不包括IPV6首部的,而IPV4的总长度字段包括IPV4首部;

3.IPV6中可通过特大净荷选项把净荷长度字段扩展到32位

4.MTU为最大传输单元,一般以太网的MTU是1500字节;一般MTU = MSS(1460) + 20(TCP头) + 20(IP头);

5.IPV4要求的最小MTU为68字节;

6.两个主机之间的路径中最小的MTU称之为路径MTU,1500字节的以太网MTU是当今最常见的路径MTU值。

7.IPV4的DF位和IPV6的隐含DF位可用于路径MTU发现功能;

  •    IPV4的TCP使用该技术时,需要将在所有数据包中设置DF位,当某中间路由器返回一个ICMP"destination unreachable,fragmentation needed but DF bit set"错误,TCP就会减小每个数据包的数据量并重传;
  •   路径MTU发现对于IPV4是可选的
  •  IPV6的所有实现要么必须支持它,要么必须总是使用最小的MTU发送IPV6数据报;

8.最小重组缓冲区大小,IPV4为576字节(20(IP)+20(TCP)+536),IPV6为1500字节;

9.MSS最大分节大小:通告对端在每个分节中能发送的最大TCP数据量,也就是告诉对端最大可发送的实际数据量大小,从而避免分片;MSS = MTU - IP头部 - TCP头部;

原文地址:https://www.cnblogs.com/weiyouqing/p/13591543.html