APP下载

基于6to4隧道的网络设计与实现

2012-02-09毅,唐

重庆电力高等专科学校学报 2012年1期
关键词:双栈路由器数据包

王 毅,唐 洋

(1.重庆城市管理职业学院信息工程学院,重庆 401331;2.重庆电力高等专科学校计算机科学系,重庆 400053)

0 引言

据最新资料显示,最后一批IPv4地址已于2011年初由ICANN分配完毕。今后新联入Internet的企业网络及设备很难再获得有效IP地址。在解决地址扩展性方面只有两种基本思路。第一种方案是提高现有IPv4地址的利用率,采用技术方面有VLSM、NAT、DHCP和私有地址。这些技术采用地址节流方式,可以缓解地址短缺问题,但它导致了性能下降、安全性降低和通信不透明(甚至有些网络服务不能运行)等缺陷。这只是一种临时解决方案。解决地址短缺的根本办法是地址开源方式,即将标识每个通信终端的地址由32位扩展到128位,实现基于IPv6的网络地址技术。这种方案为将来的IT、泛在网、物联网设备提供了足够可用的地址,可以延续基于端到端透明传输的网络通信初衷,这才是解决地址短缺的根本之道。其缺点是在实现和IPv4的兼容性方面设计不足,要将IPv4网络平滑兼容地升级到IPv6网络,需采用一些其他方案。

根据中国最大的ISP中国电信的IP升级路线图可知,IPv4升级到IPv6是一个循序渐进的过程。首先要保持IPv4核心网络不变,通过一些兼容措施,将IPv6网络孤岛(即联入互联网的各企业网络)通过IPv4核心网互联在一起,将来核心网络再直接更新为IPv6时,卸下孤岛之间的过渡接口技术即完成全互联的IPv6化。此过程需要5年或更长时间来实现。在IPv4向IPv6过渡阶段,符合4-4-4、4-6-4、6-6-6应用环境的技术方案有 NAT、双栈和隧道技术。

1 6to4隧道原理

1.1 隧道技术

隧道技术就是必要时将IPv6数据包作为数据封装在IPv4数据包里,使IPv6数据包能在已有IPv4基础设施(主要是指IPv4路由器)上传输的机制。随着IPv6的发展,出现了一些被运行IPv4协议骨干网络隔离开的局部IPv6网络。要实现这些IPv6网络之间的通信,必须采用隧道技术。隧道对于源站点和目的站点是透明的。在隧道入口处,路由器将IPv6数据分组封装在IPv4中,该IPv4分组的源地址和目的地址分别是隧道入口和出口IPv4地址。在隧道出口处,再将IPv6分组取出转发给目的站点。隧道技术的优点在于隧道的透明性,IPv6主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用。隧道技术在IPv4向IPv6演进的初期应用非常广泛。但是,隧道技术不能实现IPv4主机和IPv6主机之间的通信。由于可以通过不同协议类型数据包的封装和解封装,方便地实现数据包在不同协议类型网络中的传输穿越,隧道方式相比协议翻译而言,能够较为方便地实现原有流量的承载。

实际应用中,根据封装和拆封操作发生位置的不同,以及隧道建立方式的不同,隧道技术可以被分为手动配置型隧道(Configured Tunnel)和自动配置型隧道(Automatic Transition)技术。无论采用哪种隧道技术,最终发出报文的封装是一样的,只要参数不出错,它们都可以互相通信。隧道技术不仅适合于过渡的初期,也适合于过渡的后期,当ISP骨干网络全部升级为IPv6后,拆除与孤岛之间的隧道即可。根据隧道穿越的不同网络类型,隧道类技术可以分为IPv6 over IPv4类隧道和IPv4 over IPv6类隧道。目前支持IPv6 over IPv4的隧道类型较多,包括已经成为标准的 6to4[1]、6over4、ISATAP[2]、TSP、Teredo、6PE等,而支持IPv4 over IPv6的隧道技术有DS -Lite、A+P、TSP 等。

