IPv6是下一版本的互联网协议,也可以说是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空间将被耗尽,地址空间的不足必将妨碍互联网的进一步发展。
为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法估算IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地
址。
在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。
1、更大的地址空间
IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。
2、更小的路由表
IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
3、增强的组播支持以及对流的支持
这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台.
4、加入了对自动配置的支持
这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷.
5、更高的安全性
在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,这极大的增强了网络安全
IPv4数据报
图1 IPv4数据报格式
版本号(version)
不同的IP协议版本使用不同的数据报格式。
首部长度(HL, Internet Head Length)
确定IP数据报中数据部分实际从哪里开始,包含可变数量的选项。若IP数据报没有包含选项,则IP数据报首部长度为20字节。
服务类型(TOS, Type Of Service)
更好地服务不同类型IP数据报(如实时数据报IP电话应用、非实时通信流FTP),Cisco将TOS前3位标识不同服务等级,即优先级。
数据报长度(TL, Total Length)
IP数据报长度,即首部+数据。
分片:标识(identification)、标志(flags)、段位移(Fragment Offset)
这3个字段跟IP分片有关,当目的主机从同一个源收到一批数据报时,需要确定这些数据报是完整数据报还是分片后的数据报,数据报首部标识字段解决这个问题,检查数据报的标识号确定哪些数据报真正是同一个较大数据报的片;如何判断最后一个分片已收到,数据报首部标志字段解决这个问题,将最后一片的标志为0,其他标记为1;如何顺序重组这些片,这就需要记录每个片的在数据报有效净荷的偏移量,这也确定了片是否丢失。若丢失某些片,则丢弃这个不完整的数据报(不会交给传输层)。需要可靠传输怎么办呢,由传输层让源重传原始数据摄中的数据(如TCP)。
寿命(TTL, Time To Live)
每次数据报经过一台路由器时,该字段的值减1,若TTL字段减为0,则丢弃该数据报,从而确保数据报不会永远在网络循环。
上层协议(Protocol)
该字段用于指明IP数据报的数据部分应该交给哪个传输层协议(6为TCP、17为UDP)。
首部检查和(Header Checksum)
只是对IP首部进行检验,对整个TCP/UDP报文段检验交由TCP/UDP完成。将首部中的每两个字节当作一个数,用反码运算对这些数求和,该和按1补码值存放在检查和字段。当路由器收到IP数据报时,计算其首部检查和,与该字段值比较,若出错则丢弃该数据报。
注:因为TTL字段及选项字段可能改变,所以每个路由器上的检查和都须重新计算并存放在原处。(检查后,再更新)
源和目的IP地址(Source/Destination Address)
选项(Options)
选项字段允许IP首部被扩展,由此导致数据报首部长度可变,故不能预先确定数据字段从何开始,同时也使路由器处理一个IP数据报所需时间差异很大(有的要处理选项,有的不需要)。
数据(Data)
当使用TCP/UDP协议时,数据即为传输层报文段(TCP/UDP)。数据字段也可承载其他类型数据,如ICMP报文段。
二、IPv6数据报
图2 IPv6数据报格式
版本号(version)
不同的IP协议版本使用不同的数据报格式。
通信量等级(Traffic Classes)
使得源节点和路由器能够识别IPv6信息包的优先级。与IPv4服务类型TOS字段含义类似。
流标签(Flow Label)
标记那些需要IPv6路由器特殊处理(如一种非默认服务质量或实时服务)的信息包顺序。
有效负载长度(Payload Length)
定长40字节数据报首部后面的字节数量,包括扩展报头和负载数据,即数据报长度-40。
下一个首部(Next Header)
当IPv6没有扩展报头时,该字段的作用和IPv4的上层协议字段一样。当含有扩展报头时,该字段的值即为第一个扩展报头的类型。
跳限制(Hop Limit)
转发数据报的每台路由器对该字段的值减1,若减为0则丢弃该数据报。
源和目的IP地址(Source/Destination Address)
数据(Data)
当数据报到达目的地时,该有效载荷就从IP数据报移出,并交给下一个首部字段中指定的协议。
源和目的IP地址(Source/Destination Address)
选项(Options)
选项字段允许IP首部被扩展,由此导致数据报首部长度可变,故不能预先确定数据字段从何开始,同时也使路由器处理一个IP数据报所需时间差异很大(有的要处理选项,有的不需要)。
数据(Data)
当使用TCP/UDP协议时,数据即为传输层报文段(TCP/UDP)。数据字段也可承载其他类型数据,如ICMP报文段。
三、区别
3.1 首部长度
首部长度可变,IPv4首部的选项字段允许IP首部被扩展,由此导致数据报首部长度可变,故不能预先确定数据字段从何开始,同时也使路由器处理一个IP数据报所需时间差异很大(有的要处理选项,有的不需要)。基于此,IPv6采用固定40字节长度的报头长度(称基本报头)。IPv6如何实现IPv4选项字段类似的功能,答案是扩展报头,并由IPv6基本报头的下一个首部指向扩展报头(如果有的话)。路由器不处理扩展报头,提升了路由器处理效率。
3.2 分片/重组
IPv6,分片与重组只能在源与目的地上执行,不允许在中间路由器进行。分片与重组是个耗时的操作,将该功能从路由器转移到端系统,大大加快了网络中的IP转发速率。那,如果路由器收到IPv6数据报太大而不能转发到出链路上怎么办?该路由器丢弃该包,并向发送发发回一个"分组太大"的ICMP差错报文,于是发送发使用较小长度的IP数据报重发数据。
3.3 首部检查和
每个路由器上,IPv4首部检查和都需要重新计算,是一项耗时操作。加之,传输层和链接层协议执行了检验操作,网络传输可靠性提升,所以IPv6不进行首部检查和,从而更快速处理IP分组。————————————————版权声明:本文为CSDN博主「USTCZYY」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/zhang434/java/article/details/19337251
原文:https://www.cnblogs.com/-citywall123/p/12611567.html