IPv4协议头如何像IPv6将next
- 游戏资讯
- 用户投稿
- 2024-11-19 16:11:39
IPv4协议头中没有类似于IPv6中的nextheader字段,因此无法像IPv6一样将nextheader=59表示没有下一个协议头。在IPv4中,如果没有下一个协议头,则协议字段的值为0。这意味着IPv4数据包没有封装任何高层协议,只包含IP头。因此,如果要在IPv4中表示没有下一个协议头,则需要将协议字段设置为0。
IPV4和IPV6报文头部的区别:
IPV4报头长度(不包括选项字段):20字节
IPV6报头固定长度(基本):40字节
IPV6去除了IPV4报头中的HeaderLength(头部长度)、Identification(标识)、Flags(标志)、FragmentOffset(片偏移)、Checksum(头部校验和)、Option(选项)。却只增加了一个Flowlable(流标签)这一个字段。
去除Checksum(头部校验和)字段是因为在二层有FCS做校验,在四层有TCP/UDP等协议的Checksum做校验。所以IPV6报头无需再次校验,可以提升IPV6性能。
在讲IPV4,报头中,提到了头部校验和每经过一个设备,都要进行计算。在IPV6中去掉头部校验和,这样就可以提升转发效率。
IPV4报文分片:每个数据链路层协议都有自己的帧格式,在这个格式中有一个字段是MTU(最大传输单元),但数据包被封装成数据帧时,数据包的总长度就必须小于这个MTU的值。
IPV4数据包最大长度65535字节,如果MTU>65535,那么就不用分片。但是如果小于,那就应该吧数据包分成很多份(分片)。
1、每个数据包都有自己的头部,头部中大部分字段是重复的(如源目IP)。
2、校验和必须重新计算(上面讲过,头部校验和每经过一个设备都要重新计算)而校验和在IPV4报文头部中,分片的时候,最少有三个字段改变了(标识,标志,片偏移)
3、如果分片后遇到设备的MTU更小,则需要再次分片。
IPV4报文头部中,使用标识,标志,片偏移来进行数据包分片。
标识(Identification):长度占16位,标志了从源主机发出的数据包,标识与源IP组合确定唯一的数据包。在进行分片时,这个字段必须复制到所有的分片中,这样目的主机接收到所有分片的报文后,才知道把那些分片组装起来。
在IPV6数据分片时在源头开始分片的,而不是像IPV4那样,在中间转发设备分片。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表