在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡。
实际上就2个原则成就了ospf---最短路径优先的工作原理。
那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢?
来看看这11个属性的优先级,加深记忆,最好能熟练的背下来:
1 HIGHEST WEIGHT--cisco私有属性
2 HIGHEST LOCAL PRERENCE -----公认可选
3 ROUTE ORIGINATED BY THE ROUTER NEXT HOP=0.0.0.0 * -----公认必尊well-known mandatory
4 SHORTEST AS PATH * -----公认必尊well-known mandatory
5 LOWEST ORIGINATED IGP>EGP>INCOMPLETE * -----公认必尊well-known mandatory
6 LOWEST MED
7 EBGP PATH OVER IBGP PATH
8 PREFER THE PATH THROGH THE CLOSEST IGP NEIGHBOR
9 RREFER OLDEST ROUTER FOR EBGP PATH
10 PREFER THE PATH WITH THE LOWEST NEIGHBOR BGP ROUTER ID
11 BGP LOWEST ROUTER ID
12 MINIMUM CLASTER LIST LENGTH
在bgp中,除了有一大堆原理需要深刻理解以外,选路原则是重中之重。一定需要掌握(要想对bgp有所认识和故障排查,这里一定是要掌握而不是了解)选路原则。
该文档会逐一对每个属性进行验证.力求能达到让我自己在心里有数对这些概念。
再来看看BGP的选路原则:
1、 优先选取具有最大权重(weight)值的路径,权重是Cisco专有属性。
2、 如果权重值相同,优先选取具有最高本地优先级的路由。
3、 如果本地优先级相同,优先选取本地路由(下一跳为0.0.0.0)上的BGP路由。
4、 如果本地优先级相同,并且没有源自本路由器的路由,优先选取具有最短AS路径的路由。
5、 如果具有相同的AS路径长度,优先选取具有最低源代码(IBGP<EBGP<INCOMPLETE)的路由。
6、 如果起源代码相同,优先选取具有最低MED值的路径。
7、 如果MED都相同,在EBGP路由和联盟EBGP路由中,首选EBGP路由,在联盟EBGP路由和IBGP路由中,首选联盟EBGP路由。
8、 如果前面所有属性都相同,优先选取离IGP邻居最近的路径。