隧道策略
随着Internet在10年前逐步兴起,基于IP的网络将成为全业务承载网的观点得到了广泛的认同。于是,IPv4网络存在的诸多问题也就成为业界研究的重点,比如IP网的QoS问题、移动性问题等,其中较为核心的问题是IPv4协议的地址空间容量不能适应业务发展的要求。 专家认为,按照现在的消耗速度,到2015年,中国的IPv4地址将告罄。因此,拥有巨大地址空间的IPv6就成为取代IPv4的候选方案之一。甚至有人断言“IPv6将取代IPv4成为IP网络的惟一网络层协议”。
IPv4/v6综合组网研究现状
对于如何从IPv4过渡到IPv6的问题,IETF(互联网工程任务组)成立了“下一代网络过渡工作组(Ngtrans)”。这个工作组的工作成果反映在14个RFC和20多个草案中。新成立的“IPv6网络互操作工作组(IPv6ops)”负责研究集成和互操作问题。研究成果表明,在过渡过程中,IPv4网将与IPv6网长期共存。
研究IPv4/v6综合组网,有助于探索下一代互联网的发展方向和技术模式;有利于下一代电信网络的技术研究;为设备制造商的IPv6产品研发提供参考依据;促进IPv6的实用化和商用化进程。所以对IPv4/v6综合组网的研究是十分紧迫和必需的。
IPv4/v6综合组网技术的主要研究内容包括:现有不同过渡策略与网络过渡工具的技术特点及其适用范围;承载网引入IPv6后的网络结构;不同的电信网络环境对IPv4/v6综合组网提出的技术要求;针对不同网络环境(不同需求)提出可能的综合组网方案;综合组网时的路由和域名问题、安全性分析、地址分配策略、不同组网技术在网络中的互联互通性(相容性)等。
对IPv4/v6综合组网技术的研究已经形成了包含多个网络过渡工具的工具箱,具体组网方式的研究也越来越受到重视,但从整体来讲,研究还处于起步阶段。由于相应的组网需求不能确定,所以现在IETF对处于草案阶段的有关网络环境与组网需求的研究均是针对互联网的。在电信运营网络中,关于IPv4/v6综合网的组网环境和组网方案的研究虽然也受到重视,并取得了一些成果(主要表现在IPv6设备制造商提出了一些和自己产品相关的IPv4/v6综合组网方案),但客观地讲,无论是研究深度还是研究广度,均处于初级阶段。
IPv4/v6综合组网基本原则
在进行IPv4/v6综合组网时,应遵循以下一些原则:最大限度地保护终端用户、ISP、ICP和电信运营商的既有投资;保证IPv4和IPv6主机之间的互通;在IPv4业务和IPv6业务互不影响的前提下,支持两者业务的互通;保证现有IPv4应用在综合组网环境中的正常应用;避免设备之间的依赖性,设备的更新须具有独立性;综合组网过程对于网络管理者和终端用户来讲要易于理解和实现;提高组网灵活性,支持网络的逐步升级,用户拥有选择何时过渡和如何过渡的权利;综合组网以后,网络的服务质量不应该有明显的影响,网络的可靠性和稳定性不能削弱,网络管理功能应该较原有网络有所加强;应着重考虑从边缘到骨干的逐步演进策略(同时关注从骨干到边缘的策略);应考虑为终端用户所能带来的好处(业务、兴趣点等);综合组网时应统筹考虑对现有IPv4网络中存在的一些问题的改进(NAT、地址规划等);网络各部分之间的技术选择应该具有独立性,如城域核心网、接入网、驻地网应该可以选择不同的技术。
IPv4/v6综合组网策略
根据综合组网基本原则,经常采用的组网策略包括双栈策略(Dual Stack Transition Mechanism,DSTM)、隧道策略和翻译策略。其中,双栈策略可分为主机双栈和路由器双栈两种类型;隧道策略包括手工隧道和自动隧道两种;翻译策略的实现协议包括NAT-PT(Network Address Translation Protocol Translation)、TRT(Transport Relay Translations)、BIS(Bump In the Stack)、BIA(Bump In the Application program interface)。上述策略通常综合使用。
在3种组网策略中,双栈策略通常解决的是IPv6网络中的双栈主机(平时只有IPv6地址而无IPv4地址)如何与外部IPv4网络中的网元(只拥有IPv4地址)进行通信的问题,一般只能用在内部网络中,不适合应用于骨干网和核心网。翻译策略不需要任何的协议调整就允许IPv4网与IPv6网方便地互通,但这种互通的通信效率不高,且限制了一些通用协议的应用,如IPsec、组播协议等,因此就目前的技术水平来看,出于扩展性等性能方面的考虑,在进行核心网和骨干网互联时,一般不适宜采用这种技术。通常,双栈策略和翻译策略用于企业网或驻地网;而在组建核心网和骨干网时,则采用隧道策略。下面重点介绍隧道策略。
隧道策略
隧道策略是IPv4/v6综合组网技术中经常用到的一种机制。隧道利用一种协议来传输另一种协议的数据。它包括隧道入口和隧道出口(隧道终点),这些隧道端点通常都是双栈节点。在隧道入口,以一种协议的形式来对另外一种协议的数据进行封装并发送;在隧道出口,对接收到的协议数据解封装,并做相应的处理。通常,在隧道入口还要维护一些与隧道相关的信息,如记录隧道MTU等参数;在隧道出口,出于安全性考虑,要对封装的数据进行过滤,以防止来自外部的恶意攻击。
隧道策略通常按配置方式进行区分,有手工配置隧道和自动隧道两种类型。在骨干网和核心网中经常采用的MPLS隧道可以通过手工和自动两种形式进行配置。
手工配置隧道包括Manual Tunnel(RFC2893)和GRE(RFC2473)两种类型。Manual Tunnel在隧道入口必须显式指定隧道终点的IPv4地址(双向);GRE主要应用在个别IPv6主机或网络需要通过IPv4网络进行通信的场合,其他应用与Manual Tunnel基本相同。手工配置隧道方式实现相对简单,但扩展性较差,当隧道增多时,隧道配置和维护的工作量较大,故适合于综合组网的初期。在综合组网后期,其也可以以“缺省隧道”的方式而存在。
自动隧道包括隧道代理(Tunnel Broker)、6to4隧道、6over4隧道、ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)隧道、TEREDO隧道、MPLS隧道、兼容地址自动隧道等。其中兼容自动隧道方式已不推荐使用,其扩展性较差,这里就不介绍了。下面重点介绍其他方式。
隧道代理(RFC3053)
隧道代理通常应用于独立的小型IPv6站点,特别是独立分布在IPv4互联网中的IPv6主机需要连接到已有的IPv6网的情况。它提供了一种简化配置隧道的方法,可以减少繁重的隧道配置工作。其思想就是通过专用的服务器自动管理用户发出的隧道请求。用户通过隧道代理能够方便地和IPv6网络建立隧道连接,从而访问外部可用的IPv6资源。隧道代理为早期的IPv6提供商提供了一种非常简捷的接入方式。目前在台湾和日本已有一些应用。
6to4隧道(RFC3056)
6to4隧道是IETF较为重视并得到深入研究的有广阔应用前景的一种网络过渡机制,可以使连接到纯IPv4网络上的孤立IPv6子网或IPv6站点与其他同类站点在尚未获得纯IPv6连接时彼此间进行通信。在IPv4网络内可以采用多种路由协议(OSPF、BGP、RIP、IS-IS等),在两个6to4域之间可以通过MP-BGP路由方式实现路由可达。
6to4隧道采用特殊的IPv6地址。IANA(因特网编号分配委员会)为6to4隧道方式地分配了一个永久性的IPv6格式前缀0x2002,表示成IPv6地址前缀格式为2002::/16。如果一个用户站点拥有至少一个有效的全球惟一的32位IPv4地址(v4ADDR),那么该用户站点将不需要任何分配申请即可拥有如下的IPv6地址前缀2002:(v4ADDR)::/48。
6to4隧道的应用环境有两种:一种是通信双方都处于6to4域中,并且均采用6to4地址;另一种是通信的一端处于6to4域中,并采用6to4地址,而另一端则处于纯IPv6域中,采用纯IPv6地址,此时应使用6to4中继器进行连接。6to4中继器在其纯IPv6接口上参与IPv6单播路由协议;在6to4伪接口上参与IPv6单播路由协议;在支持6to4的IPv4接口上参与IPv4单播路由协议。
6to4隧道实现相对简单,支持的设备较多,但这种机制在网络布置中有一定的耦合性,6to4域与纯IPv6进行通信时需要6to4中继器。当然,作为一种隧道机制,6to4同样也面临着安全问题,而且由于有6to4中继器的存在,问题更为复杂。
6over4隧道(RFC2529)
6over4隧道使得没有直接与IPv6路由器相连的孤立IPv6主机通过IPv4组播域(以此作为虚拟链路层)形成IPv6的互联。所以,在同一个IPv4的组播域中,至少需要有一个使用6over4的IPv6路由器和该6over4主机连接。通过6over4机制,IPv6可以独立于底层的链路,而且可以跨越支持组播的IPv4子网。
6over4机制要求IPv4网络支持组播功能,但目前的大多数网络均没有此功能,因此在实际应用中,它很少被利用。另外,利用IPv4的组播特性作为虚拟链路层,是一种本地传送机制,适用范围很小,只适用于双栈主机间的通信,不能解决将一个孤立节点连接到全局IPv6网络中的问题。6over4隧道通常只能应用在网络边缘,例如企业网和接入网。
ISATAP机制
ISATAP可以使IPv4站点内的双栈节点通过自动隧道接入到IPv6路由器,允许与IPv6路由器不共享同一物理链路的双栈节点通过IPv4自动隧道将数据包送达IPv6下一跳。ISATAP使用一个内嵌IPv4地址的IPv6地址,无论站点使用的是全球还是私有IPv4地址,都可以在站点内使用IPv6-in-IPv4自动隧道技术。ISATAP地址格式既可以使用站点单播IPv6地址前缀,也可以使用全局单播IPv6地址前缀,即能够支持站点和全局的IPv6路由。ISATAP机制通常应用在网络边缘,如企业网或接入网。ISATAP可以和6to4技术联合使用。
Teredo隧道
位于NAT后的IPv6节点采用一般的隧道技术(IPv6-over-IPv4)是不能和NAT域外的IPv6节点进行通信的,因为目前的NAT一般不支持协议类型为41(也就是IPv6-over-IPv4)的数据包。Teredo隧道有别于一般的IPv6-over-IPv4隧道,确切地讲,它是一种IPv6-over-UDP隧道,数据包通过被封装在UDP载荷中的方式穿过NAT。
Teredo隧道的通信实体包括客户端、服务器、中继、特定于Teredo主机的中继。Teredo客户端是指支持Teredo隧道接口的IPv4/v6节点,通过此隧道界面,数据包传送给其他的Teredo客户端以及IPv6网络上的其他节点(通过Teredo中继)。Teredo地址只是分配给 Teredo客户端,其他实体并不分配Teredo地址。Teredo服务器指连接IPv4网络与IPv6网络的IPv4/v6节点,支持用来接收数据包的Teredo隧道接口,其常见作用是帮助 Teredo客户端进行地址配置,协助在Teredo客户端之间或者客户端与纯IPv6主机之间建立通信连接,它使用UDP 3544端口侦听Teredo通信。Teredo中继指能够在IPv4网络上的Teredo客户端之间(使用Teredo隧道接口)以及与纯IPv6主机之间传送数据包的IPv4/v6路由器,它使用UDP 3544端口侦听Teredo通信。特定于Teredo主机的中继指同时具有IPv4与IPv6 Internet连接并无需Teredo中继即可通过 IPv4网络直接与Teredo客户端通信的IPv4/v6节点,它使用UDP 3544端口侦听Teredo通信。它能够使Teredo客户端与6to4主机、带有非6to4全球地址前缀的IPv6主机或者组织内部地址中使用全球前缀的ISATAP以及6over4 主机进行有效通信。
Teredo隧道可使NAT域内的IPv6节点获得全球性的IPv6连接,在IPv4地址匮乏而广泛运行NAT的地区,尤其是中国,它无疑具有较好的应用前景。但Teredo的运行需要Relay的支持,而且它不支持隧道中间存在Symmetric NAT;另外,Teredo地址采用规定格式的前缀也不符合IPv6路由分等级的思想。这些不足在一定程度上将影响Teredo的部署。
如果原来的IPv6、6to4或者ISATAP连接可用,那么主机就不必作为Teredo的客户端。现在,越来越多的IPv4 NAT经过了升级以便能够支持6to4 ,而且IPv6连接变得越来越普遍,因此,Teredo的使用将会越来越少,直到完全被放弃。
MPLS隧道主要有3种形式:在CE(客户边缘)路由器上配置IPv6隧道、MPLS上的电路透传(二层隧道)IPv6、在PE(提供商边缘)路由器起用IPv6(6PE)。其中,前两者在扩展性上存在一定的问题;后者是一种较好的策略。
6PE要求IPv6站点必须通过CE连接到一个或多个运行MP-BGP(多协议扩展-边界网关协议)的双栈PE上,这些PE之间通过MP-BGP来交换IPv6的路由可达信息,通过隧道来传送IPv6数据包。6PE适合从边缘到核心的网络过渡策略。首先它在骨干网和城域核心网仍然可以保持原有的IPv4协议,而只是在网络边缘通过MPLS技术来实现IPv4数据包和IPv6数据包的传送。其次它扩展性较好,当原有网络已经实现了MPLS时,各个边缘网络可以自主选择网络过渡时间和组网方式(本地网的组网方式不受MPLS隧道机制的影响)。6PE路由器用两层的MPLS标签来封装IPv6数据:顶层标签由核心网络设备使用的LDP(标记分布路径)来分发,用来根据路由信息将数据包承载到目的地的6PE;第二层或底部标签与目的地的IPv6前缀有关,通过multi-protocol BGP-4来传播。6PE的缺点主要是,其实施是以网络中已经部署实施了MPLS为前提条件的,对于尚没有部署MPLS的网络不适用。表1是几种MPLS隧道方式特点的比较。 文章录入:csh 责任编辑:csh