■福建 王剛 曾瑋琳 鄭洪飛
引言:環(huán)路問題一直是導致網(wǎng)絡質(zhì)量下降甚至癱瘓的主要原因之一,在網(wǎng)絡日常使用中,由于操作不當、配置錯誤等原因造成網(wǎng)絡環(huán)路,數(shù)據(jù)流通不暢,無論是政府單位還是電信運營商,數(shù)據(jù)流通不暢都可能帶來巨大損失。如何快速破壞網(wǎng)絡環(huán)路,最大程度減少損失顯得非常重要。
為了能夠及時發(fā)現(xiàn)網(wǎng)絡中的二層網(wǎng)絡環(huán)路,避免對整個網(wǎng)絡造成嚴重影響,當網(wǎng)絡中出現(xiàn)環(huán)路時,可利用交換機環(huán)路檢測技術(Loopback Detection),及時發(fā)出告警信息,通知用戶檢查網(wǎng)絡連接和配置情況,并能夠?qū)⒊鰡栴}的接口置于某種管制狀態(tài),以實現(xiàn)快速破壞二層網(wǎng)絡環(huán)路,最小程度地影響網(wǎng)絡使用,環(huán)路檢測功能并不能破壞二層網(wǎng)絡環(huán)路,必須結合交換機物理接口管制狀態(tài)才能快速破壞二層網(wǎng)絡環(huán)路。
所有環(huán)路的形成都是由于目的路徑不明確導致混亂而造成的,環(huán)路會造成網(wǎng)絡動蕩,引起數(shù)據(jù)包數(shù)量增加,造成丟包,嚴重時會導致網(wǎng)絡癱瘓。在多數(shù)網(wǎng)絡故障中,鏈路和設備故障導致網(wǎng)絡通訊質(zhì)量下降的占多數(shù),通常在網(wǎng)絡部署和網(wǎng)絡設備調(diào)整過程中也會因路徑的設置不當導致二層網(wǎng)絡環(huán)路,造成各種危害。
環(huán)路一旦形成,網(wǎng)絡中的環(huán)路會對廣播、組播以及未知單播等報文進行不斷地循環(huán)轉(zhuǎn)發(fā)、廣播和重復發(fā)送,無法結束進而造成網(wǎng)絡廣播風暴,阻塞帶寬,耗盡交換資源,能讓交換機的CPU使用率高達85%以上,造成網(wǎng)絡資源浪費甚至交換機癱瘓。
由于交換機具有學習功能,網(wǎng)絡內(nèi)的主機只要發(fā)送廣播報,交換機就必須在相應的物理端口學習MAC地址形成MAC地址表,當有環(huán)路存在時,交換機會在多個端口學習到同一MAC地址和IP地址,從而形成錯誤的MAC地址表,這種現(xiàn)象就是MAC地址飄移,會影響數(shù)據(jù)包的正常轉(zhuǎn)發(fā),造成網(wǎng)絡中斷。
在規(guī)模較大的局域網(wǎng)網(wǎng)絡中,時常會遇到網(wǎng)絡通道被嚴重堵塞的現(xiàn)象,造成這種故障現(xiàn)象的原因有很多,常見的主要原因有6種。一是網(wǎng)絡中交換機改動、亂入或位置變化。因為頻繁改動網(wǎng)絡時很容易引發(fā)網(wǎng)絡環(huán)路,而由網(wǎng)絡環(huán)路引起的網(wǎng)絡堵塞現(xiàn)象常常具有較強的隱蔽性,不利于故障現(xiàn)象的高效排除。二是網(wǎng)絡線路調(diào)整。在調(diào)試設備時測試光路形成的環(huán)路。有時我們會在遠端進行線路回環(huán)對線路是否正常進行測試,有時因操作導致線路混亂而產(chǎn)生環(huán)路。三是配置不當。例如,為實現(xiàn)二層網(wǎng)絡雙路由保護或流量分擔,鏈路進行聚合操作,當在參加的接口上取消了鏈路聚合功能就會形成環(huán)路,還比如,交換機啟動了生成樹協(xié)議,當取消生成樹協(xié)議后,原來可能阻塞的環(huán)路恢復環(huán)路等。四是病毒引發(fā)環(huán)路。原本網(wǎng)絡中存在環(huán)路,但因使能生成樹協(xié)議后環(huán)路失效,但因病毒引發(fā)線路阻塞,導致生成樹?;畹膮f(xié)議失效,導致生成樹協(xié)議失效,引發(fā)環(huán)路恢復。五是報文轉(zhuǎn)發(fā)異常導致環(huán)路。當數(shù)據(jù)轉(zhuǎn)發(fā)給外連交換機時,因外連交換機的處理能力不足,外連交換機會反彈轉(zhuǎn)發(fā),從而造成網(wǎng)絡環(huán)路。六是硬件故障。這種故障比較少,因為即使交換機接口出現(xiàn)故障一般也不會形成環(huán)路,但有時接口被高壓等原因擊穿后接口內(nèi)部會形成環(huán)路。
環(huán)路檢測技術是通過連續(xù)周期性發(fā)送環(huán)路檢測報文來檢測網(wǎng)絡中是否存在環(huán)路的檢測技術。二層環(huán)路分為單臂環(huán)路和雙臂環(huán)路,單臂環(huán)路為環(huán)路檢測報文從交換機某端口發(fā)出,又從該端口接收到該環(huán)路檢測報文如圖1所示,可以判斷出該接口產(chǎn)生物理故障或外連網(wǎng)絡有環(huán)路。雙臂環(huán)路為環(huán)路檢測報文從交換機端口發(fā)出,從該交換機的另一端口接收到環(huán)路檢測報文,可以判斷出該接口產(chǎn)生物理故障或該交換機產(chǎn)生自環(huán)如圖2所示。
圖1 環(huán)路檢測報文
圖2 交換機產(chǎn)生自環(huán)
表1 檢測報文結構說明
環(huán)路檢測報文是由交換機發(fā)送,報文攜帶交換機自身MAC地址和相應接口的接口信息,目的MAC地址為BPDU MAC、廣播或組播,這樣就可以區(qū)別于其他交換機發(fā)出的檢測報文,當交換機接口在接收到自己發(fā)送的檢測報文后會進行比對,如果MAC地址是自己的MAC地址則說明網(wǎng)絡中存在環(huán)路,如果報文中的接口信息同接收到報文的接口信息一致,則說明網(wǎng)絡中存在單臂環(huán)路,如果不一致則說明網(wǎng)絡中存在雙臂環(huán)路。華為交換機環(huán)路檢測報文結構說明,如表1所示。
啟動環(huán)路檢測后,一旦網(wǎng)絡中有網(wǎng)絡環(huán)路,交換機會發(fā)送告警和記錄日志,并能根據(jù)管理員事先設置的處理動作使物理接口處于相應的管制狀態(tài),從而快速破壞二層網(wǎng)絡環(huán)路,減小環(huán)路對交換機乃至整個網(wǎng)絡的影響,接口被管制后仍會繼續(xù)發(fā)送檢測報文,當在設定的時間或默認的時間內(nèi)再未接收到檢測報文后就認為網(wǎng)絡中的環(huán)路被消除了,這時被管制的物理接口會恢復為正常工作狀態(tài)。
LDT-Type 檢測報文的類型,包括協(xié)議號和子協(xié)議號兩部分。其中,協(xié)議號取值為0x9998,子協(xié)議號取值為0x0001,表示是環(huán)路檢測報文。
Port Information 發(fā)送檢測報文的接口信息。
Flag表示Untagged報文或tagged報文,Untagged用于普通接口檢測,tagged用于VLAN環(huán)境檢測。
一是環(huán)路檢測使能后需要發(fā)送大量檢測報文來進行環(huán)路檢測,會消耗大量的網(wǎng)絡資源,如非排除故障最好關閉環(huán)路檢測功能。二是因Eth-Trunk接口及其成員接口都不支持配置環(huán)路檢測,不建議和生成樹等協(xié)議共同使用。三是為減少環(huán)路檢測報文發(fā)送數(shù)量和頻率,可對發(fā)送環(huán)路檢測報文默認周期適當延長。
使能環(huán)路檢測命令
當交換機未劃分VLAN時:
進入系統(tǒng)視圖,在系統(tǒng)視圖執(zhí)行l(wèi)oopback-detect enable命令,使能所有接口的環(huán)路檢測功能。如需在單個接口使能環(huán)路檢測功能,方法如下:一是在系統(tǒng)視圖執(zhí) 行interface interfacetype interface-number,進入接口視圖(interfacetype為接口類型,比如:GigabitEthernet 接 口、Vlanif接 口。interfacenumber為相應接口或VLAN 編號,比如:0/0/1、100等)。二是執(zhí)行命令loopback-detect enable,在此接口使用環(huán)路檢測功能。
表2 處理動作
圖3 配置事例
當交換機劃分VLAN時(對指定VLAN進行檢測):
在系統(tǒng)視圖執(zhí)行interface interface-type interface-number命 令,進入VLAN接口視圖。執(zhí)行命令loopback-detect packet vlan xxx(xxx 為指定VLAN檢測編號),配置對指定的VLAN進行環(huán)路檢測。
配置檢測報文的發(fā)送周期
執(zhí) 行l(wèi)oopback-detect packet-interval xxx命令(xxx為設置的發(fā)送周期時間,默認為5秒),配置環(huán)路檢測報文的發(fā)送周期。
配置環(huán)路檢測處理動作
華為交換機環(huán)路檢測處理動作有5種,如表2所示。
執(zhí)行命令interface interface-type interfacenumber,進入接口視圖。執(zhí)行命令loopback-detect action { block | nolearn |shutdown | trap | quitvlan}(缺省情況下,環(huán)路檢測對接口的處理動作為shutdown)。
如圖3所示。
配置思路
為檢測交換機A所在網(wǎng)絡是否存在環(huán)路,可以在交換機A上的GE0/0/1和GE0/0/2上分別使能環(huán)路檢測功能,并配置對VLAN 100進行環(huán)路檢測,實現(xiàn)對交換機A所在網(wǎng)絡環(huán)路檢測。
配置步驟
圖4 配置結果
圖5 阻塞示意
圖6 說明
剛配置完畢,在系統(tǒng)視圖執(zhí)行display loopbackdetect命令,可以看到配置結果如圖4所示。
再等待一段時間,在系統(tǒng)視圖執(zhí)行display loopback-detect命令,可以看出接口GigabitEthernet 0/0/2被阻塞如圖5所示,二層環(huán)路被破壞。
破壞交換機B和交換機C之間的鏈路,再過一段時間,發(fā)現(xiàn)鏈路中無環(huán)路檢測報文,說明網(wǎng)絡中無環(huán)路,如圖6所示。
利用交換機環(huán)路檢測功能,當網(wǎng)絡中存在二層網(wǎng)絡環(huán)路,可以快速發(fā)現(xiàn)二層網(wǎng)絡環(huán)路,通過物理處理動作可快速破壞環(huán)路,減少中斷時長,最大程度減少損失。