分享

BGP选路原则之本地优先级(Local_Pref)

 网络工程师阿龙 2022-02-08

   

  工

  圈

网络工程师阿龙
中国圈内最早的公益公众号,本号已认证(关注近5w+

关注




信息爆炸的年代,过多无用、重复的信息充斥着我们,喜欢路由交换技术,关注我们一个就够了!本公众号致力于原创、分享、整理有价值的信息,如分享个人经验、实验技术贴等,倡导大家利用零碎时间进行学习,如您是新手,跟着文章一步一步往下阅读,跟着思路走,看多了,后面您将更容易入手网络方面的理论。如果您已经是技术高手,浏览本文章,无形中让您也复习了一次知识点,加深巩固,何乐而不为呢? 




之前我分享过BGP选路原则第一条,首选值。如果忘记了的同学,可以再回顾一下。(点击下方链接)

BGP选路原则之首选值(华为特性)

我们都知道BGP最明显的特点就是:丰富的路由属性。这样才使得BGP可以更好地控制路由的传播。要充分利用好这些路由属性,就需要制定一些原则,才能更公平地去PK相同路由,进行优胜劣汰。BGP选路原则有13条,之前我与大家分享了第一条:首选值。如果BGP收到相同的路由,首选值如果也相同的话,那么就会继续PK下一条原则,即本期要分享的:本地优先级Local_Pref

1

拓扑图

2

配置思路

1、根据上述拓扑图,准备好环境。
2、规划好IP地址,标注在拓扑上,IP地址规划规则,如图。R1与R2互联之间网段就用12.1.1.0/24,R1接口就用12.1.1.1/24, R2 接口就用12.1.1.2/24 。
3、配置router id。
4、配置IGP路由(先把全网打通了,再去配BGP,因为我们都知道BGP是基于TCP的,全网都不通,TCP怎么能建立连接 是吧?),这里我全网就配OSPF路由协议,都在区域0.
5、配置BGP。
6、修改本地优先级,进行相关测试。

3

关键配置

惯例,router id 、接口ip配置方法这里不再示例。

1、配置IGP路由协议:

     R1#  (其他路由器参考如下配置。)

2、配置BGP路由协议:

R1#

#

bgp 100

 peer 12.1.1.2 as-number 200 

 peer 13.1.1.3 as-number 200 

 #

R2#

#

bgp 200

 peer 4.4.4.4 as-number 200 

 peer 4.4.4.4 connect-interface LoopBack0

 peer 12.1.1.1 as-number 100 

 #

R3#

#

bgp 200

 peer 4.4.4.4 as-number 200 

 peer 4.4.4.4 connect-interface LoopBack0

 peer 13.1.1.1 as-number 100 

 #

R4#

#

bgp 200

 peer 2.2.2.2 as-number 200 

 peer 2.2.2.2 connect-interface LoopBack0

 peer 3.3.3.3 as-number 200 

 peer 3.3.3.3 connect-interface LoopBack0

 #

4

测试

接下来,我打算在R1发布2条BGP路由,然后在R4查看。

这两条路由分别为:10.10.10.10/24和20.20.20.20/24

1、先在R1创建两个loopback口,然后分别配置上述那两个IP地址。

2、宣告到BGP进程中

3、在R4查看BGP路由,可以看到学到2条Ebgp路由:

从图,可知,R4如果要去往这2个目的地(10.10.10.10或20.20.20.20),都是走R2。

关于为什么会走R2,这里不再重复解释,不清楚的同学,可以浏览之前的文章。

本期主要来研究一下本地优先级,让大家更清晰地了解这个属性。
从上图,R4的ebgp路由表,我们可以看到 首选值,默认都为0 ,然后根据BGP路由选路原则,就会继续pk下一条,第二条就是本地优先级,默认都为100,因为本地优先级都一样,所以继续pk下一条,后面几条,后续再与大家分享。接下来,我们尝试修改一下本地优先级,一起认识一下这个属性。

4、在R3设备上修改本地优先级:

    现在,我们再R4看看那2条ebgp路由:

 从上图可知,R4从R3收到的ebgp路由,关于本地优先级这个属性,已经修改为2000了,并且去往这个两条路由,走R3了。

  到这里,我们可以得出结论: 
  本地优先级的值,是越高越优先。

接下来,我们想更深入了解一下本地优先级的传播范围:
5、紧接上面的配置,我们在R2、R3查看一下这2条ebgp路由:

   
上述2张图,告诉我们不管是否有修改本地优先级的值,本地查看这个2条路由,均为空。那么我们就通过抓包来研究看看。

为了使在R3抓包能捕获到bgp的路由更新报文,先在R3的G0/0/0口和G0/0/1口处进行抓包,然后在R1的G0/0/1口shutdown一下,然后在undo shutdown。

R3的G0/0/0口处抓包如下:

R3的G0/0/1口处抓包如下:

同理,我也在R2的G0/0/0和G0/0/1也抓包看看:

R2的G0/0/0口处抓包如下:

R2的G0/0/1口处抓包如下:

总结,到这里我们已基本认识这个属性了:

1、本地优先级这个属性,只能在AS内传播。
2、修改本地优先级属性值,这个值只作用本AS内的其他设备。(说白了,就是设备收到bgp路由后,给这条路由打算本地优先级属性值,如果没修改就打默认值100)
3、值越大,越优先。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多