專利名稱:一種避免以太網閉環的方法和系統的制作方法
技術領域:
本發明涉及以太網技術,尤其涉及一種避免以太網閉環的方法和系統。
背景技術:
隨著以太網應用范圍的擴大,可靠性問題越來越突出,一種比較典型的可靠性問題是以太網閉環導致“網絡風暴”,使得網絡帶寬被耗盡,最終網絡不可用。根據以太網原理,當以太網節點收到一個廣播幀后,會向廣播域內的除接收端口外的每個端口轉發,如果以太網中存在閉環,則閉環中的各個節點會永無休止的轉發廣播幀,廣播流量占用帶寬迅速增大,這種現象也稱為“網絡風暴”。如圖1所示,節點Si、節點S2、節點S3和節點S4組成了以太網閉環,當節點S3收到了一個廣播幀F后,會向節點S2轉發,接著節點S2向節點Sl轉發,節點Sl向節點S4轉發,節點S4向節點S3轉發,節點
S3繼續向節點S2轉發,這樣形成了廣播幀S3- > S2- > Sl- > S4- > S3......永無休止
的流量轉發,隨著廣播幀的增加,廣播流量占用的帶寬會迅速增大,最終使得網絡帶寬被耗盡,網絡不可用。為了避免這種以太網閉環,現有技術大都采用了閉環檢測方法,其實現的基本原理是節點發送一個檢測幀,如果該節點能夠收到自己發出的檢測幀,則說明該節點的發送端口和接收端口之間存在閉環,需要關閉一個端口避免閉環。這種方法比較簡單實用,但是也存在一定的局限性。在現有以太網絡中,通常是由于新連接了一條鏈路導致的閉環,形成閉環后,閉環上的各個節點都能夠檢測到閉環,并且關閉端口,這樣雖然避免了閉環,但是閉環上的各個節點都不能轉發流量,導致了網絡大規模不可用。此外,在閉環上各個節點檢測到閉環后都關閉端口,等待一段時間后,節點收不到發出的檢測幀,認為閉環消失,重新打開關閉的端口,這樣會重新形成閉環。如圖2所示,節點Si、節點S2、節點S3和節點S4形成的閉環中,節點Sl收到自己發出的檢測幀后,關閉一個端口,同理,節點S2、節點S3和節點S4都會收到自己發出的檢測幀,分別關閉一個端口,如圖3所示,最終各個節點都不能轉發流量,導致整個網絡不可用。另外,當閉環中各個節點關閉端口后,節點Sl在一段時間內收不到自己發出的檢測幀,將重新打開關閉的端口,同理,節點S2、節點S3和節點S4都在一段時間內收不到自己發出的檢測幀,也會重新打開關閉的端口,這樣,會重新形成閉環。目前,針對檢測到閉環的節點關閉端口導致網絡大規模不可用和檢測到閉環的節點打開端口后重新形成閉環的問題,尚沒有解決方案。
發明內容
有鑒于此,本發明的主要目的在于提供一種避免以太網閉環的方法和系統,能夠使以太網發生閉環后,僅僅關閉導致閉環的節點端口,保障其他節點之間的連通性。為達到上述目的,本發明的技術方案是這樣實現的本發明提供的一種避免以太網閉環的方法,該方法包括
以太網中節點端口由數據不連通狀態到連通狀態時,所述節點發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;各節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到不是自身發送的、且攜帶端口狀態改變信息的檢測幀后,轉發所述檢測幀。上述方案中,所述端口關閉策略為根據檢測幀中的源端口號和接收檢測幀的端口的端口號的大小,關閉端口號小的端口的數據轉發功能;或者,關閉端口號大的端口的數據轉發功能。上述方案中,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在所述字段設置約定的數值作為端口狀態改變信息。上述方案中,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在所述字段設置約定的字符串作為端口狀態改變信息。上述方案中,該方法進一步包括各節點在收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息。本發明提供的一種避免以太網閉環的系統,該系統包括第一節點、第二節點;其中,第一節點,用于發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到其他第一節點發送的檢測幀后,對所述檢測幀進行轉發;第二節點,用于發送不攜帶端口狀態改變信息的檢測幀,在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉,并在收到攜帶端口狀態改變信息的檢測幀后,對所述檢測幀進行轉發。上述方案中,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在該字段設置約定的數值作為端口狀態改變信息。上述方案中,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在該字段設置約定的字符串作為端口狀態改變信息。上述方案中,所述第一節點,還用于收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息。上述方案中,所述第二節點,還用于收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息。本發明提供的一種避免以太網閉環的方法和系統,以太網中節點端口由數據不連通狀態到連通狀態時,所述節點發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;所述節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;所述節點在收到不是自身發送的、且攜帶端口狀態改變信息的檢測幀后,轉發所述檢測幀;如此,在一段時間后,除了端口由數據不連通狀態到連通狀態的節點外的其他節點,由于收不到自身發送的檢測幀,將關閉的端口打開,而端口由數據不連通狀態到連通狀態的節點始終都能收到自身發送的攜帶端口狀態改變信息的檢測幀,保持自身端口關閉,防止了以太網重新形成閉環,而且保障了網絡的最大可用性,此外,也有助于網絡管理者方便的定位到導致閉環的節點和鏈路。
圖1為現有技術中一種以太網閉環的示意圖;圖2為圖1中節點Sl收到自身發送的檢測幀關閉端口的示意圖;圖3為圖1中各節點都收到自身發送的檢測幀關閉端口的示意圖;圖4為本發明實現一種避免以太網閉環的方法的流程示意圖;圖5為本發明實現一種避免以太網閉環的系統的結構示意圖;圖6為本發明實施例一中的以太網拓撲圖;圖7為本發明實施例一中各節點收到自身發送的檢測幀關閉自身端口的示意圖;圖8為本發明實施例一中節點Sl和S2打開關閉的端口、節點S3和S4保持關閉端口的示意圖;圖9為本發明實施例二中的以太網拓撲圖。
具體實施例方式本發明的基本思想是以太網中節點端口由數據不連通狀態到連通狀態時,所述節點發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;所述節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;所述節點在收到不是自身發送的、且攜帶端口狀態改變信息的檢測幀后,轉發所述檢測幀。下面通過附圖及具體實施例對本發明做進一步的詳細說明。本發明實現一種避免以太網閉環的方法,如圖4所示,該方法包括以下幾個步驟步驟101 以太網中節點端口由數據不連通狀態到連通狀態時,所述節點發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;這里,以太網中端口沒有由數據不連通狀態到連通狀態的節點發送不攜帶端口狀態改變信息的檢測幀;所述端口狀態改變信息可以為預先約定檢測幀中的一個預留字段,在該字段設置約定的數值作為端口狀態改變信息;或者,在該字段設置約定的字符串作為端口狀態改變fn息ο步驟102 各節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到不是自身發送的、且攜帶端口狀態改變信息的檢測幀后,不論自身端口是否關閉,都轉發所述檢測幀;具體的,各節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息,如果有,則不論自身端口的數據轉發功能是否關閉,都對所述攜帶端口狀態改變信息的檢測幀進行轉發;如果沒有,則在自身端口的數據轉發功能關閉時,不對該檢測幀進行轉發; 所述端口關閉策略為根據檢測幀中的源端口號和接收檢測幀的端口的端口號的大小,關閉端口號小的端口的數據轉發功能;或者,關閉端口號大的端口的數據轉發功能;
所述檢測幀中的源端口號為現有技術中發送檢測幀時攜帶的源端口號。步驟103 在一段時間后,除了端口由數據不連通狀態到連通狀態的節點外的其他節點由于收不到自身發送的檢測幀,將打開已關閉端口的數據轉發功能,端口由數據不連通狀態到連通狀態的節點始終都能收到自身發送的攜帶指示標志的檢測幀,保持自身端口的數據轉發功能關閉;這里,所述一段時間為現有技術中,預先設定的節點收不到自身發送的檢測幀的時間。為了實現上述方法,本發明還提供一種避免以太網閉環的系統,如圖5所示,該系統包括第一節點51、第二節點52 ;其中,第一節點51,為端口由數據不連通狀態到連通狀態的節點,用于發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到其他第一節點51發送的攜帶端口狀態改變信息的檢測幀后,不論自身端口的數據轉發功能是否關閉,都對所述檢測幀進行轉發;第二節點52,為除了端口由數據不連通狀態到連通狀態的節點外的其他節點,用于發送不攜帶端口狀態改變信息的檢測幀,在收到自身發送的檢測幀后,關閉接收到所述檢測幀的端口的數據轉發功能,并在收到攜帶端口狀態改變信息的檢測幀后,不論自身端口的數據轉發功能是否關閉,都對所述檢測幀進行轉發;所述第一節點51,還用于收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息;所述第二節點52,還用于收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息;所述端口狀態改變信息可以為預先約定檢測幀中的一個預留字段,在該字段設置約定的數值作為端口狀態改變信息;或者,在該字段設置約定的字符串作為端口狀態改變fn息ο下面結合具體實施例詳細說明本發明的方法的實現過程和原理。實施例一本實施例中圖6所示的以太網拓撲圖,節點Si、節點S2、節點S3和節點S4組成的網絡中沒有閉環,各個節點都收不到自身發出的檢測巾貞,沒有端口關閉,流量能夠正常通信。當在節點S3和節點S4之間新連接一條鏈路后,形成了閉環,此時,節點S3和節點S4檢測到端口由數據不連通狀態到連通狀態,節點S3和節點S4發送攜帶端口狀態改變信息的檢測幀,其他節點發送不攜帶端口狀態改變信息的檢測幀;各節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉,如圖7所示;各節點收到攜帶端口狀態改變信息的檢測幀后,不論自身端口是否關閉數據轉發功能,都對所述攜帶端口狀態改變信息的檢測幀進行轉發,這樣,節點S3和S4持續能夠收到自己發出的攜帶指示標志的檢測幀,從而保持端口關閉數據轉發功能。而節點Sl和節點S2在關閉自身端口的數據轉發功能后,不轉發不攜帶端口狀態改變信息的檢測幀,節點Sl和S2在等待一段時間后收不到自己發出的檢測幀,將打開關閉的端口,如圖8所示,網絡中節點Sl和節點S2打開端口的數據轉發功能,網絡能夠重新連通,保障了最大的可用性,防止了以太網重新形成閉環,有助于網絡管理者方便的定位到導致閉環的節點和鏈路。實施例二本實施例中圖9所示的以太網拓撲圖,節點S2、節點S3和節點S4沒有發送檢測幀的功能,當節點Sl新接入節點S2時,節點Sl和節點S2檢測到端口由數據不連通狀態到連通狀態,但只有節點Sl有發送檢測幀的功能,此時,節點Sl發送攜帶端口狀態改變信息的檢測幀,節點S2、節點S3和節點S4轉發攜帶端口狀態改變信息的檢測幀,節點Sl收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉。本實施例的方法能夠防止節點S2、節點S3和節點S4形成閉環導致的廣播流量影響節點Sl所在的網絡。以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種避免以太網閉環的方法,其特征在于,該方法包括以太網中節點端口由數據不連通狀態到連通狀態時,所述節點發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;各節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到不是自身發送的、且攜帶端口狀態改變信息的檢測幀后,轉發所述檢測幀。
2.根據權利要求1所述的方法,其特征在于,所述端口關閉策略為根據檢測幀中的源端口號和接收檢測幀的端口的端口號的大小,關閉端口號小的端口的數據轉發功能;或者,關閉端口號大的端口的數據轉發功能。
3.根據權利要求1所述的方法,其特征在于,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在所述字段設置約定的數值作為端口狀態改變信息。
4.根據權利要求1所述的方法,其特征在于,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在所述字段設置約定的字符串作為端口狀態改變信息。
5.根據權利要求3或4所述的方法,其特征在于,該方法進一步包括各節點在收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息。
6.一種避免以太網閉環的系統,其特征在于,該系統包括第一節點、第二節點;其中,第一節點,用于發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉;在收到其他第一節點發送的檢測幀后,對所述檢測幀進行轉發;第二節點,用于發送不攜帶端口狀態改變信息的檢測幀,在收到自身發送的檢測幀后,將符合端口關閉策略的端口的數據轉發功能關閉,并在收到攜帶端口狀態改變信息的檢測幀后,對所述檢測幀進行轉發。
7.根據權利要求6所述的系統,其特征在于,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在該字段設置約定的數值作為端口狀態改變信息。
8.根據權利要求6所述的系統,其特征在于,所述端口狀態改變信息為預先約定檢測幀中的一個預留字段,在該字段設置約定的字符串作為端口狀態改變信息。
9.根據權利要求7或8所述的系統,其特征在于,所述第一節點,還用于收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息。
10.根據權利要求7或8所述的系統,其特征在于,所述第二節點,還用于收到不是自身發送的檢測幀后,檢測檢測幀中預先約定的預留字段是否有端口狀態改變信息。
全文摘要
本發明公開了一種避免以太網閉環的方法,以太網中節點端口由數據不連通狀態到連通狀態時,所述節點發送攜帶端口狀態改變信息的檢測幀,所述端口狀態改變信息指示端口由數據不連通狀態到連通狀態;所述節點在收到自身發送的檢測幀后,將符合端口關閉策略的端口關閉;所述節點在收到不是自身發送的、且攜帶端口狀態改變信息的檢測幀后,轉發所述檢測幀;本發明同時還公開了一種避免以太網閉環的系統,通過本發明的方案,在一段時間后,除了端口由數據不連通狀態到連通狀態的節點外的其他節點將已關閉端口打開外,端口由數據不連通狀態到連通狀態的節點始終都能收到自身發送的檢測幀,保持自身端口關閉,防止了以太網重新形成閉環。
文檔編號H04L12/42GK102594631SQ20111000546
公開日2012年7月18日 申請日期2011年1月12日 優先權日2011年1月12日
發明者吳少勇, 魏月華 申請人:中興通訊股份有限公司