IPV4报头详细分析

IPV4报头详细分析

分别是IPV4和IPV6的包头结构图
IPV4数据包
1.Version:可以区分IPV4与IPV6法人协议版本号,IPV4是0100,IPV6是0110,大小否是四个字节(半位),而值得注意的是IPV4与IPV6头部除了版本字段位置相同外再无其他是一样的,因此,两个协议不能直接互操作。
2、IHL(Internet header length) :保存IPV4头部中32位字的数量,包括任何选项(options),由于是4位,所以IPV4头部被限制为最多15个32位字,用8位字换算即相当于60字节。如果没有选项(后面会解释)的加入,字段的正常值为5,即20字节。IPV6中不存在这个字段,其头部长度固定为40字节,IPV4的两倍。
3.Type of Service :服务类型字段(TOS)共8位长的字段被分为两个部分,前六位被称为区分服务字段(DS字段),后两位是显示拥塞通知(ECN)字段或指示位,在QS中用到。
4.Total length:IPV4数据报的总长度,通过这个字段和上边说过的IHL字段,我们知道数据报的数据部分从哪里开始,以及它的长度。由于他是一个16位的字段,所以IPV4数据报的最大长度(包括头部)位65535字节,数据报长度等于Total length - IHL
5.Identification : 标识符,大小16位,在三层把流量区分开来,可以类比于动态端口号,与流量一一对应,同一种流量在网络层的标识符就是相同的,用于流量分片。
6.Flags:标记位,大小3位,分为三部分,保留位(reserved bit),分片位(Don’t fragment)为1代表数据未分片,为0则未分片,更多位(more fragment),例如分片数据报共100个,则前99个的MF都等于1,标识后面还有分片数据包,100的MF等于0,标识分片数据包的结束,同时开启排序,但并不一定数据包的排序在整个分片数据报传递后开始,因为数据包的收发可能后发先至。
7.Fragment Offest :分片偏移,大小13位,用来重排序。第一个分片数据报文偏移为0,第二个为第一个数据报文的大小,以此类推,第n个为前n-1个数据报文的大小之和。
8.TTL : Time to Live大小8位,用于设置一个数据报文可经过的路由器的数量上限,可路由的次数,IP数据报文防环的底线,单位为s对应生存跳数,而不是跳数。由于原来路由器性能差的时候常需要1s才能转发数据,故设置了255s作为上限,不符合现在路由器转发数据几十毫秒的时代,IPV6已经改善,改为Hop limit。
9.Protocol : 标识上一层的协议号(0-255)8为大小,用于识别封装的协议是否为一种传输层协议。
10.Header checksum :头部校验(16位)和计算数据帧的完整性,TTL不参与校验,随路由次数一直改变,IPV6删除该字段,由于各层也在校验数据帧的完整性。
11.Source address :源IP(32位)。
12.destination address :目标IP(32位),这里可以发现IPV4数据报的每一行大小都是32位。
13.options :松散路由,严格路由,路由记录,时间戳。
14.Padding:通过可选字段后面添0来补足32位保证options,padding之和为0 32或32的倍数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值