文章目录

  • 一、协议首选值(PrefVal)
  • 二、本地优先级(Local_Pref)
  • 三、优选手动聚合>自动聚合>network>import>从对等体学到的

  • 四、优选AS路径(AS_Path)最短的路由
  • 五、比较起源属性 IGP>EGP>Incomplete
  • 六、来自同一AS的路由,优选MED值最低的
  • 七、EBGP>IBGP
  • 八、优选到下一跳IGP Metric较小的路由
  • 九、负载均衡
  • 十、优选Cluster_List最短的路由

  • 十一、优选Router_ID最小的路由
  • 十二、优选peer ip地址小的路由
  • 附件:实验拓扑(百度网盘)


一、协议首选值(PrefVal)

协议首选值(华为私有),仅在本路由器有效,默认数值为0,协议首选值越大越优先。仅能改变进入本路由器的路由选路。

华三bgp 路由策略_华三bgp 路由策略

如拓扑图所示,R1、R2、R3和R4四台路由器分别属于不同AS。相邻2台路由器之间均通过互联地址建立EBGP邻居关系。R1上有一个10.10.10.10/32的地址,通network宣告进BGP中。 R4上收到了10.10.10.10/32的路由。

1、R4当前优选了从R2传递过来的10.10.10.10/32路由,R4访问10.10.10.10路径就是R4-R2-R1。

[R4]dis bgp routing-table 

 BGP Local router ID is 10.1.24.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: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.10.10.10/32     10.1.24.2                             0      200 100i
 *                       10.1.34.3                             0      300 100i

2、在R4上修改从R3传递过来的10.10.10.10/32路由的协议首选值为100。

[R4]
bgp 400
peer 10.1.34.3 preferred-value 100
#

3、修改协议首选值后,R4当前优选了从R3传递过来的10.10.10.10/32路由,R4访问10.10.10.10路径就是R4-R3-R1。

<R4>dis bgp routing-table 

 BGP Local router ID is 10.1.24.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: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.10.10.10/32     10.1.34.3                             100    300 100i
 *                       10.1.24.2                             0      200 100i

二、本地优先级(Local_Pref)

本地优先级,数值越大越优先,默认为100。本地优先级只能在AS内传递,通过EBGP传递给其他AS设备时,本地优先级会被剥离。

华三bgp 路由策略_华三bgp 路由策略_02


如拓扑图所示,共有R1-R6六台路由器,R1和R2、R1和R3是IBGP关系,其余互相是通过互联地址建立的EBGP邻居关系,R6上有一个10.10.10.10/32的地址,通network宣告进BGP中。

1、R1当前优选了从R2传递过来的10.10.10.10/32路由,R1访问10.10.10.10路径就是R1-R2-R4-R6。

<R1>dis bgp routing-table 

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  10.10.10.10/32     2.2.2.2                    100        0      400 600i
 * i                     3.3.3.3                    100        0      500 600i

2、修改本地优先级为120

(1)创建前缀列表

ip ip-prefix 1 index 10 permit 10.10.10.10 32

(2)创建route-policy

route-policy 123 permit node 10 if-match
ip-prefix 1 apply local-preference 120
#

(3)调用route-policy(3种方法,任选其一)

华三bgp 路由策略_路由表_03

方法一:调用在R3的import方向 (我选择的方法)
bgp 100
peer 10.1.35.5 route-policy 123 import
#
方法二:调用在R3的export方向
bgp 100
peer 1.1.1.1 route-policy 123 export
#
方法三:调用在R1的import方向
bgp 100
peer 3.3.3.3 route-policy 123 import
#

我选择了方法一在R3的import方向调用策略。因为本地优先级120比100高,R1优选了从R3传递过来的本地优先级为120的10.10.10.10/32路由,R1访问10.10.10.10/32路径就是R1-R3-R5-R6。

<R1>dis bgp routing-table 

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  10.10.10.10/32     3.3.3.3                    120        0      500 600i
 * i                     2.2.2.2                    100        0      400 600

