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