、BGP Attributes(属性)
*的是公认比遵属性,任何厂商都必须支持。
上面BGP选路的一个大前提是,都关闭同步而且下一跳都是可达的,这样才有资格竞争。
1、weight(权重)(cisco私有):越大越好,默认本地通告的为32768,其他的为0。
下面用一个实例来演示如何修改weight值:
在下面这个图中,R3和R4之间是用交叉线,其他都是串行线。所以没有修改weight值之前,R3去往2.2.2.0/24和9.9.9.0/24的bpg路由应该都是走R4这条线的。下面我们通过修改在R3上修改weight值,让R3去往2.2.2.0/24和9.9.9.0/24的bpg路由都走R1这条线。
还没修改weight值之前R3的BGP路由:
修改weight值:
neighbor 1.1.1.1 weight 1这条命令是把从1.1.1.1发过来的BGP路由都把它的weight值修改为1,这个方向是in方向而不是out方向。
看看效果:
先软清一下:
如果我们要让R3去往2.2.2.0/24的路由往R1走,去往9.9.9.0/24的路由往R4走。
只需要在R3上把收到来自R1的2.2.2.0/24的BGP路由的weight值设置得比0高就可以了。
上面的命令中,还额外配置了一条route-map W permit 20,这是一条空的route-map,是为了允许其他路由进入R3.
看看最后效果:
这样可以做到负载分担的作用。
2、local preference attribute本地优先级属性(告诉IBGP邻居怎样离开AS)越大越好,默认为100.
另外,单独控制:
3、AS path,个数越少越好
注意上图中,1 2的顺序。
下面我们要通告修改R2通告的AS path值,让R3去2.2.2.0/24的BGP路由原本往R4走变成往R1走。
但是AS号不能像上面那样随便取,要是附近真有那样的AS号,则就真的会往哪个AS发,所以,我们一般是“加自己的AS号”像下面这样:
4、MED Attribute(告诉EBGP邻居怎样进入AS)越小越好
现在R2去往8.8.8.0网络是往R4走的,因为这条路径cost值较小。
我们现在要让其往R1走,由于metric值默认为0,所以我们选择在R1提高metric值。。
这是拓展ping的结果。
这是debug ip bgp update的结果。
因为你AS2有时候是不可控的,你只能控制本AS,所以得使用这些方法知道我们配置起了作用没有。
上面的各种属性中,我们最常用的就是本地优先级和metric值
本文出自 “” 博客,请务必保留此出处