三、优选手动聚合>自动聚合>network>import>从对等体学到的

1、手动聚合和自动聚合

手动聚合:
(1)可以对路由引入进行手动聚合
(2)可以对network的路由进行手动聚合

自动聚合
只可以对路由引入的路由进行自动聚合

2、验证手动聚合(R1和R2上)

华三bgp 路由策略_网络_04

[R2]
(1)在R2上使用前缀列表匹配loopback接口
ip ip-prefix 1 index 10 permit 20.20.1.0 24
ip ip-prefix 1 index 20 permit 20.20.2.0 24
ip ip-prefix 1 index 30 permit 20.20.3.0 24

(2)创建路由策略
route-policy 123 permit node 10
 if-match ip-prefix 1
#
(3)R2上只将loopack地址引入BGP中
bgp 200
import-route direct route-policy 123
(4)配置手动路由聚合
bgp 200
aggregate 20.0.0.0 8

R1的BGP路由表中收到了聚合后的路由,也收到了明细路由

华三bgp 路由策略_华三bgp 路由策略_05


在手动聚合命令aggregate 20.20.0.0 16 后加上detail-suppressed ,可以抑制明细路由。

[R2]
bgp 200
aggregate 20.20.0.0 16 detail-suppressed

R1的BGP路由表只收到了聚合后的路由

华三bgp 路由策略_路由表_06

3、验证自动聚合(R1和R3上)

先删除R2上验证手动聚合时的配置,避免影响R1收到的路由。

[R3]
(1)在R3上使用前缀列表匹配loopback接口
ip ip-prefix 1 index 10 permit 20.20.1.0 24
ip ip-prefix 1 index 20 permit 20.20.2.0 24
ip ip-prefix 1 index 30 permit 20.20.3.0 24
#

(2)创建路由策略
route-policy 123 permit node 10
 if-match ip-prefix 1
#

(3)R3上只将loopack地址引入BGP中
bgp 300
import-route direct route-policy 123
#

(4)配置自动路由聚合
bgp 300
summary automatic   #注意:只聚合引入的路由,network进来的路由不生效
#

R1的BGP路由表只收到了聚合后的路由

华三bgp 路由策略_华三bgp 路由策略_07


4、验证手动聚合优于自动聚合

R2上配置手动聚合配置,抑制明细路由,R3上配置自动聚合配置,我们看R1上是怎么优选的。可以看到R1优选了从R2手动聚合的路由。所以手动聚合优于自动聚合。

华三bgp 路由策略_R3_08


5、验证network的路由>import的路由

华三bgp 路由策略_网络_09


在R2和R3上设置都配置一条loopback0为2.2.2.2/32的路由,R2上采用network的方式,R3采用import-route direct的方式。

首先在R3上配置import-route direct的动作。

华三bgp 路由策略_路由表_10


R1上BGP路由表如下

华三bgp 路由策略_R3_11


R2上配置network 2.2.2.2 32的动作

华三bgp 路由策略_网络_12


R1 BGP路由表如下

华三bgp 路由策略_R3_13


可见,R1优选了从R2学来的路由,network的路由>import的路由。

四、优选AS路径(AS_Path)最短的路由

华三bgp 路由策略_R3_14


R2和R4上都配置一条loopback0:2.2.2.2/32的地址,都使用network的方式在BGP中宣告。R2的BGP配置

华三bgp 路由策略_华为_15

R4的BGP配置

华三bgp 路由策略_华为_16


再看下R1的BGP路由表

华三bgp 路由策略_网络_17


因为从R2传来的路由path最短的原因,优选了从R2传递过来的路由

AS-Path属性是可以修改的
(1)Additive:追加as-path属性 在原有的>基础上进行增加
(2)Overwrite:覆盖as-path属性 把原有的>AS-path给直接覆盖

目前R1优选了从R2传递过来的路由,我们可以通过修改as-path属性影响R1的选路。

