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