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