首页 理论教育深入了解IPv6技术

深入了解IPv6技术

【摘要】:图6.14IPv6地址格式图6.14是基于提供者的全局单播地址,用来给全世界接在Internet上的主机分配单播地址。向IPv6过渡的过程必然很长,因此IPv6和IPv4将长期共存。图6.14就是嵌入IPv4的地址。③IPv6使用更小的路由表。⑥IPv6 具有更高的安全性。目前常见的方法有双栈主机、隧道技术和纯IPv6链路混合组网技术等。图6.15IPv6/IPv4双协议栈的协议结构隧道技

1.产生背景

随着互联网规模的不断扩大和用户数量的急剧增加,互联网与人们的生活和工作已经密不可分,同时也面临着新的挑战。其中的首要问题就是IP地址不够用。早期互联网使用的是IPv4协议,一直延续至今,使用32 bits的IP地址,能够分配的网络号和主机号都是有限的,现在可用的IP地址已经近乎枯竭,而等待接入互联网的用户和设备还在迅速增长。虽然人们提出了划分子网、内部地址(Private Address)、无类别域间路由(CIDR,Classless Inter Domain Routing)等技术延长IPv4 的使用寿命,但是并不能从根本上解决问题。因此,IPv6 应运而生。IPv6提供了巨大的地址空间,设计了层次化的网络前缀结构,利于路由器迅速处理和转发分组,并对IP包首部格式也进行调整。这不但解决了网络地址资源数量的问题,同时也为将来万物连入互联网在数量限制上扫清了障碍。

2.IPv6地址体系结构

IPv6地址扩展到128 bit,为便于理解协议,采用了冒号十六进制记法,即用冒号将其分割成8个16 bit的数组,每个数组表示成4位的16进数。例如:

FECD∶BA98∶7654∶3210∶FEDC∶BA98∶7654∶3210

在每个4位一组的十六进数中,如其高位为0,则可省略,即采用零压缩,例如:

1080∶0000∶0000∶0000∶0008∶0800∶200C∶417A

可缩写成

1080∶0∶0∶0∶8∶800∶200C∶417A

进一步可将一连串的零用一对冒号取代,上例变为

1080∶∶8∶800∶200C∶417A

IPv6地址前缀的表示方法类似于CIDR 中IPv4的地址前缀表示法。IPv6的地址前缀可以利用如下符号表示:IPv6地址/前缀长度。这里IPv6地址是上述任一种表示法所表示的IPv6地址;前缀长度是一个十进制值,指定该地址中最左边的用于组成前缀的比特数。

IPv6的地址体系采用多级体系,这充分考虑了怎样使路由器更快地查找路由。IPv6的地址格式如图6.14所示,其地址空间被划分为若干大小不等的地址块。

图6.14中的前4种地址都是单播地址,后面两种分别是多播地址和任播地址。

图6.14 IPv6地址格式(各字段的长度未按比例画出)

图6.14(a)是基于提供者的全局单播地址,用来给全世界接在Internet上的主机分配单播地址。

图6.14(b)、(c)分别是本地链路(Link-local)和本地网点(Site-local)地址。这些地址只有本地的意义,可在每个单位内使用而不会产生冲突。但这种地址不能用于单位的外部。

推广使用IPv6的一个重要问题就是要和IPv4兼容。向IPv6过渡的过程必然很长,因此IPv6和IPv4将长期共存。现在采用的方法是将32比特的IPv4地址嵌入IPv6地址中的低32比特,其前缀或者是96个0(这叫作IPv4兼容的IPv6地址),或者是80个0后面跟上16个1(这叫作IPv4映射的IPv6地址)。图6.14(d)就是嵌入IPv4的地址。

图6.14(e)是任播地址的一个特殊形式。子网前缀字段(例如,可以是图6.14(a)的前5个字段)标识一个特定的子网,而最后的接口标识符字段置为零。所有发送到这样的地址的数据报将交付到该子网上的某一个路由器,最后再将一个正确的接口标识符写入到最后一个字段中,以形成一个完整的单播地址。

图6.14(f)是多播地址。标志字段目前只有两种情况:0000表示永久性的多播地址,而0001表示临时性的多播地址。范围字段的值为0~15,用来限定主机组的范围。现在已分配的值是:1本地结点,2本地链路,5本地网点,8本地组织,14全球范围。

3.IPv4和IPv6的异同

与IPv4相比,IPv6具有以下优势。

①IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,而IPv6中IP地址的长度为128,可以提供几乎不受限的IP地址空间。

②简化包头格式:IPv4有12个字段,且长度在没有选项时为20字节,但在包含选项时可达60字节。IPv6包头有8个字段,总长固定为40字节;由于所有包头长度统一,因此不再需要包头长度字段。IPv6还去除了IPv4中一些其他过时的字段,这使得路由器可以更快地处理数据包。

③IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。

④IPv6中取消了广播地址而代之以任意播(Anycast)地址。IPv6 增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),适合多媒体应用的传输,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。

⑤IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。

⑥IPv6 具有更高的安全性。IPv6 使用了两种安全性扩展,IP 身份认证头(IP Authentication Header,AH,在RFC 1826中描述)和IP封装安全性负荷。在使用IPv6的网络中,用户可以对网络层的数据进行加密并对IP报文进行校验,极大地增强了网络的安全性。

4.IPv4向IPv6的演进

现有的互联网是基于IPv4协议搭建的,需要考虑在充分利用现有设施的基础上实现向IPv6的平稳演进,并在相当长的一段时期内支持IPv4和IPv6网络的共存。目前常见的方法有双栈主机、隧道技术和纯IPv6链路混合组网技术等。

(1)IPv6/IPv4的双协议栈技术

如果一台主机同时支持IPv6和IPv4两种协议,那么该主机既可以和仅支持IPv4协议的主机通信,又可以和仅支持IPv6协议的主机通信,这就是双协议栈(Dual Stack)技术的工作机理。图6.15所示为双协议栈主机的协议结构。

图6.15 IPv6/IPv4双协议栈的协议结构

(2)隧道技术

随着IPv6网络的发展,出现许多局部的IPv6网络,但是这些IPv6网络被运行IPv4协议的骨干网络隔离开来。为了使这些孤立的“IPv6岛”可以互通,必须使用隧道技术。隧道技术目前是国际IPv6试验床6bone所采用的技术。利用隧道技术可以通过现有的运行IPv4协议的Internet骨干网络将局部的IPv6网络连接起来,因而其是IPv4向IPv6过渡的初期最易于采用的技术。

如图6.16所示,在隧道的入口处,路由器将IPv6的数据分组封装入IPv4中,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处再将IPv6分组取出转发给目的站点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。但是隧道技术也不能实现IPv4主机与IPv6主机的直接通信。

图6.16 将IPv6封装到IPv4的隧道技术