專利名稱:一種以太網冗余環網快速倒換方法
技術領域:
本發明涉及通信技術領域,特別涉及一種以太網冗余環網快速倒換方法。
技術背景
在工業以太網通信中,通常采用環形網絡冗余技術。然而該技術通常采用標準的 STP或RSTP協議來實現,采用該協議使得環網冗余倒換時間一般為幾秒甚至幾十秒,如此 漫長的收斂時間已不能滿足現代通信的要求。
另外,環網中節點端口鏈路故障的檢測機制也直接影響到環網的收斂時間。工業 以太網交換機在組建環網時,交換機所使用的端口的物理層(PHY)芯片在性能和成本方 面差別都比較大,性能的差異直接影響到環網的收斂時間。目前業界通常的做法是通過 PHY芯片來檢測外部端口鏈路的物理狀態,CPU芯片定期讀取PHY的端口狀態,有些低成本 的PHY芯片對檢測端口故障的反應比較慢,從而嚴重影響到環網的收斂時間,而且,不同的 PHY芯片對外部鏈路狀態的感應敏感度也不盡相同,感應慢的會導致link-down事件產生 滯后,從而影響到環網的收斂時間。發明內容
有鑒于此,本發明的目的在于提供一種以太網冗余環網快速倒換方法,該方法能 夠減少環網的收斂時間。
為了達到上述目的,本發明提供了一種以太網冗余環網快速倒換方法,應用于包 括一個管理節點和多個輔助節點的以太網冗余環網中,所述的管理節點包括管理端口和輔 助端口,所述的輔助節點包括分別用于接收和轉發的環端口 ;該方法預先設置探測報文最 小接收次數N;包括
所述管理節點,周期性從管理端口發送探測報文,所述輔助節點接收并轉發該探 測報文,管理節點在輔助端口接收到該探測報文時,將輔助端口設置為阻塞狀態;
檢測到環端口鏈路故障的輔助節點將發生鏈路故障的環端口設置為阻塞狀態,從 轉發的環端口向管理節點發送鏈路故障報文,接收到鏈路故障報文的管理節點將輔助端口 設置為轉發狀態;
檢測到環端口鏈路恢復的輔助節點先將鏈路恢復的環端口設置為阻塞狀態,從轉 發的環端口向管理節點發送鏈路恢復報文,接收到鏈路恢復報文的管理節點從管理端口和 輔助端口發送刷新報文,接收到刷新報文的輔助節點轉發該刷新報文;當管理節點連續N 次接收到從管理端口發出的探測報文時,將輔助端口設置為阻塞狀態,從管理端口發送拓 撲改變報文,接收到管理節點發來的拓撲改變報文的輔助節點再解除阻塞的環端口。
所述檢測到環端口鏈路恢復的輔助節點將鏈路恢復的環端口設置為阻塞狀態之 后,從轉發的環端口向管理節點發送鏈路恢復報文之前,進一步包括啟動阻塞定時器;
所述輔助節點在阻塞定時器超時時,解除阻塞的環端口,并刷新本地環端口 FDB ;
所述輔助節點在接收到管理節點發來的拓撲改變報文后進一步包括轉發該拓撲改變報文,并刷新本地環端口 FDB。
所述管理節點從管理端口發送探測報文時,進一步包括啟動探測報文接收定時 器;
管理節點在檢測到管理端口鏈路故障或輔助端口鏈路故障,或探測報文接收定時 器已超時還未接收到探測報文時,將輔助端口設置為轉發狀態。
所述管理節點,在檢測到管理端口鏈路故障時,進一步包括從輔助端口發送刷新 報文,并刷新本地環端口 FDB;
所述管理節點在檢測到輔助端口鏈路故障時,進一步包括從管理端口發送刷新 報文,并刷新本地環端口 FDB;
所述管理節點在接收到輔助節點發來的鏈路故障報文或探測報文接收定時器已 超時還未接收到探測報文時,進一步包括從管理端口和輔助端口兩個端口發送刷新報文, 并刷新本地環端口 FDB ;
所述輔助節點在接收到管理節點發來的刷新報文后,轉發該刷新報文時,還刷新 本地環端口 FDB。
所述管理節點,在管理端口正常轉發,檢測到輔助端口鏈路恢復時,將輔助端口設 置為轉發狀態;
所述管理節點在接收到輔助節點發來的鏈路恢復報文后進一步包括刷新本地環 端口 FDB ;所述輔助節點在接收到管理節點發來的刷新報文后,轉發該刷新報文時,還刷新 本地環端口 FDB。
還包括所述的輔助節點的接收和轉發的環端口中的一個環端口鏈路故障且另一 個環端口正常轉發,當正常轉發的端口鏈路故障時,將該由正常轉發轉變為鏈路故障的端 口設置為阻塞狀態;所述的輔助節點的接收和轉發的環端口都發生鏈路故障,當其中一個 環端口鏈路恢復時,將鏈路恢復的端口設置為轉發狀態。
所述輔助節點進一步用于如果接收到其它環網協議報文,則轉發該報文。
所述檢測端口鏈路故障或端口鏈路恢復的方法為將管理節點和輔助節點中與物 理層PHY芯片相連的外部光模塊的衰減信號直接連接到中央處理單元CPU的通用輸入輸出 GPIO管腳,CPU定期掃描GPIO管腳獲取當前光模塊衰減LOSS信號的狀態,將LOSS信號的 狀態與從PHY寄存器中獲得的鏈路的狀態進行運算處理,得到鏈路的實際狀態,并根據得 到的鏈路的實際狀態確定端口鏈路故障或端口鏈路恢復。
由上述技術方案可知,本發明的這種以太網冗余環網快速倒換方法,將環網中的 一個節點設置為管理節點,其他節點設置為輔助節點,管理節點周期性從管理端口發送探 測報文,在管理節點的輔助端口接收該探測報文,在環網故障時,將輔助端口設置為阻塞狀 態,在環網恢復時,將輔助端口設置為阻塞狀態,而輔助節點則用于接收并轉發管理端口的 探測報文。該方法能夠減少環網的收斂時間。
圖1是單環網絡結構圖2是環網故障示意圖3是環網故障恢復示意圖;5
圖4是鏈路故障檢測示意圖5是管理節點工作狀態變化的協議狀態機示意圖6是輔助節點工作狀態變化的協議狀態機示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖并舉實施例, 對本發明進行詳細說明。
本發明的主要思想是將環網中的一個節點設置為管理節點,其他節點設置為輔 助節點,管理節點周期性從管理端口發送探測報文,在輔助端口接收該探測報文,以此來檢 測環網是否發生故障,并根據環網故障與否來設置輔助端口的阻塞或轉發狀態,而輔助節 點則用于接收并轉發管理端口的探測報文。這種方法可以減少環網的收斂時間。
參見圖1,圖1是單環網絡結構圖,預先設置環中的一個節點為管理節點,其它節 點設置為輔助節點,將管理節點的兩個端口分別設置為管理端口和輔助端口 ;管理節點周 期性的從管理端口發送探測報文并啟動探測報文接收定時器,各輔助節點依次接收并轉發 該探測報文使其在環上傳播;如果管理節點在所述探測報文接收定時器時間內在輔助端口 接收到自己從管理端口發送的探測報文,則說明環路處于閉環狀態,環網完整;如果管理節 點在所述定時器時間內沒有收到自己從管理端口發送的探測報文,則認為環路處于開環狀 態,環網發生鏈路故障。以此來檢測環路的狀態。
如果管理節點檢測到環路處于閉環狀態,則將輔助端口設置成阻塞狀態,避免形 成環路風暴;如果管理節點檢測到環路處于開環狀態,則將輔助端口解除阻塞,恢復成轉發 狀態。
圖2是環網故障示意圖,當環網中的一條鏈路發生故障斷開時,如圖2中的輔助節 點1和輔助節點2之間的鏈路斷開,輔助節點1和輔助節點2檢測到其環端口鏈路出現故 障,分別向管理節點發送鏈路故障(link-down)報文,管理節點收到link-down報文后,立 即將輔助端口解除阻塞,恢復為轉發狀態,從管理端口和輔助端口兩個端口發送刷新報文, 通知所有輔助節點刷新轉發數據庫(FDB);刷新本地環端口 FDB轉發表。各個輔助節點接 收到刷新報文后,轉發該刷新報文,并刷新本地環端口 FDB。
圖3是環網故障恢復示意圖,當環網中的某一條鏈路從故障中恢復時,如圖3中的 輔助節點1和輔助節點2之間的鏈路故障恢復,輔助節點1和輔助節點2檢測到其環端口 鏈路從故障中恢復,分別向管理節點發送鏈路恢復(link-up)報文,管理節點收到link-up 報文后,從管理端口和輔助端口兩個端口發送刷新報文,通知所有輔助節點刷新轉發數據 庫(FDB),同時刷新本地環端口 FDB ;各個輔助節點接收到刷新報文后,轉發該刷新報文,并 刷新本地環端口 FDB。
當環網中的發生故障的鏈路全部從故障中恢復時,管理節點能夠從輔助端口接收 到自己從管理端口發送過來的探測報文,此時環網重新恢復為閉環狀態,需要將輔助端口 設置為阻塞狀態。但是,環網剛恢復為閉環狀態時,環網并不穩定,例如在光纖插頭插入的 瞬間,因接觸不良等原因會使鏈路故障恢復的鏈路兩側的端口反復檢測到鏈路恢復/故 障,導致鏈路兩側的端口所在的節點不停的發送鏈路故障報文和鏈路恢復報文,從而導致 環網反復的切換,為了防止因鏈路抖動導致環網頻繁切換,這里采用一種檢測機制,預先設置探測報文最小連續接收次數N,如果輔助端口連續N次接收到探測報文,則說明環路處于 穩定狀態,此時需要將輔助端口設置成阻塞狀態,同時從管理端口發送拓撲改變報文,通知 所有輔助節點刷新FDB ;如果不能連續接收到探測報文,則說明鏈路還不穩定,此時不需要 進行切換,仍然保持當前的狀態,即管理端口和輔助端口都處于轉發狀態。這里的N是自然 數,由管理人員根據實際需要設置。
此外,當鏈路斷開時,有些物理層(PHY)芯片對鏈路的狀態變化反應相對要慢一 些,這會導致環路倒換時間變長。本發明的技術方案,將管理節點和輔助節點中與PHY相連 的外部光模塊的衰減(L0SQ信號直接連接到CPU的通用輸入輸出(GPIO)管腳,如圖4所 示的鏈路故障檢測示意圖,CPU定期,例如每隔16ms,掃描GPIO管腳獲取當前光模塊LOSS 信號的狀態。將LOSS信號的狀態與從PHY寄存器中獲得的鏈路的狀態進行運算處理,最終 獲得鏈路的實際狀態。通過該方式,當鏈路斷開時,CPU即可迅速得知鏈路的狀態,及時上 報link-down事件,充分保證了環網倒換時間。具體處理如下
用Loss代表光模塊的Loss信號,高電平表示沒有光信號,低電平表示有光信號。 用物理層狀態(Wiy_StatuS)表示通過PHY芯片檢測到的鏈路狀態,1表示鏈路Up,0表示鏈 路Down。用新鏈路狀態(NeW_link_StatuS)表示最終的鏈路狀態,則具體算法如下New_ link_status = Loss&Phy_status。也就是 Loss 先執 亍取反操作,然后再禾口 Phy_status 進行與操作,最后得到的結果就是最終的鏈路狀態,1表示Up,0表示Down。
本發明的技術方案中,將管理節點的工作狀態分為三種初始狀態、開環狀態、閉 環狀態,其中,初始狀態為環網啟動時管理節點的狀態;開環狀態為環網中有鏈路故障時管 理節點的狀態;閉環狀態為環網中沒有鏈路故障時管理節點的狀態。針對管理節點的三種 工作狀態,本發明給出了三種工作狀態變化的協議狀態機。參見圖5及表一、表二、表三,其 中,圖5是管理節點工作狀態變化的協議狀態機示意圖;表一、表二、表三給出了管理節點 從其中一種工作狀態轉變到另一種工作狀態的變化情況。下面各表中的空(Null)表示無 任何前提條件或不作任何動作。
圖5中的501表示管理節點的工作狀態從初始狀態到閉環狀態的變化,包括一種 情況初始狀態下,如果管理節點在輔助端口接收到從管理端口發出的探測報文,則將輔助 端口設置為阻塞狀態,管理節點的工作狀態轉變為閉環狀態。對應于表一的編號1。
權利要求
1.一種以太網冗余環網快速倒換方法,應用于包括一個管理節點和多個輔助節點的以 太網冗余環網中,所述的管理節點包括管理端口和輔助端口,所述的輔助節點包括分別用 于接收和轉發的環端口 ;其特征在于,預先設置探測報文最小接收次數N;該方法包括所述管理節點,周期性從管理端口發送探測報文,所述輔助節點接收并轉發該探測報 文,管理節點在輔助端口接收到該探測報文時,將輔助端口設置為阻塞狀態;檢測到環端口鏈路故障的輔助節點將發生鏈路故障的環端口設置為阻塞狀態,從轉發 的環端口向管理節點發送鏈路故障報文,接收到鏈路故障報文的管理節點將輔助端口設置 為轉發狀態;檢測到環端口鏈路恢復的輔助節點先將鏈路恢復的環端口設置為阻塞狀態,從轉發的 環端口向管理節點發送鏈路恢復報文,接收到鏈路恢復報文的管理節點從管理端口和輔助 端口發送刷新報文,接收到刷新報文的輔助節點轉發該刷新報文;當管理節點連續N次接 收到從管理端口發出的探測報文時,將輔助端口恢復為阻塞狀態,從管理端口發送拓撲改 變報文,接收到管理節點發來的拓撲改變報文的輔助節點再解除阻塞的環端口。
2.如權利要求1所述的以太網冗余環網快速倒換方法,其特征在于,所述檢測到環端 口鏈路恢復的輔助節點將鏈路恢復的環端口設置為阻塞狀態之后,從轉發的環端口向管理 節點發送鏈路恢復報文之前,進一步包括啟動阻塞定時器;所述輔助節點在阻塞定時器超時時,解除阻塞的環端口,并刷新本地環端口 FDB ;所述輔助節點在接收到管理節點發來的拓撲改變報文后進一步包括轉發該拓撲改變 報文,并刷新本地環端口 FDB。
3.如權利要求2所述的以太網冗余環網快速倒換方法,其特征在于,所述管理節點從 管理端口發送探測報文時,進一步包括啟動探測報文接收定時器;管理節點在檢測到管理端口鏈路故障或輔助端口鏈路故障,或探測報文接收定時器已 超時還未接收到探測報文時,將輔助端口設置為轉發狀態。
4.如權利要求3所述的以太網冗余環網快速倒換方法,其特征在于,所述管理節點, 在檢測到管理端口鏈路故障時,進一步包括從輔助端口發送刷新報文,并刷新本地環端口 FDB ;所述管理節點在檢測到輔助端口鏈路故障時,進一步包括從管理端口發送刷新報文, 并刷新本地環端口 FDB ;所述管理節點在接收到輔助節點發來的鏈路故障報文或探測報文接收定時器已超時 還未接收到探測報文時,進一步包括從管理端口和輔助端口兩個端口發送刷新報文,并刷 新本地環端口 FDB ;所述輔助節點在接收到管理節點發來的刷新報文后,轉發該刷新報文時,還刷新本地 環端口 FDB。
5.如權利要求4所述的以太網冗余環網快速倒換方法,其特征在于,所述管理節點,在 管理端口正常轉發,檢測到輔助端口鏈路恢復時,將輔助端口設置為轉發狀態;所述管理節點在接收到輔助節點發來的鏈路恢復報文后進一步包括刷新本地環端口FDB ;所述輔助節點在接收到管理節點發來的刷新報文后,轉發該刷新報文時,還刷新本地 環端口 FDB。
6.如權利要求5所述的以太網冗余環網快速倒換方法,其特征在于,還包括所述的輔 助節點的接收和轉發的環端口中的一個環端口鏈路故障且另一個環端口正常轉發,當正常 轉發的端口鏈路故障時,將該由正常轉發轉變為鏈路故障的端口設置為阻塞狀態;所述的 輔助節點的接收和轉發的環端口都發生鏈路故障,當其中一個環端口鏈路恢復時,將鏈路 恢復的端口設置為轉發狀態。
7.如權利要求6所述的以太網冗余環網快速倒換方法,其特征在于,所述輔助節點進 一步用于如果接收到其它環網協議報文,則轉發該報文。
8.如權利要求1至7的任一權項所述以太網冗余環網快速倒換方法,其特征在于,所 述檢測端口鏈路故障或端口鏈路恢復的方法為將管理節點和輔助節點中與物理層PHY芯 片相連的外部光模塊的衰減信號直接連接到中央處理單元CPU的通用輸入輸出GPIO管腳, CPU定期掃描GPIO管腳獲取當前光模塊衰減LOSS信號的狀態,將LOSS信號的狀態與從PHY 寄存器中獲得的鏈路的狀態進行運算處理,得到鏈路的實際狀態,并根據得到的鏈路的實 際狀態確定端口鏈路故障或端口鏈路恢復。
全文摘要
本發明提供了一種以太網冗余環網快速倒換方法,應用于包括一個管理節點和多個輔助節點的以太網冗余環網中,所述的管理節點包括管理端口和輔助端口,所述的輔助節點包括分別用于接收和轉發的環端口;該方法包括管理節點周期性從管理端口發送探測報文,在管理節點的輔助端口接收該探測報文,在環網故障時,將輔助端口設置為阻塞狀態,在環網恢復時,將輔助端口設置為阻塞狀態,而輔助節點則用于接收并轉發管理端口的探測報文。該方法能夠減少環網的收斂時間。
文檔編號H04L12/24GK102045231SQ20101062444
公開日2011年5月4日 申請日期2010年12月31日 優先權日2010年12月31日
發明者康洪信 申請人:北京華源格林科技有限公司