IP数据报的分片与组装技术深度解析
创作时间:
作者:
@小白创作中心
IP数据报的分片与组装技术深度解析
引用
CSDN
1.
https://blog.csdn.net/2301_77509762/article/details/143113856
IP 分片和组装
16 位标识(id):唯一标识主机发送的报文。如果 IP 报文在数据链路层被分片了,那么每一个片里面的这个 id 都是相同的。
3 位标志字段:
第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。
第二位置为 1 表示禁止分片,这时候如果报文长度超过 MTU,IP 模块就会丢弃报文。
第三位表示"更多分片",如果分片了的话,最后一个分片置为 0,其他都是 1。类似于一个结束标记。
13 位分片偏移(framegament offset):是分片相对于原始 IP 报文开始处的偏移。其实就是在表示当前分片在原报文中的位置。实际偏移的字节数是这个值除以 8 得到的。因此,除了最后一个报文之外(之前如果都是 8 的整数倍,最后一片的偏移量也一定是 8 的整数倍),其他报文的长度必须是 8 的整数倍(否则报文就不连续了)。
注意:片偏移(13 位)表示本片数据在它所属的原始数据报数据区中的偏移量(以 8 字节为单位)。
分片与组装的过程
分片
- 检查 MTU 限制:
- 当一个 IP 数据报的大小超过了网络的 MTU(最大传输单元)限制时,就需要进行分片。MTU 是数据链路层对 IP 层数据包进行封装时所能接受的最大数据长度(一般 1500 字节,指的是有效载荷)。
- 分割数据报:
- IP 层将原始的 IP 数据报分割成多个较小的片段。
- 对于每个片段,IP 层会设置相应的标识(Identification)、偏移量(Fragment Offset)和标志位(Flags)等字段。
- 标识字段用于标识属于同一个数据报的不同分片,确保所有分片能够被正确地重新组装。
- 偏移量字段指示了当前分片相对于原始数据报的起始位置,以 8 字节为单位。
- 标志位字段包含了 3 个位,其中 MF(More Fragment)位用于指示是否还有更多的分片,DF(Do Not Fragment)位用于指示数据报是否允许进行分片。
- 添加 IP 头部:
- 每个分片都会加上自己的 IP 头部,与完整 IP 报文拥有类似的 IP 头结构,但 MF 和 Fragment Offset 等字段的值会有所不同。
- 发送分片:
- 分片在传输过程中独立传输,每个分片都有自己的 IP 头部,并且各自独立地选择路由。
组装
- 接收分片:
- 当目的主机的 IP 层接收到这些分片后,会根据标识字段将属于同一个数据报的所有分片挑选出来。
- 排序与组装:
- 利用片偏移字段,IP 层会对属于同一个数据报的分片进行排序。
- 当所有的分片都到达并正确排序后,IP 层会将这些分片重新组装成一个完整的 IP 数据报。
- 传递给上层协议:
- 组装好的 IP 数据报会传递给上层的协议进行处理。
注意
- IP 分片对传输层是透明的,这意味着传输层无需关心数据是否被分片以及如何重新组装。
- 任何一片的丢失都可能导致超时重传,意味着分片与组装会增加丢包的概率。
- 接收方如何得知自己收到的报文分片了?
- 如果没有分片,则更多分片标志位 FWF 为 0 且片偏移为 0;分片了,则 WF != 0 或者 片偏移 != 0。
- 接收方如何得知自己收到的分片收全了?
- 将 16 位标识相同的聚在一起,然后排升序,偏移量 * 8 + 自己有效载荷大小 = 下一片的偏移量。
分片与组装过程的示意图
假设在 IP 层,有一个大小为 3000 字节的报文,如何分片?如何组装呢?
注意:偏移量的大小,是在原报文中的偏移量,如下图:第一片的有效载荷为 1480,加上报头,为 1500 字节,但是偏移量是 1480,因为在原报文中偏移量为 1480,而不是 1500。
组装:保证收全了,然后排序组装。
热门推荐
孙悟空究竟有多强?精通“六大顶级神通”,“七十二变”只是垫底
豆瓣评分最高的十大国产综艺
三支一扶报名入口官网的网址是什么?
802.11k/v/r协议详解:无线网络优化的关键技术
三八不是什么女生节,也不是女神节,请不要将妇女节污名化
牛肉属于低脂肪还是高脂肪
《守望先锋》新英雄"艾什"登场:精于算计的帮派首脑
如何利用工时考勤表自动计算提高工作效率?
离婚房产分割的六大原则
“智慧城管”:非现场执法助力街面长效管控
刑事犯罪记录指的是哪些
绿色发展|构建可持续供应链:应对政策浪潮,迈向净零目标
恋爱分手后财产纠纷处理指南:律师教你如何应对借款追讨和礼物返还问题
中国科学院院士薛其坤:如果找到室温超导材料,或能用磁悬浮方式将建筑物迁移
网络摄像头如何存到云盘
北京朝阳医院团队在肝脏免疫研究领域取得重要突破
打造高转化率产品着陆页的完整指南:提升转化的必备要素与优化策略
婚姻给了女性什么影响:婚姻对女性产生的影响
6种最健康的无麸质面包,3种要避免
智能巡检机器人创新设计的关键技术
俄罗斯的国花和国树:向日葵与白桦,为何如此受俄罗斯人青睐?
木桶浴:是放松还是陷阱?如何选择正规足疗店?
警钟长鸣,廉洁自律:构建良好警风的重要保障
三本经典社交类书籍推荐
2025年必看番剧,有你最期待的吗?
链式求导法则与反向传播原理详解
开办学生住宿托管需要什么手续?
高血压辅助决策系统干预效果—整群随机对照研究
黑种人、白种人和黄种人之间,为什么不存在生殖隔离?
五大联赛不败夺冠有多难?勒沃库森历史第4队,阿森纳创英超神迹