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