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