摘要 本文在比较IPv6基本报头和IPv4报头的基础上,详细分析了IPv6与IPv4的区别,这对于今后建设IPv6网络以及寻求IPv6网络的杀手锏应用方面有着极其重要的意义。
IPv4采用了32bit的地址结构,这从理论上讲可以提供近43亿的主机数量,但实际上所能分配的地址远远小于该数目。这种地址配置的低效率,主要是由于IPv4地址以A、B、C等类别进行人为划分。在Internet的发展初期,由于对其发展速度估计不足,都以为地址空间将会一直是非常宽裕的,所以很多时候,一个公司、一所大学就能获得一个A类或B类地址。同时由于历史的原因,美国一些大学和公司占用了大量的IP地址,如康柏公司就有3个A类地址,麻省理工大学、斯坦福大学都有A类地址。而截止到2005年底,我国大陆IPv4地址总数仅为74 391 296个,合4A+111B+31C。也就是说每26个中国人只能分享一个地址,与此形成鲜明对比的是,美国2亿多人口拥有近12亿地址,占IPv4地址的四分之强,平均每个美国人享有5个地址。由此产生的结果是,一方面被占用的地址大量空置,另一方面是在互联网快速发展的国家IP地址紧缺。据官方预测,根据目前使用IPv4地址的趋势,IPv4未分配地址池将在2011年6月28日被耗尽。
这正是IPv6引入的主要原因。而新技术的实现也呼唤着IPv6的出现,如PDA、无线终端、3G移动电话、信息汽车、信息家电等。所以,只有最终实现IPv6,才可能从根本上解决目前互联网面临的地址匮乏的问题,因为IPv6首先是能提供天文数字的IP地址空间,也就是2128。同时,IPv6在不少方面实现了比IPv4更为先进的协议设计,如安全、服务质量、网络管理、移动性等。
总之,引入IPv6的原因很多,主要有以下几点:IPv4地址枯竭,IPv6将提供足够多的地址;目前骨干网络上路由表过于庞大,IPv6将会解决这一问题;其他一些原因,诸如服务质量要求、安全性问题、寻址效率问题、移动性问题等等。
1、IPv6基本报头与IPv4报头的比较
如图1所示,将IPv6的基本报头和IPv4的报头作一比较,括号里的数表示比特数。

