鄭志偉 白 楊 李明鍵
(中國(guó)電子科技集團(tuán)公司第三十四研究所 廣西·桂林 541004)
由多臺(tái)SDH設(shè)備組成的傳輸系統(tǒng),通常采用SDH中的DCC開(kāi)銷(xiāo)字節(jié)作為其物理通道,組成SDH系統(tǒng)的網(wǎng)管網(wǎng)。當(dāng)系統(tǒng)組成環(huán)形網(wǎng)絡(luò)或mesh型網(wǎng)絡(luò)(圖1所示)時(shí),網(wǎng)管網(wǎng)會(huì)出現(xiàn)多鏈路的冗余組網(wǎng),產(chǎn)生環(huán)路,造成二層網(wǎng)絡(luò)廣播風(fēng)暴,導(dǎo)致網(wǎng)管網(wǎng)絡(luò)癱瘓。解決這一問(wèn)題通常采用基于三層路由的OSPF協(xié)議或基于二層交換的RSTP(快速生成樹(shù)協(xié)議)。基于OSPF協(xié)議的解決方案,技術(shù)要求高,對(duì)CPU的開(kāi)銷(xiāo)大,常在大型的固網(wǎng)中采用,而基于RSTP的方案,結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)容易、占用CPU資源少,成為節(jié)點(diǎn)少、網(wǎng)絡(luò)拓?fù)渥兓到y(tǒng)的首選。

圖1:系統(tǒng)組網(wǎng)示意圖
基于RSTP的方案,是利用交換芯片基于RSTP協(xié)議,通過(guò)一定的算法實(shí)現(xiàn)路徑冗余,同時(shí)將環(huán)路網(wǎng)絡(luò)修剪成無(wú)環(huán)路的樹(shù)型網(wǎng)絡(luò),從而避免報(bào)文在環(huán)路網(wǎng)絡(luò)中的增生和無(wú)限循環(huán)。在SDH系統(tǒng)組網(wǎng)中,由于SDH光口并沒(méi)有與交換芯片直接連接(設(shè)備網(wǎng)管模塊原理如圖2所示),無(wú)法由交換芯片直接獲取SDH光口的鏈路狀態(tài),而RSTP協(xié)議程序是依賴鏈路狀態(tài)變化來(lái)進(jìn)行網(wǎng)絡(luò)拓?fù)渥兓模孕枰_(kāi)發(fā)定制的光口鏈路檢測(cè)機(jī)制以保證RSTP協(xié)議程序的正確運(yùn)行。

