WWW.XUEXIZU.COM
10、如果是external的路由,优选最老的路由(最先被学习到的路由)。
A:此步骤可以将路由摆动的影响减到最小,因为新接收到的路径不会取代老的,即使这条新接收的路径是通过下面提及到的额外路径选择标准来进行选择的。这使得只在iBGP路径下应用额外的选择步骤更有意义。
B:此步骤可以被bgp bestpath compare_routerid命令语句所关闭。
C:如果路由器标志是一样的,此步骤可以被屏蔽,因为这说明路由器正在从自己那里接收路由。
D:如果当前没有最优路由器,此步骤可以被屏蔽。当提供某个路径的对等体路由器宏机,就会发生丢失当前最优路径的情况。
11、如果在同一时间学习到多条到同一目的地的路由,优选最小BGP-router-ID的路由,注意,如果一个路径包括路由反射器属性,起始者标识将代替路由器标识在路径选择过程中起作用。
12、如果路由从路由反射器上学习到,优选最小Cluster-ID(BGP_ID of the route reflector)长度的路由,而且它运行客户机和其他反射器族中的RR/Clients之间做对等连接,在这种情况下,路由器必须知道BGP协议中的RR的具体配置。
13、优选具有最低对等体地址接收到的路径。这个地址是在BGP对等体上配置并使用的地址,这个地址是本地对等体路由器在其上配置TCP邻居并与远端对等体建立连接时采用的地址。
BGP路径选择顺序:
如果路径不可达或者同步开启后,路径不同步,则该路径不参与选路 1、Weight——权重(越大越优先,Cisco私有属性)
2、Local_Pref——本地优先(越大越优先,本AS内有效)
3、Next_Hop——所传递路由的本地起源优先,即下一跳是0.0.0.0(在BGP表中,当前路由器通告的路由的下一跳为0.0.0.0)
4、AS_Path(越短越优先,对于out与in方向的AS_Path操作产生的效果是不同的) 5、Origin起源(优先:IGP>EGP>Incomplete;IGP指通过在BGP中network通告出来的路由,Incomplete指在BGP 中通过重发布通告出来的路由) 6、MED(越小越优先,影响另一个AS的出站选路)
7、eBGP>iBGP(从eBGP对等体学习的路由优先于从iBGP对等体学习的路由) 8、BGP 优先选择到BGP下一跳的IGP度量最低的路径
9、如果有多条来自相同相邻AS的路由并通过Maximum-paths使多条路径可用,则将所有开销相同的路由加入Loc-RIB 10、Age(eBGP)(Age越大越优先,多条路径具有相同的RID,这个原则不考虑) 11、BGP 邻居的RID(越小越优先)
12、如果多条路径始发路由器ID或路由器ID相同,那么优选Cluster-List最短的路径 13、选择邻居ip地址最小的路由
天津汤姆一通互联网技术训练中心
WWW.XUEXIZU.COM
下面根据观察每台路由器的BGP表并根据BGP的路径选择顺序进行分析: R1
我们可以通过show ip bgp命令来查看本路由器的BGP表,以下为R1的BGP表。
R1#show ip bgp
BGP table version is 6, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i
* 2.2.2.0/24 10.1.1.4 0 345 2 i *> 12.1.1.2 0 0 2 i * 13.1.1.3 0 345 2 i * 3.3.3.0/24 10.1.1.4 0 345 i * 12.1.1.2 0 2 345 i *> 13.1.1.3 0 0 345 i * 4.4.4.0/24 10.1.1.4 0 0 345 i * 12.1.1.2 0 2 345 i *> 13.1.1.3 0 345 i * 5.5.5.0/24 10.1.1.4 0 345 i * 12.1.1.2 0 2 345 i *> 13.1.1.3 0 345 i
分析:
2.2.2.0/24:从拓扑图中可以看到R1分别从R2、R3和R4三个eBGP对等体学习到2.2.2.0
网段,但最后只将从R2学习到的下一跳为12.1.1.2的路由条目作为最优路径装进路由表。
根据BGP的路径选择顺序: 1、Weight(未设置)
2、Local_Perf(未设置) 3、Next_Hop(无) 4、AS_Path
由于从R3和R4学习到的路由条目跨越了AS 345,所以由R3和R4传来的路由条目为2跳,最终选择由R2传来下一跳为12.1.1.2的路由条目装进路由表。 (注意:当BGP协议依据某条选路规则选出最优路径时,将不再考虑后面的规则。)
3.3.3.0/24:R1分别从R2、R3和R4三个eBGP对等体学习到3.3.3.0网段,并将下一跳为
13.1.1.3的路由条目装进路由表。 根据BGP的路径选择顺序:
天津汤姆一通互联网技术训练中心
WWW.XUEXIZU.COM
1、Weight(未设置)
2、Local_Perf(未设置) 3、Next_Hop(无) 4、AS_Path
由R2传来的路由条目为2跳,R3和R4相同,都为1跳,所以先排除R2传来的路由条目为最佳路由。 5、Origin起源(无) 6、MED值(未设置)
7、eBGP>iBGP(R3和R4同为R1的eBGP对等体) 8、cost(用于iBGP) 9、Maximum-paths(无)
10、Age(用于eBGP,越大越优先)
这里我们用show ip bgp summary查看R1与R3、R4的老化时间。可以看到R1与R3建立对等体的时间较长,所以选择由R3传来的下一跳为13.1.1.3的路由条目做为最佳路径装进路由表。
R1#show ip bgp summary
BGP router identifier 1.1.1.1, local AS number 1 BGP table version is 6, main routing table version 6 5 network entries using 505 bytes of memory 13 path entries using 624 bytes of memory
6 BGP path attribute entries using 360 bytes of memory 4 BGP AS-PATH entries using 96 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 1585 total bytes of memory
BGP activity 15/10 prefixes, 39/26 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.1.4 4 345 181 180 6 0 0 02:19:07 4 12.1.1.2 4 2 182 182 6 0 0 02:19:08 4 13.1.1.3 4 345 181 179 6 0 0 02:19:12 4
4.4.4.0/24:情况同R3,所以R1学习4.4.4.0网段并不是通过R4学到,而是由R3传递过来,
下一跳为13.1.1.3。
5.5.5.0/24:情况同R3,需要注意的是R4在传递路由时遵循路由传递原则,即从iBGP对等
体学来的路由,传递给自身直连的eBGP对等体,下一跳更改,所以下一跳为13.1.1.3。
天津汤姆一通互联网技术训练中心
WWW.XUEXIZU.COM
路由器R2、R3、R4、R5将不在一一赘述,只挑其中比较有代表性的来分析。 R3
R3#show ip bgp
BGP table version is 13, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path * i1.1.1.0/24 10.1.1.1 0 100 0 1 i *> 13.1.1.1 0 0 1 i * 2.2.2.0/24 13.1.1.1 0 1 2 i *>i 24.1.1.2 0 100 0 2 i *> 3.3.3.0/24 0.0.0.0 0 32768 i *>i4.4.4.0/24 45.1.1.4 0 100 0 i *>i5.5.5.0/24 35.1.1.5 0 100 0 i
分析:
4.4.4.0/24:从BGP表中可以看到R3只从R4学习到下一跳为45.1.1.4的条目做为最佳路由
装进路由表中。但从拓扑中我们知道R1和R5同为R3的对等体,为何R1和R5不向R3传递路由条目?这里需要注意,由于R5与R3、R4都是iBGP对等体的关系,遵循路由传递原则,即从直连iBGP对等体学来的路由,不会再传给直连的另外一个iBGP对等体,所以R5是不会向R3传递R4的路由条目的;再看R1,因为R1是从AS 345学习到R4的4.4.4.0条目,所以R1不会再传回给AS 345,这点很像矢量路由中的“水平分割”。
R4
R4# show ip bgp
BGP table version is 13, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path * 1.1.1.0/24 24.1.1.2 0 2 1 i * i 13.1.1.1 0 100 0 1 i *> 10.1.1.1 0 0 1 i * 2.2.2.0/24 10.1.1.1 0 1 2 i *> 24.1.1.2 0 0 2 i
天津汤姆一通互联网技术训练中心
WWW.XUEXIZU.COM
*>i3.3.3.0/24 35.1.1.3 0 100 0 i *> 4.4.4.0/24 0.0.0.0 0 32768 i *>i5.5.5.0/24 45.1.1.5 0 100 0 i
分析:
1.1.1.0/24:R4分别从R1、R2和R3三个对等体学习到1.1.1.0网段,并将下一跳为10.1.1.1
的路由条目装进路由表。 根据BGP的路径选择顺序: 1、Weight(未设置)
2、Local_Perf(未设置) 3、Next_Hop(无) 4、AS_Path
由R2传来的路由条目为2跳,R1和R2相同,都为1跳,所以先排除R2传来的路由条目为最佳路由。 5、Origin起源(无) 6、MED值(未设置) 7、eBGP>iBGP
由于R4与R1为eBGP对等体关系,而与R3为iBGP对等体关系,所以R4优选从R1传来的下一跳为10.1.1.1的路由条目做为最佳路由装进路由表。
R5
R5#show ip bgp
BGP table version is 14, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path * i1.1.1.0/24 13.1.1.1 0 100 0 1 i *>i 10.1.1.1 0 100 0 1 i *>i2.2.2.0/24 24.1.1.2 0 100 0 2 i *>i3.3.3.0/24 35.1.1.3 0 100 0 i *>i4.4.4.0/24 45.1.1.4 0 100 0 i *> 5.5.5.0/24 0.0.0.0 0 32768 i
分析:
1.1.1.0/24:R5分别从R3和R4两个对等体学习到1.1.1.0网段,并将下一跳为10.1.1.1的路
由条目装进路由表。
根据BGP的路径选择顺序: 1、Weight(未设置)
天津汤姆一通互联网技术训练中心