在BGP网络设计中,针对BGP路由的各种路径属性的操作都将影响路由的优选,从而对网络的流量产生影响,掌握BGP路由的优选规则十分之重要。
一台路由器有可能学习到多条去往相同目的网络的BGP路由,BGP会在这些路由中选择一条最优的路由。
BGP定义了一整套详细的选路规则,使得路由器能够在任何复杂的、冗余的网络环境下,决策出一条最优的路由:
network
命令引入的路由、import-route
命令引入的路由、从对等体学习的路由;BGP在进行路由优选时,按照如上规则,依序进行判断。例如,当路由器学习到多条到达同一个目的网络的BGP路由时,拥有最大Preferred_Value值的路由将会被优选,如果路由的Preferred_Value相等,则进入下一条规则进行比较,即优选具有最大Local_Preference的路由,如果路由的Local_Preference相等,则继续进入下一条规则进行比较,直到决策出最优路由为止。需要注意的是上述罗列的只是选路规则中比较有代表性的几条,并不是全部规则,另外,不同的厂商在规则的实现上存在一定的差异,而同一个厂商的不同系统软件版本,也存在实现差异。