圖2:設(shè)備網(wǎng)管模塊原理框圖
IEEE802.1WRSTP標(biāo)準(zhǔn)協(xié)議是基于IEEE802.3邏輯鏈路層協(xié)議實(shí)現(xiàn)的,符合二層鏈路層的幀格式,同時(shí)是在802.1D STP標(biāo)準(zhǔn)協(xié)議基礎(chǔ)上改進(jìn)而來(lái)的,具有統(tǒng)一的目的MAC地址(標(biāo)準(zhǔn)定義為01:80:C2:00:00:00),規(guī)定了傳輸?shù)膱?bào)文中的BPDU內(nèi)容以及格式。通過(guò)CPU軟件(RSTP應(yīng)用軟件)主動(dòng)發(fā)送數(shù)據(jù)包到交換芯片,該數(shù)據(jù)包包含兩個(gè)內(nèi)容:一是由各廠商交換芯片定義的端口標(biāo)簽,二是基于IEEE802.1WRSTP協(xié)議的BPDU包(網(wǎng)橋管理單元數(shù)據(jù)包),交換芯片根據(jù)CPU構(gòu)造的數(shù)據(jù)包中的端口標(biāo)簽,分發(fā)BPDU包到對(duì)應(yīng)端口,從而傳輸給其他SDH設(shè)備,其他設(shè)備交換芯片收到BPDU包后自動(dòng)打上端口標(biāo)簽,然后發(fā)送到網(wǎng)管CPU進(jìn)行RSTP協(xié)議計(jì)算及處理。設(shè)備與設(shè)備之間通過(guò)BPDU包進(jìn)行基于IEEE802.1W的RSTP標(biāo)準(zhǔn)協(xié)議的網(wǎng)橋信息交互以及根橋選舉,各設(shè)備網(wǎng)橋分配端口角色,從而計(jì)算形成正確的樹(shù)形網(wǎng)絡(luò)拓?fù)洌俑鶕?jù)網(wǎng)絡(luò)拓?fù)湟约案鞫丝诮巧渲媒粨Q芯片的端口狀態(tài),將冗余的鏈路阻塞,完成破環(huán),解決環(huán)路問(wèn)題。
RSTP協(xié)議只是在交換芯片層進(jìn)行端口流量的阻塞控制,實(shí)際物理層鏈路依然有數(shù)據(jù)包傳輸,但是到交換芯片后會(huì)依據(jù)端口狀態(tài)進(jìn)行丟棄或轉(zhuǎn)發(fā),各端口的BPDU包依然能通過(guò)交換芯片與CPU間的網(wǎng)管口(帶內(nèi)管理口)傳輸給CPU進(jìn)行處理計(jì)算,本私有光口鏈路檢測(cè)機(jī)制便是基于交換芯片的這一工作特性進(jìn)行的私有協(xié)議設(shè)計(jì)開(kāi)發(fā)。
利用SDH光傳輸通道的網(wǎng)管通道,開(kāi)發(fā)獨(dú)立于RSTP協(xié)議之外的光口鏈路檢測(cè)協(xié)議包(也是符合BPDU包格式定義的數(shù)據(jù)包),通過(guò)SDH設(shè)備間網(wǎng)管通道的RSTP協(xié)議包以及私有協(xié)議包互通,完成光口鏈路檢測(cè)以及設(shè)備網(wǎng)管網(wǎng)絡(luò)組網(wǎng)。利用網(wǎng)管通道本身的傳輸能力,在定時(shí)傳輸RSTP HELLO報(bào)文的74字節(jié)之外,再多傳輸74字節(jié)的私有光口鏈路協(xié)議報(bào)文,網(wǎng)管通道的帶寬分配設(shè)計(jì)至少要有支持(光口數(shù)量*2*74字節(jié))/每秒的能力。
光口鏈路協(xié)議原理類(lèi)似BFD(雙向轉(zhuǎn)發(fā)檢測(cè)機(jī)制)中的慢HELLO機(jī)制,兩臺(tái)設(shè)備之間通過(guò)互相發(fā)送報(bào)文,通知自己的接收狀態(tài),設(shè)定一個(gè)接收閾值,在接收閾值到達(dá)時(shí),沒(méi)有收到報(bào)文,則通知對(duì)端故障。由于在交換機(jī)的RSTP狀態(tài)不在FORWARDING時(shí),除了BPDU報(bào)文其他報(bào)文在到達(dá)交換機(jī)后會(huì)被丟棄,到達(dá)不了CPU處理程序,因此將光口私有鏈路協(xié)議的報(bào)文格式定為與BPDU相同的報(bào)文格式,但是源MAC地址為統(tǒng)一的特定MAC地址(全0),可以讓私有鏈路協(xié)議包穿過(guò)交換機(jī)到達(dá)網(wǎng)管 CPU,同時(shí) CPU的收包程序可以通過(guò)特定的源MAC地址將光口鏈路包以及普通BPDU包區(qū)分開(kāi)來(lái),而且由于是慢HELLO機(jī)制(秒級(jí)),CPU的處理任務(wù)負(fù)擔(dān)不大。
本設(shè)計(jì)方案的優(yōu)勢(shì):(1)由于利用網(wǎng)管通道傳輸,并不占用業(yè)務(wù)通道帶寬,光口鏈路檢測(cè)不會(huì)受到突發(fā)業(yè)務(wù)流量沖擊影響以及業(yè)務(wù)鏈路切換的影響,保證了光口鏈路檢測(cè)協(xié)議的獨(dú)立以及穩(wěn)定性。(2)使用私有鏈路協(xié)議檢測(cè)光口狀態(tài)是在RSTP應(yīng)用程序基礎(chǔ)上的補(bǔ)丁程序,只會(huì)給RSTP協(xié)議程序提供鏈路信息,不會(huì)影響RSTP標(biāo)準(zhǔn)協(xié)議程序工作。(3)本鏈路檢測(cè)機(jī)制不依賴于具體硬件,對(duì)軟件操作系統(tǒng)的依賴度小,增強(qiáng)了模塊的解耦合度及通用性,便于復(fù)用移植。(4)在多板卡的項(xiàng)目中鏈路經(jīng)過(guò)多個(gè)中間硬件節(jié)點(diǎn),其他光口檢測(cè)機(jī)制極有可能在單通或某個(gè)節(jié)點(diǎn)失效時(shí)認(rèn)為鏈路良好,而實(shí)際兩端CPU的報(bào)文收發(fā)失敗,從而導(dǎo)致RSTP協(xié)議程序不能有效判斷鏈路通斷,造成故障,不能正確收斂。本方案鏈路通斷由二層報(bào)文來(lái)確定,是CPU到CPU級(jí)別的完整鏈路,鏈路上任意節(jié)點(diǎn)故障導(dǎo)致通信中斷都將被檢測(cè)到,從而確保了鏈路檢測(cè)的完整性,保證了鏈路發(fā)生故障時(shí)穩(wěn)定收斂。(5)光口鏈路狀態(tài)包定義固定字段(IEEE802.3標(biāo)準(zhǔn)的額外字節(jié)部分)的固定值來(lái)標(biāo)識(shí)鏈路狀態(tài)好壞且其他RSTP標(biāo)準(zhǔn)用字段為空,與標(biāo)準(zhǔn)協(xié)議隔離開(kāi)來(lái),即使商用交換機(jī)收到此包也不會(huì)對(duì)其RSTP協(xié)議程序造成影響。
私有鏈路協(xié)議格式如下表:

