介绍

全称应该叫BGP/MPLS IP VPN,是一个多协议集合的三层VPN解决方案。(适用于专网)

它使用MP-BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。

其中,MPLS标签由MP-BGP(内网)和LDP(公网)分发,公网标签也可以使用RSVP分发,用于流量工程(MPLS-TE)。

CE-PE-P 设备角色

CE 用户边缘设备,用于连接PE,与MPLS VPN无直接关系。
只用于对接PE,交换路由信息。使用静态路由、OSPF RIP ISIS BGP等交换路由表。

PE 运营商边缘设备,与CE直连,通过MP-BGP连接对端PE.
运行 MP-BGP,使用VRF通过绑定与CE连接的接口。隔离本地不同用户的路由表,打上RD和RT标签。
使用RD在BGP传输的过程中区分路由。
使用RT(VPN Target),确保导入对端PE的VRF。
是承载全部MPLS VPN功能的角色。

P 运营商骨干设备,与PE设备连接。只需要转发MPLS数据,使用IGP打通底层路由。

RD、RT、VRF说明

VRF(Virtual Route Forwarding):

VRF的目的是解决不同企业私网地址段相同,为了防止冲突,采用将相同私网地址放到不同的VRF表中。VRF区分不同CE端进来边界PE的相同私网路由,路由器的每一个VRF都自动生成相应VRF表,比如show route vrf A ,show route vrf B。对于每一个VRF表,都具有路由区分符(Route Distinguisher:RD)和路由目标(Route Target:RT)两大属性。

RD(Route-Distinguisher):

8个字节的RD+4个字节的IPv4地址组成96位bit VPNv4路由,使不唯一的私网IPv4地址转化为唯一的VPN-IPv4地址,该VPNv4路由在ISP域内传递(区分),RD给某VRF里面的路由打上标签,进而实现地址的复用而不产生冲突。RD用来区分本地VRF,该属性仅本地有效。

RT(Route Tagert):

BGP的扩展团体属性,它分成Import RT和Export RT,分别用于路由的导入、导出策略。也即RT是控制这个VRF里面可以发出和接受什么样的路由。RT具有全局唯一性,并且只能被一个VPN使用。
关于RT,新人还要注意的点:
当从VRF表中导出VPN路由给BGP邻居时,要用Export RT对VPN路由进行标记;在往BGP邻居的VRF表中导入VPN路由时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中。RT使得PE路由器只包含和其直接相连的VPN的路由,而不是全网所有VPN的路由,从而节省了PE路由器的资源,提高了网络拓展性。(将connect路由发给BGP邻居,而)

通过配置import和export RT,来控制收发路由。

1.当从VRF表中导出VPN路由时,要用Export RT对VPN路由进行标记。

2.当往VRF表中导入VPN路由时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中。

RD,这条路由是谁发出来的,因此每一个vrf有它的rd值
RT,这条路由从从哪来,要去哪里。(接收方和发送方这个值一样,区别是一个是export,一个是inport)

MPLS VPN路由发布

CE到PE之间的路由交换(使用静态或动态路由)

PE将接收的路由,注入指定的VRF (VRF与和CE连接的接口绑定)

PE将VRF的路由注入MP-BGP(打上RD和RT标签,还有MPLS私网标签)成为VPNv4路由
其中RD和RT为手动指定,MPLS私网标签为MP-BGP分配。

VPNv4路由通过MP-BGP在骨干网上传递,到指定的对端PE

对端PE 根据RT导入指定的VRF。

对端PE将路由发送给CE。

VRF(虚拟路由转发)用于隔离路由表。

MPLS VPN数据转发

数据从CE到入站PE(只是普通IP转发,入站PE的接口绑定VRF)

数据从入站PE到中间 P 设备,
首先压入私网标签,此标签是MP-BGP分配的,与VPNv4路由对应。LSP只是两端的PE之间建立。
然后压入公网标签,此标签是LDP分配的,LSP是入站PE、中间P设备、出站PE之间建立。
其中,P设备对于内层的私网标签是无感知的,只根据公网标签进行数据转发。

中间 P 设备到出站PE+
当出站PE收到数据的时候,只剩下一层私网标签。(PHP原因,倒数第二跳弹出标签)
然后根据私网标签,转发到指定的VRF。(剥离私网标签)

数据从出站PE到远端CE (只是普通IP转发,出站PE的接口绑定VRF)

(为什么需要外网标签呢? 因为P设备没有VPNv4的私网路由,无法建立LSP)

公网标签与私网标签还有LSP

公网标签通过LDP建立,PE和PE设备都参与一条LSP。
私网标签,通过MP-BGP建立,两端PE进行建立LSP。
所以私网标签只需要MP-BGP建立邻居关系。(P与PE之间,只需要底层路由互通,不需要BGP。)