BGP/MPLS ×××的实现技术
江苏省电信有限公司南通分公司发展规划部
   摘要 MPLS ×××技术是未来构建×××的发展方向,越来越受到客户和运营商的青睐。BGP/MPLS ×××是第三层MPLS ×××技术。本文在对VRF、RD、RT几个重要概念进行解释之后,对BGP/MPLS ×××的数据转发过程和路由信息分发过程进行了较为详细的叙述。最后通过分析BGP/MPLS ×××的特点,分析了其市场前景。
一、×××技术概述
   ×××(Virtual Private Network)是基于公网,利用隧道、加密等技术,为用户提供的虚拟专用网络,它给用户一种直接连接到私人局域网的感觉。
   1. 传统×××组网方式
   传统×××组网方式分成两种,一种是专线×××,一种是基于客户端设备的××× (CPE-based ×××)。
   专线×××使用DDN电路或者虚电路(如ATM PVC、FR PVC 等)连接客户的站点,形成一个叠加式的二层×××网络。这种方式的×××,成本高、建设周期长、网络拓展性不好,并且可管理性差。
   CPE-based ×××,其×××功能都集成在各种各样的CPE设备之中,运营商的公网为客户提供透明的数据传输。因为×××是跨越不可信任的公网构建而成的,所以一般CPE-based ×××都采用隧道、加密、认证等方式来防止数据被复制、篡改和丢失。这种方式的×××,其最大缺点就在于需要客户投入较大的人力、物力去管理和维护×××,同时加密机制也会对设备的转发性能和网络的拓展性产生很大的影响。
   2. Provider Provisioned ×××(PP-×××)
   随着通信技术的不断发展,特别是MPLS技术的出现,基于运营商网络的×××,即PP-×××应运而生。PP-×××整个操作是作为一个运营商的外包资源实现在网络上,而不是在客户端设备上。这种方式的×××,降低了客户的投入,增加了运营商的收入,同时又具有较好的网络拓展性、可管理性,因而赢得了越来越多客户和运营商的青睐。基于MPLS的×××就属于PP-×××。
二、MPLS ×××简介
   MPLS(Multi-Protocol Label Switch,多协议标签交换)是由IETF提出的新一代IP骨干网络交换标准,是一种集成式的IP Over ATM技术。它融合了IP路由技术灵活性和ATM交换技术简洁性的优点,在面向无连接的IP网络中引入了MPLS面向连接的属性,提供了类似于虚电路的标签交换业务。
   MPLS ×××有三种类型的路由器,CE路由器、PE路由器和P路由器。其中,CE路由器是客户端路由器,为用户提供到PE路由器的连接;PE路由器是运营商边缘路由器,也就是MPLS网络中的标签边缘路由器 (LER),它根据存放的路由信息将来自CE路由器或标签交换路径(LSP)的×××数据处理后进行转发,同时负责和其他PE路由器交换路由信息;P路由器是运营商网络主干路由器,也就是MPLS网络中的标签交换路由器(LSR),它根据分组的外层标签对×××数据进行透明转发,P路由器只维护到PE路由器的路由信息而不维护×××相关的路由信息。
   根据PE路由器是否参与客户的路由,MPLS ×××分成Layer3 MPLS ×××和Layer2 MPLS ×××。其中Layer3 MPLS ×××遵循RFC2547bis标准,使用BGP在PE路由器之间分发路由信息,使用MPLS技术在×××站点之间传送数据,因而又称为BGP/MPLS ×××。
