MPLS virtual private network PE-CE之间的路由协议(BGP)

基础配置:

BGP是 PE-CE之间可以使用的另一种路由协议,一般在用户需要连接两个或多个运营网络的时候使用 BGP,通常使用eBGP,因为通常情况下,VPN客户的AS号跟运营商的AS是不相同的。这时需安在r作,由引入操作的情况下,就能直接将路由传为从CE学习到的是BGP路由,在不需要作路由引递给其他的PE。如下输出所示,PE1在其VPN实例下指定了一个eBGP邻居地址10.1.14.1(CE)。

sysname PE1#
bgp 100
Ipv4-family vpn-instance VPN-APeer 10.1.14.1 as-number 65000

AS替换:

在PE-CE使用BGP的 MPLS VPN环境中,因为BGP传递路由时会携带AS-PATH属性,如果同个VPN用户各站点使用不同的AS号,站点之间可以进行正常的路由交换;如果同个用户的站点都使用相同的 AS 号,那么必BGP能正常学习到路由,这些特性包括AS替换(substitute-as >和 A11ow-as-loop。下面分别讲述一下这两个特性的功能及使用方法。

如图所示,用户的两个站点使用的AS号都是65000:
在这里插入图片描述
当PE1路由器将Site1的 VPNv4路由通告给PE2时,AS-PATH 中携带了AS号65000,CE2接收后,因为在路由的AS-PATH中发现了自己的AS号,会丢弃该路由。同样的,Site2的路由也无法被Site1接收。一种解决办法是为各站点分配不同的AS号,这种方案需要修改很多配置,比较麻烦。另一种比较简单的解决办法是利用BGP的AS替换功能。AS替换的操作原理是在PE路由器向用户CE通告路由之前,将AS-PATH中出现的用户AS号替换成运营商的AS号。这样,远端CE就会接收路由了,因为在AS-PATH中看不到自己的AS号了。当启用AS替换功能后,PE2检查到CE2的AS号为65000,在路由通告给CE2之前,将AS-PATH 100 65000替换成100 100。

华为 VRP系统配置AS替换的命令是: peer { group-name | ipv4-address }substitute-as,如下输出显示了PE2上相关配置命令10.1.35.1为CE2的地址。

bgp 100
Ipv4-family vpn-instance VPN-Apeer 10.1.35.1 substitute-as

Allow-as-loop:

Allow-as-loop是另一种解决方法,启用此特性后,PE路由器不需要检查AS-PATH属性,而是允许CE路由器接收带有自己AS 号的BGP路由,如下输出所示,可以在CE端利用Allow-as-loop特性来接收远端站点传送过来的路由,显示了该特性的使能方法。

Sysname CE#
bgp 65000
Ipv4-family unicast
Peer 10.1.35.2 allow-as-loop#

在Hub-and-spoke组网环境中,用户可能不希望Spoke站点之间直接通信,而是需要经过Hub站点通信,这时,Spoke站点之间的路由也必须先通告给Hub站点,然后再由Hub站点传递到其他站点,也就是说,Hub站点的CE路由器在接收到一个Spoke站点的路由后,又需要再将其通告回给PE路由器,这时必须在PE路由器上启用Allow-as-loop才能接收路由,如下图所示:
在这里插入图片描述

这时,来自Spokel站点的路由要想再次进入运营商网络,必须在PE2处使能Allow-as-loop特性才行。

SoO:

前面的笔记中我们讲到,在CE双归属的MPLS VPN环境中,容易发生路由环路。前文中也介绍了一些防止环路的方法,同时还介绍了两个BGP的特性为AS替换和Allow-as-loop,这两个特性完成了一定的功能,却使得AS-PATH防环机制失效了,这就造成了环路隐患。如图下图所示,CE1和CE2位于同一个VPN站点,CE1接入PE1,CE2接入PE2,PE1从CE1接收到路由后,通过MP-iBGP通告给其他PE(包括PE2),PE2进而将路由转发给CE2,而CE2已通过Site1内的IGP学习到该路由,这样有可能会引起Site1内部的路由环路。
在这里插入图片描述

这种情况最好利用 BGP的另一个特性——SoO来避免环路的隐患。SoO ( Site-of-Origin)叫作起源站点,用于标识路由的发源站点, 而SoO是一种BGP的扩展团体属性,用来防止路由环路。在PE-CE之间使用的是BGP协议才可以使用SoO。在配置了SoO的PE路由器上,当VP刻带有SoO值的VPNv4路由时,通过比牧u而d兔将路由又的其他PE从公网中接收到带有SoO值的 VPNv4路SoO值是否和本端配置的一样,如果一样就不引入回给 VPN实例,从而避免将路由又发布回给源站点,如下图所示:
在这里插入图片描述
如下输出所示,华为VRP系统中 SoO的配置方法。

Sysname PE2
bgp 100

Ipv4-family vpn-instance VPN-A
peer 192.168.1.2 substitute-as
peer 192.168.1.2 SoO 100:101
PE2上针对CE2 (192.168.1.2)应用了AS替换特性,并且设置SoO值为100:101。

整理资料来源:《HCIE路由交换学习指南》

猜你喜欢

转载自blog.csdn.net/tushanpeipei/article/details/113088352