数据报的分片与组装

发布时间:2020-07-16 21:03:31 作者:LOVEMERIGHT
来源:网络 阅读:291

1、IP数据报格式

数据报的分片与组装


2、MTU

MTU(最大传输单元):帧格式中的数据字段的最大长度。


3、分片

1)分片的条件

数据报长度超过网络所允许的最大传输单元MTU时,必须把过长的数据报进行分片后才能在网络上传输。

2)如何分片

对于发送端发送的每份IP数据报来说,其标识字段都包含一个唯一值。该值在数据报分片时被复制到每个片中。标志字段用其中一个比特来表示“更多的片”。除了最后一片外,其他每个组成数据报的片都要把该比特置1。片偏移字段指的是该片偏移原始数据报开始处的位置。另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。

最后,标志字段中有一个比特称作“不分片”位。如果将这一比特置1,IP将不对数据报进行分片。

当IP数据报被分片后,每一片都成为一个分组,具有自己的IP首部,并在选择路由时与其他分组独立。这样,当数据报的这些片到达目的端时有可能会失序,但是在IP首部中有足够的信息让接收端能正确组装这些数据报片。


4、组装

为了重新组合这些数据报分片,接收主机在第一个分片到达时分配一个存储缓冲区。这个主机还将启动一个计时器。当数据报的后续分片到达时,数据被复制到缓冲区存储器中片偏移量字段指出的位置。当所有分片都到达时,完整的未分片的原始数据包就被恢复了。处理如同未分片数据报一样继续进行。


5、三位标志

标志字段中的最高位目前没有意义

标志字段中的最低位记为MF(More Fragment),MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。

标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。


推荐阅读:
  1. Mongodb 添加删除分片与非分片表维护
  2. MySQL分区与分片有何差别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据报分片、组装 数据报

上一篇:云计算学习路线教程大纲课件:部署论坛系统Discuz

下一篇:在window8初次安装MongoDB

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》