三、BGP/MPLS ×××中几个重要的概念
   1. VRF
   BGP/MPLS ×××的安全举措之一就是路由隔离和信息隔离,它是通过×××路由转发(××× Routing && Forwarding:VRF)表和MPLS中的LSP来实现的。在PE路由器上,存在有多个VRF表,这些VRF表是和PE路由器上的一个或多个子接口相对应的,用于存放这些子接口所属×××的路由信息。通常情况下,VRF表中只包含一个×××的路由信息,但是当子接口属于多个×××时,其所对应的VRF表中就包含了子接口所属的所有×××的路由信息。
   对于每一个VRF表,都具有路由区分符(Route Distinguisher:RD)和路由目标(Route Target:RT)两大属性。
   2. RD
   ×××中IP地址的规划是由客户自行制订的,因而有可能会出现客户选择在RFC1918中定义的私有地址作为他们的站点地址或者不同的×××使用相同的地址域,也就是所谓的地址重叠现象。地址重叠的后果之一就是BGP无法区分来自不同×××的重叠路由,从而导致某个站点不可达。
   为了解决这个问题,BGP/MPLS ×××除了采用在PE路由器上使用多个VRF表的方法,还引入了RD的概念。RD具有全局唯一性,通过将8个字节的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址转化为唯一的×××-IPv4地址。×××-IPv4地址对客户端设备来说是不可见的,它只用于骨干网络上路由信息的分发。
   RD和VRF表之间建立了一一对应的关系。通常情况下,对于不同PE路由器上属于同一个×××的子接口,为其所对应的VRF表分配相同的RD,换句话说,就是为每一个×××分配一个唯一的RD。但是对于重叠×××,即某个站点属于多个×××的情况,由于PE路由器上的某个子接口属于多个×××,此时,该子接口所对应的VRF表只能被分配一个RD,从而多个×××共享一个RD。
   3. RT
   RT的作用类似于BGP中扩展团体属性,用于路由信息的分发。它分成Import RT和Export RT,分别用于路由信息的导入、导出策略。当从VRF表中导出×××路由时,要用Export RT对×××路由进行标记;在往VRF表中导入×××路由时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中。RT使得PE路由器只包含和其直接相连的×××的路由,而不是全网所有×××的路由,从而节省了PE路由器的资源,提高了网络拓展性。
   RT具有全局唯一性,并且只能被一个×××使用。通过对Import RT和Export RT的合理配置,运营商可以构建不同拓扑类型的×××,如重叠式×××和Hub-and-spoke ×××。
四、BGP/MPLS ×××的体系结构
   1. BGP/MPLS ×××的
   体系结构
   体系结构主要分成数据面和控制面。数据面定义了×××数据的转发过程;控制面则定义了LSP的建立和×××路由信息的分发过程。在此,我们主要讨论一下数据的转发过程和路由信息的分发过程。
   2. 数据转发过程
   在MPLS网络中传输的×××数据采用外标签(又称隧道标签)和内标签(又称×××标签)两层标签栈结构,它们分别对应于两个层面的路由:域内路由和×××路由。域内路由即MPLS中的LSP是由PE路由器和P路由器通过运行标签分发协议(Label Distribution Protocol:LDP)或资源预留协议(Resource Reservation Protocol:RSVP)建立的,它所产生的标签转发表用于×××分组外层标签的交换。×××路由是由PE路由器之间通过运行MP-iBGP建立的,该协议跨越骨干网的P路由器分发×××标签形成×××路由。
   在PE路由器上除了VRF表外,还有MPLS路由表,该表用于存放×××标签和子接口的对应关系,为出口PE路由器到CE路由器之间的数据转发提供依据。
   具体数据转发过程如下:当CE路由器通过某个子接口将一个×××分组发给入口PE路由器后,PE路由器查找该子接口对应的VRF表,从VRF表中得到×××标签、初始外层标签以及到出口PE路由器的输出接口。当×××分组被打上两层标签之后,就通过输出接口发送到相应LSP上的第一个P路由器。骨干网中P路由器根据外层标签逐跳转发×××分组,直至最后一个P路由器弹出外层标签,将只含有×××标签的分组转发给出口PE路由器。出口PE路由器根据×××标签,查找MPLS路由表得到对应的输出接口,在弹出×××标签后通过该接口将×××分组发送给正确的CE路由器,从而实现了整个数据转发过程。特别的,当出口PE路由器和入口PE路由器是同一个路由器时,PE路由器对收到的×××分组将不经过任何处理直接转发给目的CE路由器。
   3. 路由信息分发过程
   在MPLS ×××中,因为采用了两层标签栈结构,所以P路由器并不参与×××路由信息的交互,客户路由器是通过CE和PE路由器之间、PE路由器之间的路由交互知道属于某个×××的网络拓扑信息。
   (1)CE-PE路由器之间通过采用静态/缺省路由,或采用IGP(RIPv2、OSPF)等动态路由协议,或建立EBGP连接等方式进行路由信息的交互。
   当入口PE路由器从某个子接口接收到来自CE路由器的路由信息时,除了将该路由导入对应的VRF表,PE路由器还要为该路由分配一个×××标签。该×××标签用以识别接收路由信息的子接口,因此从同一个子接口接收到的路由信息将被分配同样的×××标签,从而PE路由器可以将收到的×××分组转发到合适的子接口。
   (2)PE-PE之间通过采用MP-iBGP进行路由信息的交互。PE路由器通过维持iBGP网状连接或使用路由反射器来确保路由信息被分发给所有的PE路由器。当入口PE路由器分发路由信息时,将同时携带路由所在VRF表的RD,即将路由的IPv4地址转化为×××-IPv4地址。分发的具体路由信息包括该路由的×××-IPv4地址前缀、下一跳BGP即入口PE路由器的×××-IPv4地址(其中RD=0)、分配给该路由的×××标签和该路由所在VRF表的Export RT。该路由信息我们称为带有标签的×××-IPv4路由信息。
   当出口PE路由器收到路由信息时,将查看该路由的RT,如果RT和其任意VRF表中任意一个Import RT相符时,就将该路由存入×××-IPv4.RIB表。在进行路由选择之后,将最优路由中的×××-IPv4地址转化成IPv4地址,即去掉地址中的RD,导入到相应的VRF表中。
