專(zhuān)利名稱:一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)環(huán)路檢測(cè)和阻斷技術(shù)領(lǐng)域,特別涉及自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的方法及裝置。
背景技術(shù):
隨著局域網(wǎng)的發(fā)展,用戶通過(guò)以太網(wǎng)交換機(jī)接入網(wǎng)絡(luò)越來(lái)越多,安裝局域網(wǎng)時(shí)常出現(xiàn)的問(wèn)題主要是網(wǎng)絡(luò)形成環(huán)路,在有些情況下錯(cuò)誤地連接了一根線纜,就可以使整個(gè)網(wǎng)絡(luò)癱瘓,如圖1a和圖1b的所示情況,在一臺(tái)以太網(wǎng)交換機(jī)上存在一個(gè)自環(huán)頭,或者在該以太網(wǎng)交換級(jí)連的以太網(wǎng)交換機(jī)或者網(wǎng)橋上存在自環(huán)頭或環(huán)路情況。在上述兩種組網(wǎng)情況下,PC機(jī)都存在不能正常和服務(wù)器通信的可能性。在圖1a的情況下,PC機(jī)與服務(wù)器通信時(shí),開(kāi)始會(huì)發(fā)送一個(gè)ARP廣播報(bào)文,到達(dá)設(shè)備后,設(shè)備會(huì)將PC的MAC地址學(xué)習(xí)到交換機(jī)的端口PORT1上。同時(shí),該廣播報(bào)文會(huì)在二層網(wǎng)絡(luò)中廣播,因此會(huì)送到接自環(huán)頭的端口PORT6和接服務(wù)器的端口PORT8上。由于端口PORT6上接了一個(gè)自環(huán)頭,于是,該報(bào)文會(huì)原封不動(dòng)的送回到端口PORT6上。由于報(bào)文中的源MAC地址為PC機(jī)的MAC地址,這樣,就會(huì)導(dǎo)致PC機(jī)的MAC地址從端口PORT1上移動(dòng)到PORT6上。當(dāng)服務(wù)器回應(yīng)的單播ARP的報(bào)文送到交換機(jī)后,根據(jù)二層交換原理,通過(guò)目的MAC尋址查找出端口,就會(huì)找到端口PORT6,然后將報(bào)文從端口PORT6送出去。這樣,PC機(jī)就不能和服務(wù)器進(jìn)行正常的通信了。圖1b的情況和圖1a是類(lèi)似的,環(huán)回或環(huán)路情況存在于級(jí)連的交換機(jī)。同樣會(huì)導(dǎo)致MAC地址的學(xué)習(xí)錯(cuò)誤,使正常的網(wǎng)絡(luò)通訊中斷。圖1b的情況更接近于實(shí)際的網(wǎng)絡(luò)情況。更難于發(fā)現(xiàn)和定位。這種環(huán)回情況對(duì)于二層網(wǎng)絡(luò)來(lái)說(shuō)是災(zāi)難性的,二層網(wǎng)絡(luò)越大,影響范圍越大。為了避免這種情況發(fā)生,必須采用環(huán)路檢測(cè)方法,利用環(huán)路檢測(cè)可以準(zhǔn)確的發(fā)現(xiàn)網(wǎng)絡(luò)中是否存在這種情況,及時(shí)解決問(wèn)題。為了檢測(cè)網(wǎng)絡(luò)中存在的環(huán)回和阻斷環(huán)回,目前大多都要求設(shè)備上有用做管理和收發(fā)報(bào)文的CPU。圖2是傳統(tǒng)的基于CPU收發(fā)報(bào)文方式檢測(cè)網(wǎng)絡(luò)中存在環(huán)回的方法示意圖,如圖2所示,環(huán)路檢測(cè)是通過(guò)CPU收發(fā)報(bào)文來(lái)進(jìn)行的,CPU通過(guò)在設(shè)備的端口上發(fā)送一種特殊的報(bào)文,并檢測(cè)該報(bào)文是否能夠從發(fā)送出去的端口送回來(lái),來(lái)確定這個(gè)端口上是否存在環(huán)回情況。當(dāng)鏈路上某端口下存在環(huán)回情況時(shí),從該端口發(fā)送出去的檢測(cè)報(bào)文必須能夠從該端口送回到本設(shè)備的CPU;當(dāng)CPU從某端口發(fā)出的檢測(cè)報(bào)文不能送回到本設(shè)備的該端口,則可以確認(rèn)該端口下環(huán)回不存在。因?yàn)榫W(wǎng)絡(luò)是一個(gè)隨時(shí)都有可能存在變動(dòng)的對(duì)象,因此環(huán)路檢測(cè)是一個(gè)持續(xù)的過(guò)程,也就是說(shuō),在設(shè)備上需要每隔一定時(shí)間間隔進(jìn)行一次檢測(cè),來(lái)確定各個(gè)端口上是否存在環(huán)回,以及上次發(fā)現(xiàn)存在環(huán)回的端口上環(huán)回是否已經(jīng)消失等情況。
從上述對(duì)基于CPU收發(fā)報(bào)文方式檢測(cè)網(wǎng)絡(luò)中是否存在的環(huán)回過(guò)程的分析,可以看出其最大的缺點(diǎn)在于為了檢測(cè)二層網(wǎng)絡(luò)中的環(huán)路,需要設(shè)備上添加CPU,對(duì)于家庭和小企業(yè)而言,的確是望而生畏而且可能成本高昂,同時(shí)每隔一定時(shí)間間隔進(jìn)行一次檢測(cè),在各個(gè)端口上收發(fā)報(bào),來(lái)確定各個(gè)端口上是否存在環(huán)回,這樣會(huì)占用各個(gè)端口的一定的帶寬,會(huì)對(duì)一些正常數(shù)據(jù)流產(chǎn)生影響。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的方法及裝置,能夠在二層網(wǎng)絡(luò)中自適應(yīng)快速的檢測(cè)環(huán)路和阻斷環(huán)路,避免廣播風(fēng)暴的影響并且不占用端口的帶寬,同時(shí)使設(shè)備的成本將低。
本發(fā)明的技術(shù)方案為一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的方法,按以下步驟進(jìn)行(1)輸入單元將從端口接收和發(fā)送的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLAN ID標(biāo)識(shí)號(hào)和端口號(hào),輸送給計(jì)算單元,計(jì)算單元將以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLANID標(biāo)識(shí)號(hào)和端口號(hào)相加構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息并輸送給邏輯運(yùn)算單元、學(xué)習(xí)單元和比較控制單元;(2)邏輯運(yùn)算單元對(duì)得到的關(guān)鍵信息作并行的冗余循環(huán)CRC-10的邏輯運(yùn)算,得到一個(gè)關(guān)鍵信息表的地址索引值輸送給學(xué)習(xí)單元和查找單元;(3)學(xué)習(xí)單元根據(jù)所得的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表;(4)查找單元根據(jù)所得的地址索引值,查找構(gòu)成關(guān)鍵信息表中與之對(duì)應(yīng)的表項(xiàng),得到表項(xiàng)中的關(guān)鍵信息輸送給比較控制單元,比較控制單元將得到表項(xiàng)中的關(guān)鍵信息與從計(jì)算單元得到的關(guān)鍵信息進(jìn)行對(duì)比,如相同,則說(shuō)明該端口下的網(wǎng)絡(luò)出現(xiàn)了環(huán)路,將接收到的該數(shù)據(jù)包丟棄,并阻斷廣播風(fēng)暴的擴(kuò)散,將環(huán)路的影響限制在該端口以下的網(wǎng)絡(luò)中,若不相同,則該數(shù)據(jù)包不丟棄,作正常的轉(zhuǎn)發(fā)處理。
一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的裝置,包括輸入單元、計(jì)算單元、邏輯運(yùn)算單元、學(xué)習(xí)單元、查找單元、比較控制單元,其特征在于發(fā)送輸入單元依次與計(jì)算單元、邏輯運(yùn)算單元,邏輯運(yùn)算單元分別與學(xué)習(xí)單元和查找單元相連,學(xué)習(xí)單元和查找單元相連之間互連,查找單元與比較控制單元相連;輸入單元用于提取從端口接收的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLAN ID標(biāo)識(shí)號(hào)和端口號(hào);計(jì)算單元用于將以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址,VLAN ID標(biāo)識(shí)號(hào)和端口號(hào)相加,構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息;邏輯運(yùn)算單元用于對(duì)得到的關(guān)鍵信息作并行的冗余循環(huán)CRC-10的邏輯運(yùn)算,得到一個(gè)關(guān)鍵信息表的地址索引值;學(xué)習(xí)單元用于根據(jù)所述的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表;查找單元用于根據(jù)所得到的地址索引值,查找構(gòu)成關(guān)鍵信息表中與之對(duì)應(yīng)的表項(xiàng),得到表項(xiàng)中的關(guān)鍵信息,比較控制單元用于將表項(xiàng)中的得到關(guān)鍵信息與給定的關(guān)鍵信息作并行比較,根據(jù)比較的結(jié)果,執(zhí)行對(duì)應(yīng)的操作處理。
還包括定時(shí)器單元,定時(shí)器單元與學(xué)習(xí)單元相連,定時(shí)器單元用于關(guān)鍵信息表中的表項(xiàng)老化處理,根據(jù)設(shè)定的時(shí)間間隔,使關(guān)鍵信息表中的表項(xiàng)可周期性的逐一自動(dòng)刷新,自動(dòng)適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?br>
在學(xué)習(xí)單元中連入定時(shí)器單元,對(duì)關(guān)鍵信息表中的表項(xiàng)進(jìn)行老化處理,具體步驟發(fā)如下在學(xué)習(xí)單元根據(jù)所得的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表的同時(shí)啟動(dòng)定時(shí)器單元,記錄每條表項(xiàng)在表中已存在的時(shí)間;判斷對(duì)應(yīng)表項(xiàng)是否超過(guò)設(shè)定時(shí)間,如超過(guò),進(jìn)行刪除,如沒(méi)超過(guò),則保留;如果刪除的表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)包還在發(fā)送,則這條表項(xiàng)還會(huì)學(xué)習(xí)到,如不存在,則會(huì)被其他的新的表項(xiàng)所代替,這一過(guò)程稱為表項(xiàng)的刷新,使表中的信息能依據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓粩嗟淖詣?dòng)更新。
由于采用了上述技術(shù)方案,與現(xiàn)有的技術(shù)相比,本發(fā)明具有如下有益效果本發(fā)明采用將從端口接收和發(fā)送的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址,VLAN ID標(biāo)識(shí)號(hào)和端口號(hào),構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息,作并行的冗余循環(huán)CRC-10的邏輯運(yùn)算,組成關(guān)鍵信息表,根據(jù)關(guān)鍵信息表的表項(xiàng)與得到的關(guān)鍵信息比較,判斷該端口下環(huán)路是否存在,和對(duì)其環(huán)路阻斷。該方法與傳統(tǒng)的基于CPU收發(fā)報(bào)文方式檢測(cè)網(wǎng)絡(luò)中是否存在環(huán)回的方法不同,其主要區(qū)別在于以前,大多采用CPU發(fā)特定的報(bào)文方式,本發(fā)明不發(fā)送特定的報(bào)文,不需要CPU,而是采用端口上正常發(fā)送和接收的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLAN ID標(biāo)識(shí)號(hào)和端口號(hào)作為判斷依據(jù),將從端口發(fā)送的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址,VLAN ID標(biāo)識(shí)號(hào)和端口號(hào),構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息,對(duì)此關(guān)鍵信息作邏輯運(yùn)算,得到關(guān)鍵信息表的地址索引值,然后將給定的關(guān)鍵信息寫(xiě)入索引值對(duì)應(yīng)的表項(xiàng)中,并通過(guò)老化機(jī)制,使關(guān)鍵信息表中的表項(xiàng)周期性的自動(dòng)刷新,自動(dòng)適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?,同時(shí)將從端口接收的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLAN ID標(biāo)識(shí)號(hào)和端口號(hào),構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息,對(duì)此關(guān)鍵信息作邏輯運(yùn)算,得到關(guān)鍵信息表的地址索引值,根據(jù)索引值查找關(guān)鍵信息表的與之對(duì)應(yīng)的表項(xiàng),得到的表項(xiàng)的關(guān)鍵信息,判斷表項(xiàng)的關(guān)鍵信息與給定的關(guān)鍵信息是否相同,如相同,則將該數(shù)據(jù)包丟棄,如不相同,則數(shù)據(jù)包不丟棄。
本發(fā)明采用端口上發(fā)送和接收的源MAC地址、VLAN ID標(biāo)識(shí)號(hào)和端口號(hào)作為關(guān)鍵信息組成關(guān)鍵信息表和判斷端口下出現(xiàn)環(huán)路的依據(jù),對(duì)關(guān)鍵信息作邏輯運(yùn)算是冗余循環(huán)CRC-10的邏輯運(yùn)算。其優(yōu)點(diǎn)在于使網(wǎng)絡(luò)上環(huán)路可以快速的檢測(cè)到,并阻斷,可以自動(dòng)的適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓瑫r(shí)不占用端口的帶寬,也可降低二層以太網(wǎng)設(shè)備的成本。
圖1是網(wǎng)絡(luò)中存在的環(huán)回的示意圖。
圖2是傳統(tǒng)的基于CPU收發(fā)報(bào)文方式檢測(cè)網(wǎng)絡(luò)中存在的環(huán)回的方法示意圖。
圖3是本發(fā)明的自適應(yīng)快速環(huán)路檢測(cè)和阻斷的方法示意圖。
圖4是本發(fā)明實(shí)施例中的自適應(yīng)快速環(huán)路檢測(cè)和阻斷的方法流程圖。
圖5是本發(fā)明自適應(yīng)快速環(huán)路檢測(cè)和阻斷的裝置方框圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)說(shuō)明。
圖3是本發(fā)明的自適應(yīng)快速環(huán)路檢測(cè)和阻斷的方法的流程示意圖。
如圖3所示,本發(fā)明的思路是在端口發(fā)送數(shù)據(jù)包時(shí),將其所包含的源MAC地址、VLAN表示號(hào)和端口號(hào)獲取,構(gòu)成一個(gè)60比特位的關(guān)鍵信息,將此將此關(guān)鍵字進(jìn)行并行的冗余循環(huán)CRC-10邏輯運(yùn)算,邏輯運(yùn)算得到10比特位結(jié)果作為關(guān)鍵信息表的地址索引值,將對(duì)應(yīng)的關(guān)鍵信息寫(xiě)入地址索引值對(duì)應(yīng)的表項(xiàng)中,即存入一張寬度為64,深度為1024的表中,這一過(guò)程稱為學(xué)習(xí)過(guò)程,構(gòu)成一個(gè)64×1024的關(guān)鍵信息表,表中的每條表項(xiàng)記錄了該端口對(duì)應(yīng)的已發(fā)送包的源MAC地址和VLAN標(biāo)識(shí)符信息;同時(shí)在每條表項(xiàng)生成時(shí),啟動(dòng)定時(shí)器,記錄每條表項(xiàng)在表中已存在的時(shí)間,對(duì)超過(guò)設(shè)定時(shí)間的表項(xiàng),進(jìn)行刪除,如果刪除的表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)包還在發(fā)送,則這條表項(xiàng)還會(huì)學(xué)習(xí)到,如不存在,則會(huì)被其他的新的表項(xiàng)所代替,這一過(guò)程稱為表項(xiàng)的刷新,使表中的信息能依據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓粩嗟淖詣?dòng)更新;根據(jù)以太網(wǎng)的特點(diǎn),從本端口發(fā)送出去的數(shù)據(jù)包是不能回到本端口的特點(diǎn),并且源MAC地址的唯一性等特點(diǎn),當(dāng)端口收到數(shù)據(jù)包時(shí),將其所包含的源MAC地址、VLAN表示號(hào)和端口號(hào)獲取,構(gòu)成一個(gè)60比特位的關(guān)鍵信息,將此關(guān)鍵字進(jìn)行并行的冗余循環(huán)CRC-10邏輯運(yùn)算,邏輯運(yùn)算得到10比特位結(jié)果作為關(guān)鍵信息表的地址索引值,根據(jù)地址索引值得到其在關(guān)鍵信息表中對(duì)應(yīng)的表項(xiàng),這一過(guò)程成為查找;找到對(duì)應(yīng)的表項(xiàng)后,將其與得到的關(guān)鍵信息比較,若相同,則說(shuō)明該端口下的網(wǎng)絡(luò)出現(xiàn)了環(huán)路,將接收到的該數(shù)據(jù)包丟棄,阻斷廣播風(fēng)暴的擴(kuò)散,將環(huán)路的影響限制在該端口以下的網(wǎng)絡(luò)中,若不相同,則該數(shù)據(jù)包不丟棄,作正常的轉(zhuǎn)發(fā)處理。其中60比特位的關(guān)鍵字是由{VLAN_ID+MAC}構(gòu)成,冗余循環(huán)CRC-10的邏輯運(yùn)算采用的是64比特位的并行CRC-10運(yùn)算,CRC-10的生成多項(xiàng)式為C(x)=x10+x9+x5+x4+x+1。
本實(shí)施例中的關(guān)鍵信息表的表項(xiàng)數(shù)目最多可以有64×1024個(gè),基于實(shí)際網(wǎng)絡(luò)的特點(diǎn)和系統(tǒng)設(shè)備的性價(jià)比,可以將表項(xiàng)數(shù)目設(shè)置為64×4K個(gè)或64×8K個(gè)。
圖4是本發(fā)明實(shí)施例中的自適應(yīng)快速環(huán)路檢測(cè)和阻斷的方法的流程示意圖。如圖4所示,具體操作步驟包括A、在端口發(fā)送數(shù)據(jù)包時(shí),將其所包含的源MAC地址、VLAN表示號(hào)和端口號(hào)獲取,構(gòu)成一個(gè)60比特位的關(guān)鍵信息;B、將此關(guān)鍵字進(jìn)行并行的冗余循環(huán)CRC-10邏輯運(yùn)算,邏輯運(yùn)算得到10比特位結(jié)果作為關(guān)鍵信息表的地址索引值;C、對(duì)應(yīng)的關(guān)鍵信息寫(xiě)入地址索引值對(duì)應(yīng)的表項(xiàng)中,即存入一張寬度為64,深度為1024的表中,構(gòu)成一個(gè)64×1024的關(guān)鍵信息表,表中的每條表項(xiàng)記錄了該端口對(duì)應(yīng)的已發(fā)送包的源MAC地址和VLAN標(biāo)識(shí)符信息;D、同時(shí)在每條表項(xiàng)生成時(shí),啟動(dòng)定時(shí)器,記錄每條表項(xiàng)在表中已存在的時(shí)間;E、判斷對(duì)應(yīng)表項(xiàng)是否超過(guò)設(shè)定時(shí)間,設(shè)定的時(shí)間范圍為60秒到600秒,可根據(jù)網(wǎng)絡(luò)的需要來(lái)設(shè)定,如超過(guò),進(jìn)行刪除,如沒(méi)超過(guò),則保留,如果刪除的表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)包還在發(fā)送,則這條表項(xiàng)還會(huì)學(xué)習(xí)到,如不存在,則會(huì)被其他的新的表項(xiàng)所代替,這一過(guò)程稱為表項(xiàng)的刷新,使表中的信息能依據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓粩嗟淖詣?dòng)更新F、當(dāng)端口收到數(shù)據(jù)包時(shí),將其所包含的源MAC地址、VLAN表示號(hào)和端口號(hào)獲取,構(gòu)成一個(gè)60比特位的關(guān)鍵信息;G、將此關(guān)鍵字進(jìn)行并行的冗余循環(huán)CRC-10邏輯運(yùn)算,邏輯運(yùn)算得到10比特位結(jié)果作為關(guān)鍵信息表的地址索引值;H、根據(jù)地址索引值得到其在關(guān)鍵信息表中對(duì)應(yīng)的表項(xiàng),這一過(guò)程成為查找;I、找到對(duì)應(yīng)的表項(xiàng)后,將其與得到的關(guān)鍵信息比較,若相同,則說(shuō)明該端口下的網(wǎng)絡(luò)出現(xiàn)了環(huán)路,將接收到的該數(shù)據(jù)包丟棄,阻斷廣播風(fēng)暴的擴(kuò)散,將環(huán)路的影響限制在該端口以下的網(wǎng)絡(luò)中,若不相同,則該數(shù)據(jù)包不丟棄,作正常的轉(zhuǎn)發(fā)處理。
根據(jù)在端口上接收和發(fā)送數(shù)據(jù)包的源MAC地址和VLAN ID標(biāo)識(shí)號(hào),重復(fù)執(zhí)行上述A到I操作步驟,可完成環(huán)路的檢測(cè)和阻斷操作。
一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的裝置,如圖5所示,包括輸入單元、計(jì)算單元、邏輯運(yùn)算單元、學(xué)習(xí)單元、查找單元、比較控制單元、定時(shí)器單元,發(fā)送輸入單元依次與計(jì)算單元、邏輯運(yùn)算單元,邏輯運(yùn)算單元分別與學(xué)習(xí)單元和查找單元相連,學(xué)習(xí)單元和查找單元相連之間互連,查找單元與比較控制單元相連;定時(shí)器單元與學(xué)習(xí)單元相連,輸入單元用于提取從端口接收的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLAN ID標(biāo)識(shí)號(hào)和端口號(hào);計(jì)算單元用于將以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址,VLAN ID標(biāo)識(shí)號(hào)和端口號(hào)相加,構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息;邏輯運(yùn)算單元用于對(duì)得到的關(guān)鍵信息作并行的冗余循環(huán)CRC-10的邏輯運(yùn)算,得到一個(gè)關(guān)鍵信息表的地址索引值;學(xué)習(xí)單元用于根據(jù)所述的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表;查找單元用于根據(jù)所得到的地址索引值,查找構(gòu)成關(guān)鍵信息表中與之對(duì)應(yīng)的表項(xiàng),得到表項(xiàng)中的關(guān)鍵信息,比較控制單元用于將表項(xiàng)中的得到關(guān)鍵信息與給定的關(guān)鍵信息作并行比較,根據(jù)比較的結(jié)果,執(zhí)行對(duì)應(yīng)的操作處理;定時(shí)器單元與學(xué)習(xí)單元相連,定時(shí)器單元用于關(guān)鍵信息表中的表項(xiàng)老化處理,根據(jù)設(shè)定的時(shí)間間隔,使關(guān)鍵信息表中的表項(xiàng)可周期性的逐一自動(dòng)刷新,自動(dòng)適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?br>
權(quán)利要求
1.一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的方法,按以下步驟進(jìn)行(1)輸入單元將從端口接收和發(fā)送的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLANID標(biāo)識(shí)號(hào)和端口號(hào),輸送給計(jì)算單元,計(jì)算單元將以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLANID標(biāo)識(shí)號(hào)和端口號(hào)相加構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息并輸送給邏輯運(yùn)算單元、學(xué)習(xí)單元和比較控制單元;(2)邏輯運(yùn)算單元對(duì)得到的關(guān)鍵信息作并行的冗余循環(huán)CRC-10的邏輯運(yùn)算,得到一個(gè)關(guān)鍵信息表的地址索引值輸送給學(xué)習(xí)單元和查找單元;(3)學(xué)習(xí)單元根據(jù)所得的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表;(4)查找單元根據(jù)所得的地址索引值,查找構(gòu)成關(guān)鍵信息表中與之對(duì)應(yīng)的表項(xiàng),得到表項(xiàng)中的關(guān)鍵信息輸送給比較控制單元,比較控制單元將得到表項(xiàng)中的關(guān)鍵信息與從計(jì)算單元得到的關(guān)鍵信息進(jìn)行對(duì)比,如相同,則說(shuō)明該端口下的網(wǎng)絡(luò)出現(xiàn)了環(huán)路,將接收到的該數(shù)據(jù)包丟棄,并阻斷廣播風(fēng)暴的擴(kuò)散,將環(huán)路的影響限制在該端口以下的網(wǎng)絡(luò)中,若不相同,則該數(shù)據(jù)包不丟棄,作正常的轉(zhuǎn)發(fā)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于在學(xué)習(xí)單元中連入定時(shí)器單元,對(duì)關(guān)鍵信息表中的表項(xiàng)進(jìn)行老化處理,具體步驟發(fā)如下在學(xué)習(xí)單元根據(jù)所得的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表的同時(shí)啟動(dòng)定時(shí)器單元,記錄每條表項(xiàng)在表中已存在的時(shí)間;判斷對(duì)應(yīng)表項(xiàng)是否超過(guò)設(shè)定時(shí)間,設(shè)定的時(shí)間范圍為60秒到600秒,如超過(guò),進(jìn)行刪除,如沒(méi)超過(guò),則保留;如果刪除的表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)包還在發(fā)送,則這條表項(xiàng)還會(huì)學(xué)習(xí)到,如不存在,則會(huì)被其他的新的表項(xiàng)所代替,這一過(guò)程稱為表項(xiàng)的刷新,使表中的信息能依據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓粩嗟淖詣?dòng)更新。
3.一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的裝置,包括輸入單元、計(jì)算單元、邏輯運(yùn)算單元、學(xué)習(xí)單元、查找單元、比較控制單元,其特征在于發(fā)送輸入單元依次與計(jì)算單元、邏輯運(yùn)算單元,邏輯運(yùn)算單元分別與學(xué)習(xí)單元和查找單元相連,學(xué)習(xí)單元和查找單元相連之間互連,查找單元與比較控制單元相連;輸入單元用于提取從端口接收的以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址、VLANID標(biāo)識(shí)號(hào)和端口號(hào);計(jì)算單元用于將以太網(wǎng)幀的介質(zhì)訪問(wèn)控制層的源MAC地址,VLANID標(biāo)識(shí)號(hào)和端口號(hào)相加,構(gòu)造成一個(gè)具有特定比特位的關(guān)鍵信息;邏輯運(yùn)算單元用于對(duì)得到的關(guān)鍵信息作并行的冗余循環(huán)CRC-10的邏輯運(yùn)算,得到一個(gè)關(guān)鍵信息表的地址索引值;學(xué)習(xí)單元用于根據(jù)所述的關(guān)鍵信息和地址索引值自動(dòng)的構(gòu)成關(guān)鍵信息表;查找單元用于根據(jù)所得到的地址索引值,查找構(gòu)成關(guān)鍵信息表中與之對(duì)應(yīng)的表項(xiàng),得到表項(xiàng)中的關(guān)鍵信息,比較控制單元用于將表項(xiàng)中的得到關(guān)鍵信息與給定的關(guān)鍵信息作并行比較,根據(jù)比較的結(jié)果,執(zhí)行對(duì)應(yīng)的操作處理。
4.根據(jù)權(quán)利要求3所述的自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的裝置,其特征在于還包括定時(shí)器單元,定時(shí)器單元與學(xué)習(xí)單元相連,定時(shí)器單元用于關(guān)鍵信息表中的表項(xiàng)老化處理,根據(jù)設(shè)定的時(shí)間間隔,使關(guān)鍵信息表中的表項(xiàng)可周期性的逐一自動(dòng)刷新,自動(dòng)適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?br>
全文摘要
本發(fā)明涉及一種自適應(yīng)快速環(huán)路檢測(cè)和環(huán)路阻斷的方法及裝置,該方法及裝置的關(guān)鍵是在每個(gè)端口上持續(xù)不斷地檢測(cè),是否接收到其自身發(fā)送出去的以太網(wǎng)數(shù)據(jù)包,如果檢測(cè)到,則將該數(shù)據(jù)包丟棄并將該端口設(shè)置為阻塞狀態(tài),這樣就阻斷了環(huán)路,限制了以太網(wǎng)中廣播風(fēng)暴的擴(kuò)散和傳播,避免了廣播風(fēng)暴對(duì)其他正常數(shù)據(jù)業(yè)務(wù)的影響。本發(fā)明不需要CPU,采用端口上發(fā)送和接收的以太網(wǎng)幀的48比特位的介質(zhì)訪問(wèn)控制層的源MAC地址和12比特位的VLAN ID標(biāo)識(shí)號(hào),作為關(guān)鍵信息,對(duì)其進(jìn)行邏輯運(yùn)算,學(xué)習(xí)、查找和比較等操作,提高了環(huán)路檢測(cè)和預(yù)防的自適應(yīng)性和速度,同時(shí)不占用網(wǎng)絡(luò)的帶寬,不影響網(wǎng)絡(luò)上的正常數(shù)據(jù)業(yè)務(wù)的傳輸。
文檔編號(hào)H04L12/26GK1988476SQ20061012549
公開(kāi)日2007年6月27日 申請(qǐng)日期2006年12月19日 優(yōu)先權(quán)日2006年12月19日
發(fā)明者徐旺生 申請(qǐng)人:武漢烽火網(wǎng)絡(luò)有限責(zé)任公司