1.2 6to4隧道技术

6to4隧道[3-4](RFC3056)技术采用自动构造隧道机制,由于这种机制下隧道端点的IPv4地址可以从IPv6地址中提取,所以隧道是自动建立的。6to4不会在IPv4的路由表中引入新的条目,在IPv6的路由表中只增加一条表项。采用6to4机制的IPv6 ISP只需要做很少的管理工作,这种机制很适用于运行IPv6站点之间的通信。6to4要求隧道中至少有两台路由器支持双栈和6to4。

6to4隧道采用特殊的IPv6地址,地址格式如图1所示。IANA为6to4隧道方式分配了一个永久性的IPv6格式前缀0x2002,表示成IPv6地址前缀格式为2002::/16。如果一个用户站点拥有至少一个有效的全球惟一的32位IPv4地址,那么该用户站点将不需要任何分配申请即可拥有IPv6地址前缀2002:[v4 address]::/48。例如某企业获得 IPv4出口地址为202.202.24.24,则该企业内部网络的IPv6网络号即为2002:CACA:1818::/48。

图1 IPv6地址格式

6to4技术通常在IPv6站点的边界路由器之间建立隧道,源站点的边界路由器是隧道的首节点,目的站点的边界路由器是隧道的尾节点。它所定义的6to4地址前缀中蕴含了边界路由器的IPv4地址。当任意两台IPv6站点通信时,隧道首节点自动从IPv6源和目的地址(6to4地址)中提取出隧道首尾节点的IPv4地址,在两站点的边界路由器之间建立一条IPv4隧道。隧道不需要维护任何信息,在通信开始时建立,通信结束时自动撤销。站点的边界路由器充当了隧道的端点。

6to4隧道的应用环境有两种[5]:一种是通信双方都处于6to4域中,并且均采用6to4地址;另一种是通信的一端处于6to4域中,采用6to4地址,而另一端则处于纯IPv6域中,采用纯IPv6地址,此时应使用6to4中继器进行连接。6to4中继器在纯IPv6接口和6to4伪接口上参与IPv6单播路由协议,在支持6to4的IPv4接口上参与IPv4单播路由协议。

1.3 6to4中继

6to4路由器提供了由IPv4演变而来的IPv6网络之间的互联,这种网络要求和非2002::/16前缀的网络进行通信时就需要6to4中继的支持。6to4中继路由器是一种特殊的6to4路由器,它位于IPv6主干网的边界,除具有一般6to4路由器所具有的功能外,它的路由宣告还具备两个功能,其一是向IPv6主干网内部宣告其对目的网络2002::/16(各孤立6to4站点)的可达性,其二是通过6to4隧道,在路由策略允许的范围内,向各6to4站点宣告它对IPv6主干网内部各站点的可达性。那些孤立站点的6to4路由器通过参与路由宣告,获得了通往IPv6主干网内各站点的路由。其中的next hop指向位于IPv6主干网边界的6to4中继路由器。

为了帮助6to4站点在因特网上找到可用的6to4中继,给6to4机制增加更多可扩展性,RFC3068引入了一个任意播前缀。这样6to4数据包就可以被自动路由到IPv4因特网上最近的6to4中继。IANA分配的任意播前缀为192.88.99.0/24,它专门用于自动接收6to4数据包到最近的6to4中继。在6to4相关配置中,可以使用IPv6 route::/0 2002:c058:6301::命令配置默认的IPv6路由。

2 6to4隧道实验模型

