郭 琪
(南京郵電大學(xué)自動(dòng)化學(xué)院,江蘇 南京)
1996年千兆以太網(wǎng)上市,仍然使用CSMA/CD協(xié)議與已有的以太網(wǎng)兼容,使得以太網(wǎng)在局域網(wǎng)的領(lǐng)域里,更具有競(jìng)爭(zhēng)力。隨著以太網(wǎng)的發(fā)展,大量基于二層的網(wǎng)絡(luò)組網(wǎng)方式出現(xiàn),網(wǎng)絡(luò)上的設(shè)備如交換機(jī),路由器,集線器等基礎(chǔ)設(shè)施,應(yīng)用環(huán)境也越來(lái)越復(fù)雜。在這種情況下,利用虛擬局域網(wǎng)VLAN(Virtual Local Area Network)技術(shù),可以將網(wǎng)絡(luò)劃分為多個(gè)邏輯子網(wǎng),起到隔離沖突域與廣播域的作用。但是,同屬于一個(gè)VLAN的網(wǎng)絡(luò)中,交互式的鏈路出現(xiàn)環(huán)路,會(huì)導(dǎo)致廣播風(fēng)暴的產(chǎn)生、幀的重復(fù)復(fù)制、交換機(jī)地址表不穩(wěn)定,引起網(wǎng)絡(luò)通訊受阻,系統(tǒng)反應(yīng)遲緩,并最終導(dǎo)致網(wǎng)絡(luò)癱瘓。所以,環(huán)路檢測(cè)機(jī)制尤為重要。
在二層交換中,通過(guò)MAC(Media Access Control)地址尋址來(lái)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)。二層設(shè)備的MAC地址學(xué)習(xí)是通過(guò)對(duì)報(bào)文源MAC地址的學(xué)習(xí)來(lái)進(jìn)行的。當(dāng)端口收到一個(gè)未知源MAC地址的報(bào)文,會(huì)將這個(gè)MAC地址存入 FDB(Forwarding Data Base)地址表項(xiàng)中,其中包括端口號(hào)、源MAC地址、VLAN ID等。在正常的老化時(shí)間內(nèi),設(shè)備沒(méi)有改地址的報(bào)文傳輸,則該地址表項(xiàng)就會(huì)被刪除。另一種情況,如果已經(jīng)學(xué)習(xí)的源MAC地址,但是源端口不一致則更新地址表。因此,當(dāng)鏈路上存在環(huán)路時(shí),經(jīng)過(guò)一段時(shí)間,所有的MAC地址都移動(dòng)到了存在環(huán)回的端口上,形成廣播風(fēng)暴,導(dǎo)致二層網(wǎng)絡(luò)癱瘓。
單端口環(huán)路檢測(cè)機(jī)制通過(guò)在設(shè)備的端口上發(fā)送一種特殊的報(bào)文,并檢測(cè)是否能從發(fā)送端口接收回來(lái),以此來(lái)確定這個(gè)端口上是否有環(huán)回的情況。因?yàn)榫W(wǎng)絡(luò)處于一個(gè)隨時(shí)隨地都在變化的過(guò)程,所以端口檢測(cè)不是一次性完成的動(dòng)作,而是需要在每隔一定的時(shí)間進(jìn)行一次檢測(cè),來(lái)確定開(kāi)啟環(huán)路檢測(cè)的端口上是否存在環(huán)回以及已存在的環(huán)回是否已經(jīng)消失的情況。顯然,環(huán)路檢測(cè)是通過(guò)設(shè)備的CPU來(lái)進(jìn)行報(bào)文的收發(fā),因此CPU對(duì)于所收到的報(bào)文,通過(guò)報(bào)文檢測(cè)與識(shí)別的過(guò)程,來(lái)確定是否是本CPU發(fā)出的報(bào)文以及是哪個(gè)端口發(fā)送的報(bào)文。交換機(jī)的發(fā)送的檢測(cè)報(bào)文中含有三個(gè)參數(shù):第一,源MAC地址為本交換的的MAC地址(每個(gè)交換機(jī)的MAC地址是唯一的);第二,發(fā)送端口的端口號(hào),用以判斷是否于接收此報(bào)文的端口一致;第三,VLAN號(hào),與端口在交換機(jī)上使能環(huán)路檢測(cè)的VLAN號(hào)一一對(duì)應(yīng)。當(dāng)端口發(fā)出和收到的報(bào)文中這三個(gè)參數(shù)完全相同,即可確定該端口存在環(huán)路。通過(guò)軟件控制使端口暫時(shí)受控關(guān)閉,待端口環(huán)回消失,再重新使能該端口。
單端口環(huán)路檢測(cè)的缺陷在于,只能檢測(cè)一個(gè)端口的下連接網(wǎng)絡(luò)是否有環(huán)路,若交換機(jī)兩個(gè)端口互聯(lián)或者兩個(gè)端口通過(guò)網(wǎng)絡(luò)形成互聯(lián),則無(wú)法檢測(cè)出來(lái)。基于這種考慮,提出交換機(jī)擴(kuò)展端口環(huán)路檢測(cè)機(jī)制。
擴(kuò)展端口環(huán)路檢測(cè)機(jī)制設(shè)定有兩個(gè)端口,在這兩個(gè)端口上可能發(fā)生單端口的環(huán)回,也可能發(fā)生通過(guò)網(wǎng)絡(luò)互聯(lián)或者直連的情況。設(shè)定兩個(gè)端口,分別稱為主端口和從端口,其中對(duì)這兩個(gè)單端口上的環(huán)路檢測(cè)原理不變,即分別從這兩個(gè)端口持續(xù)每隔5s(缺省值,實(shí)際取值范圍1s~300s)發(fā)一次檢測(cè)報(bào)文,報(bào)文中包括以下三個(gè)參數(shù),源MAC地址為本交換機(jī)的MAC地址,發(fā)送端口的端口號(hào),以及VLAN號(hào)。若在這兩個(gè)端口的任何一個(gè)收到了本端口發(fā)出的檢測(cè)報(bào)文,即以上三個(gè)參數(shù)完全相同,則使端口處于受控的狀態(tài),狀態(tài)持續(xù)5min(缺省值,實(shí)際取值范圍1min~10min)直到單端口環(huán)回消失,再重新使能該端口。如果主端口收到了從端口發(fā)出的檢測(cè)報(bào)文,或者從端口收到了主端口發(fā)送的檢測(cè)報(bào)文,即報(bào)文的源MAC地址為本交換機(jī)的MAC地址,主端口收到報(bào)文的端口號(hào)為從端口的端口號(hào),從端口收到報(bào)文的端口號(hào)為主端口的端口號(hào),且VLAN號(hào)一致。說(shuō)明主從端口直接或間接互聯(lián)形成環(huán)路,則使主端口處于受控關(guān)閉狀態(tài),關(guān)閉的時(shí)間設(shè)定為5min(缺省值,實(shí)際取值范圍1min~10min)。受控狀態(tài)結(jié)束口,重新發(fā)檢測(cè)報(bào)文,若仍存在環(huán)回,則主端口繼續(xù)受控關(guān)閉,環(huán)回消失,則使能主端口。
在交換機(jī)的端口1,端口2開(kāi)啟擴(kuò)展的環(huán)路檢測(cè)功能,端口1為主端口,端口2為從端口,檢測(cè)報(bào)文的發(fā)送間隔為5s,每次若檢測(cè)到有環(huán)路產(chǎn)生,則主端口受控的時(shí)間為5min。在端口1插自環(huán)水晶頭,則交換機(jī)阻塞端口1,端口2無(wú)變化;在端口2插自環(huán)水晶頭,則交換機(jī)阻塞端口2,端口1無(wú)變化;將端口1,端口2同時(shí)插自環(huán)水晶頭,交換機(jī)將兩個(gè)端口全部阻塞。
采用如圖1所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),交換機(jī)1開(kāi)啟環(huán)路檢測(cè)功能,端口1為主端口,端口2為從端口,檢測(cè)報(bào)文的發(fā)送間隔為5s,每次若檢測(cè)到有環(huán)路產(chǎn)生,則主端口受控的時(shí)間為5min。其余交換機(jī)未開(kāi)啟環(huán)路檢測(cè)功能,且所有端口均屬于vlan100,這樣認(rèn)為形成一個(gè)環(huán)路。交換機(jī)1檢測(cè)到了端口1和端口2之間有環(huán)路,并使主端口處于受控狀態(tài),環(huán)路消失。在開(kāi)啟環(huán)路檢測(cè)的交換機(jī)1上顯示環(huán)路檢測(cè)的狀態(tài)如圖2所示。交換機(jī)檢測(cè)到有環(huán)網(wǎng),并將主端口1處于受控狀態(tài),此時(shí),環(huán)路消失,從端口2顯示無(wú)環(huán)網(wǎng)。
圖1 環(huán)路檢測(cè)的第一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
本文介紹了一種擴(kuò)展的環(huán)路檢測(cè)方法,通過(guò)交換機(jī)的CPU來(lái)識(shí)別交換機(jī)的兩個(gè)端口之間是否形成環(huán)網(wǎng),屬于單端口檢測(cè)功能的擴(kuò)展,彌補(bǔ)了單端口檢測(cè)僅僅能檢測(cè)到一個(gè)端口上有環(huán)網(wǎng)的情況,有效地防止了廣播風(fēng)暴的產(chǎn)生。
[1] 唐勇.交換機(jī)端口環(huán)路檢測(cè)功能的有效性研究[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,27(3),15-18.
[2] 米利波,譚立偉.以太局域網(wǎng)中廣播風(fēng)暴的分析與預(yù)防[J].渝西學(xué)院學(xué)報(bào)(自然科學(xué)版),2002,1(3)53-56.
[3] 楊茹.以太網(wǎng)絡(luò)環(huán)境的廣播風(fēng)暴的防治[J].黑龍江工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2006,20(04),45-48.
[4] 張應(yīng)輝.路由器交換機(jī)原理及應(yīng)用[M].北京:科學(xué)出版社,2006.
[5] 馬穎.VLAN技術(shù)及其在校園網(wǎng)中的應(yīng)用[J].鄭州鐵路職業(yè)技術(shù)學(xué)院學(xué)報(bào),2004,16(3),63-66.
[6] 梅紅嶺.VLAN技術(shù)及應(yīng)用[J].計(jì)算機(jī)周刊,1999,(17),22-23.
[7] 高林,馬永強(qiáng),李輝,唐六華.VLAN的局限性及其發(fā)展[J].通信與信息技術(shù),2005,(01),31-33.
[8] 王鈞,楊善林.VLAN技術(shù)在網(wǎng)絡(luò)中的應(yīng)用[J]電腦與信息技術(shù),2000,(02),1-3.
[9] 虞琦.Packet over SDH和VLAN[J].電信網(wǎng)技術(shù),2000,(05),36-41.