- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP分片理解报告
IP分片理解报告
IP分片的定义
因为在实际网络环境中,传输的网络数据包有时会超过设备的接口处理能力,这时就需要对数据包进行分片处理,那么对于IP层
二、测试组网:
PC1(10.1.1.2)----T1-----PC2(10.1.2.2)
验证方法:通过ping一个大包来验证IP的分片情况
在PC1上发送一个长度为5000的icmp包,在PC2上进行抓包验证收到的数据包的分片情况:
最终分为四片1514×3+602.
三、具体的分片原理如下:
1、首先设备接口的MTU默认都是1500Byte,这个值的含义是链路层所能承载的上层数据包的大小,那么对于ICMP数据包来说,就是可以承载1500Byte-IP头=1480Byte大小的ICMP包;
ICMP头
DATA
Eth头
IP头
MTU
2、PC1发送一个长度为5000Byte icmp数据包,需要设备接口承载的大小为5000Byte+ICMP头=5008Byte,ping数据包的大小,不同的设备和操作系统,处理的不一样,需根据实际情况处理;
3、按照1480Byte单位大小进行分片处理,最终结果为1480×3+568,分为四片
4、在PC2上抓到的数据包是封装了以太头之后的大小,也就是在上述分片结果的情况下,每片大小+IP头+以太头,实际最终大小应该还有结尾的4Byte的CRC,抓包工具没有显示而已
四、详细分析一下最终四个分片:
第一个分片如下:
这个分片的封装内容包括『以太头+IP头+ICMP头+DATA』,具体IP头的报文格式,主要字段包括:
Identification:唯一标识一份完整IP数据包
MF:更多分片,“1”表示还有分片
fragment offset:表示该分片数据部分开始位置在原IP报文数据部分的偏移,单位是8bytes。“1”表示是第一个分片
DF:能否分片,“0”表示分片
第二个分片如下:
这个分片的封装内容包括『以太头+IP头+DATA』,具体IP头字段包括
Identification:唯一标识一份完整IP数据包
DF:“0”表示分片
MF:“1”表示还有更多分片
Fragment offset:“1480”表示这片报文的起始位对比最初的数据报文的偏移量
第三个分片如下:
这个分片的封装内容和第二片一样也是『以太头+IP头+DATA』,具体
Identification:唯一标识一份完整IP数据包
IP头字段包括:
DF:“0”表示分片
MF:“1”表示还有更多分片
Fragment offset:“2960”表示这片报文的起始位对比最初的数据报文的偏移量
第四个分片如下:
这个分片的封装内容和第二、三片一样也是『以太头+IP头+DATA』,具体IP头字段包括:
Identification:唯一标识一份完整IP数据包、
DF:“0”表示分片
MF:“0”表示分片结束,没有更多分片
Fragment offset:“4440”表示这片报文的起始位对比最初的数据报文的偏移量
五、分片重组
最终IP分片到达PC2的时候,会涉及到分片重组,具体过程就是
PC收到每一个分片的时候会检查MF位,如果为“1”表示还有后续分片,则缓存分片等待后续分片,如果MF=0,则表示分片接收结束,开始计算原始IP数据报文的长度,原始IP报文数据长度=最后一片分片偏移+最后一片分片数据大小,那么对于上述分片,PC2收到最后一片报文后,经计算原始IP报文数据长度=4440+568=5008Bytes,可以检查PC2是否收到了全部分片,如果收到了就继续交给上层处理;
通过比较四个分片的最终封装格式,发现只有在第一个分片中包括了ICMP头部封装,剩余三片都没有,因为在IP分片的过程中,只有在第一个分片中才会封装上层协议首部和数据,剩余分片都只是封装数据,因为IP分片的过程中只对IP层所承载的上层数据进行处理,所以封装的数据也就是上层协议数据
附录:
IP头格式介绍:
Version:4bit,”4”表示IPv4
Header length:4bit,表示首部占32bits单位的大小,所以“5”表示首部长度为20Byes,最长为(2^8-1)×4=60Bytes
DSCP:8bits
Total length:16bits,IP数据包总长度
Identification:16bits,标识每一份IP数据包
Flags:3bit,主要有三个字段,保留字段、MF表示是否还有后续分片、DF是否分片
Fragment offset:13bit,分组片偏移
TTL:8bits,生存时间
Protocol:8bits,表示上层封装协议,“6”表示TCP
Header checksum:16bits,头部校验
Source ip:32bits,源IP地址
Destination ip:32b
文档评论(0)