近日,互聯(lián)網(wǎng)用戶反映上網(wǎng)特別慢,得知這一故障后,首先在機房進行測試,發(fā)現(xiàn)打開網(wǎng)頁的速度很慢,于是使用Ping命令對百度、網(wǎng)易等各大門戶網(wǎng)站進行測試,發(fā)現(xiàn)了一個共同的現(xiàn)象,Ping結(jié)果顯示包是通一個丟一個。
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
為了更好地排除故障,我們首先了解一下網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(如圖1)。
通過圖1可以看到,互聯(lián)網(wǎng)核心網(wǎng)絡(luò)由兩臺流控設(shè)備、兩臺路由器和多臺BRAS組成,其中出現(xiàn)故障用戶位于BRAS-1上,四路互聯(lián)網(wǎng)出口分別連接到兩臺流控設(shè)備上。
首先對該互聯(lián)網(wǎng)出口的互聯(lián)地址進行了測試,結(jié)果不通。難道是互聯(lián)網(wǎng)出口出現(xiàn)了問題?登錄到流控設(shè)備-1上對互聯(lián)網(wǎng)出口的互聯(lián)地址192.168.92.9進行測試,發(fā)現(xiàn)沒有問題。就在登錄到流控設(shè)備-1上查看互聯(lián)網(wǎng)出口流量的同時,我們發(fā)現(xiàn)兩臺流控設(shè)備的互聯(lián)心跳線幾乎沒有任何流量,看到這個情況,我們意識到問題的嚴(yán)重性。
急忙來到機房對流控設(shè)備心跳線的端口指示燈進行查看,指示燈處于滅的狀態(tài),使用光功率計對心跳線的光功率進行測量,發(fā)現(xiàn)流控設(shè)備-2沒有收到流控設(shè)備-1的光功率。這有可能就是網(wǎng)絡(luò)故障發(fā)生的原因所在,即流控設(shè)備-1和流控設(shè)備-2互聯(lián)的端口出現(xiàn)故障。對流控設(shè)備-1上的光模塊進行更換后,發(fā)現(xiàn)光模塊依然不發(fā)光。難道是端口關(guān)閉了?登錄到設(shè)備后發(fā)現(xiàn)端口并沒有關(guān)閉,隨即使用打環(huán)的方式進行測試。所謂打環(huán),就是將網(wǎng)絡(luò)設(shè)備的發(fā)送端經(jīng)過一個環(huán)路環(huán)回到此設(shè)備的接收端,故障端口的指示燈依然是滅的。
為了盡快解決故障,我們決定使用更換端口的方法來解決問題。立即將流控設(shè)備-1設(shè)備上的互聯(lián)心跳線端口0/2更換到0/3上,同時將路由策略中的入接口也修改成了0/3口,這樣做完后,設(shè)備連接的心跳線接口瞬時閃爍起來,兩個端口的互聯(lián)地址也能Ping通,而且端口的流量也在不斷增加。再一次對百度、網(wǎng)易和搜狐等各大門戶網(wǎng)站進行了Ping測試,沒有再出現(xiàn)文章開頭通一個丟一個的現(xiàn)象,故障得到解決。
后期我們將流控設(shè)備端口故障的問題反饋給了設(shè)備廠家。在等待廠家查找原因的同時,我們也將對兩臺流控設(shè)備的心跳線進行調(diào)整和優(yōu)化,具體的措施是,使用鏈路聚合的方式將兩臺設(shè)備連接起來,這樣既能實現(xiàn)流量的負(fù)載分擔(dān),又能達(dá)到鏈路備份的作用,達(dá)到了兩全其美的效果。
上面我們從得知故障現(xiàn)象后,一步一步分析問題,廣泛使用了Ping命令,從而最后將故障定位到端口上。在這里,我們還使用了打環(huán)的方法對光模塊或者端口進行了簡單測試,最后通過更換端口的方法解決了問題。
仔細(xì)分析出現(xiàn)該問題的因果關(guān)系,如圖1所示,BRAS-1上的互聯(lián)網(wǎng)用戶根據(jù)BGP協(xié)議的特性,它會根據(jù)路由的優(yōu)先級高低,發(fā)現(xiàn)BRAS-1到兩臺路由器的開銷是一致的,所以BRAS-1會將數(shù)據(jù)轉(zhuǎn)發(fā)給兩臺路由器,如果用戶從路由器-1上來,想訪問位于流控設(shè)備-2上的聯(lián)通出口,結(jié)果是失敗的,原因是兩臺流控設(shè)備間的心跳線出現(xiàn)故障,這樣就會造成丟包現(xiàn)象的發(fā)生。反過來,用戶如果從路由器-2上直接訪問位于流控設(shè)備-2上的聯(lián)通出口的話,數(shù)據(jù)就會正常轉(zhuǎn)發(fā)出去,這樣就完成了數(shù)據(jù)的正常轉(zhuǎn)發(fā)。
綜合以上兩點我們就可以解釋清楚文章開頭Ping各大門戶網(wǎng)站出現(xiàn)包通一個丟一個的現(xiàn)象,即兩臺流控設(shè)備間的心跳線出現(xiàn)故障,導(dǎo)致部分?jǐn)?shù)據(jù)請求無法轉(zhuǎn)發(fā)出去,從而引發(fā)網(wǎng)絡(luò)故障。