首先,我们需要了解BGP路由选择的第一条规则:优先考虑具有最高WEIGHT值的路径。WEIGHT是一个Cisco私有参数,只对本地路由器生效,不会在网络中传播。本地生成的路径通常具有相同的WEIGHT值(32768),而其他路径的WEIGHT值为0。
接下来,LOCAL-PREF(本地优先级)值也是一个重要的因素。在Cisco的IOS系统中,LOCAL-PREF的默认值是100,并且只能在同一个自治系统内传递。当有多条路径可供选择时,具有更高LOCAL-PREF值的路径会被优先选择。
评估路由的始发地也是BGP路由选择过程中的一个步骤。本地生成的路径被认为是最优的,其次是默认生成的路径、网络生成的路径、重分布的路径、聚合的路径等,按优先级递减。
AS-PATH(自治系统路径)的长度也是BGP路由选择的一个考虑因素。一般来说,AS-PATH列表越短,路径越优。但是,这可以通过配置“bgp bestpath as-path ignore”来忽略。
路由的origin属性也会影响BGP的路由选择。origin属性值越低,路径越优。例如,IGP(内部网关协议)生成的路由origin值为0,EGP(外部网关协议)生成的路由origin值为1,而不完整的信息(INCOMPLETE)的origin值为3。
MED(多路径外部属性)也是BGP路由选择的一个考虑因素。MED值越低,路径越优。但是,只有当两条路径的第一个AS相同时,MED值才会进行比较。如果配置了“bgp always-compare-med”,那么对于所有路径都将比较MED,而不仅仅局限于同一个AS内的路径。
EBGP(外部边界网关协议)路径通常优先于IBGP(内部边界网关协议)路径。这是因为EBGP路径被认为是直接从互联网获得的,而IBGP路径则是从同一个自治系统内的其他路由器获得的。
BGP优先选择到BGP下一跳的IGP度量最低的路径。这意味着如果两条路径具有相同的BGP属性,那么选择IGP度量最低的路径可以减少内部网络的数据包传输。
当存在多条等价成本的路径时,BGP可以在IP路由选择表中插入最多n条路径,其中n的取值范围为2到6。这激活了BGP的多路径负载分担特性,允许数据包在多条路径之间分散传输。
如果两条路径都是外部路径,BGP将优先选择最先收到的路径(最老的路径)。
此外,BGP还优先选择来自于最低的路由器id的BGP路由器的路由。当多条路径的始发路由器ID或路由器ID相同时,BGP将优选CLUSTER-LIST长度最短的路径。
最后,BGP优先选择来自于最低的邻居地址的路径。
综上所述,BGP路由选择过程是一个综合多个因素进行评估的过程,包括WEIGHT值、LOCAL-PREF值、始发地、AS-PATH长度、origin属性、MED、EBGP/IBGP优先级、IGP度量、多路径负载分担、路径接收时间、路由器ID、CLUSTER-LIST长度和邻居地址。理解这些规则对于网络管理员来说至关重要,可以帮助他们有效地配置和管理网络路由。
BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议,目前在互联网中使用非常广泛,BGP协议有非常丰富的属性,路由选择的过程也相对复杂。在使用CISCO设备的网络中BGP路由协议按以下的规则进行路由选择。
1、WEIGHT值最高的路径优先。WEIGHT是CISCO专有的参数,且只对配置该参数的本地路由器有效,不能传递。缺省条件下,本地始发的路径具有相同的WEIGHT值(32768),所有其它的路径的WEIGHT值为0。
2、LOCAL-PREF值(本地优先级)。CISCO IOS中,LOCAL-PREF缺省值为100。该属性只能在本AS内传递。
3、基于始发地(origiNATion)评估路由,路由器本地始发的路径优先。依次降低的优先级顺序是:default-originate(针对每个邻居配置), default-information-originate(针对每种地址簇配置),network , redistribute , aggregate-address 。
4、评估AS-PATH的长度,AS-PATH列表最短的路径优先。但可以通过配置 bgp bestpath as-path ignore (隐藏命令)来忽略这一步。
5、评估路由的origin属性,origin属性值最低的路由优先。IGP:origin值=0;EGP:origin值=1;INCOMPLETE:origin值=3
6、评估MED。MED值最小的路径胜出。该属性可以传递出AS。缺省条件下,只有在两条路径的第一个AS相同的情况下才会进行比较。如果配置了:bgp always-compare-med,那么对于所有路径都将比较MED,而不考虑它们是否来自于同一个AS。
7、EBGP路径优先于IBGP路径。
8、BGP优先选择到BGP下一跳的IGP度量最低的路径。
9、如果配置了maximum-paths[ibgp]n, n在2-6之间,并且存在多条等价成本的路径,那么BGP会在IP路由选择表中插入最多n条接收到的路径。这就激活了BGP多路径负载分担特性。如果没有使用可选关键字ibgp,则多路径特性就仅仅应用于ebgp路径。当不激活这一选项时,它的缺省值为1。
10、当两条路径都是外部路径时,BGP将优先选择最先收到的路径(最老的路径)。
11、BGP优先选择来自于最低的路由器ID的BGP路由器的路由。
12、如果多条路径的始发路由器ID或路由器ID相同,那么BGP将优选CLUSTER-LIST长度最短的路径。
13、BGP优选来自于最低的邻居地址的路径。