ICANN把最后一批IPv4地址分配给各地区Internet注册机构后,也会在很短的时间内由最终用户耗尽。随着ISP骨干和接入网络的升级,大中型企业网必然向IPv6过渡。由于大批企业在IPv4基础网络中已投入了巨资,所以IPv4/IPv6双栈网络将在近几年甚至十年时间中共存。为了不影响企业网络对外界IPv6网络的正常通信,企业可以在现有网络中升级出口路由器为双栈路由器,以达到最小的投资升级到IPv4/IPv6双栈网络。企业网络升级到IPv6基础网络的必然条件之一是企业网络中的三层交换机及路由器设备必须支持双栈协议,且企业必须申请到合法的出口IPv4地址,另外企业必须在原有IPv4协议的DNS服务器基础上增加支持IPv6协议的DNS服务器。本文在IPv4/IPv6双栈网络为基础的企业网中,通过IPv4接入网和外界纯IPv6之间的通信需求为例进行研究和实现。网络拓扑图如图2所示。

图2 工作过程系统化课程开发的基本流程

3 6to4隧道的实现

为了保护企业在原有IPv4网络上的投资,需要对网络中的IP地址进行基于IPv6的重新规划。实施6to4隧道技术要求IPv6地址前缀为2002:[v4 address]::/48,则原来网络的IP应进行相应变化。为了延续原IPv4地址的规划思路,本人建议新的IPv6为 2002:[全局 v4 address]:[本地 v4 address]::/80。例如企业的 Internet接入地址为61.61.61.61,某设备原IPv4地址为192.168.10.1/24,则该设备端口的IPv6地址即演变为2002:3d3d:3d3d:c0a8:a01::/80。

3.1 企业出口路由器的核心配置

3.2 ISP接入路由器的核心配置

3.3 监控与测试

基于IPv6的监控和测试命令较多。企业网络骨干的连通性及性能检测,通常是查看接口的IPv6信息、邻居表和路由表等信息。最常用的交换机/路由器检测命令有ping ipv6、tracer ipv6。以下是在企业内部交换机中执行监控与测试的效果。

4 结论

为了让IPv4网络过渡到IPv6,实现双栈网络的同时兼容运行,企业内网各设备的IP地址前缀要一致。它必须以2002::/16为前缀,这是寻址需要,否则无法路由。在企业出口路由器上设置6to4隧道时,可以不配置IPv6地址,但设备必须支持IPv6协议。为了让2002::/16为前缀的IPv6网络和其它IPv6网络进行通信,还需要设置6to4中继路由器,中继路由器地址为192.88.99.0/24。

由于企业网在接入到IPv6骨干网时,限制为特殊的6to4地址,因此6to4技术不适在大型IPv6骨干网络中使用。6to4隧道技术在IPv4/IPv6过渡初期较为有效,无须申请正式的IPv6址就可以部署IPv6。当以后Internet资源全部过渡到IPv6后,需要对企业网络IP地址和路由进行重配置,并卸载6to4隧道功能。

随着计算机、物联网终端数量的快速增长,IP地址的需求导致IPv6必然代替已耗尽地址的IPv4。为了最大化保护企业在网络中的投资并现实和双栈互联网的接入,本文提出了在IPv4/IPv6双栈网络中,通过6to4隧道技术联结互联网上IPv6资源的实现方法。经过实验和测试,证明该方案有效,可以推广。

[1] IETF RFC3964,Security Considerations for 6to4[S].

[2] IETF RFC 4214,Talwar M,Thaler D.Intra-Site Automatic Tunnel Addressing Protocol(ISATAP)[S].

[3] RFC3056,Connection of IPv6 Domains via IPv4 Clouds[S].

[4] 王晓峰,吴建平,崔勇.互联网IPv6过渡技术综述[J].小型微型计算机系统,2006,(3).

[5] 杜慧军.基于双协议栈的6to4隧道技术的应用[J].广东技术师范学院学报,2007,(12).

猜你喜欢

双栈路由器数据包
买千兆路由器看接口参数
二维隐蔽时间信道构建的研究*
维持生命
基于Jpcap的网络数据包的监听与分析
路由器每天都要关
路由器每天都要关
SmartSniff
浅析IPv6网络演进及其部署方案
IPv4到IPv6演进技术及策略探讨
IPv4和IPv6双栈计费流程分析