BGP/MPLS IP VPN的基本模型由三部分组成:CE、PE和P。
CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。
P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。
VPN实例
在BGP/MPLS IP VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。VPN实例中的信息包括:IP路由表、标签转发表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表等。

BGPMPLS中的PE和CE bgp mpls pe与pe直连_tcp/ip

BGP/MPLS IP VPN的路由发布
1、涉及的设备
VPN路由信息的发布涉及CE和PE,P设备只维护骨干网的路由,不需要了解任何VPN路由信息。PE设备一般维护所有VPN路由。
2、发布过程
本地CE到入口PE、入口PE到出口PE、出口PE到远端CE。完成这三部分后,本地CE与远端CE之间建立可达路由,VPN路由信息能够在骨干网上发布。
1)本地CE到入口PE的路由信息交换
CE与直接相连的PE建立邻居或对等体关系后,把本站点的IPv4路由发布给PE。CE与PE之间可以使用静态路由、RIP、OSPF、IS-IS 或BGP。无论使用哪种路由协议,CE发布给PE的都是标准的IPv4路由。
2)入口PE到出口PE的路由信息交换
PE从CE学到VPN路由信息后,存放到VPN实例中。同时,为这些标准IPv4路由增加RD,形成VPN-IPv4路由。
入口PE通过MP-BGP的Update报文把VPN-IPv4路由发布给出口PE。Update报文中携带Export VPN Target属性及MPLS标签。
出口PE收到VPN-IPv4路由后,在下一跳可达的情况下进行路由交叉、隧道迭代和路由优选,决定是否将该路由加入到VPN实例的路由表。
3)出口PE到远端CE的路由信息交换
3、一些关键属性
RD
传统BGP无法处理地址空间重叠的VPN的路由,本端PE通过不同的VPN实例可以区分地址空间重叠的VPN的路由,但是这些路由发往对端PE后,对端PE将根据BGP选路规则只选择其中一条VPN路由,从而导致去往另一个VPN的路由丢失。BGP/MPLS IP VPN PE之间使用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)来发布VPN路由,通过路由标识符RD+IPv4地址组成的VPN-IPv4地址来解决上述问题。

BGPMPLS中的PE和CE bgp mpls pe与pe直连_BGPMPLS中的PE和CE_02

RT
BGP/MPLS IP VPN使用BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布。
每个VPN实例关联一个或多个VPN Target属性。有两类VPN Target属性:
Export Target:本地PE从直接相连Site学到IPv4路由后,转换为VPN-IPv4路由,并为这些路由设置Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。
Import Target:PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例中。
在BGP/MPLS IP VPN网络中,通过VPN Target属性来控制VPN路由信息在各Site之间的发布和接收。VPN Export Target和Import Target的设置相互独立,并且都可以设置多个值,能够实现灵活的VPN访问控制,从而实现多种VPN组网方案。

BGP/MPLS IP VPN的报文转发
MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。
1、网络结构
进行MPLS标签交换和报文转发的网络设备称为标签交换路由器LSR(Label Switching Router);由LSR构成的网络区域称为MPLS域(MPLS Domain)。位于MPLS域边缘、连接其他网络的LSR称为边缘路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)。IP报文在MPLS网络中经过的路径称为标签交换路径LSP(Label Switched Path)。LSP是一个单向路径,与数据流的方向一致。

2、体系结构
MPLS的体系结构如由控制平面(Control Plane)和转发平面(Forwarding Plane)组成。

控制平面:负责产生和维护路由信息以及标签信息。
    路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
    标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
    标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
    转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
    标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。

3、标签
标签(Label)是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台设备上,一个标签只能代表一个FEC。
MPLS报文与普通的IP报文相比增加了MPLS标签信息,MPLS标签的长度为4个字节。MPLS标签封装在链路层和网络层之间,可以支持任意的链路层协议。

BGPMPLS中的PE和CE bgp mpls pe与pe直连_服务器_03

标签栈(Label Stack)是指标签的排序集合。,靠近二层首部的标签称为栈顶MPLS标签或外层MPLS标签(Outer MPLS label);靠近IP首部的标签称为栈底MPLS标签或内层MPLS标签(Inner MPLS label)。理论上,MPLS标签可以无限嵌套。目前MPLS标签嵌套主要应用在MPLS VPN、TE FRR(Traffic Engineering Fast ReRoute)中。标签栈按后进先出方式组织标签,从栈顶开始处理标签。

BGPMPLS中的PE和CE bgp mpls pe与pe直连_服务器_04

0~15:特殊标签。
16~1023:静态LSP和静态CR-LSP(Constraint-based Routed Label Switched Path)共享的标签空间。
1024及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering)、MP-BGP(MultiProtocol Border Gateway Protocol)等动态信令协议的标签空间。

4、基本转发过程
在MPLS基本转发过程中涉及的相关概念如下:
标签操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作。
Push:当IP报文进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)。
Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。
Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉。