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

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

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


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



1

拓扑图


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


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#  (其他路由器参考如下配置。)

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


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

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


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


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


2、宣告到BGP进程中

           


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


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



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

从图,可知,R4如果要去往这2个目的地(10.10.10.10或20.20.20.20),都是走R2。
关于为什么会走R2,这里不再重复解释,不清楚的同学,可以浏览之前的文章。
本期主要来研究一下本地优先级,让大家更清晰地了解这个属性。从上图,R4的ebgp路由表,我们可以看到 首选值,默认都为0 ,然后根据BGP路由选路原则,就会继续pk下一条,第二条就是本地优先级,默认都为100,因为本地优先级都一样,所以继续pk下一条,后面几条,后续再与大家分享。接下来,我们尝试修改一下本地优先级,一起认识一下这个属性。


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


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


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

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

    

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

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

  到这里,我们可以得出结论:   本地优先级的值,是越高越优先。
接下来,我们想更深入了解一下本地优先级的传播范围:5、紧接上面的配置,我们在R2、R3查看一下这2条ebgp路由:

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


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

   
上述2张图,告诉我们不管是否有修改本地优先级的值,本地查看这个2条路由,均为空。那么我们就通过抓包来研究看看。
为了使在R3抓包能捕获到bgp的路由更新报文,先在R3的G0/0/0口和G0/0/1口处进行抓包,然后在R1的G0/0/1口shutdown一下,然后在undo shutdown。


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

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


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


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

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


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


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


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

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


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


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


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


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


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

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


上一篇:BGP选路原则之首选值(华为特性)


下一篇:关于盘古