[R2]
(1)创建前缀列表
ip ip-prefix 1 permit 2.2.2.2 32
#

(2)配置路由策略。2.2.2.2/32的路由追加 500 500 600 这三个as-path。
route-policy 123 permit node 10
 if-match ip-prefix 1
 apply as-path 500 500 600 additive
#
(3)BGP调用策略
bgp 200
import-route direct route-policy 123

R1的BPG路由表

华三bgp 路由策略_华三bgp 路由策略_18


可以看出,优选as-path路径最短的路由。

五、比较起源属性 IGP>EGP>Incomplete

华三bgp 路由策略_华三bgp 路由策略_19


R1和R2之间运行ISIS协议(IGP),R1和R3、R3和R4分别是EBGP,R2和R4上都配置loopback0:2.2.2.2/32的路由。

R2上通过ISIS把2.2.2.2/32路由发布出去,R4上通过引入直连的方式(import-route direct )把路由宣告出去。R1的路由表中显示2.2.2.2是通过ISIS从R2学来的。

华三bgp 路由策略_华三bgp 路由策略_20


R1的BGP路由表中看到R1学到了通过BGP传递过来的路由。但是在全局路由表选择了ISIS传递过来的路由。

华三bgp 路由策略_R3_21

六、来自同一AS的路由,优选MED值最低的

数值越小越优先,默认为0.

华三bgp 路由策略_华三bgp 路由策略_22

R1在AS100中,R2和R3在AS200中,R2和R3各在BGP network 2.2.2.2的路由

华三bgp 路由策略_路由表_23


华三bgp 路由策略_华三bgp 路由策略_24

R1的BGP路由表如下,优选着下一跳为10.1.12.2的路由

华三bgp 路由策略_路由表_25


根据选路原则,MED越小越优先,通过调整R2的出方向调整的2.2.2.2的路由MED为200。

[R2]
1、创建前缀列表,匹配2.2.2.2/32的路由
ip ip-prefix 1 index 10 permit 2.2.2.2 32
#
2、创建路由策略,设计
route-policy 123 permit node 10
 if-match ip-prefix 1
 apply cost 200
#
3、R2的出方向调用策略
bgp 200
 peer 10.1.12.1 route-policy 123 export

R1的BGP路由表

华三bgp 路由策略_华为_26


根据MED小的优先的原则,R1优选了从R3传递过来的路由。

七、EBGP>IBGP

EBGP的路由优先于IBGP的路由

华三bgp 路由策略_华为_27

如图,R3和R4上都配置了loopback0:10.10.10.10/32,都通过network的方式宣告出去,R1通过IBGP学到了从R2传递过来的路由,R1通过EBGP学到了从R3传递过来的路由。
R1 BGP配置

bgp 100
 peer 2.2.2.2 as-number 100
 peer 2.2.2.2 connect-interface LoopBack0
 peer 10.1.13.3 as-number 200
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 10.1.13.3 enable
#

R2 BGP配置

bgp 100
 peer 1.1.1.1 as-number 100
 peer 1.1.1.1 connect-interface LoopBack0
 peer 10.1.24.4 as-number 400
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 1.1.1.1 next-hop-local
  peer 10.1.24.4 enable
#

R3 BGP配置

bgp 200
 peer 10.1.13.1 as-number 100
 #
 ipv4-family unicast
  undo synchronization
  network 10.10.10.10 255.255.255.255
  peer 10.1.13.1 enable
#

R4 BGP配置

bgp 400
 peer 10.1.24.2 as-number 100
 #
 ipv4-family unicast
  undo synchronization
  network 10.10.10.10 255.255.255.255
  peer 10.1.24.2 enable
#

查看R1的BGP路由表可以看到,R1优选了通过EBGP学到的10.10.10.10的路由。

华三bgp 路由策略_R3_28

八、优选到下一跳IGP Metric较小的路由

BGP的路由下一跳地址是通过IGP协议学习到的,根据路由表,计算到下一跳的度量值,越小的越优先。

