资源描述:
《bgp的路由惩罚机制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、LABBGP的路由惩罚机制一试验说明在网络中,由于种种原因会造成路由的翻动和网络的摆动,这种翻动会引起路由算法的不断计算,也会导致路由更新反复发送。这都会占用路由器的CPU使用率以及系统带宽。而BGP协议一般都运行在骨干网上,维护着大量的路有条目。因此在这种网络环境中,如果路由发生翻动将会对网络的稳定性带来巨大的影响。因此在BGP协议中,采用了路由惩罚机制来将这种路由发动给网络造成的不稳定性降低到最小程度。这个机制采用了以下的4个参数:半衰期,开始抑制阀值,重新启用阀值,最大抑制时间。这个机制是这
2、样运行的:当一条路由产生一次翻动后,会给该路由加一个惩罚值。每翻动一次,惩罚值增加1000。当这个值达到开始抑制阀值时,这条路由就被抑制。如果经过了一个半衰期的时间内这条路由没有再发生翻动则它的惩罚值会降至原来的一半。如果一直没有翻动,则该路由会每经过一个半衰期将惩罚值减为原来的一半,当惩罚值降到重新启用阀值以下时,该路由将彻底解除抑制重新开始使用,但这时路由条目的惩罚值依然存在,直到惩罚值降至重新启用阀值的一半后,路由条目的惩罚值标记将会消失。这4个参数的缺省值分别是:半衰期:15分钟开始抑制阀
3、值:2000重新启用阀值:750最大抑制时间:60分钟下面我们通过一个简单的试验来验证这个过程。试验用图如下:天涯绿草制作于2007-2-1天涯绿草制作r-2007-2-11基本配置rl#shrun
4、brbrouterbgp100nosynchronizationnetwork11.11.11.0mask255.255.255.0neighbor12.0.0.2remote-as200noauto-summaryr2#shrun
5、brbrouterbgp200nosynchronizationne
6、twork22.22.22.0mask255.255.255.0neighbor12.0.0.1remote-as100noauto-summary在验证惩罚之前先查一下R1的BGP路由rl#shipbgpBGPtableversionis11,localrouterIDis11.11.11.11Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal,rRIB-failure,SStaleOrigincodes:i・IGP,
7、e-EGP,?・incompleteNetworkNextHopMetricLocPrfWeightPath*>11.11.11.0/240.0.0.0032768i*>22.22.22.0/2412.0.0.200200i2启动BGP惩罚rl(config)#routerbgp100rl(config-router)#bgpdampening/BGP惩罚是默认关闭的,需要手工启动为了看到惩罚的整个过程,我们需要人为的制造出路由翻动。我们选择在R1上观察22.22.22.0这条路由。而这个网络是R
8、2上的loopbackO接口的网络,所以我们考虑可以通过不停的关闭,打开这个接口先造成这个接口的翻动,从而导致R1上路由的翻动。在这里我们要注意接口的翻动和路由的翻动是两个不同的概念。于是我在不停的打开,关闭这个接口很多次后,(到底多少次我也记不清了)再到R1上进行查看。rl#shipbgpBGPtableversionis12,localrouterIDis11.11.11.11Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i・int
9、ernal,rRIB-failure,SStaleOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHopMetricLocPrfWeightPath*>11.11.11.0/240.0.0.0032768ih22.22.22.0/2412.0.0.200200i注意这时这条路由前面的标志变成了ho再查看一下明细rl#shipbgp22.22.22.0BGProutingtableentryfor22.22.22.0/24,version12Paths:
10、(1available,nobestpath)Flag:0x820Notadvertisedtoanypeer200(historyentry)12.0.0.2from12.0.0.2(22.22.22.22)OriginIGP,metric0,localpref100,externalDampinfo:penalty984,flapped1timesin00:00:21可以看到h表示"historyentry”。现在的惩罚值是984;显示翻动1次(我用了无数次的接口翻动才造成了1