摘要:2011年2月2日, 国际互联网名称和编号分配公司(ICANN)宣布全球IPv4地址耗尽,网络过渡到IPv6是必然的事情。现在还有大量的IPv4网络设备和应用,从IPv4过渡到IPv6并非一朝一夕的事情,在一段时间里IPv4与IPv6会共存,然后被IPv6取代。在过渡期需要解决IPv4网络与IPv6网络之间的互联互通问题。为此,IETF提出了多种过渡技术,该文重点介绍IPv4与IPv6过渡中几种常用的隧道技术,介绍它们的工作机制并给出相应的实现方法。
关键词:IPv4;IPv6;隧道
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)35-8394-02
Tunnel Technology of Transition from IPv4 to IPv6 and Realization
WEN Rui-ying
(Jiangmen Polytechnic, Jiangmen 529000,China)
Abstract: On February 2, 2011, the Internet corporation for assigned names and Numbers (ICANN) announced the global IPv4 addresses run out, network transition to IPv6 is inevitable. There are a lot of IPv4 network equipment and application of transition from IPv4 to IPv6 is not things, over a period of time the IPv4 and IPv6 will coexist and then replaced by the IPv6. IPv4 network and IPv6 network need to be solved in the transition between the connectivity problem. Therefore, IETF proposed a variety of transition technology, this article focuses on the IPv4 and IPv6 transition of several common tunnel technology, introduce their work mechanism and the corresponding implementation method is given.
Key words: IPv4; IPv6; tunnel
IPv4在网络的发展过程中起到了非常重要的作用,但IPv4也有很多缺点,其中重大缺点之一是地址空间数量有限,随着物联网的发展,支持IP的新设备激增,如,移动电话, 消费电子产品等。为此,需要更多的IP地址。 2011年2月2日, 国际互联网名称和编号分配公司(ICANN)宣布全球IPv4地址耗尽,意味着以后只能分配IPv6地址了,IPv6具更大的地址空间,无需NAT,没有广播地址,更简单的报头提高了路由器的效率,支持移动性和安全性。从IPv4到IPv6是一个逐渐的过渡过程,在过渡的初期IPv4与IPv6协议共存,然后IPv6成为主流逐步替换IPv4。目前实现IPv4与IPv6的相互通信主要有双栈技术、隧道技术和地址/协议转换技术。
1 IPv4到IPv6过渡技术
IPv4到IPv6过渡技术主要有以下三种
1) 双栈技术:双栈是过渡到IPv6的主要技术之一,它是一种集成方法,节点有两个栈协议,在主机和网络设备上同时运行IPv4和IPv6,双栈节点根据目标地址决定使用哪个栈协议。在路由器接口上配置IPv4和IPv6后,接口将立即使用双栈,能够同时转发IPv4和IPv6数据流。
双栈技术的优点是互通性好,易于理解;缺点是设备必须存储两个路由表,两个路由协议拓扑表,还必须独立处理每种协议等,管理开销更高,故障排错,监视等工作更复杂。
2) 隧道技术:隧道通过IPv4基础设施将分离的IPv6网络连接起来,只有边缘设备需要双栈,如果需要创建很多隧道,可扩展性是个问题,隧道可手工配置,也可自动配置, 采用哪种方法取决于对可扩展性的要求以及能忍耐的管理开销。对IPv6而言, 隧道化是一种集成方法,它将IPv6分组封装到 IPv4分组中,将IPv6孤岛连接起来,无需将中间网络升级到 IPv6。图1是一个隧道化示例
图1 隧道示例
3) 地址/协议转换技术:NAT-PT是一种NAT扩展,对于不能升级到IPv6的老式设备及在有些部署中提供转换,转换设备在IPv6分组和IPv4分组之间转换,让只支持IPv6设备能够与只支持 IPv4 的设备通信。NAT-PT 设备维护着一个全局可路由的 IPv4 地址池,穿越IPv6/IPv4边界建立会话时,这些地址将被动态分配给IPv6节点。NAT-PT的优点之一是,无需对IPv6节点A做任何修改。
3 隧道技术及实现方法
1) 手动隧道:IPv6手动隧道的源IP和目的IP是手工配置的,并为隧道接口配置IPv6地址,隧道的端点地址由配置来决定,不需要为站点分配特殊的IPv6地址。采用手工配置隧道站点必须有可用的IPv4地址,边界路由器需要支持双栈。隧道实现的主要机制是把IPv6的报文当成IPv4的载荷进行转发来连接多个IPv6孤岛。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 2014:2014::1/64
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel destination 192.168.2.1
RA(config-if)#tunnel mode ipv6ip
2) GRE隧道:GRE隧道和手动隧道非常相似,其配置方法也很相似,GRE隧道可为被IPv4分隔的IPv6网络提供稳定的点到点连接。GRE隧道在协议支持方面更加灵活,GRE隧道可在路由器与路由器之间,也可在路由器和主机之间创建。GRE本身并不提供安全功能,它只是一个封装协议,可以使用Ipsec等加密技术向隧道IPv6流提供保密性、完整性和认证服务。因GRE隧道的配置与手动隧道基本相同,所以就不给出配置代码了。
3) 6to4隧道:6to4 隧道也称为6-to-4隧道, 是一种自动隧道方法,6to4 隧道是 point-to-multipoint, 而不是point-to-point的隧道,边缘路由器使用其隧道接口的IPv6地址内嵌的IPv4地址自动创建6to4 隧道。
通过使用6to4隧道,可在公司网络中快速部署IPv6,无需向ISP或注册机构神奇公有IPv6地址。6to4隧道使用专用的地址范围“2002::/16”,而一个6to4网络可以表示为“2002:IPv4地址::/48”,例如,IPv4地址为192.168.1.1(十六进制为C0A80101),则IPv6地址前缀为2002:C0A8:0101::/48。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 2002:C0A8:0101::/128
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel mode ipv6ip 6to4
4)ISATAP隧道
ISATAP隧道与6to4隧道极其相似,用于通过 IPv4网络将IPv6网络连接起来,在 IPv6地址中内嵌IPv4地址,ISATAP 隧道旨在让 IPv6主机能够通过只支持IPv4的接入网连接到支持IPv6的中央路由器。ISATAP 隧道使用 IPv6 地址: 64位的前缀和EUI-64格式的64位接口ID组成。例如IPv4地址为192.168.1.1(十六进制为C0A80101),则IPv6地址为12:12::0000:5EFE: C0A8:0101,也可写作12:12::5EFE: C0A8:0101。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 12:12::/64 eui-64
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel mode ipv6ip isatap
4 结束语
IPv4与IPv6还会共存一段时间,在共存期间必须解决相互之间的通信问题。该文重点介绍了IPv4向IPv6过渡使用的隧道技术,分别对常用的几种隧道技术作了介绍,并给出了隧道实现的主要代码。
参考文献:
[1] 王浩.IPv4与IPv6相互转换技术研究[J].计算机与数字工程,2010(1).
[2] 沈庆伟.张霖.基于隧道的IPv4/IPv6过渡技术分析[J].计算机技术与发展,2007(5).
[3] 周玲.尹霞.吴建平.实现IPv4向IPv6过渡的隧道技术技术6to4 [J].计算机工程与应用,2002(18).
[4] 王晓峰.吴建平.崔勇.互联网IPv6过渡技术综述[J].小型微型计算机系统,2006(3).
[5] 王中震.IPv4至IPv6过渡技术方案的设计与实施[D].北京邮电大学,2012.endprint
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 2014:2014::1/64
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel destination 192.168.2.1
RA(config-if)#tunnel mode ipv6ip
2) GRE隧道:GRE隧道和手动隧道非常相似,其配置方法也很相似,GRE隧道可为被IPv4分隔的IPv6网络提供稳定的点到点连接。GRE隧道在协议支持方面更加灵活,GRE隧道可在路由器与路由器之间,也可在路由器和主机之间创建。GRE本身并不提供安全功能,它只是一个封装协议,可以使用Ipsec等加密技术向隧道IPv6流提供保密性、完整性和认证服务。因GRE隧道的配置与手动隧道基本相同,所以就不给出配置代码了。
3) 6to4隧道:6to4 隧道也称为6-to-4隧道, 是一种自动隧道方法,6to4 隧道是 point-to-multipoint, 而不是point-to-point的隧道,边缘路由器使用其隧道接口的IPv6地址内嵌的IPv4地址自动创建6to4 隧道。
通过使用6to4隧道,可在公司网络中快速部署IPv6,无需向ISP或注册机构神奇公有IPv6地址。6to4隧道使用专用的地址范围“2002::/16”,而一个6to4网络可以表示为“2002:IPv4地址::/48”,例如,IPv4地址为192.168.1.1(十六进制为C0A80101),则IPv6地址前缀为2002:C0A8:0101::/48。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 2002:C0A8:0101::/128
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel mode ipv6ip 6to4
4)ISATAP隧道
ISATAP隧道与6to4隧道极其相似,用于通过 IPv4网络将IPv6网络连接起来,在 IPv6地址中内嵌IPv4地址,ISATAP 隧道旨在让 IPv6主机能够通过只支持IPv4的接入网连接到支持IPv6的中央路由器。ISATAP 隧道使用 IPv6 地址: 64位的前缀和EUI-64格式的64位接口ID组成。例如IPv4地址为192.168.1.1(十六进制为C0A80101),则IPv6地址为12:12::0000:5EFE: C0A8:0101,也可写作12:12::5EFE: C0A8:0101。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 12:12::/64 eui-64
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel mode ipv6ip isatap
4 结束语
IPv4与IPv6还会共存一段时间,在共存期间必须解决相互之间的通信问题。该文重点介绍了IPv4向IPv6过渡使用的隧道技术,分别对常用的几种隧道技术作了介绍,并给出了隧道实现的主要代码。
参考文献:
[1] 王浩.IPv4与IPv6相互转换技术研究[J].计算机与数字工程,2010(1).
[2] 沈庆伟.张霖.基于隧道的IPv4/IPv6过渡技术分析[J].计算机技术与发展,2007(5).
[3] 周玲.尹霞.吴建平.实现IPv4向IPv6过渡的隧道技术技术6to4 [J].计算机工程与应用,2002(18).
[4] 王晓峰.吴建平.崔勇.互联网IPv6过渡技术综述[J].小型微型计算机系统,2006(3).
[5] 王中震.IPv4至IPv6过渡技术方案的设计与实施[D].北京邮电大学,2012.endprint
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 2014:2014::1/64
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel destination 192.168.2.1
RA(config-if)#tunnel mode ipv6ip
2) GRE隧道:GRE隧道和手动隧道非常相似,其配置方法也很相似,GRE隧道可为被IPv4分隔的IPv6网络提供稳定的点到点连接。GRE隧道在协议支持方面更加灵活,GRE隧道可在路由器与路由器之间,也可在路由器和主机之间创建。GRE本身并不提供安全功能,它只是一个封装协议,可以使用Ipsec等加密技术向隧道IPv6流提供保密性、完整性和认证服务。因GRE隧道的配置与手动隧道基本相同,所以就不给出配置代码了。
3) 6to4隧道:6to4 隧道也称为6-to-4隧道, 是一种自动隧道方法,6to4 隧道是 point-to-multipoint, 而不是point-to-point的隧道,边缘路由器使用其隧道接口的IPv6地址内嵌的IPv4地址自动创建6to4 隧道。
通过使用6to4隧道,可在公司网络中快速部署IPv6,无需向ISP或注册机构神奇公有IPv6地址。6to4隧道使用专用的地址范围“2002::/16”,而一个6to4网络可以表示为“2002:IPv4地址::/48”,例如,IPv4地址为192.168.1.1(十六进制为C0A80101),则IPv6地址前缀为2002:C0A8:0101::/48。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 2002:C0A8:0101::/128
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel mode ipv6ip 6to4
4)ISATAP隧道
ISATAP隧道与6to4隧道极其相似,用于通过 IPv4网络将IPv6网络连接起来,在 IPv6地址中内嵌IPv4地址,ISATAP 隧道旨在让 IPv6主机能够通过只支持IPv4的接入网连接到支持IPv6的中央路由器。ISATAP 隧道使用 IPv6 地址: 64位的前缀和EUI-64格式的64位接口ID组成。例如IPv4地址为192.168.1.1(十六进制为C0A80101),则IPv6地址为12:12::0000:5EFE: C0A8:0101,也可写作12:12::5EFE: C0A8:0101。
隧道配置主要代码:
RA(config)#interface tunnel 10
RA(config-if)#no ip address
RA(config-if)#ipv6 address 12:12::/64 eui-64
RA(config-if)#tunnel source loopback 0
RA(config-if)#tunnel mode ipv6ip isatap
4 结束语
IPv4与IPv6还会共存一段时间,在共存期间必须解决相互之间的通信问题。该文重点介绍了IPv4向IPv6过渡使用的隧道技术,分别对常用的几种隧道技术作了介绍,并给出了隧道实现的主要代码。
参考文献:
[1] 王浩.IPv4与IPv6相互转换技术研究[J].计算机与数字工程,2010(1).
[2] 沈庆伟.张霖.基于隧道的IPv4/IPv6过渡技术分析[J].计算机技术与发展,2007(5).
[3] 周玲.尹霞.吴建平.实现IPv4向IPv6过渡的隧道技术技术6to4 [J].计算机工程与应用,2002(18).
[4] 王晓峰.吴建平.崔勇.互联网IPv6过渡技术综述[J].小型微型计算机系统,2006(3).
[5] 王中震.IPv4至IPv6过渡技术方案的设计与实施[D].北京邮电大学,2012.endprint