华三bgp 路由策略_网络_29

R1上network 10.10.10.10的路由

R4路由表中目前优选下一跳2.2.2.2传递过来的路由,也就是R2传递过来的。

华三bgp 路由策略_华为_30


目前,R4到R2和R3的IGP下一跳cost值为10。通过调大到R2的cost值为20,根据优选到下一跳IGP Metric较小的路由,让R4优选从R3传递过来的路由。

华三bgp 路由策略_R3_31

R4上修改cost值
interface GigabitEthernet0/0/2
 isis cost 20 level-2
#

R4的IP路由表。R4到2.2.2.2 cost值为20 R4到3.3.3.3 cost值为10

华三bgp 路由策略_路由表_32


R4的BPG路由表。调整R4到2.2.2.2的cost值为20后,R4到3.3.3.3的cost值依旧是10,根据优选到下一跳IGP Metric较小的路由原则,R4现在优选从3.3.3.3传递过来的路由了。

华三bgp 路由策略_R3_33

九、负载均衡

前8条原则都相同时,可以配置负载分担。

华三bgp 路由策略_华为_34


R1从R2和R3分别都收到2.2.2.2/32的路由,目前优选从R2传递过来的路由。

华三bgp 路由策略_路由表_35

R1上配置路由负载分担
[R1]
bgp 100
maximum load-balancing 2

R1的全局路由表中2.2.2.2的路由有2个下一跳。实现了负载分担

华三bgp 路由策略_网络_36

十、优选Cluster_List最短的路由

Cluster_List:路由经过的反射器列表。路由每经过一台RR,就会将RR的Cluster id(默认为Router-ID,可以手动修改)记录在Cluster_List中。只在AS内传递。

Cluster_ID防环:当RR接收到一条更新路由时,RR会检查Cluster_List。如果Cluster_List中已经有本地Cluster_ID,丢弃该路由;如果没有本地Cluster_ID,将其加入Cluster_List,然后反射该更新路由。

华三bgp 路由策略_华三bgp 路由策略_37


R2、R3和R4都是RR路由器。R1-R4都是在AS100内。R1上将10.10.10.10的路由network到BGP中。R3上关于10.10.10.10的路由的详细信息

华三bgp 路由策略_华三bgp 路由策略_38


R3上的10.10.10.10的路由从R2和R4上都学到了。从R4学到的10.10.10.10,因为Cluster list的原因没有优选。从R2学到的10.10.10.10的Cluster list更短,所以R4优选R2传递过来的10.10.10.10的路由。

十一、优选Router_ID最小的路由

华三bgp 路由策略_华三bgp 路由策略_39


将2.2.2.2的路由分别在R2和R3上的BGP中network.

R1的BGP路由表

华三bgp 路由策略_华为_40


R1优选了R2传递过来的2.2.2.2/32的路由。这是根据哪个原则选出来的呢?我们继续看。

华三bgp 路由策略_网络_41


查看BGP路由2.2.2.2的详细信息。R1选择了从10.1.12.2(R2)传递过来的2.2.2.2的路由,从10.1.13.1(R3)因为router id原因没有优选。所以,优选router id 小的

十二、优选peer ip地址小的路由

华三bgp 路由策略_华三bgp 路由策略_42


R1和R2之间通过互联地址建立2个EBGP邻居,R1上将10.10.10.10宣告到BGP中R2的BGP路由表

华三bgp 路由策略_华三bgp 路由策略_43


R2上BGP路由10.10.10.10的详细信息

华三bgp 路由策略_R3_44


因为peer地址的原因没有优选下一跳为10.2.12.1传递过来的路由。优选了从10.1.12.1传递过来的路由。所以,优选peer ip地址小的路由

附件:实验拓扑(百度网盘)

链接:https://pan.baidu.com/s/1F-c48EruIxSzWZYXPE9lhQ
提取码:1yog

如有错误,欢迎指正,谢谢!