每个路由协议都有自己计算路由的方法,计算路由的方法称为路由算法,BGP选路方法就是BGP的路由算法,BGP运行路由算法的目的是计算出有效路由进而优选出最优路由,选路算法是BGP路由协议的核心算法之一。
众所周知,链路状态算法的路由协议,其路由非通告所得,而是计算所得,所以在链路状态算法如OSPF,在其作用域内无法人为地干涉路由优选,即算法不可改变,在路由器的实现中在代码中固定,人为干涉的结果会导致路由无法计算或计算出错,在链路状态算法的作用域之间,有相对比较简单的计算规则,一般也没有必要人为地去干涉选路(如OSPF协议的区域间路由)。
以上原因导致OSPF的路由计算对网络管理员来说比较傻瓜化,大部分的选路工作由机器完成,管理员参与的部分极少。
基于距离矢量的IGP,如RIP由于路由协议中携带的信息量极少,可供选路决策的条件很少,所以讨论其协议内部的路由优选意义不大。
BGP选路是一个比较复杂的过程,需要深入讨论,原因是BGP的设计者将需要大部分由代码固化完成的工作分了一部分出来“允许”管理员参与完成,在协议中也包含了丰富的优选参数,可供选路时自动或人为地进行控制与决策。这也说明,关于BGP的主要工作内容由两部分:
² 在AS之间及AS内部传递路由――自动完成
² 控制、管理、优化路由――自动或由管理员手动完成
通过选路,我们可以看出设计者设计如此多属性的原因,与通用的IGP协议采用单一Metric计算路由相比,BGP的众多属性更细致地反映一条路由的“历史背景”,在选路过程中可以自动或手动地利用这些丰富的材料进行综合考虑,进而更为细腻地优选和控制路由。
BGP IPv4选路规则如下:
Ø 下一跳(Next_Hop)不可达的路由及其他无效路由不参与优选;
Ø 优选协议优先级值低的路由;
Ø 标签路由(有LSP隧道)优于非标签路由;
Ø 若配置了Preferred-value值,优选值高的;
Ø 优选本地优先级(Local_Pref)最高的路由;
Ø 优选本路由器始发的路由;
Ø 优选AS路径(AS_Path)最短的路由;
Ø 依次选择Origin属性值为IGP、EGP、Incomplete的路由;
Ø 优选MED值最低的路由;
Ø EBGP路由优于联盟EBGP路由,联盟EBGP路由由于IBGP路由;
Ø 优选下一跳(Next_Hop)花费(Cost)值最低的路由;
Ø 优选Cluster_List长度最短的路由;
Ø 优选Originator_ID最小的路由;
Ø BGP会话地址小者优先。
以上优选规则是从前到后依次比较的,只有在前一个条件无法选出最优路由的情况下才考虑紧接的后一个条件。
在本小节,通过实例的方式,按照以上选路规则解析路由器在选路过程中各步骤的决策条件。由于BGP属性丰富,实际使用环境千变万化,在实际使用中会出现各种应用场景,一个完整体现所有决策过程的拓扑会很复杂,为了简洁明了地展开,本文用简化的拓扑来解析每个决策步骤。
图 1 基本选路拓扑
图1说明:
RA、RB、RC都属于AS100,三者建立Full mesh IBGP连接
RD、RE属于AS200,二者建立IBGP连接
RA环回地址:192.168.100.1
RB环回地址:192.168.100.2
RC环回地址:192.168.100.3
步骤1:NEXT_HOP不可达的路由及没有隧道的标签路由都是无效路由,不参与优选
解析:RA从RB和RC分别收到关于20.1.1.0/24的路由,但下一跳没有改变,下一跳属于AS外部路由,RA不可达,所以下面两条路由没有星号(*)标志,都是无效的路由。
在RA上的BGP表信息如下:
[RA]display bgp routing-table Total Number of Routes: 2 BGP Local Router ID is 192.168.100.1 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Network NextHop MED LocPrf PrefVal Path/Ogn i 20.1.1.0/24 10.1.4.2 0 100 0 200i i 10.1.5.2 0 100 0 200i |
步骤2:优选协议优先级低的路由
解析:在路由有效的情况下比较路由优先级。通过路由策略修改协议优先级,RA从RC收到的路由优先级修改为250,而RA从RB收到的路由优先级为缺省的255,所以在RA上优选的结果是从RC收到的路由更优。
[RA-bgp]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 0 100 0 200i
* i 192.168.100.2 0 150 0 200i
[RA-bgp]disp ip rout 20.1.1.1
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
20.1.1.0/24 BGP 250 0 192.168.100.3 GE0/1.112
步骤3:标签路由优于非标签路由
解析: 取消上一步修改路由优先级的路由策略配置,RA从RB和RC的路由优先级一致,根据协议优先级无法选出最优路由。继续比较,首先考虑的条件是该路由是否是标签路由(是否存在LSP隧道)。重新配置路由策略,使RC向RA发送路由的同时分发标签,带有标签的路由优于非标签路由,所以优选从RC收到的路由。
[RA]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 0 100 0 200i
* i 192.168.100.2 0 150 0 200i
[RA]disp ip rout 20.1.1.1
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
20.1.1.0/24 BGP 255 0 192.168.100.3 GE0/1.112
[RA]display mpls lsp include 20.1.1.1 24
-------------------------------------------------------------------------
LSP Information: BGP LSP
-------------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
20.1.1.0/24 NULL/1025 -/-
[RA-route-policy]display bgp routing-table 20.1.1.0
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
Label information (Received/Applied): 1025/NULL
From : 192.168.100.3 (192.168.50.29)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 100, pref-val 0, pre 255
State : valid, internal, best,
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.2 (135.1.1.1)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 150, pref-val 0, pre 255
State : valid, internal,
Not advertised to any peers yet
步骤4:Preferred-value值高的路由优先
解析:取消上一步分发标签的策略,RA从RB和RC收到的路由都没有LSP隧道,所有前述条件无法选出最优路由,系统将进一步比较Preferred-value值优选路由。配置路由策略,使RA从RC收到的路由Preferred-value值较高,RA优选从RC收到的路由。
[RA-bgp]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 0 100 30 200i
* i 192.168.100.2 150 0 200i
[RA-bgp]display bgp routing-table 20.1.1.0
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.2 (135.1.1.1)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : 200
Origin : igp
Attribute value : localpref 150, pref-val 0, pre 255
State : valid, internal,
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.3 (192.168.50.29)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 100, pref-val 30, pre 255
State : valid, internal, best,
Not advertised to any peers yet
步骤5:Local_Preference值高的路由优先
解析:在Preferred-value值相同的情况,进一步比较Local_Preference值优选路由,取消上一步修改Preferred-value值的路由策略,RA从RB收到的路由Local_Preference值较高,所以优选从RB收到的路由。
[RA-route-policy]disp bgp ro
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.2 0 150 0 200i
* i 192.168.100.3 0 100 0 200i
[RA-route-policy]display bgp routing-table 20.1.1.0
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.3 (192.168.50.29)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 100, pref-val 0, pre 255
State : valid, internal,
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.2 (135.1.1.1)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 150, pref-val 0, pre 255
State : valid, internal, best,
Not advertised to any peers yet
步骤6:本地路由优先
解析:在RA上用路由聚合命令生成本地路由,并且使本地生成路由、IBGP路由、EBGP路由的路由优先级都相等。这时其他先决条件都相等的情况下,本地生成的路由优先。
[RA-route-policy]display bgp routing-table
Total Number of Routes: 3
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 20.1.1.0/24 127.0.0.1 100 0 i
* i 192.168.100.3 100 0 i
[RA-route-policy]display bgp routing-table 20.1.1.0 24
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.3 (192.168.50.29)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : (null)
Origin : igp
Attribute value : localpref 100, pref-val 0, pre 150
State : valid, internal,
This route is an atomic-aggregated route
Aggregator : AS 100, Aggregator ID: 192.168.50.29
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
Imported route.
From : 0.0.0.0 (0.0.0.0)
Original nexthop: 127.0.0.1
AS-path : (null)
Origin : igp
Attribute value : localpref 100, pref-val 0, pre 150
State : valid, local, best,
This route is an aggregated route
Aggregator : AS 100, Aggregator ID: 192.168.100.1
Advertised to such 1 peers:
192.168.100.3
步骤7:AS-Path较短的路由优先
解析:在前述条件都相同的情况下,将进一步比较AS-Path长度来优选路由。配置添加AS号的路由策略,RA从RC收到关于20.1.1.0/24的路由AS-path中包含两个AS号,从RB收到的路由中包含三个AS号,在其它先决条件都相同的情况下,RA从RC收到的路由AS-path列表相对更短,所以优选从RC收到的路由。
按照AS-Path优选路由的规则可以细化为:AS_SEQ类型的AS-path长度为所包含的AS个数,AS_SET类型的AS-path长度为1,联盟AS类型不计入AS-path长度。
[RA-bgp]display bgp routing-table
Total Number of Routes: 4
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 0 100 0 300 200i
* i 192.168.100.2 100 0 400 300
200i
步骤8:依次选择Origin属性值为IGP、EGP、Incomplete的路由
解析1:在AS-Path长度相同的情况下将进一步比较Origin属性的值。
下表显示RA从RB收到的路由origin属性为incomplete,从RC收到的路由origin属性为egp,在其他先决条件都相等的情况下,origin属性egp优于incomplete,RA优选从RC收到的路由
[RA-bgp]display bgp routing-table
Total Number of Routes: 4
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 0 100 0 320 200e
* i 192.168.100.2 100 0 300 200?
解析2:下表显示RA从RB收到的路由origin属性被修改为igp,从RC收到的路由origin属性仍然为egp,在其他先决条件都相等的情况下,origin属性igp优于egp,所以最优路由发生变化,从RB收到的路由变成最优路由
[RA-route-policy]display bgp routing-table
Total Number of Routes: 4
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.2 100 0 300 200i
* i 192.168.100.3 0 100 0 320 200e
总结:IGP优于EGP,EGP优于incomplete
步骤9:优选MED值最低的路由
解析1:取消上一步修改Origin属性的路由策略,在Origin属性及其他先决条件都无法比较出最优路由的情况下,MED属性值小的路由优先,下表RA从RC收到关于20.1.1.0/24的路由MED值更低所以更优。
[RA-route-policy]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 15 100 0 320 200e
* i 192.168.100.2 20 100 0 320 200e
步骤10:依次优选EBGP路由、联盟EBGP路由、IBGP路由
图2说明:
RA和RB属于联盟子系统65001,RC属于联盟子系统65002;
RA与RB建立联盟子系统内IBGP邻居关系;
RA与RC建立联盟子系统间EBGP邻居关系;
RA与RE建立普通EBGP邻居关系。
20.1.1.0/24
图2 联盟选路拓扑
解析1:在图2中,RA分别从RB、RC、RE收到路由,在本步骤前的其他先决条件都相同的情况下优选来自EBGP的路由,EBGP路由优于联盟EBGP和IBGP路由,所以RA优选来自RE的路由。
[RA-bgp]display bgp routing-table
Total Number of Routes: 3
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 20.1.1.0/24 10.1.0.2 5 160 0 200i
* i 192.168.100.3 5 160 0 (65002)
200i
* i 192.168.100.2 5 160 0 200i
解析1:当EBGP路由被撤销后,重新优选,由于联盟EBGP路由优于IBGP路由,所以来自RC的路由优于来自RB的路由
[RA-GigabitEthernet0/1.110]display bgp routing-table Total Number of Routes: 2 BGP Local Router ID is 192.168.100.1 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Network NextHop MED LocPrf PrefVal Path/Ogn *>i 20.1.1.0/24 192.168.100.3 5 160 0 (65002) 200i * i 192.168.100.2 5 160 0 200i |
步骤11:优选下一跳Cost值最低的路由;
解析:在其他先决条件都相等的情况下将比较下一跳的Cost值,RA从RC收到的路由下一跳为RC的环回地址192.168.100.3,到达该地址的IGP cost为13;RA从RB收到的路由下一跳为RB的环回地址192.168.100.2,到达该地址的IGP cost为15。因此优选从RC收到的路由。
[RA-GigabitEthernet0/1.112]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 100 0 200i
* i 192.168.100.2 0 100 0 200i
[RA-GigabitEthernet0/1.112]disp ip rout 192.168.100.2
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
192.168.100.2/32 OSPF 10 15 10.1.1.2 GE0/1.111
[RA-GigabitEthernet0/1.112]disp ip rout 192.168.100.3
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
192.168.100.3/32 OSPF 10 13 10.1.2.2 GE0/1.112
步骤12:优选Cluster_List长度最短的路由;
在图3中,BGP会话关系用黑色链路表示,绿色链路表示RB向RA反射从RD收到的路由;红色链路表示RD发出的路由经过两个反射器(RE和RC)反射到RA。
RA从RB收到的路由Cluster_List中只有一个条目;RA从RC收到的路由Cluster_List中有两个条目。所以从RB收到的路由更优。
图3:根据Cluster_List选路
[RA]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 40.1.1.0/24 192.168.100.2 100 0 ?
* i 192.168.100.3 100 0 ?
[RA]display bgp routing-table 40.1.1.0
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 40.1.1.0/24:
From : 30.1.1.3 (30.1.1.3)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : (null)
Origin : incomplete
Attribute value : localpref 100, pref-val 0, pre 255
State : valid, internal, best,
Originator : 192.168.100.4
Cluster list : 192.168.100.2
Not advertised to any peers yet
BGP routing table entry information of 40.1.1.0/24:
From : 30.1.1.2 (30.1.1.2)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : (null)
Origin : incomplete
Attribute value : localpref 100, pref-val 0, pre 255
State : valid, internal,
Originator : 192.168.100.4
Cluster list : 192.168.100.3, 192.168.100.5
Not advertised to any peers yet
步骤13:优选Originator_ID最小的路由;
在前述步骤未选出最优路由的情况下,进一步比较Originator_ID。
在图4中,BGP会话关系用黑色链路表示,绿色链路表示RB向RA反射从RD收到的路由;红色链路表示RC向RA反射从RE收到的路由。
解析:RA从RB收到的路由中Originator_ID相对更小,所以从RB收到的路由更优。
图4:根据Originator_ID选路
[RA]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.2 100 0 ?
* i 192.168.100.3 100 0 ?
[RA]display bgp routing-table 20.1.1.1
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
From : 30.1.1.2 (30.1.1.2)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : (null)
Origin : incomplete
Attribute value : localpref 100, pref-val 0, pre 255
State : valid, internal,
Originator : 192.168.100.5
Cluster list : 192.168.100.3
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
From : 30.1.1.3 (30.1.1.3)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : (null)
Origin : incomplete
Attribute value : localpref 100, pref-val 0, pre 255
State : valid, internal, best,
Originator : 192.168.100.4
Cluster list : 192.168.100.2
Not advertised to any peers yet
步骤14:Router ID值小者优先
RA从RB和RC收到的路由在前述步骤都无法优选出路由的情况下需要进一步比较Router ID来选出最优路由,在此步骤中Router ID值小的路由优先。
解析:RB的BGP Router ID为6.6.6.6;RC的BGP Router ID为5.5.5.5。所以在RA的BGP路由表中,从RC收到的路由优先。
[RA-bgp]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.3 100 0 200i
* i 192.168.100.2 0 100 0 200i
[RA-bgp]display bgp routing-table 20.1.1.1
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.3 (5.5.5.5)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : 200
Origin : igp
Attribute value : localpref 100, pref-val 0, pre 255
State : valid, internal, best,
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.2 (6.6.6.6)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 100, pref-val 0, pre 255
State : valid, internal,
Not advertised to any peers yet
步骤15:建立BGP会话的地址值小者优先
RA从RB和RC收到的路由在前述步骤都无法优选出路由的情况下(除其他先决条件外,两条路由的Router ID也相同)需要进一步比较建立BGP会话的地址值来选出最优路由,在此步骤中BGP会话地址值小的路由优先。
解析:在图1中RB的环回地址为192.168.100.2,RB与RA的BGP会话通过此地址建立;RC的环回地址为192.168.100.3,RC与RA的BGP会话通过此地址建立。因为RB与RA建立BGP会话的地址相对更小,所以在RA的BGP路由表中,从RB收到的路由优先。
[RA-bgp]display bgp routing-table
Total Number of Routes: 2
BGP Local Router ID is 192.168.100.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 20.1.1.0/24 192.168.100.2 0 100 0 200i
* i 192.168.100.3 100 0 200i
[RA-bgp]display bgp routing-table 20.1.1.1
BGP local Router ID : 192.168.100.1
Local AS number : 100
Paths: 2 available, 1 best
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.2 (6.6.6.6)
Relay Nexthop : 10.1.1.2
Original nexthop: 192.168.100.2
AS-path : 200
Origin : igp
Attribute value : MED 0, localpref 100, pref-val 0, pre 255
State : valid, internal, best,
Not advertised to any peers yet
BGP routing table entry information of 20.1.1.0/24:
From : 192.168.100.3 (6.6.6.6)
Relay Nexthop : 10.1.2.2
Original nexthop: 192.168.100.3
AS-path : 200
Origin : igp
Attribute value : localpref 100, pref-val 0, pre 255
State : valid, internal,
Not advertised to any peers yet
优选路由的策略方法有很多,简单举例如下:
l 影响某台路由器本地选路结果
建议配置路由策略在本地修改Preferred-value来影响选路过程;由于Preferred-value值不属于路由属性,修改后只在本地生效,不会随路由信息传播。但影响本地选路后,BGP只发送最优路由,对其他路由器也有一定的影响。
l 影响IBGP邻居的选路
如果希望影响本AS内部的路由器优选自己发出的路由,建议通过修改Local_Preference属性值来实现,在图1中,RB向RA发送的路由中Local_Preference属性值为150,RC向RA发送的路由中Local_Preference属性值为缺省值100,在RA上将优选从RB收到的路由,出AS的流量将通过RB发向AS200。
Local_Preference属性可以向所有IBGP邻居发送,可以对本AS内部所有的IBGP邻居选路产生影响。
l 影响EBGP邻居的选路
如果希望EBGP邻居优选自己发出的路由,建议通过修改MED属性值来实现,在图1中,RD向EBGP邻居RB发送的路由中MED属性值为20,RE希望AS100中的路由器优选自己发出的路由,所以向EBGP邻居RC发送的路由中MED属性值为15,低于RD向RB发送路由的MED值,因为MED值低的路由更优,在AS100中将优选来自RE的路由。
在使用MED属性时须注意,利用MED值进行优选是有一定条件的,来自不同AS的路由缺省情况下不能根据MED值优选路由,需要使能来自不同AS的路由选路时考虑MED这个特性才可以进行比较。
从以上选路方式可以看出,在选路过程中,人为干预的决策条件(如:Preferred-value)以及本自治系统内使用的管理属性(如:Local_Preference)等条件都放在选路决策的前几步,而随机条件(如:Router ID和会话地址的决策)都在最后,目的是使路由优选的管理和控制更加方便,这样可以在各自治系统内部按照统一的策略来管理和计算路由。