BGP选路原则详解与口诀,网络工程师必读的核心路由决策机制
BGP作为互联网的核心路由协议,其选路原则直接决定了数据包的传输路径,是网络工程师必须掌握的核心路由决策机制,本文详细解析了BGP选路的各项原则与判定逻辑,并总结了实用的“BGP选路原则口诀”,通过口诀化记忆,帮助工程师快速理清复杂的选路优先级,从而在网络规划、路由优化及故障排查中更加得心应手,是提升网络运维技能的必读指南。
在当今全球互联网的架构中,BGP(Border Gateway Protocol,边界网关协议)扮演着至关重要的角色,与OSPF或ISIS等依赖带宽、延迟等物理链路属性的内部网关协议(IGP)不同,BGP是一种基于策略的路径矢量协议,它的核心任务不是算出一条“最快”的路,而是根据网络管理员的意志,选出一条“最符合商业和政治利益”的路。
要驾驭BGP,就必须深刻理解它在面对多条到达同一目的地的路由时,是如何做出抉择的,本文将带来硬核的BGP选路原则详解,帮助您理清这13条决定互联网流量走向的“铁律”。
在BGP选路之前,有一个大前提:只有当路由的下一跳(Next-Hop)可达,且AS_PATH不包含本地AS号(防环)时,该路由才会参与选路,满足这两个条件后,BGP将严格按照以下顺序进行逐级比较:
第一阶段:优先级与本地偏好
Weight(权重值)
- 属性:Cisco私有属性,仅本地路由器有效,不传递给任何BGP邻居。
- 规则:权重值越高越优先,本地路由器自己发起(Origin)的路由默认Weight值为32768,从邻居学到的路由默认为0。
- 应用:常用于单台路由器上控制出站流量,比如强制让某条线路作为主出口。
Local Preference(本地优先级)
- 属性:仅在AS内传递,不传给eBGP邻居。
- 规则:本地优先级越高越优先,默认值为100。
- 应用:用于整个AS内控制出站流量走向,当AS有多个出口时,通过调整LP值可以决定流量从哪个出口离开本AS。
基于源的路径选择
- 规则:如果前两项相同,BGP会优先选择本路由器手动通过
network或aggregate命令宣告的路由,其次是重分布进BGP的路由,最后才是从BGP邻居学习到的路由。
第二阶段:AS路径与起源
AS_PATH(AS路径长度)
- 属性:公认必遵属性,记录路由经过的所有AS号。
- 规则:AS_PATH列表越短越优先。
- 应用:这是BGP防环的核心机制,同时也是选路的重要依据,通过route-map增加AS_PATH长度(AS Path Prepend),是工程中常用的调整备用线路的技术。
Origin(起源属性)
- 属性:公认必遵属性,标识路由是如何进入BGP的。
- 规则:IGP(i)优于EGP(e),EGP(e)优于Incomplete(?),即:
i > e > ?。 - 应用:通过
network宣告的路由起源为i,通过重分布进来的路由起源为?。
第三阶段:外部与内部抉择
MED(多出口鉴别器)
- 属性:可选非传递属性,默认情况下,仅当两条路由来自同一个相邻AS时才进行比较。
- 规则:MED值越低越优先,默认值为0。
- 应用:MED常用于影响其他AS的流量如何进入本AS(即控制入站流量),注意:MED是BGP选路规则中唯一一个“越小越优”的属性。
eBGP优于iBGP
- 规则:如果前6步都打平,BGP会优先选择从eBGP邻居学到的路由,而不是从iBGP邻居学到的路由。
- 应用:这符合网络设计的常理,去往外部网络,直接通过外部邻居出去通常比在内部绕一圈再出去更合理。
第四阶段:IGP度量与稳定性
最低IGP Metric
- 规则:如果两条路由同为eBGP或同为iBGP,则比较去往BGP下一跳地址的IGP路由协议的Metric值,Metric越小越优先。
- 应用:确保流量走内部网络中到达下一跳最近的路径。
最老的eBGP路由
- 规则:如果以上所有条件都相同,BGP会优先选择存在时间最长的eBGP路由。
- 应用:这是一种提升网络稳定性的机制,倾向于使用已经建立并稳定存在的路径,避免路由频繁翻动。
最低Router ID
- 规则:比较发送该路由的BGP邻居的Router ID,Router ID越小越优先。
- 注意:如果路由是通过路由反射器(RR)或联盟eBGP发出的,会比较Originator ID,Originator ID小的优先。
最短Cluster List
- 规则:仅在使用路由反射器(RR)的环境中生效,Cluster List越短越优先。
第五阶段:终极决断
最低Neighbor IP Address(最低邻居IP地址)
- 规则:如果前面12个步骤全部打平(这种情况在实际网络中极少发生),BGP将直接比较建立邻居关系的TCP连接对端IP地址,IP地址越小越优先。
- 应用:这是BGP选路最后的“兜底”规则,确保无论何时,BGP总能选出唯一的一条最优路由。
总结与记忆口诀
掌握BGP选路原则是网络工程师从初级走向高级的必经之路,为了方便记忆,业界流传着一个经典的英文首字母缩写口诀:W L O A M E B I。
- W - Weight (最高优先)
- L - Local Preference (最高优先)
- O - Origin (i > e > ?)
- A - AS_PATH (最短优先)
- M - MED (最低优先)
- E - eBGP over iBGP
- B - Lowest IGP metric to next-hop (IGP Metric最低优先)
- I - Lowest IP address of BGP neighbor (最低IP优先)
在实际网络运维中,我们通常通过修改Weight、Local Preference、AS_PATH和MED这四个属性来实施路由策略,理解这套选路规则,不仅能帮助你解决复杂的流量工程问题,更是排查网络异常流量的“指南针”。

