发布网友 发布时间:2022-03-30 06:44
共1个回答
热心网友 时间:2022-03-30 08:14
ip数据包包头内部有一个16位的标识来区分每一个ip数据包,同时3位的标志位中有一位来表示“更多分片”,也就是说这一位置位的时候表示该ip包被分片了并且当前这一片还不是最后一片,如果是最后一片的话就是置0的。还有一个13位的偏移字段表示当前ip包(如果是分片)在原包中所处的偏移位置。对了,分片的每个ip包的长度字段表示的是当前分片的长度。因此有了上面这些信息就可以在最后一片到达目的主机的时候能够将所有的分片进行重组。ip分片的时候是与上层协议(TCP)不相关的。
流程如下:ip包在途经MTU比较小的路线的时候会将ip包进行分片,理论上除了最后一片外前面的所有分片都是将送往的链路的MTU大小,然后每一个分片的ip标识以及源目的ip等都相同,但除了最后一个分片外标志位中的“更多分片”字段位被置为1,并且偏移字段和长度字段也被填写为适当的值。当分片到达目的主机后再根据上面的这些信息进行重组。