IPv4的IP地址已经到了尽头,那么IPv6网络协议的使用就显得极为重要。那么IPv6只是为了缓解互联网的地址压力吗?答案当然是NO。那么它还有什么优点是值得我们去使用的呢?现在就让我们看看文章中是如何说的吧。
(1)巨大的地址空间
IPv6的源地址和目标地址都是128位的(16字节),几乎可以不受限制地提供IP地址,128位可以表达超过3.4×1038种可能的组合,也就是说整个地球的每平方米面积上可以分配6.65×1023个IP地址,设计这种巨大的地址空间的目的是为了能更好的把路由器域名划分出层次结构,并更好地反映出现代Internet的拓扑结构,使寻址和路由层次的设计更具灵活性,允许使用多级的子网划分和地址分配,涵盖范围从Internet骨干直到机构组织内部的各个子网,这些正是基于IPv4的Internet所缺乏的,即便是算上目前已为主机分配的所有IP地址,IPv6网络协议仍然还有充足的地址可供今后使用,由于有绝对更多地可用地址,就不再需要一些节约地址的技术,比如NAT转换,这样就可以全面建立端到端的连接了。
(2)新的协议头格式
IPv6协议的头采用一种新的格式,可最大程度地减少协议头开销。IPv6的报头有一个基本包头和多个扩展包头构成,基本包头具有40字节的固定长度,放置所有路由器都需要处理的信息。由于Internet上的绝大部分包都只是被路由器简单地转发,因此固定的包头长度有助于加快路由速度。为实现这个目标,IPv6包头中字段的数量从IPv4中的12(包括选项)个,降到了8个;中间路由器必须处理的字段从6个降到了4个,这样网络中的中间路由器在处理这种简化的IPv6协议头时,效率就更高;很少使用的字段,如支持拆分的字段,以及IPv4包头中的选项,被移到了IPv6包头的扩展包头中。IPv6定义了多种扩展包头,能提供对多种应用的强力支持,同时又为以后支持新的应用提供了可能。IPv4头和IPv6头不具有互操作性。IPv6从功能上说,并不是IPv4的超集,也就是说它并不向下兼容IPv4。因此每台主机或路由器都必须既实现IPv4,又实现IPv6协议,以便识别和处理两种不同的协议头。虽然新IPv6中的地址位数是IPv4地址位数的4倍,但是,新IPv6协议头的长度仅是IPv4协议头的2倍。
(3)有效地、分级的寻址和路由结构
与IPv4地址空间的划分准则相似,IPv6网络协议的地址空间也是基于地址中高位的值来进行划分的。高位和它们的固定值称为格式前缀(FP)。根据格式前缀位的多少划分IPv6地址空间,目前已分配的有为网络服务接入点(NSAP)、可集聚全球单播地址、链路本地单播地址、站点本地单播地址和多播地址,当前可被IPv6节点使用的单播地址集合由可集聚全球单播地址、链路本地单播地址和站点本地地址组成。IPv6中的全球地址中的字段创建了一个3层的拓扑结构。
IPv6使用全球地址的设计意图是创建一个有效地、分层次的并且可以概括的路由结构,这种路由结构是基于当前存在的多级ISP体系而设计的。公共拓扑是提供接人服务的大大小小的ISP的集合。站点拓扑是一个机构站点的内部子网的集合。接口标识符惟一地标识了一个机构站点的内部子网上的一个接口。在采用IPv6的Internet中,骨干路由器具有更小的路由表,这种路由表对应着全球ISP的路由结构。
(4)有状态和无状态的地址配置
为简化主机配置,IPv6协议既支持有状态的地址配置(例如,在有DHCPv6服务器时的地址配置),也支持无状态的地址配置(例如,在没有DHCPv6服务器)。在无状态的地址配置中,链路上的主机会自动地为自己配置适合于这条链路的IPv6地址(称为链路本地地址),或者适合于IPv4和IPv6共存的IP地址,或者由本地路由器加上了前缀的IP地址。甚至在没有路由器的情况下,同一链路上的所有主机,也可以自动配置它们的链路本地地址,这样不用手工配置也可以进行通信。链路本地地址在一秒钟之内就能自动配置完成,因此同一链路上的节点的通信几乎是立即进行的。相比之下,一个使用DHCP的IPv4主机则要等上整整1分钟:先放弃DHCP的配置,然后自己配置一个IPv4地址。 #p#
(5)内置的安全性
IPv6协议支持IPSec,这就为网络安全性提供了一种基于标准的解决方案,并且提高了不同IPv6实现方案之间的互操作性。IPSec由两种不同类型的扩展头和一个用于处理安全设置的协议所组成。验证头(AH)为整个IPv6协议的数据包(除了在传输过程中IPv6头必须改变的字段)提供了数据完整性、数据验证和重放保护。封装安全报文(ESP)的头和尾也为ESP封装报文提供了数据完整性、数据验证、数据机密性和重放保护。在单播通信中用于处理IPSec的安全设置的协议通常是Internet密钥交换协议(IKE)。
(6)更好的支持Qos
在多媒体应用日益广泛的今天,因特网提供对多媒体的支持将有重大意义。多媒体的一般特点是带宽要求高、持续时间长。为此引人流的概念简化因特网对多媒体的处理。流是特定源和目的地间的报文序列,源要求中间路由器对这些报文进行特殊处理。一般来说,路由器收到流中报文后,根据流标识符查找路由器中保存的流上下文,对流中的报文进行同样的处理,加快了报文处理速度。IPv4补充了对流的处理,例如使用资源预留协议(RSVP)预留资源进行因特网上的音频、视频传播。但是IPv4对流的处理有天生的缺陷,因为在IPv4定义之初就没有流的概念。IPv4定义的流包括源和目的IP地址、传输控制协议(TCP)或用户数据报协议(UDP)的端口号,路由器为了判断一个报文是否属于一个流,不但要看IP头中的IP地址,还要分析TCP头就UDP头中的端口号,这不但违背了网络分层的原则,而且加大了路由器的处理工作量。IPv6网络协议在设计之初就考虑了对流的支持。IP头的格式里,有专门的20bit流标签域。主机发送报文时,如果需要把报文放到流中传输,只需在流标签里填人相应的流编号,否则在流标签里填零就作为一般的报文处理。路由器收到流的第一个报文时,以流编号为索引建立处理上下文,流中的后续报文都按上下文处理。由于通信流是在IPv6协议头中标识的,因此,即使数据包有效载荷已经用IPSec和ESP进行了加密,仍然可以实现对Qos的支持。
(7)用新协议处理邻节点的交互
IPv6中的邻节点发现(Neighbor Discovery)协议是一系列的IPv6网络协议的网络控制报文协议(ICMPv6)报文,用来管理相邻节点(在同一链路上的节点)的交互。邻节点发现协议用更加有效地多播和单播邻节点发现报文,取代了地址解析协议(ARP)(基于广播的)、ICMPv4路由器发现,以及ICMPv4重定向报文。
(8)可扩展性
IPv6可以很方便地实现功能地扩展,这主要通过在IPv6协议头之后添加新的扩展协议头方式来实现。IPv4协议头中的选项最多可以支持40个字节的选项,而IPv6扩展协议头的长度只受到IPv6数据包长度的限制。