BGP(Border Gateway Protocol)的选路规则是一系列用于确定最佳路径的策略,当存在多条到达同一目的地的路径时,BGP会根据以下**优先级顺序**依次比较规则。以下是详细的选路规则(以主流厂商如Cisco的默认规则为例):
---
### **1. 优选权重(Weight)最高的路径**
- **特性**:Cisco私有属性,仅本地有效(不传递给邻居)。
- **作用**:权重值越高越优先(默认:本地产生的路由权重为32768,从邻居学到的为0)。
### **2. 优选本地优先级(Local Preference)最高的路径**
- **特性**:AS内有效,用于AS内部统一选路。
- **作用**:值越大越优先(默认值通常为100)。
### **3. 优选本地生成的路由(本地发起)**
- 通过`network`或`aggregate`命令生成的路由优先于从邻居学到的路由。
### **4. 优选AS路径(AS_Path)最短的路径**
- **规则**:AS_Path中AS号的数量越少越优(注意:`confed-set`或`AS_SET`会被视为1个AS计数)。
### **5. 优选起源代码(Origin)最优的路径**
- **优先级**:`IGP`(i) > `EGP`(e,已弃用) > `Incomplete`(?,如通过`redistribute`引入的路由)。
### **6. 优选MED(Multi-Exit Discriminator)最小的路径**
- **特性**:用于向邻居AS建议入口路径,仅在相邻AS间比较(默认不比较来自不同AS的MED)。
- **注意**:可通过`always-compare-med`强制比较所有MED。
### **7. 优选EBGP路径 over IBGP路径**
- 从外部邻居(EBGP)学到的路径优先于从内部邻居(IBGP)学到的路径。
### **8. 优选到下一跳IGP度量(Metric)最小的路径**
- **规则**:比较路由器到BGP下一跳的IGP成本(如OSPF Cost、ISIS Metric等)。
### **9. 如果配置了`maximum-paths`,则允许负载均衡**
- 在支持多路径的场景下,BGP可以安装多条等价路径到路由表(需手动启用)。
### **10. 优选最老的EBGP路径(Oldest EBGP Path)**
- 用于减少路由振荡,稳定时间更长的路径优先。
### **11. 优选Router ID最小的BGP Speaker发布的路径**
- 如果路径来自同一台路由器的多个邻居,选择Router ID较小者。
### **12. 优选Cluster List最短的路径**
- 在RR(Route Reflector)环境中,Cluster List长度越短越优。
### **13. 优选邻居地址最小的路径**
- 比较邻居的IP地址(字母序较小者优先,如1.1.1.1优于2.2.2.2)。
---
### **其他注意事项**
- **MED的默认行为**:仅比较来自同一AS的多条路径的MED值。若需跨AS比较,需配置`always-compare-med`。
- **负载均衡**:默认BGP不进行负载均衡,需通过`maximum-paths`命令配置。
- **策略覆盖**:管理员可通过Route-map手动调整属性(如Weight、Local Pref、MED等)干预选路。
---
### **选路规则简化记忆口诀**
> “权本始AS,MED外内度,老R小C小IP”
---
通过灵活组合这些规则,可以实现复杂的流量工程和路径控制。实际应用中需根据网络需求调整属性(如通过Route-map修改Local Pref或MED)。

5276

被折叠的 条评论
为什么被折叠?



