今天值班,觀察流量時(shí)突然發(fā)現(xiàn)中中E320往中中CRS方向的OUT流量劇降,幾乎為0了。登錄上E320查看OSPF鄰居,一切正常,查看路由表,發(fā)現(xiàn)OSPF下發(fā)的默認(rèn)路由只有從中南CRS來(lái)的,中中CRS竟然沒(méi)有下發(fā)默認(rèn)路由。這可不妙,馬上登錄中中CRS查看中中CRS的配置,發(fā)現(xiàn)配置沒(méi)有問(wèn)題的。查看中中CRS的路由表,發(fā)現(xiàn)中中CRS的默認(rèn)路由竟是從中南學(xué)習(xí)過(guò)來(lái)的OSPF,而正常應(yīng)該是從D1路由器學(xué)習(xí)過(guò)來(lái)的EBGP路由。
聯(lián)想到凌晨D1路由器有割接,于是想可能是割接時(shí)候配置有問(wèn)題,這臺(tái)D1路由器沒(méi)有下發(fā)默認(rèn)路由。于是立刻上報(bào)。但NOC回復(fù)說(shuō)D1配置沒(méi)有問(wèn)題,肯定下發(fā)了BGP默認(rèn)路由。查看中中CRS的BGP路由表,終于發(fā)現(xiàn)了原因。原來(lái)D1路由器的確下發(fā)了EBGP默認(rèn)路由,這在BGP路由表里可以看到,但問(wèn)題出在這個(gè)EBGP默認(rèn)路由的METRIC值太大,大于中南CRS發(fā)過(guò)來(lái)的IBGP默認(rèn)路由的METRIC值,而CISCO的CRS設(shè)備在這種情況下是優(yōu)先選擇中南CRS下發(fā)的IBGP路由的(這點(diǎn)和華為的設(shè)備不同,華為的設(shè)備總是優(yōu)選EBGP的,不比較METRIC值)這樣這條IBGP默認(rèn)路由被優(yōu)選出來(lái),同時(shí)中中和中南CRS之間還建立有OSPF關(guān)系,于是中南CRS還同時(shí)把OSPF的默認(rèn)路由發(fā)給中中CRS,因?yàn)镮BGP的路由管理距離要大于OSPF,系統(tǒng)選擇了OSPF做為默認(rèn)路由放入了路由表,因?yàn)橹兄蠩320雙掛中中和中南CRS的,所以中中CRS發(fā)過(guò)來(lái)的OSPF默認(rèn)路由自然沒(méi)有被接受(很正常,因?yàn)檫@條默認(rèn)路由是由中南CRS始發(fā)的外部路由,OSPF的路由環(huán)路檢測(cè)機(jī)制會(huì)丟棄從中中CRS發(fā)過(guò)來(lái)的默認(rèn)路由)。當(dāng)然如果是EBGP路由在BGP路由選擇中勝出,情況就不一樣了,因?yàn)镋BGP路由管理距離要小于OSPF,系統(tǒng)選擇了EBGP做為默認(rèn)路由,這樣中中CRS發(fā)給中中E320的默認(rèn)路由始發(fā)就不是中南CRS了,而是自己,中中E320就會(huì)接受這條默認(rèn)路由,并把從中南接受到的默認(rèn)路由同時(shí)放入路由表,進(jìn)行負(fù)載均擔(dān)。這種情況也是正常的情況,但D1路由器割接時(shí)可能改動(dòng)了METRIC值,這自然影響了中中CRS的路由選擇,于是導(dǎo)致了上述情況發(fā)生。
解決方法也很簡(jiǎn)單,那就是恢復(fù)D1路由器上的原來(lái)的METRIC值,使得EBGP在BGP路由選擇中勝出。但這樣會(huì)在骨干網(wǎng)上產(chǎn)生路由振蕩。另一種方法就是在中中CRS建立指向D1路由器的默認(rèn)路由,這種方法不會(huì)產(chǎn)生路由振蕩,影響最小,實(shí)際上最后采用的解決方法也是這一種。