表1:私有鏈路協(xié)議格式
光口鏈路協(xié)議的實(shí)現(xiàn)機(jī)制:
(1)初始化光口鏈路狀態(tài)表,默認(rèn)收發(fā)狀態(tài)為BAD狀態(tài),鏈路狀態(tài)為DOWN;(2)初始化光口發(fā)送定時(shí)器以及光口到期定時(shí)器,默認(rèn)光口發(fā)送定時(shí)器為激活狀態(tài),而光口到期定時(shí)器為未激活狀態(tài);(3)光口鏈路由DOWN變?yōu)閁P的實(shí)現(xiàn)機(jī)制:
(4)光口鏈路狀態(tài)由UP變?yōu)镈OWN的實(shí)現(xiàn)機(jī)制:
鏈路檢測(cè)處理流程如下圖:

圖1:光口鏈路檢測(cè)處理流程
SDH設(shè)備冗余組網(wǎng)后,進(jìn)行拔插光纖,設(shè)備關(guān)電上電等操作,網(wǎng)管網(wǎng)絡(luò)可以穩(wěn)定收斂以及自動(dòng)形成樹(shù)形網(wǎng)絡(luò)拓?fù)洌夜饪阪溌稶P/DOWN的響應(yīng)機(jī)制和收斂時(shí)間都符合預(yù)期設(shè)計(jì)。本設(shè)計(jì)方案可適用于專(zhuān)用網(wǎng)管網(wǎng)絡(luò),管理一個(gè)專(zhuān)用網(wǎng)絡(luò)或核心骨干網(wǎng)中的所有設(shè)備,同時(shí)方案中的RSTP協(xié)議程序部分為標(biāo)準(zhǔn)協(xié)議,也可與商用交換機(jī)的電口進(jìn)行組網(wǎng)。