ip报文啥时候需要分片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ip报文啥时候需要分片相关的知识,希望对你有一定的参考价值。

参考技术A 当到达一个端口时,发现MTU小於IP封包,就会出现分片.然後分片的IP封包会各自到达目的地,在目的地进行重组

IP数据报格式

参考技术A 首先介绍一下IP数据包的首部

版本字段表示使用的协议版本:IPv4/IPv6;

首部长度:单位是4B,最小为5。比如确定“首部长度”是8,那么首部的大小就是8*4B=32B。因为固定部分是20B,所以首部长度字段至少为5;

区分服务:指示期望获得哪种类型的服务。比如数据报需要优先发送,强调这个数据报的优先级,就在区分服务这儿规定。

总长度:首部+数据,单位是1B。有16位,最大可以表示 B。但是实际中永远不会用到这么大,有MTU的限制。

标识、标志、片偏移:用在IP数据报分片时候,见本文靠后面那块。

生存时间:TTL。每经过一个路由器就 -1 ,等到为0时候就丢弃。

协议字段:数据部分使用的协议,有以下几种

首部检验和:只检验首部,就是求和。因为TTL每次都变化。

源IP地址和目的IP地址:32位

可选字段:0~40B。用来支持排错、测量以及安全等措施。

填充字段:全0.用来补全首部使得是4B的整数倍。

最大传送单元:链路层数据帧可封装数据的上限,以太网的MTU是1500字节。

如果所传送的数据报长度超过某链路的MTU值,就需要分片。

标识:同一数据报的分片采用同一标识。

标志:只有2位有意义     x _  _

中间位DF ( Don't Fragment ) :

        DF=1,禁止分片

        DF=0,允许分片

最低位MF ( More Fragment )  :

        MF=1,后面“还有分片”

        MF=0,代表最后一片/没分片

片偏移:指出较长分组分片后,某片在原分组中的相对位置。 以8B为单位 。由此可以得知除了最后一个分片,每个分片长度一定是8B的整数倍。

以上是关于ip报文啥时候需要分片的主要内容,如果未能解决你的问题,请参考以下文章

IP分片(IP Fragment)

IP报文为啥要分片和重组

IPv4如何实现IP报文的分片和重组

IP 层收发报文简要剖析3--ip输入报文分片重组

路由器具有报文分片和重组的功能吗

IP数据包的分片与重组过程