拓扑:

该拓扑中只有一个BGP区域用于模拟运营商网络,公司1与公司2要实现互通,所以两公司的路由信息需要实现交换。AS100中运行OSPF+MPLS+LDP+BGP ,AR2与AR4建立MBGP邻居关系:

AR2的BGP配置:

[V200R003C00]
#
bgp 100
 peer 4.4.4.4 as-number 100 
 peer 4.4.4.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 4.4.4.4 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 4.4.4.4 enable

AR4的BGP配置:

[V200R003C00]
#
bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 2.2.2.2 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 2.2.2.2 enable

其他配置在此就不展示了。

控制平面分析:

MPBGP会为每条VPNv4路由产生一条标签。

首先什么是VPNv4?  VPNv4=32bit IPV4地址+64bit RD=96bit VPNV4

标签路由内的参数:

  1. RD :又叫路由区分器,适用于私网路由在运营商网络中传输时避免冲突。
  2. IPV4:ipv4地址
  3. RT:用于在PE端删选接收的VPNV4路由
  4. label:标签,MPBGP为VPNV4路由分配的标签
  5. NH:下一跳

 

当在AR2设备(PE)上将OSPF路由引入到VPNV实例中时,MPBGP为该VPNV4路由分配的标签,并通过VPNV4邻居关系发送给AR4。在AR2抓包可发现:

根据抓包数据可以看出,RT 100:200信息放在BGP的扩展属性中,标签路由放在MP_REACH_NLRI中,内有RD、前缀、标签、前缀长度。

该UPDATE报文会被AR4接收,在AR4路由器的BGP vpnv4路由标签表中可以看到AR2为1.1.1.1分配的标签(私网标签),1036

同样的,AR2也会收到AR4发过来的标签路由,在数据转发时该标签将作为内层标签使用。

而外层标签则是由MPLS-LDP分发的。值得注意的是,当VPNv4路由到达PE设备时,PE设备会先将标签路由中的RT值(对方的出向RT值)根据自身配置的入向RT值去判断是否接收,如果一致则剥离RD和RT,只将前缀信息接收放到VRF表中。当再将VRF表中的路由重发布(引入)到OSPF中后,该路由才能被公司内部接收到。

数据平面分析

当AR1要和AR5进行通信时,首先会查IP路由表转发,将数据转发给PE设备,当路由器在收到一个不带标签的数据时会先查FIB表进行转发,如果tunnel ID不为0的时候再去查找LFIB表转发。在该实验中由于是接口绑定了实例,所以数据到达AR2后会先查看实例的FIB表:

结果发现tunnel ID不为0,所以接下来他需要进行标签转发。

查看详细信息后可以看到,去往5.5.5.5的BGP下一跳为4.4.4.4,需要打上内层标签为1030,这个标签是AR4为自身分配的。接下来路由器需要迭代查询去往下一跳4.4.4.4的转发表。

FIB表发现tunnel ID不为0,所以要进行标签转发,查看详细:

发现去往4.4.4.4的下一跳为10.0.23.3出接口是G0/0/1口,标签为1025,该标签是AR3的LDP协议为本设备分发的。

接下来数据在运营商网络中转发时候使用LDP分发的标签进行转发,期间的数据都是带有两层标签转发。

当数据到达AR3设备时,同样是查看标签转发,发现下一跳设备为本设备分发的标签值为3,3号标签为隐式空标签,代表着数据需要将该LDP分的标签弹出转发给下一跳。

所以在AR3和AR4之间数据抓包只能看到一层标签:

弹出外层标签的数据到达AR4之后发现只剩VPNV4的内层标签,查找标签表发现该标签是由自己本身分配的。下一跳是10.0.45.5

 

并且下一跳的标签为空,所以在进行下一跳转发时候弹出标签。由于该路由是从OSPF引入到实例中去的,所以在转发查询时也要查找实例的FIB表。

查看发现tunnel ID为0,所以要进行实例的IP路由转发。

然后将数据转发给AR5,由于5.5.5.5是AR5的直连,所以就将该数据包转发给目的地。这是单向的数据,通信是双向的,反过来的数据转发也是如此。

 

 

朱古力

By 朱古力

一条咸鱼

在 “单域MPLS VPN分析” 有 1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注