- 积分
- 521
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 注册时间
- 2014-4-15
- 最后登录
- 1970-1-1
- 阅读权限
- 40
- 听众
- 收听
中级工程师
![Rank: 7](https://cdn.hh010.com/static/image/common/star_level2.gif) ![Rank: 7](https://cdn.hh010.com/static/image/common/star_level1.gif) ![Rank: 7](https://cdn.hh010.com/static/image/common/star_level1.gif) ![Rank: 7](https://cdn.hh010.com/static/image/common/star_level1.gif)
|
Cisco BGP Best Path Selection Algorithm
Cisco IOS把所有【目标Prefix相同】的【有效Routes】都放在一个List中。
最新收到Route放在List的最上方。
然后,Routes将从上至下一一对比,例如 ——
○ Route①和Route②对比
○ ①②中的胜出者和Route③对比
○ 胜出者再和Route④对比……
直到和最底部的Route对比完毕,就能选择出最优的Route。
List中的Routes根据以下规则进行对比
——
①. 优选Weight最大的Route
——
§ Weight是Cisco私有参数,只在BGP Speaker本地有效
②. 优选Local_Pref最大的Route
——
§ 如果Route不带Local_Pref Attribute,就被认为Local_Pref值等于100。
§ 可以在BGP进程下使用bgp default local-preference改变默认的Local_Pref值。
③. 优选本地始发的Route
——
§ 本地始发指在本地使用network、redistribute、aggregate生成的Routes
§ network、redistribute比aggregate优先
④. 优选AS Path最短的Route
——
§ 如果使用了bgp bestpath as瀢愀琀栀 ignore命令(2821不支持?),将不会对比AS Path
§ AS_Set作为1个AS计算(不管其中包含多少个AS)
§ AS_Confed_Sequence和AS_Confed_Set不纳入AS Path长度计算。
⑤. 优选Origin Type最优的Route
——
§ IGP优于EGP优于Incomplete
⑥. 优选MED最小的Route
——
§ MED的对比只会发生在AS_Sequence中首个AS号相同的Routes之间。
§ 也就是说,默认下
□ 只会对比来自同一邻居AS的Routes
□ 无视AS_Confed_Sequence,MED在Confederation子AS间不起作用
§ 如果使用了bgp always挢漀洀瀀愀爀攀洢攀搀紀令,将对比所有Routes的MED
□ 从上至下按顺序对比
§ 如果使用了bgp bestpath med confed命令,MED的对比只也会发生在AS_Confed_Sequence中首个AS号相同的Routes之间。
§ MED Value为4,294,967,295的Route在放到BGP Table前改变为4,294,967,294
§ 如果Route不带MED Attribute,就被认为MED值等于0。
§ 如果使用了bgp bestpath med missing愢猀眢漀爀猀琀紀令,不带MED Attribute的Route被认为MED值等于4,294,967,294。
§ 如果使用了bgp deterministic洢攀搀紀令,可能会影响Routes对比的结果
□ List中从相同AS中收到的Routes将被“挪”到一起,并分组
□
□ 然后,所有Routes将先在各自的Group中进行对比,PK出胜负,再从上至下进行对比。
□ 此命令一般用于在BGP Confederation中通过MED优选Route。
⑦. 优选从eBGP Peer学来的Route(相对iBGP Peer)
——
§ 也就是说,优选域外路径,以减少AS内部消耗。
§ 从Confederation eBGP Peer学来的Routes(含有AS_Confed_Sequence和AS_Confed_Set的Routes)被视为从iBGP Peer学来的Routes。
§ 如果选出了最优的Route,跳到Step 9。
⑧. 优选到达其BGP Next Hop的IGP Metric最小的Route。
——
§ 即使选出了最优的Route,继续下一个Step
⑨. 判定是否启用了BGP Multiple(负载均衡)
——
§ 如果最优Route还没选出,继续下一个Step
⑩. 如果Routes都是从eBGP Peer学来,优选先收到的Route(最旧的Route)
——
§ 比较Routes新旧可以减少Routes翻动(越旧的Route一般越稳定)
§ 如果符合以下条件,跳过这个Step
——
a. 启用了bgp best path compare爢漀甀琀攀爀椀搀紀令
b. Routes学自同一个eBGP Peer(从Router-ID相同的eBGP Peer收到的Routes)
c. 当前没有最优Route(例如,通告最优Route的邻居挂了,丢失了最优Route)
11. 优选从Router-ID小的BGP Peer学到的Route
——
§ 如果Route包含Originator ID Attribute(Route从RR学来),用Originator ID代替Router-ID进行对比。
12. 在BGP RR环境中,如果Originator ID或Router-ID都一样,优选最短的Cluster List(Length最小)
13.优选从地址(neighbor x.x.x.x)最小的BGP Peer学到的Route
|
|