MPLS和VPN结合
MPLS和VPN结合
本文内容来自于互联网,分享MPLS和VPN结合
MPLS VPN网络主要由CE、PE和P等3部分组成:CE(CustomEdgeRouter,用户网络边缘路由器)设备直接与服务提供商网络(图1中的MPLS骨干网络)相连,它“感知”不到VPN的存在;PE(Provider Edge Router,骨干网边缘路由器)设备与用户的CE直接相连,负责VPN业务接入,处理VPN-IPv4路由,是MPLS三层VPN的主要实现者:P(Provider Router,骨干网核心路由器)负责快速转发数据,不与CE直接相连。在整个MPLS VPN中,P、PE设备需要支持MPLS的基本功能,CE设备不必支持MPLS。
PE是MPLSVPN网络的关键设备,根据PE路由器是否参与客户的路由,MPLSVPN分成Layer3MPLS VPN和Layer2 MPLS VPN。其中Layer3 MPLS VPN遵循RFC2547bis标准,使用MBGP在PE路由器之间分发路由信息,使用MPLS技术在VPN站点之间传送数据,因而又称为BGP/MPLS VPN。本文主要阐述的是Layer3 MPLS VPN。
在MPLSVPN网络中,对VPN的所有处理都发生在PE路由器上,为此,PE路由器上起用了VPNv4地址族,引入了RD(RouteDistinguisher)和RT(RouteTarget)等属性。RD具有全局惟一性,通过将8byte的RD作为IPv4地址前缀的扩展,使不惟一的IPv4地址转化为惟一的VPNv4地址。VPNv4地址对客户端设备来说是不可见的,它只用于骨干网络上路由信息的分发。PE对等体之间需要发布基于VPNv4地址族的路由,这通常是通过MBGP实现的。正常的BGP4能只传递IPv4的路由,MP-BGP在BGP的基础上定义了新的属性。
MP-iBGP在邻居间传递VPN用户路由时会将IPv4地址打上RD前缀,这样VPN用户传来的IPv4路由就转变为VPNv4路由,从而保证VPN用户的路由到了对端的PE上以后,即使存在地址空间重叠,对端PE也能够区分开分属不同VPN的用户路由。RT使用了BGP中扩展团体属性,用于路由信息的分发,具有全局惟一性,同一个RT只能被一个VPN使用,它分成Import RT和Export RT,分别用于路由信息的导入和导出策略。在PE路由器上针对每个site都创建了一个虚拟路由转发表VRF(VPN Routing & Forwarding),VRF为每个site维护逻辑上分离的路由表,每个VRF都有Import RT和Export RT属性。当PE从VRF表中导出VPN路由时,要用Export RT对VPN路由进行标记;当PE收到VPNv4路由信息时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中,而不是全网所有VPN的路由,从而形成不同的VPN,实现VPN的互访与隔离。通过对Import RT和Export RT的合理配置,运营商可以构建不同拓扑类型的VPN,如重叠式VPN和Hub-and-spoke VPN。
整个MPLSVPN体系结构可以分成控制面和数据面,控制面定义了LSP的建立和VPN路由信息的分发过程,数据面则定义了VPN数据的转发过程。
在控制层面,P路由器并不参与VPN路由信息的交互,客户路由器是通过CE和PE路由器之间、PE路由器之间的路由交互知道属于某个VPN的网络拓扑信息。CE-PE路由器之间通过采用静态/默认路由或采用ICP(RIPv2、OSPF)等动态路由协议。PE-PE之间通过采用MP-iBGP进行路由信息的交互,PE路由器通过维持iBGP网状连接或使用路由反射器来确保路由信息分发给所有的PE路由器。除了路由协议外,在控制层面工作的还有LDP,它在整个MPLS网络中进行标签的分发,形成数据转发的逻辑通道LSP。
在数据转发层面,MPLSVPN网络中传输的VPN业务数据采用外标签(又称隧道标签)和内标签(又称VPN标签)两层标签栈结构。当一个VPN业务分组由CE路由器发给入口PE路由器后,PE路由器查找该子接口对应的VRF表,从VRF表中得到VPN标签、初始外层标签以及到出口PE路由器的输出接口。当VPN分组被打上两层标签之后,就通过PE输出接口转发出去,然后在MPLS骨干网中沿着LSP被逐级转发。在出口PE之前的最后一个P路由器上,外层标签被弹出,P路由器将只含有VPN标签的分组转发给出口PE路由器。出口PE路由器根据内层标签查找对应的输出接口,在弹出VPN标签后通过该接口将VPN分组发送给正确的CE路由器,从而实现了整个数据转发过程。