王偉,魯海威,王圣達(dá),石玨,陳鶴(.中興通訊股份有限公司,南京00;.國網(wǎng)吉林供電公司,吉林吉林0;.國網(wǎng)吉林省電力有限公司信息通信公司,長春00;.國網(wǎng)長春供電公司,長春005)
高精度幀時延測量裝置的設(shè)計與實現(xiàn)
王偉1,魯海威2,王圣達(dá)3,石玨4,陳鶴3
(1.中興通訊股份有限公司,南京210012;2.國網(wǎng)吉林供電公司,吉林吉林132011;3.國網(wǎng)吉林省電力有限公司信息通信公司,長春130021;4.國網(wǎng)長春供電公司,長春130051)
摘要:為解決傳統(tǒng)時延測量裝置測量精度不高的問題,設(shè)計了一款基于FPGA的高精度幀時延測量裝置,描述了Y. 1731幀時延測量的原理,并著重介紹了裝置通過FPGA輔助進(jìn)行高精度幀時延測量的設(shè)計流程。
關(guān)鍵詞:Y. 1731;幀時延; FPGA
隨著電信級以太網(wǎng)技術(shù)的發(fā)展和標(biāo)準(zhǔn)日益完善,以太網(wǎng)操作、管理和維護(hù)(OAM)憑借其在監(jiān)控網(wǎng)絡(luò)性能,檢測、定位網(wǎng)絡(luò)故障方面發(fā)揮的重要作用,得到了更多運營商的重視。ITU Y.1731對基于虛擬局域網(wǎng)(VLAN)的以太網(wǎng)定義了一套協(xié)議和協(xié)議實體[1],它是一種二層鏈路上基于VLAN的端到端OAM機制,可用于檢測二層網(wǎng)絡(luò)中鏈路的連通性,確認(rèn)故障和故障發(fā)生的位置。Y.1731定義了管理實體組(MEG),并在此基礎(chǔ)上定義了管理實體群端點(MEP)和管理實體群中間節(jié)點(MIP),根據(jù)功能劃分為故障管理和性能監(jiān)控兩個部分。故障管理部分的功能有連續(xù)性檢測(CCM)、環(huán)回檢測(LB)、鏈路跟蹤(LT)、以太網(wǎng)告警指示信號(AIS)和以太網(wǎng)鎖定信號(LOCK)。性能監(jiān)控有幀丟失率測量(LM)和幀時延測量(DM)[2]兩種,本文主要討論其中的幀時延測量功能。傳統(tǒng)的時延測量方法存在時鐘誤差和位置誤差,導(dǎo)致測量精度較低。因此,本文介紹一種高精度的幀時延測量方法。
在配置了正確的MEG和MEP后,幀時延測量裝置開始進(jìn)行Y.1731中定義的兩種幀時延測量,即單向時延測量(1DM)和雙向時延測量(DMM)。
1.11DM原理
每個MEP在點到點管理實體(ME)中向與其對等的MEP發(fā)送帶有單向以太網(wǎng)幀時延測量(ETH-DM)信息的幀(1DM幀),以便在對等MEP上進(jìn)行單向幀時延和(或)單向幀時延變化的測量[3]。對端根據(jù)收到的1DM報文中的接收時間戳(RxTimeStampf)和發(fā)送時間戳(TxTimeStampf)進(jìn)行時延計算,根據(jù)Y.1731中定義的時間戳格式,時間戳精確到納秒級。由于TxTime-Stampf由發(fā)送方填充,RxTimeStampf由接收方填充,因此,要求收發(fā)兩端時鐘保持高度同步,否則誤差很大。
1.2DMM原理
MEP向其對等的MEP發(fā)送有ETH-DM請求信息的幀(DMM幀),并從其對等的MEP接收有ETHDM回復(fù)信息的幀(DMR幀),以進(jìn)行雙向幀時延和(或)雙向幀時延變化的測量[3]。雙向幀時延測量由發(fā)送DMM幀一方發(fā)起并負(fù)責(zé)時延計算,對端收到DMM幀后立即回應(yīng)DMR幀。發(fā)起一方收到回應(yīng)的DMR幀后,根據(jù)DMR幀中的DMR接收時間戳(RxTimeStampb)、DMM發(fā)送時間戳(TxTimeStampf)、DMR發(fā)送時間戳(TxTimeStampb)和DMM接收時間戳(RxTimeStampf)字段計算時延,根據(jù)Y.1731中定義的時間戳格式,時間戳精確到納秒級。雙向時延測量雖然不要求兩端時鐘高度同步,但要求雙方本地時鐘精確度較高,否則誤差較大。
從以上分析可知,幀時延測量對系統(tǒng)時鐘精確度要求很高,而傳統(tǒng)的軟件幀時延測量方法依賴于操作系統(tǒng)的時鐘精度,幀時延測量結(jié)果不夠理想,不能反映真實的網(wǎng)絡(luò)傳輸質(zhì)量。
基于FPGA模塊實現(xiàn)的高精度幀時延裝置主要由FPGA模塊、幀時延測量模塊和驅(qū)動模塊3部分組成。其中FPGA模塊為幀時延測量相關(guān)幀填充時間戳。幀時延測量模塊用于處理FPGA接收的幀時延測量相關(guān)幀,完成單向或雙向幀時延測量功能。驅(qū)動模塊的功能是關(guān)聯(lián)FPGA模塊和幀時延測量模塊,將幀時延測量模塊的配置信息轉(zhuǎn)換為FPGA對應(yīng)表項,對FPGA接收到的報文通過中斷通知幀時延測量模塊進(jìn)行處理;提供接口,完成FPGA初始化和時鐘同步。高精度幀時延裝置的設(shè)計流程如下,具體流程圖如圖1和圖2所示。
①幀時延測量模塊按需發(fā)送幀時延測量幀:1DM幀或DMM幀。幀時延測量模塊組裝正確的二層報文發(fā)送給驅(qū)動模塊,驅(qū)動模塊查詢FPGA 中FIFO狀態(tài)標(biāo)志位是否為1:為1則通過PCI總線向FPGA下發(fā)報文;為0則提示幀時延測量模塊重新發(fā)送報文。發(fā)送完成后,驅(qū)動模塊置狀態(tài)標(biāo)志位為0,通知FPGA從FIFO中提取報文,F(xiàn)PGA提取完畢后,將狀態(tài)標(biāo)志位復(fù)位為1。
②FPGA模塊先判斷提取出的報文是否是正確的以太網(wǎng)報文,再判斷報文中的OpCode字段數(shù)值。OpCode字段等于45或47時,F(xiàn)PGA繼續(xù)處理;否則丟棄。
圖1 裝置設(shè)計流程1
圖2 裝置設(shè)計流程2
③FPGA提供寄存器,幀時延測量模塊負(fù)責(zé)初始化時鐘,由FPGA自行時鐘計數(shù)。驅(qū)動模塊提供接口,供外部模塊進(jìn)行時鐘同步。FPGA接收到由幀時延測量模塊發(fā)送的1DM幀或DMM幀后,獲取當(dāng)前FPGA時鐘滴答數(shù),按Y.1731規(guī)定的時間戳格式進(jìn)行轉(zhuǎn)換并將TxTime-Stampf字段填入1DM幀或DMM幀。
④FPGA發(fā)送1DM幀或DMM幀,對端幀時延測量模塊可以測量單向幀時延,具體方法如步驟11○。雙向幀時延測量需要等待對端回應(yīng)DMR報文。
⑤FPGA接收從網(wǎng)絡(luò)側(cè)傳送的DMR幀,獲取當(dāng)前FPGA時鐘滴答數(shù),按Y.1731中規(guī)定的時間戳格式進(jìn)行轉(zhuǎn)換并將RxTimeStampb字段填入DMR幀中,通過驅(qū)動模塊將填充后的DMR幀傳給幀時延測量模塊進(jìn)行處理,幀時延測量模塊可以計算出雙向幀時延,具體方法如步驟(12)。
⑥對端主動發(fā)起幀時延測量,F(xiàn)PGA負(fù)責(zé)接收幀,通過PCI總線傳遞給幀時延測量模塊計算時延。
⑦FPGA模塊判斷報文中的OpCode字段,當(dāng)Op-Code等于45或47時,F(xiàn)PGA繼續(xù)處理;否則丟棄。
⑧FPGA接收到從網(wǎng)絡(luò)側(cè)傳送的1DM幀或DMM幀后,獲取當(dāng)前FPGA時鐘滴答數(shù),按照Y.1731中規(guī)定的時間戳格式進(jìn)行轉(zhuǎn)換并將RxTimeStampf字段填入幀中。
⑨FPGA通過PCI總線將幀透傳給幀時延測量模塊進(jìn)行處理,雙端的幀時延測量需要幀時延測量模塊回應(yīng)DMR幀。
⑩FPGA收到幀時延測量模塊回應(yīng)的DMR幀,獲取當(dāng)前FPGA時鐘滴答數(shù),按照Y.1731中規(guī)定的時間戳格式進(jìn)行轉(zhuǎn)換并將TxTimeStampb字段填入幀中,發(fā)送給對端測量節(jié)點,對端可以計算雙向幀時延。
(11)對端收到本端發(fā)出的1DM幀后,提取1DM報文中的RxTimeStampf、TxTimeStampf字段計算單向幀時延。時間戳TxTimeStampf處理如步驟③,RxTimeS-tampf處理如步驟⑧。單向幀時延=RxTimeStampf-Tx-TimeStampf。
(12)幀時延測量模塊收到對端回應(yīng)的DMR幀,根據(jù)DMR幀的管理實體組等級(MEG LEVEL)和以太網(wǎng)報文頭部的VLAN判斷收到的DMR幀是否是本端發(fā)出的DMM幀對應(yīng)的DMR幀。若不是,幀時延測量模塊丟棄DMR幀,不進(jìn)行處理;若是,則提取DMR幀中的RxTimeStampb、TxTimeStampf、TxTimeStampb、RxTimeStampf字段計算時延,時間戳TxTimeStampf處理如步驟③,RxTimeStampb處理如步驟⑤,RxTimeStampf處理如步驟⑧,TxTimeStampb處理如步驟⑩。雙向幀時延=(RxTimeStampb-TxTimeStampf)-(TxTimeStampb-RxTimeStampf)。
隨著Internet的規(guī)模指數(shù)級膨脹,網(wǎng)絡(luò)的分布化、異質(zhì)性和不協(xié)作性正逐漸增強,控制和管理網(wǎng)絡(luò)變得越來越困難,對網(wǎng)絡(luò)性能的整體把握也更復(fù)雜,時延測量是了解網(wǎng)絡(luò)運營狀態(tài)并對其進(jìn)行優(yōu)化的重要手段[4]。本文設(shè)計的基于FPGA的高精度幀時延測量裝置解決了純軟件幀時延測量系統(tǒng)測量精度較低和可靠性不高的問題,監(jiān)控網(wǎng)絡(luò)時延可以達(dá)到納秒級別,具有很大的實際應(yīng)用價值。采用本裝置的無源光網(wǎng)路(XPON)多用戶接入單元可廣泛應(yīng)用于FTTB/FTTC業(yè)務(wù),提供寬帶、E1/T1和IPTV業(yè)務(wù),特別是移動通訊基站回傳等對時延要求較高的場景。
參考文獻(xiàn):
[1]陶映旭. ITU-T Y.1731的軟件實現(xiàn)與優(yōu)化分析[D].杭州:杭州電子科技大學(xué),2010.
[2]黃志忠.基于測量的網(wǎng)絡(luò)管理技術(shù)研究[D].成都:電子科技大學(xué),2011.
[3] SHANEEL N, PAULA R L. Impact on network performanc of jumbo-frames on IPv4/IPv6 network in frastructure:an empiricaltest-bed analysis[C]. Bangalore, Karnataka: IEEE4th International Conference on Internet Multimedia Services Architecture and Application, 2010.
[4]路啟鑾.網(wǎng)絡(luò)鏈路時延測量技術(shù)的研究[D].曲阜:曲阜師范大學(xué),2010.
Design and implement of high-precision frame delay measure device
WANGWei1, LUHai-wei2, WANGSheng-da3, SHIYu4, CHENHe3
(1. ZTE Corporation, Nanjing 210012, China; 2. Jilin SGCC, Jilin Jilin 132011, China; 3. Jilin State Grid Information & Telecommunication Company,Changchun 130021, China; 4. Changchun SGCC, Changchun 130051, China)
Abstract:In order to solve the problem that the traditional time delay measurement device measuring precision is not good enough, the paper introduces a high-precision frame delay measurement device based on FPGA, describes the measure principle of Y.1731 frame delay, and emphatically introduces the design process of the device how to measure high-precision frame delay through FPGA.
Key words:Y.1731,frame delay, FPGA
中圖分類號:TP274.2
文獻(xiàn)標(biāo)識碼:A
文章編號:1002-5561(2016)01-0029-03
DOI:10.13921/j.cnki.issn1002-5561.2016.01.009
收稿日期:2015-10-08。
作者簡介:王偉(1982-),男,碩士研究生,主要研究方向為XPON終端研究和開發(fā)。