一、BGP选路原则三:优选本地优先级(Local_Pref)最高的路由
对于PrefValue我们需要考虑如下3点:
1、默认值
默认两种情况,一种情况是100,一种情况是空
2、大小(越大越优先、还是越小越优先)
Local_Pref值越大越优先
3、传播范围(AS内部还是AS之间)
本AS内部
如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。
default local-preference 命令用来配置BGP的缺省本地优先级,该值越大则越优先。
配置不同的本地优先级会影响BGP的路由选择。当一个运行BGP的路由器有多条到达同一目的的地址时,会优先选择本地优先级最高的路由。
本地优先级仅在IBGP对等体之间交换,不通告给其他AS。
二、实验
1、实验拓扑
2、实验说明
- 所有互联地址段IP规划为:10.0.X.X/24(第一个X为两个设备编号组合,例如R1和R2之间网络就是:10.0.12.0;第2个X为设备编号,例如R1接口e1/0/0的IP地址为:10.0.12.1/24,R2的接口e0/0/0的IP地址为:10.0.12.2/24)
前提:所有AS内部采用IGP OPSF建立内部互联。
本次实验所涉及的设备为R4、R5、R6、R7,其它设备不用3、实验过程
(1)、R4分别和R5、R6互相建立EBGP邻居关系,配置省略
(2)、R7分别和R5、R6互相建立IBGP邻居关系,配置省略
(3)、在R4的BGP中注入直连路由:10.1.4.4/32,配置省略
(4)、在R5和R6上配置next-hop保证R7去往R4的路由可达,配置省略
- 观察1:在R7上观察是否学习到了10.1.4.4/32的BGP路由,分别通过R5和R6学习到了路由,当前优选从R5学习到的BGP路由,原因是优选Router ID最小的设备发布的路由
5、在R5和R6上分别配置Local_Pref值,其中R5的Local_Pref值100,R6的Local_Pref值200。
[~AR5]bgp 300 [~AR5-bgp]default local-preference 100 [~AR5-bgp]commit
[~AR6]bgp 300 [~AR6-bgp]default local-preference 200 [*AR6-bgp]commit
- 观察1:在R7上观察学习到的BGP路由信息,此时R7去往10.1.4.4/32路由下一跳设备为R6,此时选择R6的原因是因为Local_Pref值
6、为了更好的控制明细路由选路,我们可以通过路由策略实现明细路由的选路,在R4上创建一个环回口100,IP地址为:100.100.100.100/32,并注入到BGP路由中(配置略)
- 注意1:恢复R5和R6的默认BGP配置
- 观察1:在R7上观察BGP路由学习情况
- 操作1:在R6上配置路由策略实现,R6将路由100.100.100.100/32传递给R7的时候(出方向)加上local-preference值200,其他不变,这样R7去往R4的10.1.4.4/32走下一跳R5,去往R4的100.100.100.100/32走下一跳R6。
ip ip-prefix 100 index 10 permit 100.100.100.100 32 # route-policy 100 permit node 1 if-match ip-prefix 100 apply local-preference 200 route-policy 100 permit node 100 # bgp 300 peer 10.1.7.7 route-policy 100 export
- 观察2:在R7上观察BGP路由学习情况,此时去往100.100.100.100/32路由走下一跳为R6,查看明细路由选择R6的原因是因为Local_Pref值
评论区