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