网络层的数据报需要借助数据链路层来完运输,但是数据链路层的MTU(最大报文传输单元)有限制,一般是1500

但是网络层的数据包可不止这么大,最大有65535B这么大,因此,必然会涉及到数据包的分片技术

 

分片主要借助标识(16位),标志(3位|DF|MF)和片偏移(13位)三个数据来完成。

关于IP数据包分片的问题

如何使用三个数据来完成数据包分片:

        标识告诉接收端,是不是同一个数据包。DF=0表示可以分片,DF=1表示不可以分片         (don't flag)

                                                                     MF=0表示后面没有分片,MF=1表示后面有分片(more flag)

         片偏移告诉接收端这个分片在原来IP数据包的位置

看下面这个例子

一个长4000B的IP数据报,数据部分3980B,到达了一个路由,需要转发到一个MTU为1500B的链路上,这样就得分片了。分片数目是3片。每个片都是一个数据报。假设标识是777,那么数据报分片结果是

分片一:标识:777,MF=1,DF=0,  片偏移=0,                           有效数据:1480B(编号0~1479) 
分片二:标识:777,MF=1,   DF=0,  片偏移=185,185*8=1480    有效数据:1480B(编号1480~2959) 
分片三:标识:777,MF=0,   DF=0,  片偏移=370, 370*8=2960   有效数据:1020B(编号2960~3979)
 

 

 

相关文章:

  • 2022-12-23
  • 2021-05-28
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-07-22
猜你喜欢
  • 2021-09-21
  • 2021-06-21
  • 2021-04-29
  • 2021-07-05
  • 2022-12-23
  • 2022-01-05
  • 2021-07-20
相关资源
相似解决方案