当前位置:首页 > 游戏资讯 > ipv4和ipv6的区别地址位数(ipv6测试网页)

ipv4和ipv6的区别地址位数(ipv6测试网页)

先来了解IPv4与IPv6的报文格式的区别。

因特网协议(InternetProtocol)。

它不用定义数据发送的规则,数据怎么传输是由2层来定义的。

定义3层报头的格式。让你三层具备哪些功能。

定义3层地址信息。IPV4定义的就是IPV4地址,IPV6定义的就是IPV6地址。

不管是IPV4、IPV6、二层协议、三层协议、四层协议,都称为封装协议。这些协议本身不会产生数据,这些协议只用定义一个封装报文,这些协议都是为上层的应用转发流量的时候来提供三层封装服务。

在以太网环境中收到一个数据帧是以太网二封装它的类型字段的值是0X0800代表三层使用的是IPV4。类型字段的值是0x86DD代表三层使用的是IPV6。

IPV4报头:从左往右看,从上到下看。

其中有个IPOptions代表你IP报头可以包含这个字段也可以不包含,说明IPV4报头是可变长的。这些可变长的也分为两个部分:

第一是主报头。如图所示的前五行12个字段。

第二是扩展报头。如图所示最后一行1个字段。

最短20字节,每一层长度是4字节,一共5层。可选项就是扩展报头最多40字节,IPV4报头长度20-60字节。

所有的三层封装协议和四层封装协议在设计报文架构的时候都遵循了一个原则:

三层四层长度必须能被4字节整除。以太网二是14字节不能被4字节整除是因为不属于三层四层的范畴。

在IPV4环境中有很多高级的扩展特性,这些特性如果想应用必须给主报头扩充一些字段,所有被扩充出来的这些可有可无的字段都属于可选项。可选项有很多字段并且含义不一样,在扩充的时候有可以要扩充其中的一些,有可能扩充其中的全部,当在扩充一些字段会出现当你主报头添加扩充报头之后它的长度不能被4字节整除,解决办法是在可选项报头的身后去填充连续的0直至能被4字节整除。

第一个字段Version(版本)描述是IPV4。

第二个字段HeaderLengh(报头长度)描述你有多少个字节,因为长度可变你每次发送的数据是多少字节不能确定,通过这个字段来告诉接收者你的IP报头有没有添加可选项,没有添加就是20字节,添加就是大于20字节。

ipv4和ipv6的区别地址位数,ipv6测试网页

第四个字段TotalLength(总长度)指的就是包括IP报头在内完整的数据包有多少字节这个不包含帧头帧尾。

六,七个字段分别是标识符、标记、分段偏移量主要用来做三层的数据分片的。通常做数据切片的时传输层,但三层也具备数据切片的能力一般是使用IPV4。

标识符:用来标识属于同一个数据包的所有分片打上一个标记值并且不同数据包分片属于不同标记值来做一个彼此区分。

分段偏移量:每一个分片的分段偏移量就是描述我这个分片相对于这个完整数据包是从第几bit到第几bit。根据每一个数据包的分片所属的字节区间接收者收到若干分片之后就算乱序,我能跟据你的序列来做一个重新的排序,保证能把这个分片后的数据包给封装。(四层切片是四层协议的本质属性,这个切片对CPU,对内存消耗都不大。但三层切片导到网络品质降低,不建议使用三层切片。

第八个字段TimetoLive(存活时间)简称TTL。描述一个数据包在网络中发送的时候能传多长时间。用跳数来表示。一跳就是一台三层网络设备。跳数就是限制数据包在网络中能传多少跳,防止路由选择环路,避免数据包在路径中永无止境的传递,消耗链路带宽消耗CPU资源,给数据包设计一个TTL最多能传255跳,传到255跳就被丢弃了,因每台路由器的硬件中都会包含一个分组改写引擎专门修改三层报头的字段的,通过接收接口收到数据包之后把TTL值-1,减到0了就被丢包了。

第九个字段Protocol(上层协议)用来描述这个数据包传输层使用的什么协议。

第十个字段HeaderChecksum(报头校验核)通过散列算法CRC对IP报头的头部字段做一个校验,把散列的算法值放到这个字段。接收方收到数据包之后会对整个三层报头在做一个校验得出一个乱码对比这个报头校验核得出的新的乱码看是否一致,一致就代表数据包的三层报头是没有被篡改的。

第十一个字段SourceIPAddress(源IP地址)描述数据流量发送的发送接口。

第十二个字段DestinationIPAddress(目的IP地址)描述数据流量接收的接口。三层地址具有端到端的一致性,排除公有地址私有地址,排除PAT,所谓的端到端的三层一致性指的源发送流量去往目的地,不管数据包在哪个网络环境下发送他的源目地址都是保持不变的。

黄色代表IPV4和IPV6共有并且名字一致的字段。IPV6的源目IP地址128位,源地址16字节,目地地址16字节。

红色代表IPV4中表在IPV6中没有的字段。IPV6中报头是定长的40Bit。IPV6没有标识符,标记和分断偏移量,指IPV6不建议做三层的数据切片,有两点好处:一是减少路径中CPU的消耗并且增加端到端的效率。

蓝色代表IPV4与IPV6都有功能相似但换了一种叫法。IPV6中的TrafficClass用来做QOS标记的。

Payloadlength(载核长度)指去掉IPV6报头之后我们的四层数据段有多少字节。

HopLimit(跳数限制)指的就是TTL。

NextHeader(下一报头)在IPV6中可能指的是传输层,可能是你主报头的下一层。

灰色代表IPV6新定义的叫流标签。流标签结合SDIP,结合TrafficClass来时时的锁定,当你锁定一股流之后做基于流的策略。

IPV6和IPV4对比:虽然IPV6的主报头要比IPV4要长,长的是SDIP部分。路由器收到这两种三层封装的数据,IPV6的报头处理比较简单。

IPv6技术精要第2版思科IPv6入门到实战IPv4网络与数据通信网络配置与管理