某氣象數(shù)據(jù)采集站地處高山地區(qū),網(wǎng)絡(luò)通過協(xié)議轉(zhuǎn)換器、Cisco 2950交換機等網(wǎng)絡(luò)設(shè)備連接到上級數(shù)據(jù)采集處理中心。近日因雷雨天氣影響,關(guān)閉所有網(wǎng)絡(luò)設(shè)備。天氣轉(zhuǎn)好后對網(wǎng)絡(luò)設(shè)備開機加電,網(wǎng)絡(luò)設(shè)備指示燈顯示狀態(tài)異常,上級節(jié)點接入交換機端口物理指示燈不亮,查看網(wǎng)絡(luò)信道通斷監(jiān)控軟件顯示網(wǎng)絡(luò)中斷。
該數(shù)據(jù)采集站點的網(wǎng)絡(luò)拓撲結(jié)構(gòu)比較簡單,數(shù)據(jù)信息是通過光端機、協(xié)議轉(zhuǎn)換器等通信設(shè)備接入上級節(jié)點。首先對網(wǎng)絡(luò)信道聯(lián)通檢查,將上級端協(xié)議轉(zhuǎn)換器進行環(huán)路,發(fā)現(xiàn)雙方協(xié)議轉(zhuǎn)換器指示燈狀態(tài)均正常,經(jīng)過信道檢查,發(fā)現(xiàn)網(wǎng)絡(luò)通信信道正常,問題可能出現(xiàn)在兩端的交換機中。
協(xié)議轉(zhuǎn)換器是通過RJ45網(wǎng)絡(luò)接口與交換機連接,直接用一根平行雙絞線連接采集中心協(xié)議轉(zhuǎn)換器和筆記本電腦,設(shè)置筆記本電腦的IP地址與遠端數(shù)據(jù)采集設(shè)備在同一網(wǎng)段,通過Ping方法檢查采集中心協(xié)議轉(zhuǎn)換器與外站數(shù)據(jù)采集設(shè)備之間的網(wǎng)絡(luò),經(jīng)檢查網(wǎng)絡(luò)連通正常,數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象。因此,問題很有可能出現(xiàn)在采集中心接入交換機中。
仔細檢查采集中心的接入交換機,發(fā)現(xiàn)下連端口相對應的LED狀態(tài)燈也將由正常的綠色變?yōu)榘迭S色。因此,進一步判斷故障出現(xiàn)在采集中心的接入交換機中。通過telnet登錄交換機,并在特權(quán)模式下使用show interface status命令查看交換機的端口狀態(tài),狀態(tài)信息如下:
從交換機端口返回的狀態(tài)信息不難看出,與采集中心協(xié)議轉(zhuǎn)換器連接的交換機端口fa0/1狀態(tài)為“errdisabled”,即交換機接口不可用。當端口處于errdisabled狀態(tài),將沒有任何流量從該端口被轉(zhuǎn)發(fā)出去,也將不接收任何進站流量,因而其狀態(tài)指示燈會變成暗黃色。
筆者通過“show int status err-disabled”命令,查看產(chǎn)生err-disabled的原因,返回的具體信息如下所示:
從采集中心接入交換機的日志信息可以看出,造成交換機端口狀態(tài)為“errdisabled”的原因是網(wǎng)絡(luò)信道發(fā)生環(huán)路。通過“SHOW LOG”命令可以查看交換機B環(huán)路發(fā)生的原因,日志信息如下:
分析交換機日志可以得出,造成交換機環(huán)路發(fā)生的原因是交換機keepalive信息包在F0/1口中檢測到環(huán)路,故障原因得以確定。Cisco 2950交換機默認情況下會從所有端口向外發(fā)送keepalive信息,而一些不通過交換機協(xié)商的spanning-tree(生成樹協(xié)議)可能會發(fā)生錯誤,當keepalive信息由交換機的端口發(fā)出后,該端口又收到該信息,形成邏輯環(huán)路,端口被置err-disabled狀態(tài),網(wǎng)絡(luò)就此中斷。
通過上面分析,造成交換機環(huán)路的原因是keepalive信息從一個端口發(fā)出后,又被該端口接收,使得該端口形成邏輯環(huán)路,狀態(tài)變?yōu)椤癳rr-disabled”。因此,在不升級交換機系統(tǒng)版本的前提下,可以通過以下兩種方法解決。
第一種方法是取消由環(huán)路引起端口錯誤保護。具體配置命令如下:
然后進入Fast Ethernet0/1, 執(zhí) 行no shutdown重新啟動端口。
第二種方法是關(guān)閉交換機的keepalive,禁止所有端口向外發(fā)送keepalive信息。在交換機配置模式下對所有接口關(guān)閉keepalive,命令如下:
當然,我們也可以升級交換機IOS版本,Cisco交換機12.1EA之前的IOS版本,默認情況下所有端口都發(fā)送keepalive信息,造成端口形成邏輯環(huán)路,端口狀態(tài)變?yōu)椤癳rr-disabled”,而在12.1EA之后的版本,默認關(guān)閉keepalive,因此可以將交換機IOS升到12.2SE或者更高版本。
一般導致交換機接口出現(xiàn)err-disable狀態(tài)有以下幾個常見原因。
如果要讓EC能夠正常工作,參與到EC綁定的端口的配置,必須是一致的,比如處于同一VLAN,trunk模式相同,速率和雙工模式都匹配等。如果一端配置了EC,而另一端沒有配置EC,STP將關(guān)閉配置了EC一方的參與到EC中的端口,并且當PAgP的模式是處于on模式的時候,交換機是不會向外發(fā)送PAgP信息去進行協(xié)商的(它認為對方是處于EC),這種情況下STP判定出現(xiàn)環(huán)路問題,因此將端口設(shè)置為errdisabled狀態(tài)。
雙工模式不匹配的問題比較常見,由于速率和雙工模式自動協(xié)商的故障,常導致這種問題的發(fā)生,可以使用show interfaces命令查看雙方端口的速率和雙工模式,后期版本的CDP也能夠在將端口處于errdisabled狀態(tài)之前發(fā)出警告日志信息。另外,網(wǎng)卡的不正常設(shè)置,也將引起雙工模式的不匹配。解決辦法如雙方不能自動協(xié)商,使用duplex命令修改雙方雙工模式使之一致。
通常啟用了快速端口(PortFast)特性的端口用于直接連接端工作站這種不會產(chǎn)生BPDU的末端設(shè)備,由于PortFast特性假定交換機的端口不會產(chǎn)生物理環(huán)路,因此當在啟用了PortFast和BPDU Guard特性的端口上收到BPDU后,該端口將進入err-disabled狀態(tài),用于避免潛在環(huán)路。
UDLD協(xié)議允許通過光纖或銅線相連的設(shè)備監(jiān)控線纜的物理配置,并且可以檢測是否存在單向鏈路。如果檢測到有單向鏈路,UDLD將關(guān)閉相關(guān)端口并發(fā)出警告日志信息,單向鏈路可以引起一系列的問題,最常見的就是STP拓撲環(huán)路。注意,為了啟用UDLD,雙方必須都支持該協(xié)議,并且要單獨在每個端口啟用UDLD,如果只在一方啟用了UDLD,同樣的會引起端口進入errdisabled狀態(tài)。
鏈路振蕩(flap)是指短時間內(nèi)端口不停地處于up/down狀態(tài),如果端口在10秒內(nèi)連續(xù)振蕩5次,端口將被設(shè)置為err-disabled狀態(tài)。引起鏈路震蕩的常見因素可能是物理層的問題,比如GBIC的硬件故障等,因此解決這種問題通常先從物理層入手。
回環(huán)錯誤就是本文中故障產(chǎn)生的原因,當keepalive信息從交換機的出站端口被發(fā)送出去后,又從該接口收到該信息,就會發(fā)生回環(huán)錯誤,交換機默認情況下會從所有端口向外發(fā)送keepalive信息,由于STP沒能阻塞某些端口,導致這些信息可能會被轉(zhuǎn)發(fā)回去形成邏輯環(huán)路。出現(xiàn)這種情況后,端口將進入errdisabled狀 態(tài),從Cisco IOS 12.2SE之后的版本,keepalive信息將不再從光纖和上行端口發(fā)送出去,因此解決這種問題的方案是升級Cisco IOS軟件版本到12.2SE或后續(xù)版本。
端口安全特性提供了根據(jù)MAC地址,動態(tài)的對交換機端口進行保護的特性,違反該策略將導致端口進入err-disabled狀態(tài),端口安全的原理和配置這里就不再贅述。
通常確定交換機故障后,重啟交換機或者更換交換機接入端口,即可恢復通信,但這類方法不能解決根本問題。管理維護人員應“順藤摸瓜”,通過故障現(xiàn)象找出問題根本所在,從源頭上解決問題。