摘要:随着经济和科技的发展计算机的到很大的普及,互联网也得到了巨大的发展。目前互联网用户一般都早使用IPv4这个版本的协议进行上网,但IPv4的地址已于2011年2月全部分配完毕,IPv4过渡到IPv6就成为迫切的需求。
关键词:IPv4;IPv6;隧道技术;ISATAP;双协议栈;6 Over 4
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)09-2004-02
1 IPv4和IPv6
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。1981年 Jon Postel 在RFC791中定义了IP,IPv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议) ,卫星链路等等。IPv4采用32位地址长度,全球可用的IPv4地址只有大约43亿个,ICANN专家称IPV4地址将与2012年1月耗尽,因此全球互联网必须过渡到下一代版本的IP地址协议即IPv6地址。
IPv6,是互联网协议(Internet Protocol,IP)的第六版,是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。IPv6地址长度为128比特,地址空间增加了2^96(符号^表示升幂,下同)倍。
2 IPv6的一些特点
1) IPv6地址长度为128比特,地址空间增大了2^96倍;
2) 灵活的IP报文头部格式。使用一系列固定格式的扩展头部取代了IPv4中可变长度的选项字段。IPv6中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度;
3) IPv6简化了报文头部格式,字段只有7个,加快报文转发,提高了吞吐量;
4) 提高安全性。身份认证和隐私权是IPv6的关键特性;
5) 支持更多的服务类型;
6) 允许协议继续演变,增加新的功能,使之适应未来技术的发展。
3 IPv6相对于IPv4的一些优势
1) IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。
2) IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
3) IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),用有了长足发展的机会,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。
4) IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
5) IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。
4 用ISATAP方法实现IPv4过渡到IPv6
ISATAP ( Intra-Site Automatic Tunnel Addressing Protocol,站间自动隧道寻址协议)是一种地址分配和主机到主机、主机到路由器和路由器到主机的自动隧道技术,它为IPv6主机之间提供了跨越IPv4内部网络的单播IPv6连通性 ISATAP一般用于IPv4网络中的IPv6/IPv4节点间的通信。
1) 在同一个IPv4域内,两台ISATAP客户机的通信过程如下:
① 双栈主机1获得双栈主机2的ISATAP地址后,将需要发送的数据包交给ISATAP接口进行发送;
② ISATAP从该数据包的IPv6源地址和目的地址中提取出相应的IPv4源和目的地址,并对该数据包用IPv4头部进行封装;
③ 封装后的数据包按照其IPv4目的地址被发送到双栈主机2;
④ 双栈主机2接收到该数据包后对其解封装,得到原始IPv6数据包;
⑤ 双栈主机2通过与上述过程类似的过程将应答数据返回给双栈主机1。
从上面的通信过程中我们可以看出,ISATAP实际上是将IPv4网络作为一个承载平台,通过在其上面建立一个IPv6-In-IPv4自动隧道来完成IPv6通信的。
2) 双栈主机在与其他主机或路由器通信之前,首先要获得一个ISATAP地址。双栈主机先向ISATAP服务器发送路由请求,得到一个64位的IPV6地址前缀,然后再加上64位的接口标识符∷0:5EFE:W.X.Y.Z(这里的0:5E代表IEEE分配给的IANA的组织型唯一编码,FE:表示此地址内嵌有IPv4地址,W.X.Y.Z就代表双栈主机的IPv4单播地址),这样就构成一个ISATAP地址。双栈主机配置了ISATAP地址后,就成了一个ISATAP客户机,进而就可以在IPv4域内和其他的ISATAP客户机进行通信了。一般来说,ISATAP地址的配置既支持无状态地址自动配置方式,也支持手工配置方式。
① 6 Over 4 Isatap 隧道地址自动配置
假设Isatap主机IPv4地址为1.1.1.1则生成本地链路地址Fe80::5efe:0101:0101假设Isatap路由器IPv4地址为2.2.2.2则Isatap路由器链路地址为Fe80::5efe:0202:0202;Isatap主机通过Isatap隧道向Isatap路由器发送路由请求;Isatap路由器会发送一个路由通告消息(包含有Isatap前缀);收到前缀后,Isatap主机使用Isatap路由器的本地链路地址作为默认的IPv6路由器地址,即Fe80::5efe:0202:0202。
② 6 Over 4 Isatap自动隧道
隧道配置遵循RFC4213
封装:ISATAP地址映射为链路层地址
解封装:当ISATAP节点收到IPv4协议字段为41的数据包不属于所配置的一个隧道接口时,它会检查该数据包的IPv4目的地址和到达接口是否匹配ISATAP接口定位器组中的定位器。如果匹配,再确认该数据包的IPv4源地址对于封装的IPv6源地址是否正确:当IPV6源地址是一个在该接口标识中嵌入了IPv4地址的ISATAP地址时该IPv4地址是正确的。如果不正确,继续检查该数据包是否属于其他的隧道接口。
3) ISATAP主机与其他网络之间的通信过程
① ISATAP主机获得ISATAP地址(站点本地地址),并将下一跳跃点Next Hop设为ISATAP 路由器的ISATAP地址(站点本地地址);
② 当ISATAP主机送出目的地为所在子网络以外的地址时,ISATAP先将IPv6数据包进行IPv4封装,然后以隧道方式送到ISATAP 路由器的IPv4地址;
③ ISATAP 路由器除去IPv4包头后,将IPv6 数据包转送给IPv6网络中的目的IPv6服务器;
④ IPv6服务器直接将应答的IPv6数据包发回给ISATAP网络;
⑤ 在应答IPv6数据包经过ISATAP路由器时,ISATAP路由器先将应答IPv6数据包进行IPv4封装,然后再转发给ISATAP主机;
⑥ ISATAP主机收到应答数据包后,将数据包去掉IPv4包头,恢复成原始IPv6数据包。
通过上述步骤,ISATAP主机与IPv6网络中的IPv6服务器完成了一次完整的数据通信过程。
5 总结
ISATAP过渡技术使用一个内嵌IPv4地址的IPv6地址,无论站点使用的是全球还是私有的IPv4地址,都可以在站点内使用IPv6-In-IPv4的自动隧道技术。ISATAP过渡技术把IPv4网络视为IPv6的链路层,而把其他网络节点视为潜在的IPv6主机或路由器,它不必使用任何IPv6 路由器,也不需为网络中的所有成员重新做地址分配和规划,甚至可以支持私有IPv4 地址或是在NAT环境中运行。因此对于用户端而言,配置方面与原有的IPv4环境差异不大,不需为网络中的所有成员重新做地址分配和规划。这种技术非常适合于在一个企业网和校园网中使用。
参考文献:
[1] Pete Ldshin.IPV6详解[M]