摘要:BGP(边界网关协议)作为一种路径矢量路由协议,负责在自主系统(AS)之间交换路由信息,寻找访问互联网特定数据的最佳路径。为了实现路径的选择,BGP引入了一套复杂的选路规则。
BGP(边界网关协议)作为一种路径矢量路由协议,负责在自主系统(AS)之间交换路由信息,寻找访问互联网特定数据的最佳路径。为了实现路径的选择,BGP引入了一套复杂的选路规则。
本文将详细探讨BGP的14条选路原则,帮助网络工程师更好地理解和应用BGP选路策略。
在选择最佳路径时,BGP首先会考虑一些前提条件,包括路由的下一跳是否可达、关闭同步、路由未被惩罚、前缀没有被入境路由策略拒绝等。随后,BGP根据以下14条选路原则进行路径选择:
1. Weight(权重)
定义:Weight是思科私有属性,越大越优先。该属性只在本地有效。应用:本地始发的路由Weight为32768,其他BGP Peer学习来的路由Weight为0。因此,当存在多条路由时,本地路由将优先被选择。2. Local Preference(本地优先级)
定义:Local Preference是一个在同一AS内部传播的属性,值越大越优先。应用:该属性应用于IBGP Peer之间,EBGP Peer之间收到的路由的Local Preference属性将造成会话中断。3. 本地路径优先
定义:优先选择本地始发的路径。应用:本地始发路径的Next-hop值为0.0.0.0,Weight为32768。不同配置方式存在优先顺序:network > redistribute > aggregate。4. 最短AS-Path优先
定义:选择AS-Path中AS数最少的路由。应用:可以配置bgp bestpath as-path ignore来忽略此原则。注意AS-Path中AS号的计数规则。5. Origin(源属性)
定义:Origin属性的优先级为IGP>EGP>Incompelete,表示路由的来源。应用:Origin属性会在BGP路由中携带,影响路径选择。6. MED(多出口判别)
定义:值最小的路径优先,比较仅在同一AS中发生。应用:bgp always-compare-med命令可使BGP比较来自不同AS的MED值,但需在AS内统一配置。7. EBGP优先于IBGP
定义:优先选择EBGP收到的路径。应用:如果都来自EBGP或都来自IBGP,继续尝试下一条规则。8. 最低IGP度量值
定义:到下一跳的IGP度量值最低的路径优先。应用:无论是EBGP peer还是IBGP peer都适用此原则。9. 负载均衡
定义:若前八条规则未能区分路由,且配置了等价负载均衡,执行负载均衡。应用:需要注意AS-Path完全相同的要求以及maximum-paths [ibgp] 的配置。10. 最先收到的路由条目优先
定义:多个EBGP路由时,优先选择最老的路径。应用:可通过bgp bestpath compare-routerid命令忽略此原则。11. 最低Router-ID
定义:选择Router-ID最低的路由。应用:在RR属性出现时,以Originator-ID进行比较。12. Cluster-List长度
定义:在相同Originator-ID的情况下,优先选择Cluster-List长度最短的路径。应用:该情况多见于RR环境中。13. 最低邻居地址优先
定义:优先选择最低邻居地址的路径。应用:邻居地址是在BGP对等体上配置的TCP邻居地址。以上14条BGP选路原则为网络管理和路由优化提供了系统化的方法论。这些原则相辅相成,设计精妙,使得BGP能够根据多种复杂的因素来选择最佳路径。网络工程师在配置和优化BGP时,可以依据这些原则进行详细分析,提高网络的运行效率和稳定性。合理运用以上原则,可以确保在复杂的网络环境中,流量的路由选择既高效又可靠。
来源:郭主任