《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種遠端故障檢測方案的設計與實現(xiàn)
一種遠端故障檢測方案的設計與實現(xiàn)
來源:電子技術應用2013年第12期
張 咪
武漢郵電科學研究院,, 湖北 武漢430074
摘要: 針對以太網(wǎng)技術OAM(Operation Administraction and Maintenance)能力較弱的問題,,提出了一種遠端故障檢測的具體實施方案,設備上電進行軟件初始化時,將Trap數(shù)據(jù)寫入FPGA的寄存器中,,并增加一個定時器控制FPGA向網(wǎng)管設備發(fā)送連通性檢測幀,,若設備突然掉電,,F(xiàn)PGA會利用緩沖時延,,向網(wǎng)管發(fā)送遠端掉電幀trap,使網(wǎng)管獲得設備掉電信息,;若網(wǎng)管在定時周期內(nèi)沒有接收到連通幀Trap,,則可以判斷設備鏈路或硬件故障。
中圖分類號: TN913
文獻標識碼: B
文章編號: 0258-7998(2013)12-0126-03
A kind scheme of design and implementation of remote fault detection
Zhang Mi
Wuhan Research Institute of Posts & Telecommunications, Wuhan 430074,,China
Abstract: In view of the defects of OAM ability of Ethernet, this paper presents a specific implementation scheme for remote fault detection. After device electrifying, the Trap data are written to the registers of FPGA and a timer controls the FPGA sending connectivity testing Trap to network management during the software initialization. If the device power break suddenly, the FPGA use the delay time to send a power-down Trap to network so that the network can get information. If management network is not received connected trap over a span, it turns out that a fault exists in the device or the line.
Key words : OAM; continuity testing; power outages; Trap; FPGA

    隨著數(shù)據(jù)業(yè)務的廣泛應用,,以太網(wǎng)技術在通信網(wǎng)絡中發(fā)揮著越來越重要的作用。但是以太網(wǎng)技術與傳統(tǒng)的同步數(shù)字體系(SDH)相比,,在網(wǎng)絡故障告警,、鏈路質量、維護手段等方面都略遜一籌[1],。國際標準化組織IEEE先后推出了802.3ah(2004)和802.1ag(2007)兩個標準化協(xié)議來強化以太網(wǎng)在維護、告警方面的能力,。802.3ah的以太網(wǎng)OAM主要是鏈路方面的監(jiān)測和維護,,是一種偏物理層的OAM,而802.1ag的以太網(wǎng)OAM是偏網(wǎng)絡和應用的OAM[2],,主要用在匯聚層和核心層上[3],。

    本文結合硬件,利用SNMP Trap包來實現(xiàn)鏈路連通性監(jiān)測以及故障告警,。主要是實現(xiàn)偏物理層的OAM功能,與802.3ah和802.1ag相比,,該故障告警和鏈路檢測方法簡單,、實現(xiàn)方便,適合于一些遠端二層交換設備,。根據(jù)FPGA[4]的特點,,外接一個1 000 ?滋F~2 000 ?滋F的電容,在設備突然斷電時,通過FPGA發(fā)送SNMP報文通知局端設備,,局端設備記錄并上報網(wǎng)管,,提示網(wǎng)管人員設備故障。
1 SNMP協(xié)議介紹
    簡單網(wǎng)絡管理協(xié)議SNMP[5](Simple Network Management Protocol)是目前最常用的網(wǎng)絡管理協(xié)議,。狹義上,,它是一種專門用于網(wǎng)絡管理軟件和網(wǎng)絡設備之間的通信協(xié)議;廣義上,它是一組為實現(xiàn)網(wǎng)絡的自動化管理任務而制定的一系列通信標準,包括管理信息的表示與命名,、通信協(xié)議等內(nèi)容,。
    SNMP中定義了5種協(xié)議數(shù)據(jù)單元PDU(Protocal Data Unit),按照完成的功能可以分為三類:(1)查詢,,設置SNMP變量,;(2)應答請求;(3)事件報告,如Trap。
    Trap是某種入口,,到達該入口會使SNMP被管設備主動通知SNMP管理器,而不是等待SNMP管理器的再次輪詢,。同時也是管理工作站向代理獲取管理信息的途徑之一。Trap消息是當代理探測到本地存在與網(wǎng)絡運行狀態(tài)有重要關系的事件發(fā)生時,,即向工作站發(fā)送時間報告消息,。由于事先在代理中指定了發(fā)送的工作管理站,也就是Trap的目的地,,因此接收到Trap后,,管理工作站不需要向代理發(fā)送確認消息。