图1 IPv6基本报头与IPv4报头的比较
通过对两者的分析,可以得出如下结论:
(1)IPv4中所有报头是以32bit为单元,基本长度是4bit;而在IPv6基本报头中,报头是以64bit为单元,报头的总长度固定为40字节(320bit)。
(2)IPv6基本报头去掉了IPv4中的所有可选项,还减少、改变了许多IPv4中的字段,如取消了IPv4报头中的6个字段:头标长度(4)、服务类型(8)、标识符(16)、标志(3)、分段偏移量(13)及报头校验和(16)。
(3)在IPv6基本报头中有三个报头字段重新命名,并赋予了新的含义:服务类型(8)、生存时间(8)、传输协议(8)被分别改为数据流类型(8)、跳数限制(8)和下一个报头(8)。
(4)IPv6基本报头增加了新的字段:数据流标签(20)。
这样,尽管IPv6地址长度是IPv4的4倍,但IPv6的基本报头只是IPv4报头长度的2倍,并且取消了对报头中可选项长度的严格限制,通过引入扩展报头的概念,从而大大地增加了IPv6报头的灵活性,也使得网络中的中间路由器在处理IPv6协议头时有更高的效率。
2、IPv6和IPv4的主要区别
通过前面对IPv6与IPv6的报头分析,我们也可以初步看出IPv6与IPv4的区别。下面将更有针对性地比较二者的不同之处,即IPv6相对于IPv4来说较为显著的变化。
2.1 网络地址空间的极大扩展
从IPv4到IPv6,IP地址规模一下子从32bit增加到128bit,这是一个巨大的地址空间。目前,为了缓解IPv4地址空间的消耗而采用了NAT技术和CIDR技术,但仍然不能阻止IPv4地址耗尽趋势。采用IPv6后,不仅每个人可以拥有一个IP地址,而且这个IPv6地址很可能就像现在的身份证一样为用户终身使用,作为个人的标识之一。就连未来的手机、电视、空调、微波炉等每一台信息家电设备都能分到一个IP地址,而一个人拥有成百上千台个人计算终端也是很正常的一件事。这些美好的设想都来源于IPv6较之于IPv4有远为巨大的地址空间。
2.2 网络地址表示法不同
在IPv4中,有二进制和点分十进制两种格式表示方法,而实际上一般日常中运用的则是点分十进制。因为IPv6超长的128bit地址,不论是采用二进制,还是点分十进制,都无法有效简洁地表达,于是就引进了冒号十六进制来表示IPv6地址。
2.3 网络地址的分类方式不同
对于IPv4来说,IP地址分为A、B、C、D、E五类,其中有单播地址、多播地址和广播地址。而在IPv6中取消了IPv4中的广播地址,广播从一开始就为IPv4网络带来了问题,它可能对网络性能产生灾难性的影响。同一网络链路上的大量广播意味着,该链路上的所有节点都必须处理这些广播,而实际上,绝大部分节点最终都将忽略这些广播,因为该信息与它无关。同时IPv6还增加了任意播地址,这对于路由的优化有着重要的作用。
2.4 改进的IP多播
IPv6对多播进行了改进,具体表现在以下三个方面:
(1)强调了多播的必要性。
(2)多播地址的改进。从IPv6的多播地址格式定义,可见其相对于IPv4所具有的优越性:具有更大的多播地址空间,范围字段的应用,定义了新类型的多播地址——请求节点地址(Solicited-Node Address)。
(3)将IP多播分为域内多播和域间多播,改善了其可管理性。首先,增强了多播的可扩展性和安全性。每个多播域有自己的多播地址空间,使用该地址空间的多播报文只在本多播域中转发,域的边界路由器不向域外转发该地址空间的多播报文。多个处于相同层次的范围较小的多播域可以组成一个更高层次的范围较大的多播域,不同层次的多播域的多播地址空间不相互重叠,相同层次的多播域可以有相同的多播地址空间。其优点在于用户可以根据自己的要求选择使用适当多播域的多播地址,使多播报文在期望范围内转发。其次,这种层次结构有利于带宽控制,可在本地享有高速数据传输,同时防止本地高速多播信息阻塞域间低速链路。此外,域内多播地址更易于获取。每个多播域内的多播地址可由本地地址服务器动态分配。
2.5 报头格式的不同
IPv6基本报头格式比IPv4报头简单得多。在IPv4中有10个固定长度的域,2个地址空间和若干个选项,IPv6中只有6个域和2个地址空间。报头的简化使IP的某些工作方式发生了变化:因为所有报头长度统一,所以不再需要报头长度字段;IPv6中的分段只能由源节点进行,中间路由器不再进行任何分段,减轻了中间路由器的工作负荷;去掉IP头校验和并不影响可靠性,主要是因为头校验和将由更高层协议(TCP/UDP)负责。虽然IPv6基本报头是IPv4报头的2倍,但因其长度固定,故不需要消耗过多的内存容量;又因其要处理的域由IPv4的14个减少到8个,从而大大减少了路由器上的软件处理内容。根据Cisco Systems资料,IPv6路由器软件内核(Kernel)实际上比IPv4还小。在Cisco2500系列中配置的IPv4内核为2.17MB;存放路由表的工作区(Work Area)升到3.2MB;配置IPv6的内核时,其内核仅为1.69MB,工作区也不过2.7MB。
2.6 良好的扩展性
因为IPv6报头之后添加了扩展报头,IPv6可以很方便地实现功能扩展,IPv4报头的选项字段最多可以支持40字节的选项,而IPv6扩展报头的长度只受到IPv6数据包长度的制约,无疑这将极大地增强IP包传送的灵活性。
2.7 内嵌的安全性
IPv6大大增加了网络对加密和认证的支持,具有较之IPv4更为强大的安全性。传统的Internet(IPv4)安全机制中大多也只建立在应用程序级,比如E-mail加密、HTTP和SSL等的接入安全,SNMPv2网络管理安全等,较少从网络层来保证Internet的安全。尤其为了减缓IP地址枯耗的速度,引进了NAT技术,现在大部分诸如企业网、校园网等局域网都采用了这种NAT技术,这种技术破坏了端到端(End-to-End)的基本原则,比如,加密报文的处理,FTP、Talk的应用等受到影响,在很大程度上破坏了Internet的授权和鉴定机制。
正是有了IPv4运营后出现的大量安全问题,为了加强互联网的安全性,1995年开始,IETF研究制定了一套用于保护IP通信的协议。IPSec是IPv6的一个有机组成部分,是IPv6协议族的一个子集,对于所有IPv6网络节点,IPSec是强制实现的,不像在IPv4中只是一个可选扩展协议。同时,在现有的IPv4网络中,IPSec一般用于VPN环境中,设置于两个网关之间,而没有用于两个端系统之间。
一个IPv6的端到端的传送在理论上至少是安全的,传送过程中对端的验证,以及数据的加密保护使得敏感数据可以在IPv6网络上安全地传递。而且全球惟一的地址可以清楚地标识每个节点,避免了NAT对端到端安全性的破坏。
2.8 服务质量的保证
在Internet越来越多的网络服务中,尤其是以各种丰富的多媒体网络传送发展最为迅速且有前景,但多媒体中诸如视频点播等实时业务对网络传输时延、抖动等特性较为敏感。当网络上出现突发性高流量字节的FTP服务或带有大量图像文件的WWW浏览时,网络很可能产生拥塞,网络时延也就随之大量产生。另一方面,因多媒体服务占去了大量的带宽,这样,网络需要保证的关键服务也可能无法得到可靠的保障。
解决这些问题的方法一般有两种:充分增加网络带宽和对网络服务实行差别管理。显然,在现有网络条件下,后者更具可行性。对不同网络服务按照服务量的类型和级别加以区分,并能够依次对各级别进行智能化处理,这就是QoS。它包括服务可用性、时延、丢包率和吞吐量等性能指标,其目的就是向用户提供端到端的服务质量保证。
在IPv6中,IPv6基本报头中定义的8bit数据流类型和20bit数据流标识来确保所必需的带宽,以保证可靠的实时报文传输。由于数据流身份信息包含在IPv6基本报头中,因此即使是经过IPSec加密的数据报文也可以获得QoS支持。
2.9 即插即用(Plug & Play)功能
即插即用,是指无需任何人工干预,就可以将一个节点插入IPv6网络并在网络中启动。
在IPv4中,很多时候还是由手工配置主机IP地址,尤其对于那些不熟悉网络技术的人来说,这是一件既费时又生涩的事情。就算是那些计算机从业者,在面对大型网络中管理分配给主机的静态IP地址同样是一件繁重的任务,尤其当主机IP地址需要经常改动的时候,如笔记本电脑等移动主机,更是不胜其烦。
在IPv6中,发展了许多新技术,如邻居发现(Neighbor Discovery)、节点自动配置(Auto-Config-uration)、路由器宣告(Router Advertisement)、路由器请求(Router Solicitation)、组成员资格查询(Group Membership Inquire)、最大传输单元发现(MTU Discovery)等等,并通过这些新技术实现了IPv6网络的自动发现及其自动配置等诸多功能,从而简化了网络的配置、维护和管理。
2.10 移动性的改进
网络的移动性是必须考虑的一个大方向,很多人认为未来的互联网在实质上应该称为移动互联网。在移动性的实现上,IPv6所设计的许多新技术与IPv4相比更加成功地进行了移动方面的计算、保障和提高。当然,移动IPv6(Mobile IPv6,MIPv6)也并不是一个全新的移动网络协议,而是从IPv4中学习、继承了许多思路、概念。MIPv6同时结合采用了隧道技术和信源路由技术来向连接在外地链路上的移动节点传送数据报文,而在MIPv4中只采用了隧道技术。
相对于MIPv4,MIPv6有以下优点:IPv6巨大的地址空间,使移动性实现起来更加简单;IPv6地址自动配置简化了移动节点的转交地址的分配;MIPv6避免了MIPv4的三角路径问题,实现了路由优化;MIPv6不再需要外地代理。
2.11 寻径效率的提高
IPv4中,地址是用户拥有的。也就是说,一旦用户从某机构处申请到一段地址空间,他就永远使用该地址空间,而不管他是从哪个ISP处获得的服务。这种方式的缺点是ISP必须在路由表中为每个用户的网络号维护一条表项。随着用户数的增加,会出现大量无法汇聚的特殊路由,即使CIDR(RFC 1519)也不能处理这样的路由表爆炸现象。路由表爆炸即互联网路由表的持续增长经常被称为当前互联网的严重问题之一,更加严重和急迫的问题是路由表的稳定性。只要一个路由“翻动”或状态发生变化,整个互联网骨干中的BGP进程都必须重新计算。路由“翻动”次数越多,整个互联网的稳定性就越差,而且每天都会发生这种情况。
IPv6改变了地址的分配方式,从用户拥有变成了ISP拥有。IANA分配给ISP,用户的全球网络地址是ISP地址空间的子集。每当用户改变ISP时,全球网络地址必须更新为新ISP提供的地址。这样ISP能有效地控制路由信息,避免路由爆炸现象的出现。
以上对IPv6与IPv4的比较,正是IPv6的优势所在,也正是今后我们建立IPv6网络时所要挖掘的技术特性,对于我们寻求IPv6网络的杀手锏应用大有裨益。