1.优先选择具有最大WEIGHT值的路径。WEIGHT是Cisco的专用参数,只对配置了它的路由器局部有效
2.优先选择具有最大LOCAL_PREFERENCE值的路径
3.优先选择通过BGP命令network、aggregate在本地产生的路径,或者通过IGP重新发布的路径。本地network、redistribute命令产生的路径比aggregate-address命令产生的路径具有较高的优先级
4.优先选择具有AS_PATH的路径。AS_PATH是特定的更新分组为了到达本地自治系统而经过的自治系统列表。路径经过的AS越少,当选的可能性就越大。注意:
n         如果配置了bgp bestpath as-path ignore,这条规则将被跳过。
n         无论集合中包含多少AS,一个AS_SET按1算
n         AS_CONFED_SEQUENCE不包含在AS_PATH长度内
5.优先选择具有最低产生类型的路径。各产生类型的顺序关系:IGP<EGP<INCOMPLETE
6.优先选择具有最低MED值的路径。注意:
n         只有两条路径来自于同一个AS时,才进行MED的比较。联盟子AS将被忽略。换句话说,就是多条路径的AS_SEQUENCE中的第一个AS相同时,才比较MED。任何AS_CONFED_SEQUENCE都将被忽略
n         如果bgp always-compare-med被激活,将对所有路径进行MED比较。这个选项需要在整个AS中激活,否则可能出现路由环路
n         如果bgp bestpath med-confed被激活,将在仅由AS_CONFED_SEQUENCE(由本地联盟产生的路径)组成的所有路径之间比较MED
n         从邻居收到的MED值为4294967295的路径在插入BGP表之前,要将值改为4294967294
n         对于收到的没有MED值的路径,除非bgp bestpath missing-as-worst命令被激活,否则都要分配一个MED值0.在激活该命令的情况下,路径将赋予MED值4294947294
n         bgp deterministic med也会影响这一步
7.优选eBGP而不是iBGP,包含AS_CONFED_SEQUENCE的路径是联盟的本地路径,因而按照内部处理。联盟内部和联盟外部没有区别
8.优选BGP下一条具有最低IGP度量的路径
9.如果maximum-paths 被激活,将有来自同一相邻AS或子AS的多条外部或联盟外部路径,BGP将最近收到的路径插入IP路由表中,最多插入n条。这将允许在多条eBGP路径之间分担负载。目前n的最大值是6。该选项被禁止时的缺省值是1.最早接收的路径在show ip bgp longer-prefixes的输出中标记为最优路径,在向内部对等体转发该路径之前要运行next-hop-self的等价命令
10.如果两条路径都是外部的,则优选先接收的那一条。这一步能够最小化路由抖动,因为即使基于RID应该选择新路径,新路径依然不能代替老路径。仅对iBGP路径应用11、12、13中的额外决定步骤将是更好的方法,它们能够确保网络中最优路径决策的一致性,从而避免路由环路。如果下面的任何一项为真,这一步就会被跳过:
n         bgp bestpath compare-routerid 命令被激活
n         由于多条路由来自于同一条路由器,他们的RID都一样
n         不存在最有路径。当提供最优路径的邻居失效时,就可能出现丢失当前最优路径的情况
11.优选具有最小RID的BGP路由器的路径。RID是路由器上的最大IP地址,倾向于赋给回环地址。也可以通过bgp router-id命令手工设置。如果一条路径包含RR属性,产生者ID将在最优路径选择过程中代替RID
12.如果多条路径的产生者或RID一样,则优选具有最小簇ID长度的路径。这只存在与运行BGP路由反射的环境中,这种环境中用户跟RR或其他簇的用户是对等的。在这种情况下,用户必须知道特定的RR的BGP的属性
13.优先选择来自最低邻居地址的路径。这是一个在BGP邻居配置中使用的IP地址,它对应于与本地路由器有TCP连接的远程对等体。