MPLS/BGP虚拟专用网络跨域解决方案 背靠背VRF(VRF-to-VRF)/Option A、One-hop MP-EBGP/Option B、Multi-hop MP-EBGP/Option C

背靠背VRF(VRF-to-VRF)/Option A

基础拓扑

CE1---PE1---P1---ASBR1-----ASBR2---P2---PE2---CE2

路由通告

VPNv4路由是分段逐AS通告的。CE1将IPv4路由通告给PE1。PE1将VPNv4路由通告给ASBR1。ASBR1通过匹配RT,将其放入对应的VRF中,然后将IPv4路由通告给ASBR2。ASBR2将VRF下收到的路由转换成VPNv4路由通告给PE2。PE2通过RT匹配,将路由放入对应的VRF中。最后通告IPv4路由给CE2。在ASBR2眼中,ASBR1是一个CE设备。

另一个方向的路由通告也是如此。

数据转发

AS内如同普通的域内VPN一样,为两层标签,内层为BGP为VPN路由分配的标签,外层是LDP标签。域间是普通的IPv4数据流,没有标签。因为很容易理解,所不展开讲述了。

 

One-hop MP-EBGP/Option B

基础拓扑

CE1---PE1---P1---ASBR1-----ASBR2---P2---PE2---CE2

路由通告

路由逐AS传输。PE1为VPNv4路由分配BGP标签,将VPNv4路由通告给ASBR1。ASBR1为VPNv4路由分配BGP标签,然后将VPNv4路由通告给ASBR2。ASBR2为VPNv4路由分配标签,然后将VPNv4路由通告给PE2。

另一个方向的路由通告是一样的道理。

注意:

ASBR需要接受所有的VPN路由。

通常IBGP邻居都会配置next-hop。上面的原理是按照这种典型情况来讲解的。如果ASBR2将路由发送给PE2时不修改next-hop,则其也不会修改ASBR1分配的VPN标签。

数据传输

  1. CE1将IP报文发送给PE1。
  2. PE1查找VPN路由,先push ASBR1为VPN路由分配的BGP标签,然后查找ASBR1的loopback地址,push对应的LDP标签,将报文发送出去。
  3. 沿着LDP LSP,报文到达ASBR1。ASBR1 pop外层标签,然后swap内层标签。新标签是ASBR2为VPN路由分配的BGP标签,将报文发送出去。
  4. 数据到达ASBR2后,ASBR2 swap标签,新标签为PE2为VPN路由分配的BGP标签,然后查找到PE2的loopback地址的LDP标签,push LDP标签,将报文发送出去。
  5. 沿着LDP LSP,报文到达PE2。PE2首先pop外层标签。然后根据MBGP标签找到VRF,查找VRF中的路由,pop所有标签后,将IP报文发送给CE2。
  6. CE2将数据当做普通的IP报文进行处理。

另一个方向的数据转发原理相同。

 

Multi-hop MP-EBGP/Option C

基础拓扑

CE1---PE1---P1---ASBR1-----ASBR2---P2---PE2---CE2

路由通告

和AS内VPN路由的通告很类似。只是AS内VPN中,本端和远端PE是IBGP邻居,是在IBGP邻居间传输VPN路由。OptionC中,跨AS通告VPN路由时,本端和远端PE建立的是多跳EBGP邻居,是在多跳EBGP邻居之间传输VPN路由。通告路由前仍然要先为VPN路由分配BGP标签。

数据转发

如果ASBR1上IGP重发布了从其EBGP邻居 ASBR2学习到的PE2的loopback接口的路由:1、CE1将IP报文发送给PE1。

2、PE1收到报文后,找到匹配的VPN路由,为报文push PE2为VPN路由分配的BGP标签。VPN路由的下一跳是PE2的loopback地址,到PE2的loopback地址的下一跳地址是直连可达的,找到相应的LDP标签,push LDP标签,将报文发送出去。

3、ASBR1收到报文,swap外层标签,新的外层标签是ASBR2为ASBR1通告的到PE2的loopback地址的BGP标签,将报文发送出去。

4、ASBR2收到报文,swap外层标签,新的外层标签是到PE2的LDP的标签,然后将报文发送出去。

5、PE2收到报文后,pop外层标签,根据内层VPN路由标签找到对应的VRF,弹出内层标签。查找VRF中的路由表,将ip报文发送给CE2。

6、CE2将报文作为普通的IP报文进行处理。

 

如果ASBR1上IGP没有重发其从EBGP邻居ASBR2学习到的PE2的loopback接口的路由:

1、CE1将IP报文发送给PE1。

2、PE1收到报文后,找到匹配的VPN路由,为报文push PE2为VPN路由分配的BGP标签。VPN路由的下一跳是PE2,到PE2的路由下一跳是ASBR1,所以首先push ASBR1通过IBGP会话通告的到PE2的loopback地址的BGP标签。然后再找到到ASBR1 loopback地址的LDP标签,push LDP标签。将报文发送出去。

3、ASBR1收到报文,pop外层标签,swap原来的中层标签,新的外层标签是ASBR2为ASBR1通告的到PE2的loopback地址的BGP标签,将报文发送出去。

4、ASBR2收到报文,swap外层标签,新的外层标签是到PE2的LDP的标签,然后将报文发送出去。

5、PE2收到报文后,pop外层标签,根据内层MBGP标签找到对应的VRF,弹出内层标签。在VRF中查找路由,将ip报文发送给CE2。

6、CE2将报文作为普通的IP报文进行处理。

 

另一个方向数据转发原理相同。

你可能感兴趣的:(计算机网络,MPLS/BGP,虚拟专用网络,背靠背VRF/Option,A,One-hop,MP-EBGP,Option,C,跨域)