2 遠端故障檢測硬件模塊設計
    圖1所示為硬件總體結構示意圖,,F(xiàn)PGA與ARM相連,,在設備上電初始化完成之后,軟件就可以將手動組好的SNMP Trap數(shù)據(jù)包寫入到FPGA的寄存器中儲存起來,。

    圖2所示的FPGA功能示意圖中,,P1~P4為4個媒體獨立接口(MII接口)。P1和P2為媒體接入控制(MAC)模式接口,,用于連接2個光口物理層收發(fā)器(PHY)芯片,;P3和P4為PHY模式接口,用于連接交換芯片的2個MII端口。實現(xiàn)P1與P3之間的報文相互轉發(fā),,和P2與P4之間的報文相互轉發(fā),。提供一個簡化的MII接口(RMII)P0為MAC模式,通過PHY芯片與交換芯片相連,用于發(fā)送各種協(xié)議報文。當電源跌落時,,立即向MII_P1和MII_P2端口同時發(fā)送掉電告警幀,,并定時向P0協(xié)議端口發(fā)送連通性檢測幀。

3 遠端故障檢測的軟件實現(xiàn)
    本文實現(xiàn)的遠端故障檢測大致分為:遠端掉電檢測和遠端連通性檢測,。兩種遠端故障檢測處理流程如圖3所示,。

3.1 遠端設備掉電檢測原理
     遠端設備掉電處理可以有很多種實現(xiàn)方案,本文的實現(xiàn)方案選擇硬件FPGA。由于遠端設備突然斷電時,,由軟件組幀和發(fā)幀有可能來不及,,因此選用硬件去實現(xiàn)。設備斷電時,,ARM,、以太網(wǎng)交換芯片會立刻停止工作,而FPGA會在硬件布局中通過連接一個1 000 μF~2 000 μF的電容,可以有3 ms左右的斷電緩沖時間,,設備上電初始化完成之后,,軟件會手動組一個SNMP Trap包,存放在FPGA的寄存器中,。當設備突然斷電時,,F(xiàn)PGA會檢測到一個電壓跌落的信號,由于FPGA有3 ms~6 ms的斷電緩沖時間,,它會利用這個時間將存儲的寄存器中的數(shù)據(jù)讀取出來向網(wǎng)管發(fā)送,,從而使網(wǎng)管能夠檢測到遠端設備掉電的告警。具體的遠端設備掉電處理流程圖如圖3(a)所示,。軟件組包部分核心代碼為:
