• 文章搜索:
  • 目录

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    BGP选路解析

    作者:  |  上传时间:2010-10-12  |  关键字:网络大爬虫,第三期,BGP专题

    /贾欣武

    1         BGP选路概述

    1.1        解析BGP选路的意义

    每个路由协议都有自己计算路由的方法,计算路由的方法称为路由算法,BGP选路方法就是BGP的路由算法,BGP运行路由算法的目的是计算出有效路由进而优选出最优路由,选路算法是BGP路由协议的核心算法之一。

    1.2        BGP选路与常见IGP选路的区别

    众所周知,链路状态算法的路由协议,其路由非通告所得,而是计算所得,所以在链路状态算法如OSPF,在其作用域内无法人为地干涉路由优选,即算法不可改变,在路由器的实现中在代码中固定,人为干涉的结果会导致路由无法计算或计算出错,在链路状态算法的作用域之间,有相对比较简单的计算规则,一般也没有必要人为地去干涉选路(如OSPF协议的区域间路由)。

    以上原因导致OSPF的路由计算对网络管理员来说比较傻瓜化,大部分的选路工作由机器完成,管理员参与的部分极少。

    基于距离矢量的IGP,如RIP由于路由协议中携带的信息量极少,可供选路决策的条件很少,所以讨论其协议内部的路由优选意义不大。

    BGP选路是一个比较复杂的过程,需要深入讨论,原因是BGP的设计者将需要大部分由代码固化完成的工作分了一部分出来允许管理员参与完成,在协议中也包含了丰富的优选参数,可供选路时自动或人为地进行控制与决策。这也说明,关于BGP的主要工作内容由两部分:

    ²        AS之间及AS内部传递路由――自动完成

    ²        控制、管理、优化路由――自动或由管理员手动完成

    通过选路,我们可以看出设计者设计如此多属性的原因,与通用的IGP协议采用单一Metric计算路由相比,BGP的众多属性更细致地反映一条路由的历史背景,在选路过程中可以自动或手动地利用这些丰富的材料进行综合考虑,进而更为细腻地优选和控制路由。

    2         BGP选路过程解析

    2.1        选路规则

    BGP IPv4选路规则如下:

    Ø         下一跳(Next_Hop)不可达的路由及其他无效路由不参与优选;

    Ø         优选协议优先级值低的路由;

    Ø         标签路由(有LSP隧道)优于非标签路由;

    Ø         若配置了Preferred-value值,优选值高的;

    Ø         优选本地优先级(Local_Pref)最高的路由;

    Ø         优选本路由器始发的路由;

    Ø         优选AS路径(AS_Path)最短的路由;

    Ø         依次选择Origin属性值为IGPEGPIncomplete的路由;

    Ø         优选MED值最低的路由;

    Ø         EBGP路由优于联盟EBGP路由,联盟EBGP路由由于IBGP路由;

    Ø         优选下一跳(Next_Hop)花费(Cost)值最低的路由;

    Ø         优选Cluster_List长度最短的路由;

    Ø         优选Originator_ID最小的路由;

    Ø         Router ID值小者优先

    Ø         BGP会话地址小者优先。

    以上优选规则是从前到后依次比较的,只有在前一个条件无法选出最优路由的情况下才考虑紧接的后一个条件。

    2.2        实例解析选路过程

    在本小节,通过实例的方式,按照以上选路规则解析路由器在选路过程中各步骤的决策条件。由于BGP属性丰富,实际使用环境千变万化,在实际使用中会出现各种应用场景,一个完整体现所有决策过程的拓扑会很复杂,为了简洁明了地展开,本文用简化的拓扑来解析每个决策步骤

    1 基本选路拓扑

    1说明:

    RARBRC都属于AS100,三者建立Full mesh IBGP连接

    RDRE属于AS200,二者建立IBGP连接

    RA环回地址:192.168.100.1

    RB环回地址:192.168.100.2

    RC环回地址:192.168.100.3

    步骤1NEXT_HOP不可达的路由及没有隧道的标签路由都是无效路由,不参与优选

    解析:RARBRC分别收到关于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:优选协议优先级低的路由

    解析:在路由有效的情况下比较路由优先级。通过路由策略修改协议优先级,RARC收到的路由优先级修改为250,而RARB收到的路由优先级为缺省的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:标签路由优于非标签路由

    解析: 取消上一步修改路由优先级的路由策略配置,RARBRC的路由优先级一致,根据协议优先级无法选出最优路由。继续比较,首先考虑的条件是该路由是否是标签路由(是否存在LSP隧道)。重新配置路由策略,使RCRA发送路由的同时分发标签,带有标签的路由优于非标签路由,所以优选从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                                                                     

    步骤4Preferred-value值高的路由优先

    解析取消上一步分发标签的策略,RARBRC收到的路由都没有LSP隧道,所有前述条件无法选出最优路由,系统将进一步比较Preferred-value值优选路由。配置路由策略,使RARC收到的路由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                                  

    步骤5Local_Preference值高的路由优先

    解析:在Preferred-value值相同的情况,进一步比较Local_Preference值优选路由,取消上一步修改Preferred-value值的路由策略,RARB收到的路由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                                                              

    步骤7AS-Path较短的路由优先

    解析:在前述条件都相同的情况下,将进一步比较AS-Path长度来优选路由。配置添加AS号的路由策略,RARC收到关于20.1.1.0/24的路由AS-path中包含两个AS号,从RB收到的路由中包含三个AS号,在其它先决条件都相同的情况下,RARC收到的路由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属性值为IGPEGPIncomplete的路由

    解析1:在AS-Path长度相同的情况下将进一步比较Origin属性的值。

    下表显示RARB收到的路由origin属性为incomplete,从RC收到的路由origin属性为egp,在其他先决条件都相等的情况下,origin属性egp优于incompleteRA优选从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:下表显示RARB收到的路由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优于EGPEGP优于incomplete

    步骤9:优选MED值最低的路由

    解析1:取消上一步修改Origin属性的路由策略,在Origin属性及其他先决条件都无法比较出最优路由的情况下,MED属性值小的路由优先,下表RARC收到关于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说明:

    RARB属于联盟子系统65001RC属于联盟子系统65002

    RARB建立联盟子系统内IBGP邻居关系;

    RARC建立联盟子系统间EBGP邻居关系;

    RARE建立普通EBGP邻居关系。

    20.1.1.0/24

     

    2 联盟选路拓扑

    解析1:在图2中,RA分别从RBRCRE收到路由,在本步骤前的其他先决条件都相同的情况下优选来自EBGP的路由,EBGP路由优于联盟EBGPIBGP路由,所以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值,RARC收到的路由下一跳为RC的环回地址192.168.100.3,到达该地址的IGP cost13RARB收到的路由下一跳为RB的环回地址192.168.100.2,到达该地址的IGP cost15。因此优选从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会话关系用黑色链路表示,绿色链路表示RBRA反射从RD收到的路由;红色链路表示RD发出的路由经过两个反射器(RERC)反射到RA

    RARB收到的路由Cluster_List中只有一个条目;RARC收到的路由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会话关系用黑色链路表示,绿色链路表示RBRA反射从RD收到的路由;红色链路表示RCRA反射从RE收到的路由。

    解析:RARB收到的路由中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

    步骤14Router ID值小者优先

    RARBRC收到的路由在前述步骤都无法优选出路由的情况下需要进一步比较Router ID来选出最优路由,在此步骤中Router ID值小的路由优先。

    解析:RBBGP Router ID6.6.6.6RCBGP Router ID5.5.5.5。所以在RABGP路由表中,从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会话的地址值小者优先

    RARBRC收到的路由在前述步骤都无法优选出路由的情况下(除其他先决条件外,两条路由的Router ID也相同)需要进一步比较建立BGP会话的地址值来选出最优路由,在此步骤中BGP会话地址值小的路由优先。

    解析:在图1RB的环回地址为192.168.100.2RBRABGP会话通过此地址建立;RC的环回地址为192.168.100.3RCRABGP会话通过此地址建立。因为RBRA建立BGP会话的地址相对更小,所以在RABGP路由表中,从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                                                                                                   

    2.3        优选路由的策略

    优选路由的策略方法有很多,简单举例如下:

    l         影响某台路由器本地选路结果

    建议配置路由策略在本地修改Preferred-value来影响选路过程;由于Preferred-value值不属于路由属性,修改后只在本地生效,不会随路由信息传播。但影响本地选路后,BGP只发送最优路由,对其他路由器也有一定的影响。

    l         影响IBGP邻居的选路

    如果希望影响本AS内部的路由器优选自己发出的路由,建议通过修改Local_Preference属性值来实现,在图1中,RBRA发送的路由中Local_Preference属性值为150RCRA发送的路由中Local_Preference属性值为缺省值100,在RA上将优选从RB收到的路由,出AS的流量将通过RB发向AS200

    Local_Preference属性可以向所有IBGP邻居发送,可以对本AS内部所有的IBGP邻居选路产生影响。

    l         影响EBGP邻居的选路

    如果希望EBGP邻居优选自己发出的路由,建议通过修改MED属性值来实现,在图1中,RDEBGP邻居RB发送的路由中MED属性值为20RE希望AS100中的路由器优选自己发出的路由,所以向EBGP邻居RC发送的路由中MED属性值为15,低于RDRB发送路由的MED值,因为MED值低的路由更优,在AS100中将优选来自RE的路由。

    在使用MED属性时须注意,利用MED值进行优选是有一定条件的,来自不同AS的路由缺省情况下不能根据MED值优选路由,需要使能来自不同AS的路由选路时考虑MED这个特性才可以进行比较。

    2.4        优选过程总结

    从以上选路方式可以看出,在选路过程中,人为干预的决策条件(如:Preferred-value)以及本自治系统内使用的管理属性(如:Local_Preference)等条件都放在选路决策的前几步,而随机条件(如:Router ID和会话地址的决策)都在最后,目的是使路由优选的管理和控制更加方便,这样可以在各自治系统内部按照统一的策略来管理和计算路由。