分片报文详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分片报文详解
分片报文是网络通信中用于处理大数据传输的一种技术。
当IP数据报的总
长度大于链路层所能传输的最大数据长度时,需要对IP数据报进行分片。
下面将对分片报文进行详细解释:
1. 分片的原因:IP数据报(IP头+DATA)被封装在链路层数据报中,因此链路层的MTU(最大传输单元)严格限制了IP数据报的长度。
在IP数据
报的源与目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU。
例如,以太网的MTU为1500字节,而许多广域网的MTU不超过576字节。
当IP数据报的总长度大于链路MTU时,就需要将IP数据报中
的数据分装在两个或更多个较小的IP数据报中,这些较小的数据报叫做片。
2. 分片的过程:分片由IPv4头部中的标识(Identification)、分片偏移(Fragment offset)和更多分片(More Fragments, MF)字段控制。
分
片的标识(Identification)都是同样的,而且分片偏移(Fragment offset)是以8字节为单位的偏移。
先对数据进行分片,然后每一部分再加上报头。
3. 分片的组装:这就需要用到IP报头中的三个字段:16位分片标识、3位标志、13位片偏移。
其中,13位片偏移用于确定分片以后,各个部分在原始报文的哪个位置,即在原始报文中的偏移量;16位分片标识用于判断一
个报文是否分片,如果一个报文不分片,不同报文之间的16位标识符是不
同的;如果一个报文分片了,分片报文的16位标识符是一样的,说明这些分片报文原本属于一个完整的报文。
4. 分片的判断:根据片偏移判断是否为普通报文或分片报文的最后一部分。
如果片偏移为0,说明是普通报文,结束判断,直接向上层交付;如果片偏移不为0,说明是分片报文,需要加入到具有相同16位标识符的集合中。
然后判断所有的报文是否收全。
以上信息仅供参考,如需了解更多信息,建议咨询专业人士或查阅相关书籍文献。