Post

MPLS L3VPN - RD, RT, VPN Label

MPLS L3VPN - RD, RT, VPN Label

MPLS L3VPN最重要的3个概念,RD,RT,VPN Label

img

RD,RT,VPN Label

配置示列

1
2
3
4
5
6
7
8
#
ip vpn-instance vpna
 ipv4-family
  route-distinguisher 200:1 # RD配置
  apply-label per-instance # VPN Label配置
  vpn-target 111:1 export-extcommunity # RT export配置
  vpn-target 111:1 import-extcommunity # RT import配置
#

RD (Route Distinguisher)

img

RD(Route Distinguisher)

img

VPN-IPv4地址结构 - 12 字节

网络中有多个客户,并且客户的IP Prefix都相同时,网络侧会发生地址冲突

img

普通IP Prefix

为了解决这个问题,引入RD的概念,通过 RD + IP Prefix = VPNv4 Prefix ,生成唯一的路由前缀在MPLS网络中传播。这样MPLS网络可以承载多个不同的客户,并且这些客户的地址可以重叠。

img

VPNv4 Prefix

  • An RD is a 64-bit field used to make the VRF prefixes unique when MP-BGP carries them.
  • The RD does not indicate which VRF the prefix belongs to.
  • Each VRF instance on the PE router must have one RD assigned to it. 并且一个VRF里面的RD只能配置一个。
  • RD的格式:ASN:nn or IP-address:nn
    • ASN:nn –> 65535:100 (AS号:ID)
    • IP-address:nn –> 192.168.1.1:100 (loopack0:ID)

网络中针对同一个客户,不同的PE尽量配置不同的RD,因为RD相同会造成RR只优选一条VPNv4路由,无法形成FRR保护

img

RD配置一样,只优选最优的一条

img

RD配置不一样,都可以优选发布

RTs (Route Targets)

img

RTs

BGP/MPLS IP VPN使用64位的BGP扩展团体属性-VPN Target来控制VPN路由信息的发布。

每个VPN实例关联一个或多个VPN Target属性。有两类VPN Target属性:

  • Export Target(ERT):本地PE从直接相连Site学到IPv4路由后,转换为VPN-IPv4路由,并为这些路由设置Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。
  • Import Target(IRT):PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例的路由表。
  • 一个VRF里面的RT可以配置多个。

站点之间是否能够通信,由RT来控制。如下图,PE1可以和PE3通信,因为PE1的import和PE3的export RT一样,反之亦然,但是PE2没有跟PE3对齐,所以PE2无法跟PE3通信。

img

RT控制通信

使用VPN Target而不直接用RD作为BGP扩展团体属性的原因在于:

  • 一条VPN-IPv4路由只能有一个RD,但可以关联多个VPN Target属性;BGP如果携带多个扩展团体属性,可以提高网络的灵活性和可扩展性。
  • VPN Target用于控制同一PE上不同VPN之间的路由发布。即,同一PE上的不同VPN之间可以设置匹配的VPN Target来实现路由的互相引入。

VPN Label

img

VPN Label

路由器C有2个VRF,VRF地址都一样的。如果RouterA要访问VRF1的192.168.1.1,RouterB要访问VRF2的192.168.1.1,两个流量到达RouterC时候,RouterC无法判断应该转发给哪个VRF。

img

VPN Label

如果RouterC给每一个VRF分配一个标签发送给远端设备,远端设备发送报文的时候携带这个标签,这样RouterC收到流量后就能先判断这个流量属于哪个VRF,然后在这个VRF查路由表转发。

默认情况,每个VRF每个路由会单独分配一个标签,可以配置给整个VRF里面的所有路由分配一个标签,但是不同的VRF标签必须不一样(才能区分VRF)

img

VPN Label分配

MPLS VPN路由传递过程

img

控制面交互 1-3

img

控制面交互 4-5

img

Route Propagation in an MPLS VPN Network Step by Step

MPLS VPN流量转发过程

img

流量转发过程

img

抓包

img

Packet Forwarding in an MPLS VPN Network

参考资料

  1. 《MPLS Fundamentals》- Cisco Book
  2. 《MPLS and VPN Architectures》- Cisco Book
  3. BRKMPL-2102 - Designing IP VPNs MPLS with/out Segment Routing - Cisco Live
  4. 《BGP/MPLS IP VPN原理描述》- 华为
This post is licensed under CC BY 4.0 by the author.