目录
BGP选路原则:
实验拓扑
基本命令
实验要求
BGP选路原则:
当到达同一个目的网段存在多条路由时,BGP通过如下的次序进行路由优选:
- 丢弃下一跳不可达的路由。
- 优选Preferred-Value属性值最大的路由。
- 优选Local_Preference属性值最大的路由。
- 本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。
- 优选AS_Path属性值最短的路由。
- 优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。
- 优选MED属性值最小的路由。
- 优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)
- 当前八条属性完全相同时,可配置负载分担
- 优选到Next_Hop的IGP度量值最小的路由
- 优选Cluster_List最短的路由。
- 优选Router ID(Orginator_ID)最小的设备通告的路由
- 优选具有最小IP地址的对等体通告的路由。
实验拓扑
基本命令
R1:
//ip地址配置
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
//BGP配置
bgp 1
router-id 1.1.1.1
peer 10.0.12.2 as-number 234
peer 10.0.13.3 as-number 234
network 1.1.1.1 255.255.255.255
R2:
//ip地址配置
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.24.2 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
//BGP配置
bgp 234
router-id 2.2.2.2
peer 4.4.4.4 as-number 234
peer 4.4.4.4 connect-interface LoopBack0
peer 10.0.12.1 as-number 1
peer 4.4.4.4 next-hop-local
//IGP配置
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.24.2 0.0.0.0
R3:
//ip地址配置
interface GigabitEthernet0/0/0
ip address 10.0.13.3 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.34.3 255.255.255.0
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
//BGP配置
bgp 234
router-id 3.3.3.3
peer 4.4.4.4 as-number 234
peer 4.4.4.4 connect-interface LoopBack0
peer 10.0.13.1 as-number 1
peer 4.4.4.4 next-hop-local
//IGP配置
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.34.3 0.0.0.0
R4:
//ip地址配置
interface GigabitEthernet0/0/0
ip address 10.0.24.4 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.0.34.4 255.255.255.0
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
interface LoopBack1
ip address 10.4.4.4 255.255.255.255
//BGP配置
bgp 234
router-id 4.4.4.4
peer 2.2.2.2 as-number 234
peer 2.2.2.2 connect-interface LoopBack0
peer 2.2.2.2 reflect-client
peer 3.3.3.3 as-number 234
peer 3.3.3.3 connect-interface LoopBack0
peer 3.3.3.3 reflect-client
//IGP配置
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 10.0.24.4 0.0.0.0
network 10.0.34.4 0.0.0.0
实验要求
通过路由策略等方式,实现R4对于1.1.1.1/32路由的优选:
必须引用以下原则: //路由优选从下往上匹配
优选Preferred-Value属性值最大的路由。
优选Local_Preference属性值最大的路由。
优选AS_Path属性值最短的路由。
优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及 Incomplete。
优选MED属性值最小的路由。
优选到Next_Hop的IGP度量值最小的路由。
优选Router ID(Orginator_ID)最小的设备通告的路由。
①优选Router ID(Orginator_ID)最小的设备通告的路由。
Router ID,就是其在bgp视图下通告的id
R2通告2.2.2.2,R3通告3.3.3.3,我们查看当前R4的bgp路由表
//“>”表示最优路由
②优选到Next_Hop的IGP度量值最小的路由。
根据①原则,我们更改igp的cost值,将3.3.3.3改为最优路由。
可以看到,目前的cost值都为1,我们将2.2.2.2的cost值改大。
[R4-GigabitEthernet0/0/0]ospf cost 10
可以看出,去往2.2.2.2的路由cost值变为了10,3.3.3.3成为最优路由。
③优选MED属性值最小的路由。
我们在基于②,更改3.3.3.3的med值。
[R3]
acl number 2000
rule 5 permit source 1.1.1.1 0 //匹配目的地址为1.1.1.1路由route-policy R3 permit node 10
if-match acl 2000 //匹配 acl
apply cost 10 //更改med值为10(bgp中,med值相当于cost)
在R4上查看bgp路由表
2.2.2.2又成了最优路由,3.3.3.3后面med值变为10
④优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP>EGP>Incomplete
因为IGP>EGP>Incomplete,并且当前的Origin属性都为IGP,所以我们只能更改2.2.2.2的Origin属性,在这里我将它改为Incomplete。 (由于目前拓扑没办法全部实现,大家可以另行搭建)
[R2]
acl number 2000
rule 5 permit source 1.1.1.1 0 //匹配目的地址为1.1.1.1路由route-policy R2 permit node 10
if-match acl 2000 //匹配 acl apply origin incomplete //更改 origin 属性为 incomplete
看到3.3.3.3成为了最优路由,末尾的 i 变成了 ?
⑤优选AS_Path属性值最短的路由。
基于④,因为目前的AS_Path都为1,我们对3.3.3.3的AS_Path进行增加。
route-policy R3 permit node 10 //进入之前创建的R3策略
[R3-route-policy]apply as-path 33 additive //在3.3.3.3后添加一个“33”AS号
可见2.2.2.2又成了最优路由。
⑥优选Local_Preference属性值最大的路由。
目前Local_Preference两条路由都为100,我们可以把3.3.3.3的Local_Preference改大。
让其成为最优路由(也可让2.2.2.2的值变小) //Local_Preference属性为越大越优
[R2]route-policy R2 permit node 10 //进入之前创建的R2策略
[R2-route-policy]apply local-preference 22 //更改R2的Local_Preference为22
3.3.3.3成为最优路由。
⑦优选Preferred-Value属性值最大的路由。
更改2.2.2.2的Preferred-Value,使其成为最优。
[R4]acl 2000
[R4-acl-basic-2000]rule permit source 1.1.1.1 0
[R4]route-policy R4 permit node 10
[R4-route-policy] if-match acl 2000
[R4-route-policy] apply preferred-value 10 //更改preferred-value值为10
[R4-bgp]peer 2.2.2.2 route-policy R4 import //对2.2.2.2传来的匹配路由,执行路由策略
//此方法只能在import入方向更改,不能在R2上配置路由策略
2.2.2.2成为最优路由
还有一种更改preferred-value值的方法,如下:
[R4-bgp]peer 2.2.2.2 preferred-value 10 //对2.2.2.2传来的路由,更改其preferred-value值
其是对所有2.2.2.2传来的路由preferred-value进行更改。
总结:这篇文章对部分选路原则进行匹配实验,其余原则有些拓扑不能完全实现,大家可自行修改属性熟悉选路原则