配置不同本地优先级会影响BGP的路由选择,当一个运行BGP的路由器有多条路由到达同一目的地址时,会优选本地优先级最高的路由。缺省情况下,BGP本地优先级的值为100。本地优先级属性仅在IBGP对等体之间交换,不通告给其他AS.
通常用于数据包如何离开本AS,越大越优先。

使用本地优先级影响选路_第1张图片

拓扑图上:R4和R2 R3建立IBGP邻居,R1同R2和R3建立直连的EBGP邻居。
R1上通告三个环回接口到BGP中,R4和R5分别通告一个环回口到BGP中。 AS200内部使用RIP做为IGP协议。R4用来建立BGP邻居的环回口为loop0,IP地址4.4.4.4。为避免路由通告失败,R4上通告的路由是44.44.44.0/24。

本次实验的目的是通过改变本地优先级来影响BGP的选路,本地优先级用于影响路由的出站流量,越大越优先。这个属性会在AS内传播,并不会传递给EBGP邻居。

实验一:R3针对R1通告的路由,更改本地优先级为200,观察R3和R4BGP表,本地优先级的变化,以及R4选路的变化。本次实验在R3上完成。
在R4看来,去往R1通告的路由,有两条路径可选,一为R2,一为R3,由于R2的Router-ID较小,所以R4优选R2出站去往1.1.1.0/24 10.1.1.0/24 100.1.1.0/24.

R3:

route-policy prefrence permit node 10 
 apply local-preference 3333 

bgp 200
 router-id 3.3.3.3
 peer 123.1.1.1 route-policy prefrence import

结果观察:

  1. 观察R3针对R1传递过来的路由的本地优先级
  2. 观察R4针对R3传递过来的路由的本地优先级,是否会影响R4选路
  3. 观察R5针对R4传递过来的1.1.1.0/24 10.1.1.0/24 100.1.1.0/24这几条路由,其本地优先级是多少

  4. 观察R3针对R1传递过来的路由的本地优先级

    [R3-bgp]display bgp routing-table 
    
    BGP Local router ID is 3.3.3.3 
    Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
    
    Total Number of Routes: 5
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
    
    *>   1.1.1.0/24         123.1.1.1       0          3333       0      100i
    *>i  5.5.5.0/24         4.4.4.4         0          100        0      300i
    *>   10.1.1.0/24        123.1.1.1       0          3333       0      100i
    *>i  44.44.44.0/24      4.4.4.4         0          100        0      i
    *>   100.1.1.0/24       123.1.1.1       0          3333       0      100i

R3上在邻居123.1.1.1的import方向应用了route-policy,更改了路由的本地优先级为3333.观察R3的BGP表,这三条路由的本地优先级已经更改了。

  1. 观察R4针对R3传递过来的路由的本地优先级,是否会影响R4选路

    display bgp routing-table 
    
    BGP Local router ID is 4.4.4.4 
    Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
    
    Total Number of Routes: 8
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
    
    *>i  1.1.1.0/24         3.3.3.3         0          3333       0      100i
    * i                     2.2.2.2         0          100        0      100i
    *>   5.5.5.0/24         45.1.1.5        0                     0      300i
    *>i  10.1.1.0/24        3.3.3.3         0          3333       0      100i
    * i                     2.2.2.2         0          100        0      100i
    *>   44.44.44.0/24      0.0.0.0         0                     0      i
    *>i  100.1.1.0/24       3.3.3.3         0          3333       0      100i
    * i                     2.2.2.2         0          100        0      100i

在R4上观察BGP表,发现R4去往R1通告的三条路由,其最优的路径是选择R3做为下一跳。因为R3发布的路由有较高的本地优先级。

  1. 观察R5针对R4传递过来的1.1.1.0/24 10.1.1.0/24 100.1.1.0/24这几条路由,其本地优先级是多少

    display bgp routing-table 
    
    BGP Local router ID is 45.1.1.5 
    Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete
    
    Total Number of Routes: 5
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
    
    *>   1.1.1.0/24         45.1.1.4                              0      200 100i
    *>   5.5.5.0/24         0.0.0.0         0                     0      i
    *>   10.1.1.0/24        45.1.1.4                              0      200 100i
    *>   44.44.44.0/24      45.1.1.4        0                     0      200i
    *>   100.1.1.0/24       45.1.1.4                              0      200 100i

R5上看到的关于1.1.1.0/24 10.1.1.0/24 100.1.1.0/24这几条路由,其本地优先级为空。只有在IBGP传递的路由才会携带本地优先级属性。

实验二、在R3上做针对IBGP邻居R4做出方向的route-policy,更改1.1.1.0/24 10.1.1.0/24 100.1.1.0/24这几条路由的选路。

  1. 先去掉R3上的针对peer 123.1.1.1的route-policy相关配置。
  2. 配置针对R4的export方向的route-policy
    peer 4.4.4.4 route-policy prefrence export
  3. 在R4上使用refresh bgp all import/export刷新路由。
  4. 结论,在R3针对R4的出方向做路由策略后,R4针对R3发布的路由,其本地优先级进行了更改,策略生效。

实验三、在R4上,针对IBGP邻居R2发布的路由,入方向做路由策略,更改其发布的路由的本地优先级。
结论:生效。

总结:

  1. 在路由器上可以针对EBGP和IBGP邻居的入站方向使用Route-policy影响本地及下游路由器接收路由的本地优先级
  2. 在路由器上可以针对IBGP的出站方向使用route-policy影响本AS下游路由器接收的路由的本地优先级。
  3. 本地优先级仅在IBGP邻居之间传递,不会将属性传递给EBGP邻居。(第1条讲的是,路由器针对EBGP邻居在自己的入向做Route-Policy,影响自己及下游路由器)
  4. 默认值为100,取值为0到42亿之间。