朱 靜,武樹斌,黃 準(zhǔn),郝愿愿,姚 方
(光纖通信技術(shù)和網(wǎng)絡(luò)國家實(shí)驗(yàn)室;烽火網(wǎng)絡(luò)有限公司,湖北 武漢 430074)
本文設(shè)計(jì)的模擬ONU軟件,運(yùn)行于機(jī)架式OLT的模擬單盤上,起到系統(tǒng)仿真驗(yàn)證的作用,對于提高系統(tǒng)的性能意義重大。與通常的交換網(wǎng)絡(luò)組網(wǎng)應(yīng)用環(huán)境不同,光接入網(wǎng)的OLT設(shè)備組網(wǎng)會接入大量的ONU終端,運(yùn)行期間需要實(shí)現(xiàn)對所有的ONU終端進(jìn)行批量或單個管理,完成ONU終端的發(fā)現(xiàn)、授權(quán)、配置、查詢、報(bào)警管理和性能統(tǒng)計(jì)等功能。單臺機(jī)架式OLT設(shè)備需要管理的ONU個數(shù)多達(dá)4000個以上,系統(tǒng)管理開銷較大,會給系統(tǒng)正常運(yùn)行帶來極大地沖擊。而采用大量的實(shí)際ONU物理設(shè)備模擬,測試環(huán)境的搭建和維護(hù)都非常困難,采用模擬ONU工具,非常好地解決了這個問題,取得了良好的效果。本文描述的ONU模擬軟件可以模擬大規(guī)模ONU在線,模擬ONU發(fā)起大量告警,同時具備自統(tǒng)計(jì)功能,用來測試OLT的告警管理能力和EMS系統(tǒng)的承受負(fù)載沖擊能力是否能夠滿足設(shè)計(jì)要求。
以太網(wǎng)無源光網(wǎng)絡(luò)(EPON)技術(shù)[1]是一種基于以太網(wǎng)技術(shù)、點(diǎn)到多點(diǎn)的光纖接入技術(shù)。一個典型的EPON系統(tǒng)由 OLT(Optical Line Terminal)、ONU(Optical Network Unit)、POS(Passive Optical Splitter)組成[2]。在下行方向,IP數(shù)據(jù)、語音、視頻等多種業(yè)務(wù)由位于中心局的OLT,采用廣播方式,通過ODN中的1∶N無源分光器分配到PON上的所有ONU單元。在上行方向,來自各個ONU的多種業(yè)務(wù)信息互不干擾地通過ODN中的1∶N無源分光器耦合到同一根光纖,最終送到位于局端OLT接收端。其關(guān)系如圖1所示。
圖1 EPON組成結(jié)構(gòu)圖
在典型的EPON系統(tǒng)中,每臺機(jī)架式OLT設(shè)備可以裝載4塊模擬單盤,每塊模擬單盤有16個PON端口,每個端口可以接入64個ONU設(shè)備,所以每臺OLT可帶4096個ONU設(shè)備。當(dāng)ONU設(shè)備出現(xiàn)批量斷電或恢復(fù)電源的情況時,就會出現(xiàn)大量ONU設(shè)備下線或上線的情況,這樣就會有大量的告警消息上報(bào)給圖形化網(wǎng)管,當(dāng)發(fā)生大量的告警消息時,OLT設(shè)備的CPU利用率和內(nèi)存利用率都會增加,同時,圖形化網(wǎng)管的告警處理時間也會增加,處理效率會降低。
EPON的基本功能[3]是實(shí)現(xiàn)對ONU和PON端口的管理,實(shí)現(xiàn)OLT的PON芯片管理和ONU的芯片管理,EPON的OLT對ONU的管理中主要通過中國電信擴(kuò)展的OAM完成。擴(kuò)展的OAM支持以下ONU的管理功能:擴(kuò)展的OAM發(fā)現(xiàn)(Extended OAM Discovery)和能力通告(Capability Notification);ONU的基本信息和能力通告;與攪動功能相關(guān)的密鑰交換、更新和同步功能;與DBA功能相關(guān)的DBA參數(shù)讀取和設(shè)置功能;用戶端口配置功能(Configuration of User Ports)和管理;VLAN配置和管理;組播相關(guān)功能的配置;QoS相關(guān)配置,包括業(yè)務(wù)流分類和標(biāo)記等;reset ONU等Action功能;ONU的軟件下載功能;基于邏輯標(biāo)識的ONU認(rèn)證;ONU的事件通告;ONU語音業(yè)務(wù)的配置和管理。
ONU告警處理對系統(tǒng)維護(hù)有重要作用,告警從級別上分為緊急告警、重要告警、一般告警、次要告警等級別,系統(tǒng)通過分級別的告警管理[4-5],有利于管理員利用圖形化網(wǎng)管實(shí)時掌握系統(tǒng)運(yùn)行狀況,進(jìn)行故障定位等操作。告警從類型上分為設(shè)備告警(例如系統(tǒng)電源異常告警和電源模塊插拔告警等)、模擬單盤告警(例如PON模擬單盤的插入拔出,未知模擬單盤類型等)、PON/NNI口端口告警(例如光模塊發(fā)射光功率低于/超過門限值,光模塊光信號丟失/恢復(fù)等)、ONU設(shè)備告警(例如ONU注冊成功、ONU電源關(guān)閉、手動注銷ONU等)、ONU以太網(wǎng)端口告警(例如ONU以太網(wǎng)端口環(huán)回檢測、ONU以太網(wǎng)端口從啟動狀態(tài)改變到禁用,ONU以太網(wǎng)端口從禁用狀態(tài)改變到啟用等)。
EPON系統(tǒng)對ONU告警的處理主要在模擬單盤中完成,其告警處理流程如圖2所示,設(shè)備檢測到故障后將告警傳遞到PON芯片驅(qū)動模塊,PON芯片解析后將告警消息上報(bào)給消息分發(fā)模塊。消息分發(fā)模塊根據(jù)告警消息進(jìn)入告警分發(fā)入口,將告警消息繼續(xù)上報(bào)給ONU管理模塊。ONU管理模塊根據(jù)告警類型將告警上報(bào)給告警處理模塊,告警處理模塊對告警進(jìn)行解析處理,并上報(bào)給圖形化網(wǎng)管[6],圖形化網(wǎng)管根據(jù)告警類型對告警進(jìn)行處理后,更新設(shè)備的告警狀態(tài)及設(shè)備拓?fù)鋱D。
圖2 告警處理流程
2.1.1 模擬ONU實(shí)現(xiàn)原理
EPON系統(tǒng)的機(jī)架式OLT由主控盤和模擬單盤組成,主控盤通過網(wǎng)管命令行對模擬單盤進(jìn)行操作,模擬單盤一般包括ONU管理模塊、統(tǒng)計(jì)模塊、告警模塊、PON驅(qū)動模塊等。在PON系統(tǒng)的應(yīng)用中,OLT與其下面所掛載的ONU間的通信鏈路是分時復(fù)用的,即每個時刻只存在一個ONU與OLT通信,這在真實(shí)設(shè)備中由OLT的PON驅(qū)動模塊實(shí)現(xiàn),在模擬ONU中同樣需要有這樣一個模塊來實(shí)現(xiàn)調(diào)度,故如圖3所示將模擬ONU設(shè)計(jì)為兩個部分:消息解析調(diào)度模塊和ONU模擬模塊。
圖3 模擬ONU的設(shè)計(jì)框圖
消息解析調(diào)度模塊接收到模擬單盤下發(fā)的命令后,進(jìn)行消息解析,返回相應(yīng)的響應(yīng)或向ONU模擬線程傳遞配置參數(shù);同時該模塊還需要接收來自O(shè)NU模擬線程通過消息隊(duì)列上報(bào)的“自發(fā)”消息,并轉(zhuǎn)換為一定的格式后上傳給模擬單盤的ONU管理模塊或告警模塊;消息解析模塊還可以通過消息隊(duì)列向ONU模擬線程傳送命令(如啟動報(bào)警);對啟動的ONU個數(shù)及報(bào)警數(shù)量的自統(tǒng)計(jì)也由該模塊來完成。
ONU模擬模塊通過創(chuàng)建多個線程(0~4096)來模擬多個ONU,線程創(chuàng)建后即通過消息隊(duì)列發(fā)送上線或告警消息,模擬ONU線程發(fā)送完自發(fā)消息后進(jìn)入等待啟動報(bào)警消息狀態(tài),收到報(bào)警啟動消息后,開啟定時器,周期性地發(fā)送報(bào)警消息。
2.1.2 模擬ONU軟件設(shè)計(jì)
模擬ONU的主要功能是模擬ONU的上線/下線、定時報(bào)警以及數(shù)據(jù)統(tǒng)計(jì)。對于統(tǒng)計(jì)需求,依照目前的模擬單盤設(shè)計(jì),只要能上報(bào)ONU的存在,查詢時模擬單盤的統(tǒng)計(jì)模塊就可以將設(shè)計(jì)好的數(shù)據(jù)表項(xiàng)(初始值為全零)發(fā)送到主控盤。故主要針對上下線及告警的功能模擬進(jìn)行設(shè)計(jì),其具體軟件設(shè)計(jì)流程如圖4所示。
圖4 軟件設(shè)計(jì)流程圖
模擬ONU上線:網(wǎng)管命令行向模擬ONU發(fā)起啟動請求,包括需要啟動的ONU數(shù)量N、起始的MAC地址、注冊的PON端口號等。模擬ONU收到啟動請求后,初始化能力集表項(xiàng),創(chuàng)建消息隊(duì)列,創(chuàng)建N個ONU的模擬線程并且分配對應(yīng)的MAC地址,然后將ONU的上線消息放入消息隊(duì)列,創(chuàng)建解析線程接收消息隊(duì)列并解析上線消息,最后將ONU上線消息上報(bào)給ONU管理模塊。
能力集查詢:ONU管理模塊對模擬ONU發(fā)起能力集查詢請求,模擬ONU收到請求后將初始化好的能力集表項(xiàng)填上相應(yīng)的MAC地址后返回給ONU管理模塊。
模擬ONU啟動告警:網(wǎng)管命令行向模擬ONU發(fā)起告警啟動請求,包括告警類型、告警頻率、告警狀態(tài)和告警數(shù)目。模擬ONU收到告警啟動請求后,如果告警狀態(tài)為0,表示啟動告警,ONU模擬線程啟動定時器,將相應(yīng)類型的告警消息放入消息隊(duì)列(當(dāng)告警類型為0時,所有告警類型輪訓(xùn)啟動),對告警數(shù)目進(jìn)行統(tǒng)計(jì),最后將告警消息和告警數(shù)目上報(bào)給告警模塊。
2.2.1 程序運(yùn)行環(huán)境
模擬ONU軟件完全基于簽署時實(shí)時操作系統(tǒng)[7],設(shè)備的CPU采用PowerPC架構(gòu)的通信處理器,與其他處理器相比,PowerPC處理器整合度高且具有技術(shù)先進(jìn)性,它集成豐富I/O接口,集成以太網(wǎng)和存儲器控制器,支持各種通信協(xié)議CPM協(xié)處理器等,客戶無須設(shè)計(jì)復(fù)雜的外圍電路,減少設(shè)計(jì)復(fù)雜程度以及物料使用。PowerPC處理器的芯片可選范圍大,性能高,升級容易,研發(fā)周期短。不僅如此,PowerPC架構(gòu)具有很強(qiáng)的穩(wěn)定性、高可靠性和更長的產(chǎn)品壽命周期(通常10~15年),苛刻條件下,芯片健壯性較好,適合工業(yè)級應(yīng)用。
操作系統(tǒng)采用VxWorks操作系統(tǒng),VxWorks是一個運(yùn)行在目標(biāo)機(jī)上的高性能、可裁減的嵌入式實(shí)時操作系統(tǒng)。它可以提供強(qiáng)大的嵌入式集成開發(fā)平臺Tornado等。Vx-Works實(shí)時操作系統(tǒng)具有良好的實(shí)時性和穩(wěn)定性,能高效地進(jìn)行任務(wù)管理,靈活地進(jìn)行任務(wù)間的通信,具有微秒級的中斷處理能力,方便移植、構(gòu)建的VxWorks支持包,同時支持多種標(biāo)準(zhǔn),具有豐富的網(wǎng)絡(luò)能力等。
2.2.2 軟件的主要數(shù)據(jù)結(jié)構(gòu)
模擬ONU軟件的主要數(shù)據(jù)結(jié)構(gòu)包括能力集表項(xiàng)結(jié)構(gòu)、上線消息結(jié)構(gòu)、告警消息結(jié)構(gòu)、查詢能力集命令字等,其中能力集表項(xiàng)結(jié)構(gòu)記錄了所啟動的模擬ONU的一些基本信息,上線消息隊(duì)列記錄模擬ONU上線時需要的相關(guān)信息,告警消息結(jié)構(gòu)記錄了模擬ONU發(fā)起告警時需要的告警信息,查詢能力集命令字主要記錄的是軟件在實(shí)現(xiàn)過程中的幾個重要的命令字。
能力集表項(xiàng)結(jié)構(gòu)為:
上線消息結(jié)構(gòu)為:
告警消息結(jié)構(gòu)為:
查詢能力集命令字為:
2.2.3 軟件對外接口
模擬ONU軟件模塊有獨(dú)立的網(wǎng)管接口,該任務(wù)的執(zhí)行不影響其他任務(wù)。該模塊的開發(fā)目標(biāo)是高內(nèi)聚、低耦合,不受特定版本BSP和SDK的限制[8]。其用戶界面采用CLI命令配置和查詢,與網(wǎng)管命令行的接口有啟動請求和啟動告警;無硬件接口,與OLT設(shè)備的ONU管理模塊和PON驅(qū)動模塊存在軟件接口。
2.2.4 軟件穩(wěn)健性設(shè)計(jì)
模擬ONU軟件啟動了多個線程,每個線程上報(bào)的ONUID和MAC地址都是唯一的,要求在多線程多任務(wù)同步,一個線程完成了某一個動作就通知其他線程資源可用,其他的線程再進(jìn)行某些動作。為了保證不會被兩個ONU模擬線程同時占用而導(dǎo)致數(shù)據(jù)沖突,消息隊(duì)列中定義了信號量來進(jìn)行保護(hù)。
2.3.1 模擬ONU上線告警
按圖5所示配置測試的網(wǎng)絡(luò)拓?fù)鋱D,啟動模擬ONU,利用網(wǎng)管命令行輸入起始MAC地址00:00:00:00:00:01,所在PON端口號1和啟動5個模擬ONU;查看上線情況;啟動3個下線告警,利用網(wǎng)管命令行輸入告警啟動狀態(tài)、告警類型、告警頻率和告警數(shù)目。
圖5 測試網(wǎng)絡(luò)拓?fù)鋱D
測試結(jié)果如下:
網(wǎng)管告警顯示如表1所示。
表1 網(wǎng)管告警顯示
結(jié)果分析:可以啟動模擬ONU并按需求完成模擬ONU的上線;可以發(fā)起告警,在網(wǎng)管上可以接收到。
2.3.2 模擬不同數(shù)量的ONU告警,查看系統(tǒng)性能和告警密度
按圖5所示配置測試的網(wǎng)絡(luò)拓?fù)鋱D,在啟動1024個線程情況下,分別啟動10個、100個、1000個告警,查看系統(tǒng)性能,包括主控盤CPU利用率、主控盤內(nèi)存利用率模擬單盤CPU利用率和模擬單盤內(nèi)存利用率。由如表2所示測試結(jié)果可知,本軟件能夠?qū)崿F(xiàn)大規(guī)模告警的產(chǎn)生,能實(shí)現(xiàn)對系統(tǒng)性能的測試,且系統(tǒng)性能穩(wěn)定。
表2 啟動告警與系統(tǒng)性能比較
本文提出了通過在主機(jī)接口層進(jìn)行模擬ONU的軟件設(shè)計(jì),用戶可以通過網(wǎng)管命令行CLI對ONU的個數(shù)、類型、告警、性能等各參數(shù)進(jìn)行配置,測試EPON系統(tǒng)的性能。實(shí)驗(yàn)結(jié)果表明,本模擬軟件接受來自主控盤和模擬單盤的CLI網(wǎng)管命令配置并具備自統(tǒng)計(jì)功能,可以模擬大規(guī)模ONU的告警行為并響應(yīng)EMS的性能統(tǒng)計(jì)查詢。對于工程應(yīng)用中常見的ONU設(shè)備批量上線、下線、告警等ONU終端動作起到良好的模擬作用,能夠驗(yàn)證EMS系統(tǒng)是否能夠承受負(fù)載沖擊。同時,本模擬軟件也具備驗(yàn)證主控盤的CPU處理能力、內(nèi)存占用率以及網(wǎng)管服務(wù)器的報(bào)警處理能力,達(dá)到了預(yù)期的研發(fā)目標(biāo)。
[1]KRAMER G.Ethernet passive optical networks[M].New York:McGraw-Hill,2005.
[2]IEEE 802.3ah,Local and metropolitan area networks,part3:CSMA/CD access methods and physical layer specifications[S].2005.
[3]KRAMER G,MUKHERJEE B,PESAVENTO G.Ethernet PON(ePON):design and analysis of an optical access network[J].Photonic Network Communications,2001,3(3):307-319.
[4]張繼東,陶智勇.EPON的發(fā)展現(xiàn)狀與關(guān)鍵技術(shù)[J].光通信研究,2002(1):26-29.
[5]袁偉,金燕,陳彪.EPON技術(shù)實(shí)現(xiàn)機(jī)制及其最新發(fā)展探討[J].電視技術(shù),2005,29(8):70-72.
[6]郎為民,郭東生.EPON/GPON從原理到實(shí)踐[M].北京:人民郵電出版社,2010.
[7]沈成彬,趙煥東,蔣銘,等.EPON設(shè)備互通性研究[J].電信科學(xué),2006(1):59-63.
[8]張碧瑩.以太網(wǎng)無源光網(wǎng)絡(luò)光線路終端的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:東華大學(xué),2010.