范 敏,魏書偉,張海霞
(青島恒星科技學(xué)院,山東 青島 266100)
網(wǎng)絡(luò)中的環(huán)路會導(dǎo)致設(shè)備對廣播、組播以及未知單播等報文進(jìn)行重復(fù)發(fā)送,造成網(wǎng)絡(luò)資源浪費(fèi)甚至網(wǎng)絡(luò)癱瘓。網(wǎng)絡(luò)環(huán)路的形成具有隱蔽性,易引起網(wǎng)絡(luò)動蕩。大量的廣播數(shù)據(jù)可在短時間內(nèi)造成網(wǎng)絡(luò)擁塞、數(shù)據(jù)丟包,如果處理不及時可引起全網(wǎng)癱瘓。
本文研究意義在于為網(wǎng)絡(luò)環(huán)路問題提供有效的解決途徑,從而減少不必要的損失;及時發(fā)現(xiàn)網(wǎng)絡(luò)環(huán)路的存在,以便于實現(xiàn)網(wǎng)絡(luò)的互通性、共享性,避免網(wǎng)絡(luò)環(huán)路某一段發(fā)生斷連甚至網(wǎng)絡(luò)癱瘓,影響正常使用。
環(huán)路是網(wǎng)絡(luò)中危害最大、影響范圍最廣,最易發(fā)生的故障之一[1]。交換機(jī)網(wǎng)絡(luò)環(huán)路是在組建新的網(wǎng)絡(luò)或在原有網(wǎng)絡(luò)中加入新網(wǎng)絡(luò)時常出現(xiàn)的問題。它將導(dǎo)致交換機(jī)產(chǎn)生很多不可預(yù)料的問題,嚴(yán)重時會導(dǎo)致整個網(wǎng)絡(luò)中斷。本文對具體的問題進(jìn)行了分析對預(yù)防二層網(wǎng)絡(luò)環(huán)路問題提出了解決方案[2]。網(wǎng)絡(luò)的環(huán)路一般可以分為二層的環(huán)路和三層的環(huán)路。
三層環(huán)路的主要原因可能是計算機(jī)和路由器之間的協(xié)議沒有正確連接或啟動,即使是在沒有連接或疊加鏈路的情況下,也可能會出現(xiàn)局域網(wǎng)的環(huán)路現(xiàn)象。在處理局域網(wǎng)環(huán)路的問題時,兩層的環(huán)路之間發(fā)生的癱瘓可能性更大,是實際網(wǎng)絡(luò)工程中涉及和應(yīng)用范圍存在最廣泛的一種。
二層環(huán)路問題產(chǎn)生的主要原因有很多,主要由于鏈路冗余導(dǎo)致出現(xiàn)廣播網(wǎng)絡(luò)風(fēng)暴,二層環(huán)路的設(shè)備主要與用戶直接對接,端口密集也會導(dǎo)致操作過程中的錯誤。如果錯誤處理不及時,就可能會直接導(dǎo)致整個網(wǎng)絡(luò)系統(tǒng)出現(xiàn)大面積的癱瘓。
廣播報文風(fēng)暴主要是指局域網(wǎng)中的交換機(jī)設(shè)備發(fā)送了大量的廣播報文,使網(wǎng)絡(luò)環(huán)境內(nèi)出現(xiàn)了大量沒有辦法處理掉的廣播數(shù)據(jù),造成原來的信息無法正常傳輸運(yùn)送,嚴(yán)重時會導(dǎo)致整個網(wǎng)絡(luò)癱瘓且會導(dǎo)致交換機(jī)設(shè)備無法接收和轉(zhuǎn)發(fā)正常數(shù)據(jù)[3]。當(dāng)網(wǎng)絡(luò)出現(xiàn)堵塞時,技術(shù)人員需要使用局域網(wǎng)抓包和分析工具來精確地分析在的網(wǎng)絡(luò)中發(fā)送廣播報文包的交換機(jī)比例和負(fù)載是否過高,以確定是否已經(jīng)發(fā)生了局域網(wǎng)廣播報文風(fēng)暴的現(xiàn)象。然而,交換機(jī)環(huán)路并不是引起局域網(wǎng)廣播風(fēng)暴的主要原因,病毒、網(wǎng)卡或網(wǎng)絡(luò)設(shè)備損壞也可能直接引起局域網(wǎng)廣播報文風(fēng)暴。在發(fā)生局域網(wǎng)廣播風(fēng)暴時,技術(shù)人員要判斷問題是否由環(huán)路引起的。廣播風(fēng)暴大部分是以下3個原因產(chǎn)生的。
1.1.1 網(wǎng)卡或網(wǎng)絡(luò)設(shè)備損壞
終端控制設(shè)備的網(wǎng)卡一旦出現(xiàn)了損壞的情況,其在交換機(jī)運(yùn)行的過程中,就可能會不斷向與其相連接的交換機(jī)端口傳輸數(shù)據(jù)包,進(jìn)而交換機(jī)導(dǎo)致了廣播風(fēng)暴現(xiàn)象的出現(xiàn)。
1.1.2 網(wǎng)絡(luò)環(huán)路
網(wǎng)絡(luò)備用環(huán)路主要存在于同時連接物理網(wǎng)絡(luò)的線路內(nèi)。線路兩端同時連接在物理網(wǎng)絡(luò)的設(shè)備上。一臺物理網(wǎng)絡(luò)交換機(jī)要使用的是同時連接網(wǎng)線的兩個物理網(wǎng)絡(luò)端口,交換機(jī)多次申請針對性請求之后,得不到有效的應(yīng)答,這樣就會導(dǎo)致交換機(jī)頻繁地發(fā)出針對性的請求,很容易造成大型企業(yè)局域網(wǎng)廣播網(wǎng)絡(luò)風(fēng)暴的頻繁發(fā)生。大型的企業(yè)使用局域網(wǎng)的環(huán)境較為復(fù)雜,局域網(wǎng)在正常運(yùn)行的過程中會經(jīng)常出現(xiàn)一些備用的線路,在無形的狀態(tài)下就可能會頻繁地出現(xiàn)復(fù)雜的網(wǎng)絡(luò)備用環(huán)路。
1.1.3 網(wǎng)絡(luò)病毒
在網(wǎng)絡(luò)正常運(yùn)行的情況下,網(wǎng)絡(luò)內(nèi)的病毒在數(shù)據(jù)傳輸?shù)倪^程中,通過進(jìn)行網(wǎng)絡(luò)內(nèi)的廣播和以包的形式對一個網(wǎng)絡(luò)終端進(jìn)行數(shù)據(jù)傳輸,進(jìn)而向一個網(wǎng)絡(luò)終端發(fā)送大量的網(wǎng)絡(luò)垃圾信息數(shù)據(jù)。網(wǎng)絡(luò)內(nèi)的終端發(fā)送大量垃圾的網(wǎng)絡(luò)數(shù)據(jù)使其數(shù)量顯著的增加,最終直接造成了一個局域網(wǎng)終端出現(xiàn)了網(wǎng)絡(luò)癱瘓的情況。
MAC數(shù)據(jù)地址漂移出接口,在同一個數(shù)據(jù)包的虛擬局域網(wǎng)內(nèi)同一個數(shù)據(jù)包源MAC的地址表中有2個漂移出接口,并且后學(xué)習(xí)到的地址漂移出接口完全覆蓋了原出接口的地址漂移現(xiàn)象。為了防止轉(zhuǎn)發(fā)報文消息,交換機(jī)內(nèi)部分別維護(hù)了一張記錄了所有數(shù)據(jù)包源MAC的地址和其他數(shù)據(jù)包對應(yīng)端口的一個MAC地址表。當(dāng)一個交換機(jī)內(nèi)部收到一個數(shù)據(jù)包時,需要首先讀取數(shù)據(jù)包的源MAC,并與交換機(jī)收到該數(shù)據(jù)包的漂移出端口一起直接記錄在一個MAC的地址表中,然后再讀取收到該數(shù)據(jù)包的目的地源MAC,在數(shù)據(jù)包源MAC的地址表中可以查找地址漂移出應(yīng)將轉(zhuǎn)發(fā)的數(shù)據(jù)包從哪個進(jìn)去的端口轉(zhuǎn)發(fā)到哪個出去。
當(dāng)一個網(wǎng)絡(luò)中可能存在交換機(jī)環(huán)路時,可能會直接導(dǎo)致整個網(wǎng)絡(luò)出現(xiàn)擁塞、連接中斷等異?,F(xiàn)象。當(dāng)網(wǎng)絡(luò)用戶無法感知到這些異常現(xiàn)象時,需要發(fā)現(xiàn)和分析這些導(dǎo)致整個網(wǎng)絡(luò)用戶無法正常進(jìn)行網(wǎng)絡(luò)通信的主要原因,判斷這些現(xiàn)象是否為網(wǎng)絡(luò)中的交換機(jī)環(huán)路故障引起的。網(wǎng)絡(luò)通信設(shè)備的配置不當(dāng)、網(wǎng)絡(luò)攻擊、網(wǎng)絡(luò)通信病毒等都非常有可能直接或間接造成交換機(jī)網(wǎng)絡(luò)的非正常運(yùn)行,根據(jù)廣播網(wǎng)絡(luò)交換機(jī)特征分析判斷網(wǎng)絡(luò)交換機(jī)環(huán)路的方法和流程如圖1所示。
圖1 根據(jù)網(wǎng)絡(luò)特征判斷交換機(jī)環(huán)路流程
網(wǎng)絡(luò)中一般二層環(huán)路有如下幾種常見的情形。
情形一:三角環(huán)路,即兩臺核心都連接同一臺接入交換機(jī),如圖2 所示。情形二:核心兩根線都連接到同一臺接入交換機(jī),如圖3所示。情形三:同一根線的頭尾兩端都插到交換機(jī)的兩個端口,如圖4所示。情形四:接入交換機(jī)連接傻瓜式交換機(jī)上的兩個端口環(huán)路,如圖5 所示。
圖2 兩臺核心都連接同一臺交換機(jī)產(chǎn)生的環(huán)路
圖3 核心兩根線都連接到同一臺接入交換機(jī)產(chǎn)生的環(huán)路
圖4 同一根線的頭尾兩端插到同一交換機(jī)產(chǎn)生的環(huán)路
圖5 串聯(lián)傻瓜交缺機(jī)上兩個端口環(huán)路
首先進(jìn)行網(wǎng)絡(luò)整體結(jié)構(gòu)規(guī)劃,畫出網(wǎng)絡(luò)拓?fù)鋱D;然后用思科網(wǎng)絡(luò)模擬器,搭建網(wǎng)絡(luò)環(huán)境,進(jìn)行IP地址和VLAN的劃分;再利用抓包軟件查看端口狀態(tài),開啟環(huán)路保護(hù)功能,開啟端口環(huán)路監(jiān)測功能,進(jìn)行試錯和糾錯,從而通過交換機(jī)檢測找出環(huán)路的問題所在。
通過一個端口設(shè)備的發(fā)送端口,向設(shè)備發(fā)送一種特殊的環(huán)路報文,并通過檢測該設(shè)備發(fā)送報文的數(shù)據(jù)是否能夠從該設(shè)備發(fā)送報文的另一個端口回來,來檢測這個發(fā)送端口上的設(shè)備是否存在環(huán)路現(xiàn)象。因為網(wǎng)絡(luò)隨時都有可能發(fā)現(xiàn)數(shù)據(jù)變動,因此網(wǎng)絡(luò)環(huán)路的檢測過程是一個持續(xù)的環(huán)路檢測過程,即在端口設(shè)備上需要每隔一定的時間檢測一次網(wǎng)絡(luò)環(huán)路。
可以通過使用抓包軟件Wireshark,查看交換機(jī)發(fā)送的報文類型來判斷網(wǎng)絡(luò)是否有環(huán)路。首先在模擬器中創(chuàng)建一個簡單的環(huán)路,由于網(wǎng)絡(luò)中存在環(huán)路導(dǎo)致目的路徑不明確,從而出現(xiàn)交換機(jī)無休止地發(fā)送文件,形成廣播風(fēng)暴,表明網(wǎng)絡(luò)中存在環(huán)路。在三層交換機(jī)中打開STP協(xié)議,防止交換機(jī)冗余鏈路產(chǎn)生的環(huán)路,用于確保以太網(wǎng)中無環(huán)路的邏輯拓?fù)浣Y(jié)構(gòu),從而避免了廣播風(fēng)暴大量占用交換機(jī)的資源,可以有效地防止環(huán)路。
配置交換機(jī)的時候,技術(shù)人員打開交換機(jī)的環(huán)路檢測命令。環(huán)路檢測基于端口每隔30 s檢測一次。只有啟動了環(huán)路檢測功能的端口才會自動進(jìn)行環(huán)路檢測。在全局模式下開啟環(huán)路檢測功能,可以通過查看端口的運(yùn)行狀態(tài)來查找出現(xiàn)環(huán)路的端口,部署防止環(huán)路、保證數(shù)據(jù)負(fù)載均衡的相關(guān)策略,確保接入層業(yè)務(wù)安全、可靠。
端口如果收不到上游交換機(jī)發(fā)送的BPDU 信息,此時如果交換機(jī)重新選擇了根端口,根端口的角色轉(zhuǎn)變?yōu)榻粨Q機(jī)指定的端口,而交換機(jī)阻塞的根端口則是交換機(jī)遷移到根端口的轉(zhuǎn)發(fā)或阻塞狀態(tài),從而交換網(wǎng)絡(luò)中會自動產(chǎn)生交換機(jī)環(huán)路。啟動交換機(jī)環(huán)路的保護(hù)或阻塞功能后,如果交換機(jī)出現(xiàn)了上述情況,則交換機(jī)根端口的環(huán)路角色狀態(tài)轉(zhuǎn)變?yōu)榻粨Q機(jī)指定的根端口,端口的角色狀態(tài)為環(huán)路阻塞;此時被阻塞的端口同樣也會轉(zhuǎn)變?yōu)榻粨Q機(jī)指定的根端口,端口的角色狀態(tài)為轉(zhuǎn)發(fā)或阻塞,不需要轉(zhuǎn)發(fā)交換機(jī)報文,從而大大避免了交換機(jī)環(huán)路的阻塞情況發(fā)生。
當(dāng)誤接入操作、網(wǎng)線接觸不良、設(shè)備硬件損壞等原因形成環(huán)路時,接入層交換機(jī)認(rèn)為環(huán)路是在同一個端口上產(chǎn)生,生成樹協(xié)議無法解決此類環(huán)路問題。此時交換機(jī)不同的端口之間會學(xué)習(xí)到相同的MAC地址,廣播信號和報文以每秒的指數(shù)級速度增長,并迅速從交換機(jī)蔓延至整個二層廣播網(wǎng)絡(luò),形成了廣播信號風(fēng)暴,導(dǎo)致終端用戶出現(xiàn)網(wǎng)速變慢甚至是斷網(wǎng)的現(xiàn)象。用戶開啟交換機(jī)環(huán)路狀態(tài)監(jiān)測功能后,交換機(jī)定時自動監(jiān)測各個端口之間是否存在環(huán)路。如果用戶發(fā)現(xiàn)Access模式的某個端口存在環(huán)路,則自動關(guān)閉該模式的端口,同時自動刪除該端口對應(yīng)的MAC地址并轉(zhuǎn)換為發(fā)表項。如果是Trunk或者Hybrid模式的端口環(huán)路,由于關(guān)閉受控功能,僅向終端上報告警信息。
通過啟用環(huán)路保護(hù)功能,開啟端口環(huán)路監(jiān)測功能,利用抓包軟件和查看端口狀態(tài)能快速準(zhǔn)確定位到故障交換機(jī)端口,從而快速地解決環(huán)路問題,從而節(jié)省了大量的維護(hù)時間和減少了人力成本的浪費(fèi),對實際生活中的檢查具有很強(qiáng)的指導(dǎo)意義。