目录

BGP选路原则:

 实验拓扑

 基本命令

 实验要求


BGP选路原则:

              当到达同一个目的网段存在多条路由时,BGP通过如下的次序进行路由优选:

  1. 丢弃下一跳不可达的路由。
  2. 优选Preferred-Value属性值最大的路由。
  3. 优选Local_Preference属性值最大的路由。
  4. 本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。
  5. 优选AS_Path属性值最短的路由。
  6. 优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。
  7. 优选MED属性值最小的路由。
  8. 优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)
  9. 当前八条属性完全相同时,可配置负载分担
  10. 优选到Next_Hop的IGP度量值最小的路由
  11. 优选Cluster_List最短的路由。
  12. 优选Router ID(Orginator_ID)最小的设备通告的路由
  13. 优选具有最小IP地址的对等体通告的路由。 

 实验拓扑

bgp选路顺口溜 bgp选路原则顺序_bgp选路顺口溜


 基本命令

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路由表

bgp选路顺口溜 bgp选路原则顺序_网络协议_02

//“>”表示最优路由 

②优选到Next_Hop的IGP度量值最小的路由。

根据①原则,我们更改igp的cost值,将3.3.3.3改为最优路由。

bgp选路顺口溜 bgp选路原则顺序_网络_03

 

可以看到,目前的cost值都为1,我们将2.2.2.2的cost值改大。

[R4-GigabitEthernet0/0/0]ospf cost 10

bgp选路顺口溜 bgp选路原则顺序_属性值_04

 

bgp选路顺口溜 bgp选路原则顺序_属性值_05

可以看出,去往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路由表

bgp选路顺口溜 bgp选路原则顺序_网络协议_06

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

bgp选路顺口溜 bgp选路原则顺序_网络_07

看到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号

bgp选路顺口溜 bgp选路原则顺序_运维_08

可见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

bgp选路顺口溜 bgp选路原则顺序_网络_09

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上配置路由策略

bgp选路顺口溜 bgp选路原则顺序_运维_10

 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进行更改。

总结:这篇文章对部分选路原则进行匹配实验,其余原则有些拓扑不能完全实现,大家可自行修改属性熟悉选路原则