二、IPv6和IPv4共存和过渡技术

1.解决IPv6网络之间通信的技术

(1)基于双栈IPv4/IPv6过渡技术

包括DualStackModel和Limited Dual Stack Model 两种模型方案,在Dual Stack Model下主机和网络都采用IPv4/IPv6双栈,新的应用编程接口(API)同时支持IPv4和IPv6地址及DNS请求。应用根据名字检查选择采用IPv4或IPv6协议,IPv4和IPv6地址都可以从DNS返回,应用根据IP业务的类型选择正确的地址,它解决了IPv6网络之间、IPv4网络之间以及IPv4和IPv6网络之间的通信问题,但是要将网络中所有的主机和网络全部升级为双栈是不切实际的,同时也增加了系统和网络的复杂性。Limited Dual Stack Model要求网络和服务器支持双栈,主机只需要IPv6从而节省IPv4地址,解决了IPv6网络之间的通信问题,但是无法解决IPv6和IPv4网络之间的通信问题。

(2)基于隧道的过渡技术

隧道技术是利用现有的IPv4网络基础设施来连接各个孤立的IPv6网络,IPv6数据包被封装在IPv4包里面进行传输,在隧道的终点进行解封装得到IPv6数据包后再交给相连的IPv6网络。

基于隧道技术的过渡方案有:手工配置隧道、自动配置隧道、隧道代理、6to4隧道和6over4隧道。通过IPv4隧道传送IPv6需要配置的内容有:隧道接口的本地IPv6地址、隧道两端的IPv4地址。

手工配置隧道的这些内容通过手工进行配置,隧道代理则是通过向隧道代理发送隧道请求,由隧道代理将相应配置下发到相应的路由器;自动配置隧道则是通过数据包的IPv4兼容的IPv6地址来确定隧道的端点,6to4隧道则是由6to4路由器向站点分配6to4前缀IPv6地址,由6to4路由器完成隧道封装,6over4将IPv4网络当作具有组播功能的一条链路,通过IPv6组播地址和IPv4组播地址的映射关系实现IPv6协议的邻居发现功能,它要求IPv4网络支持组播功能。

RFC2893中分配给IPv6封装在IPv4中的协议号是41,表示IPv4包里面的上层协议数据是IPv6数据包。采用隧道方式存在的问题主要有:由于在IPv6数据包前面插入20字节的IPv4头,可能会造成分段,从而影响性能;ICMPv4错误消息只返回IPv4报头外的8bit,这样IPv6源站点无法得知IPv6地址信息;协议号41有可能被防火墙过滤掉;IPv6inIPv4隧道无法穿越一个起用了动态端口转换的NAT,在大多数NAT 配置中,提供NAT功能的设备并不具备成为隧道路由器的功能。即使NAT设备普遍支持 各种隧道功能,还是有一些应用场合包含多层NAT。

针对隧道无法进行NAT穿越,目前已经有两个IETF草案:Teredo和silkroad。二者都是利用IPv4UDP来封装IPv6数据包来完成NAT穿越。

(3)基于MPLS的IPv4/IPv6过渡技术

当前基于IPv4的MPLS已经比较成熟,可以借助MPLSL2/L3VPN技术来连接IPv6的网络。基于MPLS技术的过渡方案有:在CE路由器上配置隧道、基于MPLS电路的IPv6透传、在PE路由器上起用IPv66PE)和基于IPv6的MPLS。在CE路由器上配置隧道方案要求CE路由器支持双栈,CE和PE之间运行IPv4,CE负责将IPv6数据封装在IPv4中通过MPLS传送到对端的CE路由器。基于MPLS电路的IPv6透传将IPv6的数据包通过AnyTransportover MPLS (MPLS/AToM)或Ethernet over MPLS (EoMPLS)来传递,路由器需要支持AtoM特性,相当于L2 VPN。6PE方案是在PE路由器上提供双栈功能,IPv6数据包被封装在二层标签里进行传送,外层标签由LDP来分发,内层标签由BGP4+来分发,相当于L3 VPN。最后一种方案是将IPv4的MPLS核心网络升级到了IPv6,其核心网的控制平面需要升级到IPv6以支持核心网的IPv6路由和IPv6的LDP。如果需要提供IPv4/IPv6共存的服务,则需要双控制平面的支持。

2.解决IPv6和IPv4网络之间通信的技术

实现IPv6网络和IPv4网络之间的通信的技术主要有SIIT、NAT-PT、BIA和BIS、TRT等。

(1)SIIT

SIIT定义了在IPv4和IPv6的分组报头之间进行翻译的方法,这种翻译是无状态的,因此对于每一个分组都要进行翻译。这种机制可以和其它的机制(如NAT-PT)结合,用于纯IPv6站点同纯IPv4站点之间的通信,但是在采用网络层加密和数据完整性保护的环境下这种技术不可用。

(2)NAT-PT

NAT-PT就是在做IPv4/IPv6地址转换(NAT)的同时在IPv4分组和IPv6分组之间进行报头和语义的翻译(PT)。适用于纯IPv4站点和纯IPv6站点之间的通信。对于一些内嵌地址信息的高层协议如FTP),NAT-PT需要和应用层的网关协作来完成翻译。在NAT-PT的基础上利用端口信息,就可以实现NAPT-PT,这点同目前IPv4下的NAT-PT没有本质区别。

(3)BIA和BIS 

BIA技术在双栈主机的SocketAPI模块与TCP/IP模块之间加入一个API翻译器,API翻译器包含域名解析器、地址映射器和函数映射器三个模块,主机API检测到发出的IPv4API,进行相应的地址映射,调用IPv6的API函数和外部的IPv6主机进行通信。

BIS则是采用SIIT的规则在网络层进行包头转换,适用于双栈主机通信。

(4)TRT

TRT技术是采用一个传输层中继器将一个IPv4的TCP/UDP连接在传输层和一个IPv6的TCP/UDP连接关联起来,在传输层进行协议和地址的翻译。


相关内容