饒龍海
摘 要:近年來隨著計算機網絡的飛速發展,網絡也逐漸應用與各行各業,在較大規模的局域網環境中,時常出現嚴重的網絡擁堵。由網絡環路引起的網絡擁堵,通常隱蔽性高,排查難度較高,且一旦發生環路,將導致整個網絡癱瘓。本文將深入探討網絡環路的產生原因及表現形式,并提出相應的對策,從而杜絕網絡環路的發生。
關鍵詞:網絡環路;冗余鏈路;生成樹協議;對策
1 引言
在大型的網絡管理過程當中,網絡環路一直是困擾管理人員的重要問題。網絡環路能夠導致嚴重的網絡動蕩,如同一個巨大數據黑洞,將合法的數據引入到黑洞當中,造成丟包,進而導致網絡癱瘓。網絡環路的表現形式較多,從用戶端來看,主要表現在上網速度奇慢,并且在用戶端ping網關或上層設備地址時,延遲較大且出現大面積丟包。從設備端來看,首先從肉眼可以觀察到的是,問題端口指示燈的閃爍頻率明顯高于其他端口。其次使用配置命令登陸到設備上,可以觀察到設備CPU的使用率很高(達到80%以上),且鏈路上出現異常的大流量包。最后可以使用抓包工具如Wireshark、sniffer,抓出大量信息和大小相同的數據包。
2 網絡環路的分類及產生
網絡環路主要分為二層環路和三層環路。三層環路主要指的是路由環路,主要原因是路由協議啟動不當造成的,并且在三層環路中,即使不存在冗余鏈路,也有可能造成環路。在我們處理局域網環路問題的過程中,交換機的二層環路是我們較為常見的一種形式。二層環路主要是由于冗余鏈路造成的,因為交換機作為二層的交換設備有一個很重要的功能,就是MAC地址的學習功能,通過學習進而建立一張動態變化MAC表,在一個存在冗余鏈路的交換網絡環境中,常常會因為廣播風暴和MAC地址系統失效,使得整個局域網絡處于阻塞狀態。 此外由于二層設備多面向于計算機的終端用戶,網點密集,極易發生誤操作,如:網線接觸不良、家用小路由器的連接等問題,這樣都容易造成環路,且排查難度極大。在一個沒有保護的局域網環境中,廣播數據包是以2的N次方速率進行增長,以家用百兆到桌面的寬帶,瞬間即可造成網絡堵塞。在一個大的局域網環境中,通常是二層和三層接口并存,如不及時處理,將影響到核心層,使得核心層交換能力衰竭,造成網絡癱瘓。
3 局域網網絡環路的防治對策
3.1 二層環路防治
(1)通過在交換機上啟用生成樹協議(STP),來防治環路的發生。生成樹協議的基本原理很簡單,自然界中生長的樹是永遠不會環路的,如果復雜的網絡環境也能像一顆樹一樣生長,那也不會出現環路。通過定義根網橋、指定端口、通信路徑等概念,其生成樹協議的根本目的是將一個存在物理環路的交換網絡變成一個沒有環路的邏輯樹型網絡,達到邏輯上裁剪冗余環路,同時物理上實現鏈路備份和路徑最優化。隨著網絡結構的不斷優化,又出現快速生成樹協議(RSTP)和多生成樹協議(MSTP)。原理類似,快速生成樹協議主要解決STP收斂時間過長的問題,多生成樹協議是一種STP和VLAN結合使用的新協議,它既繼承了RSTP端口快速遷移的優點,又解決了RSTP中不同vlan必須運行在同一棵生成樹上的問題。
(2)在交換機上開啟端口環路檢測命令。環路檢測是基于端口,vlan來進行的,默認每隔30s檢測一次。只有啟動了環路檢測功能的端口才會自動進行環路檢測。以銳捷接入層交換機S2652為例,在開啟全局模式下開啟端口環路檢測功能,具體命令如下:
(config)#rldp enable 啟用RLDP
(config)#interface range FastEthernet 0/1-24 進入端口在FastEthernet 0/1-24應用RLDP,如果端口比較多 比如有48個 則改為FastEthernet 0/1-48
(config-if-range)#rldp port loop-detect shutdown-port 在端口下啟用RLDP 如果出現環路,則端口自動shut down
(config)#errdisable recovery interval 30 即將遇到環路shut down的端口在30秒后開啟如果做如下配置的話當出現環路則會斷開網絡,30秒后開啟。如環路仍然存在則繼續shut down 端口斷開網絡,如此往復,直到解決環路問題為止。
(3)減小二層的廣播域。盡量避免二層大廣播域的網絡,在同一個LAN里減少二層交換設備的數量。在實際操作過程中,可以通過劃分VLAN來實現,將一個大的二層網絡分割成數個小的廣播域,減少因二層環路造成的大范圍的網絡堵塞。
(4)對不參與STP運算的端口,采用BPDU Guard進行防護。對于STP來說,當擁有更好優先級(數值更低)的交換機加入到網絡后,會重新計算生成樹,但是如果有人惡意偽造配置信息進行惡意攻擊,交換機就會不停的計算生成樹,會造成網絡的不穩定的現象。使用交換機的BPDU Guard特性可以防止端口接收BPDU,防止網絡拓撲改變。
(5)在端口配置廣播抑制。由于網絡環路的多樣性,為防止其他原因產生廣播風暴,可將100M端口設10%,超過閾值的廣播包將被丟棄。
3.2 三層環路防治
三層環路通常指的是路由環路,是由于啟用路由協議不當造成的,在維護路由表信息的時候,如果網絡拓撲發生改變,導致收斂速度緩慢產生了不協調或者矛盾的路由選擇,就會產生路由環路問題。解決辦法有以下幾點:
(1)抑制計時:如果一條路由更新的跳數大于路由表已記錄的該路由的條數,那么將會引起該路由進入抑制狀態階段。在抑制計時器超時前,路由器不再接收關于這條路由的更新信息。如果再次收到從鄰居發送來的更新信息,包含一個比原來路徑具有更好度量值的路由,就標記為可以訪問,并取消抑制計時器。抑制計時減少了路由的浮動,增加了網絡的穩定性。
(2)毒性逆轉:在路由表中,當一條路由信息變得無效后,路由器并不立即刪除,而是將網段標示為不可達并發送出去,收到此種的路由信息后,接收方路由器會立刻拋棄該路由,而不是等待其到老化時間。這樣可以加速路由的收斂。
(3)觸發更新:當路由表發生變化時,更新報文立即廣播給相鄰的所有路由器,而不是等待30秒的更新周期,當一個路由器剛啟動RIP時,它廣播請求報文,收到此廣播的相鄰路由器立即應答一個更新報文,而不必等到下一個更新周期,網絡拓撲的變化會最快地在網絡上傳播開,減少了路由環路產生的可能性。
(4)水平分割:規定路由器從某個接口接收到的更新信息不允許再從這個接口發回去,水平分割的有點是能夠阻止路由環路的產生,減少路由器更新占用寬帶資源。
4 結語
隨著網絡規模的擴大,以上幾點對策可以將環路對網絡的影響程度降到最低,但是在實際的故障排除過程中,我們要養成好的操作習慣如規范連接、標準配置,只有將基本的防范措施貫穿整個網絡的建設和維護中,才能減少因為環路造成的不必要的損失。
[參考文獻]
[1]周佳.網絡環路的分析及對策[J].泰安供電公司,2012.
[2]程慶梅,劉天華.計算機網絡實訓教程[M].北京:高等教育出版社, 2005.
[3]銳捷交換機路由器配置教程.2011.