论文部分内容阅读
摘要:IPv4地址空间的耗尽使得IPv4在获得巨大成功的同时也面临困境。因此下一代互联网协议IPv6的实施势在必行。IPv4因其出色的技术特性在互联网领域获得了巨大的成功,现在的互联网络是基于IPv4的,不可能将它们在短时间内都过渡到基于IPv6的网络。因此,在相当长的一段时期内,IPv6网络将和IPv4网络共存。如何实现IPv4向IPv6平滑过渡是目前面临的重要问题。
关键词:IPv4;IPv6、双协议栈;隧道技术;NAT-PT
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1363-02
How to Resolve the Transition from IPv4 to IPv6-compatible
ZHANG Ling1,WANG Yong-qiang2
(1.Shangqiu Medical College,Shangqiu 476100,China;2.Shangqiu Shenhuo Group,Shangqiu 476100 ,China)
Abstract: IPv4 address space depletion of the IPv4 in making hugely successful but also face difficulties.So the next generation Internet Protocol IPv6 implementation is imperative. IPv4 its excellent technical characteristics of the area of access to the Internet with great success, now the Internet is based on IPv4, it is not possible to have them in a short period of time the transition to IPv6-based network. Therefore, in a fairly long period of time, IPv6 and IPv4 network network will coexist. How to achieve smooth transition from IPv4 to IPv6 is currently facing a major problem.
Key words: IPv4;IPv6;double-stack;tunneling technology;NAT-PT
目前解决过渡问题的基本技术主要有3种:双协议栈(RFC2893 obsolete RFC1933),隧道技术(RFC2893),NAT-PT(RFC2766)。
1 双协议栈技术
双协议栈技术是使IPv6节点与IPv4节点兼容的最直接方式,应用对象是主机、路由器等通信节点。支持双协议栈的IPv6节点与IPv6节点互通时使用IPv6协议栈,与IPv4节点互通时借助于4over6使用IPv4协议栈。IPv6节点访问IPv4节点时,先向双栈服务器申请一个临时IPv4地址,同时从双栈服务器得到网关路由器的TEP(TunnelEndPoint)IPv6地址。IPv6节点在此基础上形成一个4over6的IP包,4over6包经过IPv6网传到网关路由器,网关路由器将其IPv6头去掉,将IPv4包通过IPv4网络送往IPv4节点。网关路由器要记住IPv6源地址与IPv4临时地址的对应关系,以便反方向将IPv4节点发来的IP包转发到IPv6节点。这种方式对IPv4和IPv6提供了完全的兼容,但由于需要双路由基础设施,增加了网络的复杂度,依然无法解决IP地址耗尽的问题。采用双协议栈方式互通时的系统如图1所示。
图2 采用NAT-PT方式互通的系统构成
NAT-PT方式的优点是不需要进行IPv4,IPv6节点的升级改造,缺点是IPv4节点访问IPv6节点的实现方法比较复杂,网络设备进行协议转换、地址转换的处理开销较大,一般在其他互通方式无法使用的情况下使用。
4 IPv4和IPv6互通的解决方案:
过渡初期,Internet将由运行IPv4的“海洋”和运行IPv6的“小岛”组成,随着时间的推移,IPv4“海洋”将逐渐变小,而IPv6“小岛”将越来越多,最终彻底取代IPv4。在过渡期要解决的互通问题可分成2大类:第一类是解决IPv6“小岛”间的互通问题;第二类则解决IPv6“小岛”与IPv4“海洋”间互通的问题。
4.1 IPv6“小岛”之间的互通方式
4.1.1 手工配置隧道(Configured Tunnel)
这种隧道是手工配置建立的,隧道的端点地址由配置决定,不需要为节点分配特殊的IPv6地址,适用于经常通信的IPv6节点之间使用。每个隧道的封装节点必须保存隧道终点地址,当IPv6包在隧道上传输时,终点地址会作为IPv4包的目的地址进行封装。通常封装节点要根据路由信息决定这个包是否通过隧道转发。采用手工配置隧道方式进行互通的节点间必须有可用的IPv4连接,并且至少要具有一个全球惟一的IPv4地址,每个节点都要支持IPv6,路由器需要支持双协议栈,在隧道要经过NAT设施的情况下该机制失效。
4.1.2 自动配置隧道(Auto-configured Tunnel)
这种隧道的建立和拆除是动态的,其端点根据分组的目的地址确定,适用于不经常通信的节点间使用。自动配置隧道需要节点采用IPv4兼容的IPv6地址(IPv4ADDR::/96),这些节点间必须有可用的IPv4连接,采用这种机制的节点需要有一个全球惟一的IPv4地址。采用这种机制不能解决IPv4地址空间耗尽的问题,并且如果把Internet上全部IPv4路由表包括到IPv6网络中,将会加剧路由表的膨胀。这种隧道的两个端点都必须支持双协议栈,在隧道要经过NAT设施的情况下该机制失效。
4.1.3 TunnelBroker
TunnelBroker是一种方便构造隧道的机制,可以简化隧道的配置过程,适用于单个主机获取IPv6连接的情况。TunnelBroker要求隧道的双方都支持双协议栈并有可用的IPv4连接,在隧道要经过NAT设施的情况下该机制失效。TB转换机制包括TunnelServer(TS)和TunnelBroker(TB),Server和Boker位于不同的主机上,隧道的控制通常是web形式的。
4.1.46 over 4,IPv4多播隧道
6 over 4是一种自动建立隧道的机制,采用前提是IPv4网络基础设施支持IPv4多播。该机制适用于IPv6路由器上无直接物理链路连接的孤立IPv6主机,使得他们能够将IPv4广播域作为他们的虚拟链路,成为功能完全的IPv6节点。采用这种方法连接的IPv6节点不需要IPv4兼容地址和手工配置隧道。当采用6 over 4的节点通过一台支持6 over 4的路由器与外界相连时,节点内的主机可以和外部IPv6节点通信,但6 over4没有解决孤立的IPv6节点连接到全球性IPv6 Internet的问题。
4.1.56 to 4
6 to 4要求采用自动从节点的IPv4地址派生出的特殊IPv6地址(IPv4ADDR::/48),所以采用6 to 4机制的节点必须至少具有一个全球惟一的IPv4地址。由于隧道端点的IPv4地址可以从IPv6地址中提取,所以隧道是自动建立的,这种机制适用于运行IPv6的节点之间的互通。6to 4要求隧道中路由器支持双协议栈和6 to 4,主机至少支持IPv6协议栈。6 to 4机制允许在采用6 to 4的IPv6节点和纯IPv6节点之间通过运行BGP4+的中继路由器(6to 4 Relay Router)进行互通。这种机制把广域的IPv4网络作为一个单播的点到点链路层,适合作为IPv4/IPv6共存的初始阶段的转换工具。
4.2 IPv6“小岛”与IPv4“海洋”之间的互通方式
4.2.1DualStack Model23
在这种模型下任意节点都是完全双协议栈的,不存在IPv4与IPv6之间的互通问题,但是这种机制要给每一个IPv6的节点分配一个IPv4地址。这种方法不能缓解IPv4地址资源不足的问题,而且随着IPv6节点的增加会很难得到满足。
4.2.2SIIT(Stateless IP/ICMPTranslation)
SIIT定义了在IPv4和IPv6的分组报头之间进行翻译的方法,这种机制可以和其他机制(如NAT-PT结合用于纯IPv6节点同纯IPv4节点间的互通,但在采用网络层加密和数据完整性保护的环境下这种技术失效。
4.2.3NAT-PT(Network Address Translation- ProtocolTranslation)
NAT-PT就是在做IPv4/IPv6地址转换(NAT)的同时在IPv4分组和IPv6分组之间进行报头和语义的翻译(PT),适用于纯IPv4节点和纯IPv6节点之间的互通。对于一些内嵌地址信息的高层协议(如FTP),NAT-PT需 要和应用层的网关协作来完成翻译。在实现方面,如果没有DNS-ALG的支持,只能实现由IPv6发起的与IPv4之间的通信,反之,包就会被丢弃;如果有DNS-ALG的支持,就可以实现双向的通信。
除了上述3种互通方式,IPv6“小岛”与IPv4“海洋”间还可以通过BIS,BIA,SOCKS64,TRT,ALG等方式进行互通。
总之,从IPv4向IPv6的过渡是人们未来实现全球Internet不可跨越的步骤,它不是一朝一夕就可以办得到的。从IPv4向IPv6的转换是一个相当长的过渡时期,在此过渡期间需要IPv4与IPv6共存,并解决好互相兼容的问题,逐步实现平滑地演进,最终实现IPv4网络向IPv6的平稳过渡。
参考文献:
[1] 张基温.计算机网络原理[M].北京:高等教育出版社,2003,9.
[2] 雷震甲.计算机网络基础[M].北京:西安电子科技大学出版社,2006,2.
[2] 胡道元.计算机网络[M].北京:清华大学出版社,2004,5.
关键词:IPv4;IPv6、双协议栈;隧道技术;NAT-PT
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1363-02
How to Resolve the Transition from IPv4 to IPv6-compatible
ZHANG Ling1,WANG Yong-qiang2
(1.Shangqiu Medical College,Shangqiu 476100,China;2.Shangqiu Shenhuo Group,Shangqiu 476100 ,China)
Abstract: IPv4 address space depletion of the IPv4 in making hugely successful but also face difficulties.So the next generation Internet Protocol IPv6 implementation is imperative. IPv4 its excellent technical characteristics of the area of access to the Internet with great success, now the Internet is based on IPv4, it is not possible to have them in a short period of time the transition to IPv6-based network. Therefore, in a fairly long period of time, IPv6 and IPv4 network network will coexist. How to achieve smooth transition from IPv4 to IPv6 is currently facing a major problem.
Key words: IPv4;IPv6;double-stack;tunneling technology;NAT-PT
目前解决过渡问题的基本技术主要有3种:双协议栈(RFC2893 obsolete RFC1933),隧道技术(RFC2893),NAT-PT(RFC2766)。
1 双协议栈技术
双协议栈技术是使IPv6节点与IPv4节点兼容的最直接方式,应用对象是主机、路由器等通信节点。支持双协议栈的IPv6节点与IPv6节点互通时使用IPv6协议栈,与IPv4节点互通时借助于4over6使用IPv4协议栈。IPv6节点访问IPv4节点时,先向双栈服务器申请一个临时IPv4地址,同时从双栈服务器得到网关路由器的TEP(TunnelEndPoint)IPv6地址。IPv6节点在此基础上形成一个4over6的IP包,4over6包经过IPv6网传到网关路由器,网关路由器将其IPv6头去掉,将IPv4包通过IPv4网络送往IPv4节点。网关路由器要记住IPv6源地址与IPv4临时地址的对应关系,以便反方向将IPv4节点发来的IP包转发到IPv6节点。这种方式对IPv4和IPv6提供了完全的兼容,但由于需要双路由基础设施,增加了网络的复杂度,依然无法解决IP地址耗尽的问题。采用双协议栈方式互通时的系统如图1所示。
图2 采用NAT-PT方式互通的系统构成
NAT-PT方式的优点是不需要进行IPv4,IPv6节点的升级改造,缺点是IPv4节点访问IPv6节点的实现方法比较复杂,网络设备进行协议转换、地址转换的处理开销较大,一般在其他互通方式无法使用的情况下使用。
4 IPv4和IPv6互通的解决方案:
过渡初期,Internet将由运行IPv4的“海洋”和运行IPv6的“小岛”组成,随着时间的推移,IPv4“海洋”将逐渐变小,而IPv6“小岛”将越来越多,最终彻底取代IPv4。在过渡期要解决的互通问题可分成2大类:第一类是解决IPv6“小岛”间的互通问题;第二类则解决IPv6“小岛”与IPv4“海洋”间互通的问题。
4.1 IPv6“小岛”之间的互通方式
4.1.1 手工配置隧道(Configured Tunnel)
这种隧道是手工配置建立的,隧道的端点地址由配置决定,不需要为节点分配特殊的IPv6地址,适用于经常通信的IPv6节点之间使用。每个隧道的封装节点必须保存隧道终点地址,当IPv6包在隧道上传输时,终点地址会作为IPv4包的目的地址进行封装。通常封装节点要根据路由信息决定这个包是否通过隧道转发。采用手工配置隧道方式进行互通的节点间必须有可用的IPv4连接,并且至少要具有一个全球惟一的IPv4地址,每个节点都要支持IPv6,路由器需要支持双协议栈,在隧道要经过NAT设施的情况下该机制失效。
4.1.2 自动配置隧道(Auto-configured Tunnel)
这种隧道的建立和拆除是动态的,其端点根据分组的目的地址确定,适用于不经常通信的节点间使用。自动配置隧道需要节点采用IPv4兼容的IPv6地址(IPv4ADDR::/96),这些节点间必须有可用的IPv4连接,采用这种机制的节点需要有一个全球惟一的IPv4地址。采用这种机制不能解决IPv4地址空间耗尽的问题,并且如果把Internet上全部IPv4路由表包括到IPv6网络中,将会加剧路由表的膨胀。这种隧道的两个端点都必须支持双协议栈,在隧道要经过NAT设施的情况下该机制失效。
4.1.3 TunnelBroker
TunnelBroker是一种方便构造隧道的机制,可以简化隧道的配置过程,适用于单个主机获取IPv6连接的情况。TunnelBroker要求隧道的双方都支持双协议栈并有可用的IPv4连接,在隧道要经过NAT设施的情况下该机制失效。TB转换机制包括TunnelServer(TS)和TunnelBroker(TB),Server和Boker位于不同的主机上,隧道的控制通常是web形式的。
4.1.46 over 4,IPv4多播隧道
6 over 4是一种自动建立隧道的机制,采用前提是IPv4网络基础设施支持IPv4多播。该机制适用于IPv6路由器上无直接物理链路连接的孤立IPv6主机,使得他们能够将IPv4广播域作为他们的虚拟链路,成为功能完全的IPv6节点。采用这种方法连接的IPv6节点不需要IPv4兼容地址和手工配置隧道。当采用6 over 4的节点通过一台支持6 over 4的路由器与外界相连时,节点内的主机可以和外部IPv6节点通信,但6 over4没有解决孤立的IPv6节点连接到全球性IPv6 Internet的问题。
4.1.56 to 4
6 to 4要求采用自动从节点的IPv4地址派生出的特殊IPv6地址(IPv4ADDR::/48),所以采用6 to 4机制的节点必须至少具有一个全球惟一的IPv4地址。由于隧道端点的IPv4地址可以从IPv6地址中提取,所以隧道是自动建立的,这种机制适用于运行IPv6的节点之间的互通。6to 4要求隧道中路由器支持双协议栈和6 to 4,主机至少支持IPv6协议栈。6 to 4机制允许在采用6 to 4的IPv6节点和纯IPv6节点之间通过运行BGP4+的中继路由器(6to 4 Relay Router)进行互通。这种机制把广域的IPv4网络作为一个单播的点到点链路层,适合作为IPv4/IPv6共存的初始阶段的转换工具。
4.2 IPv6“小岛”与IPv4“海洋”之间的互通方式
4.2.1DualStack Model23
在这种模型下任意节点都是完全双协议栈的,不存在IPv4与IPv6之间的互通问题,但是这种机制要给每一个IPv6的节点分配一个IPv4地址。这种方法不能缓解IPv4地址资源不足的问题,而且随着IPv6节点的增加会很难得到满足。
4.2.2SIIT(Stateless IP/ICMPTranslation)
SIIT定义了在IPv4和IPv6的分组报头之间进行翻译的方法,这种机制可以和其他机制(如NAT-PT结合用于纯IPv6节点同纯IPv4节点间的互通,但在采用网络层加密和数据完整性保护的环境下这种技术失效。
4.2.3NAT-PT(Network Address Translation- ProtocolTranslation)
NAT-PT就是在做IPv4/IPv6地址转换(NAT)的同时在IPv4分组和IPv6分组之间进行报头和语义的翻译(PT),适用于纯IPv4节点和纯IPv6节点之间的互通。对于一些内嵌地址信息的高层协议(如FTP),NAT-PT需 要和应用层的网关协作来完成翻译。在实现方面,如果没有DNS-ALG的支持,只能实现由IPv6发起的与IPv4之间的通信,反之,包就会被丢弃;如果有DNS-ALG的支持,就可以实现双向的通信。
除了上述3种互通方式,IPv6“小岛”与IPv4“海洋”间还可以通过BIS,BIA,SOCKS64,TRT,ALG等方式进行互通。
总之,从IPv4向IPv6的过渡是人们未来实现全球Internet不可跨越的步骤,它不是一朝一夕就可以办得到的。从IPv4向IPv6的转换是一个相当长的过渡时期,在此过渡期间需要IPv4与IPv6共存,并解决好互相兼容的问题,逐步实现平滑地演进,最终实现IPv4网络向IPv6的平稳过渡。
参考文献:
[1] 张基温.计算机网络原理[M].北京:高等教育出版社,2003,9.
[2] 雷震甲.计算机网络基础[M].北京:西安电子科技大学出版社,2006,2.
[2] 胡道元.计算机网络[M].北京:清华大学出版社,2004,5.