zoukankan      html  css  js  c++  java
  • 缓冲区大小及限制

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

  • 相关阅读:
    暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第二场)
    莫比乌斯反演入门解析
    暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第一场)
    暑假N天乐 —— 多重+分组背包及变形
    暑假N天乐 —— 完全背包及变形
    暑假N天乐【比赛篇】 —— 牛客假日团队赛6
    暑假N天乐 —— 01背包及变形
    离线线段树 SPOJ
    [Python]数据类型、常量、变量和运算符(未完待续)
    [Python]从哪里开始学习写代码(未完待续)
  • 原文地址:https://www.cnblogs.com/soldierback/p/10632165.html
Copyright © 2011-2022 走看看