摘要:在重要的通信與控制設備中,為了確保系統的穩定,通常在其內部都使用了備份和冗余網絡。本文針對一種平面獨立的內部雙交換機冗余網絡,設計了一種實用的不依賴生成樹協議(STP/RSTP)的快速智能冗余切換的方法,通過實驗室及現場應用驗證了該方法的有效性。
關鍵詞:交換機;冗余;路由,;控制單元;生成樹協議
Abstract: In key telecommunication or control devices, network redundancy is basically used to ensure system stabilization. This paper introduces a fast automatic redundancy backup method for one kind of internal dual-switch network, which is independent to STP/RSTP protocol and verified in lab and onsite application.
Keywords: Switch, Redundancy, Route, CE(Control-Element), STP/RSTP
1 引言
重要的通信與控制設備,其穩定性對于整個系統的穩定與業務至關重要。因此,為了確保這些重要設備的穩定運行,通常在其內部使用了備份和冗余網絡。當內部網絡的一部分出現故障時,要求系統能迅速診斷并快速切換到備份和冗余的網絡,從而降低故障對系統的影響,保證系統的穩定運行。
在備份和冗余網絡中,通常采用的冗余方式是冗余鏈路 + 生成樹協議(如STP/RSTP)。在這種方式下,網絡出現故障時的冗余切換速度取決于所使用的生成樹協議的收斂時間,在實時性要求很高的情況下會使其應用受到一定的限制,同時,這種方式配置比較復雜,而且對交換機需要支持的協議也提出了要求。
本文針對一種平面獨立的內部雙交換機冗余網絡,設計了一種實用的不依賴生成樹協議(如STP/RSTP)的快速智能冗余切換的方法,網絡出現故障時,與“冗余鏈路 + 生成樹協議(如STP/RSTP)”方法相比,冗余切換速度明顯提升,實驗室及現場應用驗證了該方法的有效性。
2 一種平面獨立的雙交換機冗余網絡的拓撲結構
圖1是某一核心通信設備內部的雙交換機冗余網絡的拓撲結構。如圖1所示,設備中有多個控制單元(Control Element, CE),每一個控制單位都相當于一臺電腦,通過eth0和eth1分別連接到兩個交換機SWITCH-A和SWITCH-B,組成了兩個互為備份的網絡交換平面。由于SWITCH-A和SWITCH-B之間沒有網絡連接,因此,這兩個交換機雖互為備份但彼此獨立,避免了對生產樹協議的要求。通過在各個CE上添加不同的網絡路由(route),可以實現在兩個交換平面之間靈活切換。
圖1 某一核心通信設備內部的雙交換機冗余網絡的拓撲結構
由于是在設備內部,每個交換機端口所對應CE的內部ip和內部mac地址都可以預先定義,如表1所示。
表1 CEi的網絡端口、IP、Mac-address對照表
(假設)CEi
默認情況下,每個CE都通過SWITCH-A相互聯系,或通過SWITCH-A和 與外部網絡聯系。默認路由(route)如表2、表3所示。
表2 CEi(i≠n)的默認路由表
CEi (i≠n)
表3 CEn的默認路由表
CEn
2.網絡出現故障時的冗余切換
當某個CE的網絡接口(eth0或eth1),或者某個SWITCH(SWITCH-A或SWITCH-B)出現故障時,可以通過更新每個CE的內部路由(route),切換到冗余一側的交換機上,使系統的網絡保持暢通。
(1) 交換機的某個端口故障
(假設) 的eth0對應的交換機端口出現故障,如圖2所示:
圖2 的eth0出現故障示意圖
為保持網絡暢通,需要使 上針對eth0的路由(route)全部切換到另一側的交換機上;同時,還需要使其它CE通過eth0到 的路由(route)切換到另一側的交換機上。
對應的路由(route)更新如下:
(a) CEi
(b)CEj ( j≠i)
如果 的eth1對應的交換機端口出現故障,每個CE的route也要做類似的切換更新。
(2)整個交換機故障
如果某個交換機出現故障,為保持網絡暢通,需要使每個CE針對該交換機的路由全部切換到另一側的交換機上。
假設SWITCH-A出現故障,為保持網絡暢通,需要使每個CE上針對eth0的路由(route)全部切換到eth1上。對應的路由(route)更新如下:
如果SWITCH-B出現故障,每個CE的route也要做類似的切換更新。
3 網絡故障的自動檢測
對于交換機端口或者整個交換機的故障,都表現為某些CE(一個或多個CE)的網絡端口出現故障,因此,都可以通過檢查各個CE的網絡端口狀態檢查出來。
3.1 網絡端口狀態的檢測方式
如圖3所示,設備中的每一個CE( )針對其對應的網絡端口(eth0或eth1),都任意選擇其它3個CE( , , )作為檢測點。在針對網絡端口的每一個檢測周期中, 依次向每個檢測點直接發送以太網mac包(check包);收到check包的CE將向發送方回復確認ack包。
3.2 檢測步驟與決斷策略
如圖4所示:
① 向第一個檢測點 發check包
②等待 的ack包,如果收到,說明端口正常,結束本次檢測
③等待超時, 向第二個檢測點 發check包
④等待 的ack包,如果收到,說明端口正常,結束本次檢測
⑤等待超時, 向第二個檢測點 發check包
⑥等待 的ack包,如果收到,說明端口正常,結束本次檢測
⑦等待超時, 向該端口(eth0或eth1)廣播一個check包,其它CE收到之后都會向 發ack包
⑧等待可能的ack包,如果收到,說明端口正常,用新收到的ip/mac地址更新檢測點( , , ),結束本次檢測
⑨等待超時, 的該端口上不能收到任何ack包,則檢查另一側端口的狀態:如果另一側端口異常,說明 在兩側都不能收到任何ack包,判斷 處于孤立運行狀態,因此不需要做route更新;如果另一側端口正常,判斷本側端口故障,觸發每一個CE上的route更新。
圖4 網絡端口檢測步驟示意圖
3.3 檢測周期與響應時間
圖5 網絡端口的檢測周期與檢測步驟示意圖(示例)
采用圖5所示的檢測步驟與檢測周期(示例),網絡端口狀態的最長檢測周期為 T = 4* + 。當網絡端口故障時,最長在時間T內可以檢出網絡故障。
選擇合適的 和 ,能使系統在盡可能短的時間內檢測出交換機網絡故障,并做出相應的保護性冗余切換。
當 t1= 20ms ,t2 = 100ms時,T = 4 x t1 + t2= 180ms ;
當 t1= 10ms ,t2 = 50ms時, T = 4 x t1 +t2 = 90ms 。
3.4 檢測行為對網絡的影響
在每一個檢測周期中,當所有網絡端口正常時,每一個CE會收發2個mac包(1個check包,1個ack包),一共是 2n個mac包;
當某個網絡端口異常時,該端口對應的CE最多收發不超過n個包(4個check包,最多n-4個ack包),其它CE每一個最多收發不超過3個包(2個check包,1個ack包),一共最大不超過 4n 個包;
當某個交換機故障時,每一個CE會收發4個包(4個check包,0個ack包),由于該交換機已經不能轉發包,因此沒有真正增加網絡的負荷。
當 時,由網絡檢測引入的mac包的數量是非常小的。
4.應用
該策略針對設備內部的平面獨立的雙交換機冗余網絡,可以檢測每一個網絡端口的狀態,在網絡出現故障的時候能迅速檢測出來并自動作冗余切換,而且對交換機所支持的協議沒有特殊的要求,對設備內部每個CE所支持的協議也沒有特殊的要求,因而適應性較強。通過選擇合適的檢測周期,可以使冗余切換時間限制在100~200ms以下,甚至更短。與“冗余鏈路 + 生成樹協議(如STP/RSTP)”的冗余方式相比,該策略的冗余切換速度更快,而且不需要對交換機做額外的配置。
在某一款電信核心設備中采用了該策略后,經過實驗室和現場的雙重驗證,當內部網絡出現故障時,實際冗余切換時間小于100ms,有效保障了系統的穩定性。
5.結論
本文針對“冗余鏈路 + 生成樹協議”的網絡冗余方式中冗余切換速度依賴所使用的生成樹協議的收斂時間、造成實時性不高,而且配置復雜的問題,設計了不依賴生成樹協議(如STP/RSTP)的快速智能冗余切換的方法,提升了冗余切換速度,同時簡化了網絡配置。
參考文獻
[1] IEEE 802.1D – Media Access Control(MAC)Bridges, IEEE, 2004
[2] 付志兵.通信系統冗余設計[J].計算機與網絡,2009(08)
[3] 王隆杰.虛擬網絡交換機技術[J].通信技術,2009年04期
[4] 劉立.交換機鏈路聚合的理論與實驗研究[J].信息安全與技術,2010(09)
[5] 黃文君,謝東凱,盧山.一種高可用性的冗余工業實時以太網設計[J].儀器儀表學報,2010,31(3)
[6] 李志潔,姜楠,王存睿,劉向東.生成樹協議分析及其實驗的設計與實現[J].實驗科學與技術,2010,8(2)
作者簡介
劉新華(1973-),男,湖北省云夢人,畢業于浙江大學工業自動化碩士研究生,工程師,現就職于上海貝爾股份有限公司 WLPD(有線產品部),主要從事軟件開發方面的研究。
摘自《自動化博覽》2011年第五期