BGP选路原则
路由器对BGP路由的处理过程
BGP路由来源包括从其他协议引入和从邻居学习两个部分。为了缩小路由表规模,可以先进行路由聚合。之后路由器进行路由选择、路由发送和路由下发IP路由表等过程。

|
序号 |
说明 |
|
1 |
BGP可以引入其他路由协议的路由,比如直连路由、静态路由、UNR路由和IGP路由。BGP引入路由时支持Import和Network两种方式。 |
|
2 |
BGP在从其他路由协议引入路由,从邻居接收路由,向邻居发送路由时都可以使用路由策略,路由策略可以实现对路由过滤,也可以修改路由属性。 |
|
3 |
BGP支持两种路由聚合方式:自动聚合和手动聚合。其中,使用手动聚合时还可以应用多种路由策略。 |
|
4 |
BGP严格按照选路规则进行路由选择。而选路规则正是本文后续讨论重点。 |
|
5 |
BGP将优选的路由存在路由表中供自己使用,同时向邻居发送。 |
|
6 |
BGP将从BGP邻居学习的,并且在BGP路由表中优选的路由下发IP路由表,指导数据流量转发。 |
选路规则
BGP在选择路由时严格按照先后顺序比较路由的属性,如果通过前面的属性就可以选出最优路由,BGP将不再进行后面的比较;如果BGP通过所有属性仍没有选出最优路由,则先收到的路由优选。下图按照顺序列出了这些属性的助记简写、选择规则和补充说 明。从下图可以看出,仅仅前两项协议首选值和本地优先级是数值高者优选,其他大部分是数值小者或长度短者优选。另外,下图的第一列还可以归纳成如下字符串:“PPAAA OMTCC RA”,记住此字符串有助于记忆整个选路规则。

|
助记简写 |
项目 |
选择规则 |
补充说明 |
|
P |
协议首选值 (PrefVal) |
数值高者优选。 缺省值0。 |
华为设备的特有属性,仅在本地有效。 |
|
P |
本地优先级 (Local_Pref) |
数值高者优选。 缺省值100。 |
可以通过执行 |
|
A 说明 此处取字符 串"ASNIL"的首字面。 |
路由生成方式 |
A>S>N>I>L。其中:
|
- |
|
A |
AIGP (Accumulate d Interior Gateway Protocol) |
数值小者优选。 有AIGP的路由优于没有AIGP的路由。 |
- |
|
A |
AS_Path |
长度短者优选。 |
执行 |
|
O |
Origin |
IGP>EGP>Incomplete。 |
- |
|
M |
MED(Multi Exit Discriminator) |
数值小者优选。 缺省值0。 |
执行 更多MED的使用规则请参考MED。 |
|
T |
邻居类型(Peer Type) |
EBGP>IBGP。 |
- |
|
C |
IGP Cost |
数值小者优选。 |
执行 |
|
C |
Cluster_List |
长度短者优选。 |
缺省情况下,BGP在选择最优路由时Cluster-List优先于Originator-ID。配置 |
|
R |
Router ID |
数值小者优选。 |
如果路由携带Originator_ID属性,选路过程中将比较Originator_ID的大小(不再比较Router ID),并优选Originator_ID最小的路由。 |
|
A |
对等体地址(Peer Address) |
数值小者优选。 |
- |
配置负载分担时的路由选择
配置BGP负载分担后,满足如下所有条件的多条BGP路由会成为等价路由,进行负载分担:
- 首选值(PrefVal)相同。
- 本地优先级(Local_Pref)相同。
- 都是聚合路由,或者都不是聚合路由。
- AIGP值相同。
- AS_Path属性完全相同。
- Origin类型(IGP、EGP、Incomplete)相同。
- MED(Multi_Exit Discriminator)值相同。
- 都是EBGP路由或都是IBGP路由。配置
maximum load-balancing eibgp命令后,BGP在选择最优VPN路由时忽略该条比较。 - AS内部IGP的Metric相同。配置
maximum load-balancing eibgp命令后,BGP在选择最优VPN路由时忽略该条比较。
此外,需要特别指出的是,携带标签的BGP路由与不携带标签的BGP路由即使满足上述条件,也不能形成负载分担。
私网路由选路规则
在VRP的实现中,私网BGP路由选路规则与公网BGP路由选路规则相同。唯一的不同是,相对于公网BGP路由,私网BGP路由需要根据VPN-Target进行路由交叉。更多关于 路由交叉的内容,请参见《VRP 特性描述-IP路由-BGP》中的“BGP私网路由选择”章节。
理解 BGP 路由表
在详细学习BGP路由属性对BGP选路的影响之前,用户需要了解如何查询这些路由属性。
|
路由属性 |
常用查询命令 |
|
协议首选值 (PrefVal) |
display bgp routing-table [ network ] |
|
本地优先级 (Local_Pref) |
display bgp routing-table [ network ] |
|
路由生成方式 |
display bgp routing-table network |
|
AIGP |
display bgp routing-table network |
|
AS_Path |
display bgp routing-table [ network ] |
|
Origin |
display bgp routing-table [ network ] |
|
MED |
display bgp routing-table [ network ] |
|
邻居类型 |
display bgp routing-table network |
|
IGP Cost |
|
|
Cluster_List |
display bgp routing-table network |
|
Originator ID |
display bgp routing-table network |
|
Router ID |
display bgp routing-table network |
|
对等体地址 |
display bgp routing-table network |
No comments to display
No comments to display