五、跨越多个运营商网络的MPLS ×××的实现
   在某个客户的MPLS/×××跨越多个运营商网络的情况下,如果假定运营商所用地址域不重叠,那么可以通过下述方法来解决:①为了分发带有标签的IPv4路由信息,在边缘路由器上建立EBGP连接;②为了分发带有标签的×××-IPv4路由信息,在属于不同运营商的PE路由器之间建立多跳的EBGP连接。值得注意的是,这种用于不同运营商之间的EBGP解决方案同样适用于一个具有多个AS值的运营商。
六、结束语
   1. BGP/MPLS ×××的特点
   ①作为PP-×××,提高了用户网络管理效率,降低了用户在网络管理方面投入的费用。
   ②解决了纯三层IP ×××所不能解决的地址重叠和重叠×××的问题。
   ③具有较好的网络拓展性,解决了传统×××在实现用户节点全网状连接时的N2问题。
   ④不需要采用加密、认证等手段,通过路由隔离、地址隔离等多种方式,实现与传统×××相类似的安全保证。
   ⑤运营商勿需经过网络调整可以同时为用户提供×××业务和一些相关的IP增值业务(如Internet接入,防火墙,NAT等)。
   ⑥支持用户各种Qos和Cos业务需求。但是BGP/MPLS ×××也具有它的局限性,比如只能支持IP技术,不能支持IP多播应用等。
   2. 市场前景综上所述,BGP/MPLS ×××可以作为传统的基于二层专线的×××、纯三层的IP ×××和隧道方式的×××的替代技术,是未来构建×××技术的发展方向。但是由于×××路由存在于PE路由器上,由运营商代替用户维护路由,所以对于一些网络安全意识较高的高端用户,他们更倾向于使用传统的二层×××技术或者新兴的Layer2 MPLS ×××。因此,目前BGP/MPLS ×××应定位于缺乏专门技术人员而想尽量节省资金的那些以接入互联网为主,其次才是通过互联网访问公司内部网络的中小规模的企业×××用户。运营商在向BGP/MPLS ×××演进过程中,可采用循序渐进的方式,在保持原有业务的同时,将BGP/MPLS ×××业务作为传统×××的补充,在积累一定运营经验后再进行全网的推广