funIcConnect(sIC_CTL_BLK *pChip, UINT8 *pData, UINT16 len, void *para)
{    int status = DRV_SUCCESS;
     UINT16 i,,UINT8 value;
  pChip->chipWrite(IC_ FRAME_CCF_EN, 0, para);
  pChip->chipWrite(IC_ FRAME_CCF_EN, 1, para);
  for(i = 0; i < len; i ++)
  {
            value = *(pData + i);
         pChip->chipWrite(IC_FRAME_CCF_DATA, value, para);
   }
    pChip->chipWrite(IC_ FRAME_CCF_EN, 2, para);
}
3.2 遠端設備連通性檢測原理

      設備上電鏈路檢測幀實際只檢測設備的硬件及連接到網(wǎng)管的這條鏈路是否正常,不包括設備上的軟件是否能正常運行,。進行鏈路檢測就是區(qū)分設備失連是設備軟件問題還是硬件問題,。因為在正常情況下,即使軟件出現(xiàn)故障,,由硬件直接發(fā)出的鏈路檢測報文也應該能被網(wǎng)管接收到,。
    設備上電軟件初始化完成之后,由軟件手動組一個類SNMP Trap 包會寫入到FPGA的寄存器中,,寄存器會根據(jù)FPGA開始發(fā)包時間和發(fā)包控制間隔時間信號給網(wǎng)管服務器發(fā)送一個連通性檢測幀,,正常情況下網(wǎng)管可以一直收到鏈路連通性檢測幀。如果設備上電之后,,網(wǎng)管沒有接收到任何Trap,,則說明軟件出現(xiàn)異常;而如果設備正常運行之后,,網(wǎng)管服務器沒有收到掉電檢測告警幀和連通性檢測幀,則可以判斷是連接網(wǎng)管的這條鏈路出現(xiàn)中斷,,或者設備硬件出現(xiàn)故障。網(wǎng)管與設備會話的過程中有2個時間需要注意,,(1)FPGA開始發(fā)包時間,,另一個是連通性檢測幀發(fā)包時間間隔。FPGA開始發(fā)包時間是通過軟件得到1 s~30 s的任意時間點,,如果設備上電之后FPGA即開始發(fā)送,,而在一個PTN網(wǎng)絡的邊緣可能存在幾千臺甚至上萬臺的遠端設備,如果這些設備同時上電,,而且都不做發(fā)包時間控制,,則可能會在出現(xiàn)同一時間內(nèi)網(wǎng)絡中有上萬個這樣的報文,導致網(wǎng)絡風暴,從而影響業(yè)務,。因此發(fā)包時間由軟件控制,,則同一時間網(wǎng)絡上出現(xiàn)大量鏈路檢測報文的幾率會小很多,也不會影響業(yè)務,。連通性檢測幀的發(fā)包時間間隔既可以由軟件控制,,也可以由硬件控制。如果發(fā)送時間間隔過小,,則網(wǎng)管服務器需要頻繁地處理這些Trap信息,,對于正常的業(yè)務監(jiān)控信息會造成影響。本文由網(wǎng)管服務器設置發(fā)包時間間隔,,將設置的時間間隔寫入硬件定時器中,,控制FPGA發(fā)送連通性檢測幀的頻率。具體的連通性檢測流程圖如圖3(b)所示,。軟件核心代碼為:
funAlm(sIC_ CTL_BLK *pChip, UINT8 *pData, UINT16 len,
void *para)
{    int status = DRV_SUCCESS;          
    UINT16 i,,UINT8 value;
      pChip->chipWrite(IC_ FRAME_PDAF_SET, 0, para);
      pChip->chipWrite(IC_FRAME_PDAF_SET, 1, para);
    for(i zhiqi= 0; i < len; i ++)
      {
             value = *(pData + i);
                pChip->chipWrite(IC_FRAME_PDAF_DATA,value,
            para);
    }
    pChip->chipWrite(IC _FRAME_PDAF_SET, 2, para);
}   
4 實驗結果及數(shù)據(jù)
    設置Trap的目的IP為10.11.2.23,設備IP為 10.11.2.158,掉電檢測幀的Destination Port 為162,,鏈路連通性檢測的Destination Port為163,。設備上電后,利用抓包軟件Wireshark可以得到如圖4所示的鏈路連通性檢測幀,。將設備突然斷電,, 通過Wireshark可以得到如圖5所示的設備掉電檢測幀。

 

 

    本文根據(jù)實際環(huán)境,,在實驗室對遠端設備進行了多次的突然掉電測試,,在遠端到網(wǎng)管線路正常的情況下,掉電告警信息都能立刻上報到網(wǎng)管,,該方案已經(jīng)在九江山水電訊設備有限公司的產(chǎn)品中得到驗證,從而進一步完善了功能故障測試對遠端設備的管理,。
參考文獻
[1] 郭祥本,羅瑩.以太網(wǎng)OAM原理與實現(xiàn)[J]. 通信技術,2009(12):42-43.
[2] 徐榮,鄧春勝.電信級以太網(wǎng)[M].北京:人民郵電出本社,2009.
[3] KUROSE J F,ROSE K W. Computer networking: atopdown approach,fourth edition[M].Pearson Education, 2008.
[4] 夏宇聞.Verilog數(shù)字系統(tǒng)設計教程[M]. 北京:北京航空航天大學出版社,2008.
[5] 劉建卿,盧融凱.基于SNMP的網(wǎng)絡監(jiān)控系統(tǒng)的研究與實現(xiàn)[J].電子技術應用, 2012,31(10):52-54.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。