聶 晶,潘志宏,徐 洪,謝海明,劉偉平
(1.暨南大學 電子工程系,廣州510632;2.光電信息與傳感技術(shù)廣東普通高校重點實驗室,廣州 510632)
以太無源光網(wǎng)絡(EPON)是一種新型的寬帶多業(yè)務綜合接入技術(shù),它綜合了PON技術(shù)和以太網(wǎng)技術(shù)兩者的優(yōu)點,具有帶寬高、成本低、易使用、易升級等優(yōu)良特性,成為下一代寬帶光接入網(wǎng)的最佳選擇。作為信息傳送通道的“最后一公里”,EPON網(wǎng)絡直接面對終端用戶,因此其性能的優(yōu)越性成為了衡量整個網(wǎng)絡服務質(zhì)量的重要指標。如何對EPON系統(tǒng)性能進行有效監(jiān)測和管理,儼然已成為了當今網(wǎng)絡管理(簡稱網(wǎng)管)的一個重要課題[1-2]。
近年來,國內(nèi)外許多通信開發(fā)商相繼開發(fā)出功能強大的網(wǎng)管系統(tǒng),如HP公司的OpenView系列及中興的NetNume系列,但其功能復雜、費用昂貴,而且針對性不強,專門針對EPON網(wǎng)絡的管理系統(tǒng)還不多。此外,這些網(wǎng)管系統(tǒng)大多都是基于C/S結(jié)構(gòu),不利于系統(tǒng)的安裝、維護以及升級。
針對以上問題,本文設(shè)計并實現(xiàn)了一個基于B/S的EPON網(wǎng)管的性能管理系統(tǒng)。本系統(tǒng)利用Java編程語言與JSP網(wǎng)頁設(shè)計技術(shù)進行實現(xiàn),使系統(tǒng)的開發(fā)、維護工作都集中在服務器端,極大地簡化了客戶端。同時,通過采集、監(jiān)測和分析網(wǎng)絡性能數(shù)據(jù),為網(wǎng)絡進一步規(guī)劃與調(diào)整提供依據(jù),從而更好地保證了網(wǎng)絡的業(yè)務質(zhì)量。
EPON性能管理的主要目標是通過對EPON網(wǎng)絡上的光路終端設(shè)備(OLT)和光網(wǎng)絡單元(ONU)設(shè)備的性能進行監(jiān)視、檢測,采集到相關(guān)性能統(tǒng)計數(shù)據(jù),進行分析、診斷,從而為網(wǎng)絡進一步規(guī)劃與調(diào)整提供依據(jù),以保證網(wǎng)絡的性能和業(yè)務質(zhì)量。通過對設(shè)備性能進行實時監(jiān)控,能夠及時對異常性能采取控制。同時,通過對歷史數(shù)據(jù)的統(tǒng)計分析確定利用率趨勢,預先發(fā)現(xiàn)網(wǎng)絡運行瓶頸,改進EPON的總體性能水平,從而實現(xiàn)為用戶提供優(yōu)質(zhì)服務的目的。
一般而言,性能管理應包括性能參數(shù)查詢、實時性能管理和歷史性能管理3個功能。性能參數(shù)查詢?yōu)橄到y(tǒng)管理者提供OLT與ONU各種性能參數(shù)的查詢;實時性能管理是連續(xù)地收集OLT、ONU上與性能相關(guān)的數(shù)據(jù),根據(jù)性能圖確定網(wǎng)元的實時性能,從而能實現(xiàn)對網(wǎng)絡異常的及時處理;歷史性能管理支持管理員對采集周期進行設(shè)置,對收集到的性能數(shù)據(jù)做進一步的統(tǒng)計分析,從而掌握設(shè)備單元因不太頻繁或間斷的差錯導致業(yè)務質(zhì)量變差的性能情況。
EPON性能管理系統(tǒng)的管理對象是多個EPON系統(tǒng),其中每一個EPON系統(tǒng)包括了光路終端設(shè)備(OLT)和多個光網(wǎng)絡單元(ONU)。其中,OLT是通過光纖與ONU連接的。系統(tǒng)采用的是帶內(nèi)網(wǎng)絡方式,因此管理站服務器到OLT和ONU之間不需要增加專門的網(wǎng)管通道[3]。系統(tǒng)方案如圖1所示,其主要由Web服務器、數(shù)據(jù)庫服務器組成??蛻舳送ㄟ^Internet訪問Web服務器,同時Web服務器通過Internet與EPON系統(tǒng)交互信息。
圖1 系統(tǒng)方案圖Fig.1 The system diagram
該系統(tǒng)采用的協(xié)議模型是SNMP網(wǎng)絡管理模型,它主要包括管理站、管理代理、MIB庫和SNMP網(wǎng)絡管理協(xié)議4個關(guān)鍵部件,其中SNMP協(xié)議因其簡單易操作性,成為現(xiàn)今應用最廣泛的網(wǎng)絡管理協(xié)議。SNMP協(xié)議主要有以下3個功能:取值(Get)使網(wǎng)管站能夠從代理處獲取相關(guān)對象的值;設(shè)置值(Set)使網(wǎng)管站能夠在代理商設(shè)置相關(guān)對象的值;告警信息(Trap)由代理站監(jiān)測到自身故障異常后,主動發(fā)送告警信息到管理站[4]。本設(shè)計主要是利用SNMP的Get、Set方法,實現(xiàn)對采集周期的設(shè)置以及獲取性能參數(shù)的目的。
結(jié)合SNMP管理模型以及對網(wǎng)絡管理的研究,設(shè)計和構(gòu)建了基于B/S性能管理系統(tǒng)模型。其主要由四大模塊組成:后臺控制程序模塊、數(shù)據(jù)庫處理模塊、性能管理模塊和界面顯示模塊,如圖2所示。
圖2 系統(tǒng)架構(gòu)圖Fig.2 The system organization
四大模塊采用MVC三層體系結(jié)構(gòu),分別為持久層、業(yè)務邏輯層和表示層。其中持久化層采用Hibernate技術(shù),業(yè)務邏輯層采用Java技術(shù),表示層主要是采用EXTJS技術(shù),數(shù)據(jù)庫采用Oracle數(shù)據(jù)庫。業(yè)務邏輯層是整個網(wǎng)管系統(tǒng)的核心,其關(guān)鍵是通過SNMP協(xié)議的Get方法獲取OLT代理的性能信息,并將信息實時傳輸?shù)匠志脤?,通過持久層存儲到數(shù)據(jù)庫中。同時,業(yè)務邏輯層還負責將處理過的信息提交給表示層,并以圖形方式顯示出來。
管理站服務器向代理獲取EPON性能參數(shù)的過程是:客戶端向服務器發(fā)出請求,服務器對請求進行判斷,若為實時性能查詢,則與EPON設(shè)備代理建立連接,啟動數(shù)據(jù)采集線程,線程通過SNMP協(xié)議對設(shè)備指定的參數(shù)數(shù)據(jù)信息進行采集,采集到的數(shù)據(jù)以圖形的方式顯示到用戶端;若為歷史性能管理或性能預測,則服務器從數(shù)據(jù)庫中獲取定時采集到的歷史數(shù)據(jù),所得數(shù)據(jù)通過統(tǒng)計分析對數(shù)據(jù)進行處理,將處理結(jié)果以圖形的方式展示到用戶端。其流程圖如圖3所示。
圖3 系統(tǒng)實現(xiàn)流程圖Fig.3 The system flowchart
表1 性能參數(shù)數(shù)據(jù)表Table 1 The datasheet of performance parameters
本設(shè)計采用Oracle10g作為系統(tǒng)的后臺數(shù)據(jù)庫,數(shù)據(jù)庫主要記錄系統(tǒng)與OLT、ONU各類信息,其中最主要的是要記錄性能參數(shù)的信息。性能參數(shù)的信息保存在數(shù)據(jù)庫的數(shù)據(jù)表中,性能參數(shù)數(shù)據(jù)表主要包括如下字段:OLT IP地址、采集時間、平均輸入速率、平均輸出速率、輸入利用率、輸出利用率、輸入丟包率、輸出丟包率、輸入吞吐量和輸出吞吐量,具體描述如表1所示。
性能管理系統(tǒng)在功能實現(xiàn)上分為數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊和性能顯示模塊。
數(shù)據(jù)采集是采用SNMP協(xié)議讀取網(wǎng)絡設(shè)備MIB庫的方式,其功能是完成性能數(shù)據(jù)的采集,以供統(tǒng)計分析和顯示模塊等使用。本系統(tǒng)中性能數(shù)據(jù)采集方式有循環(huán)定時模式和實時模式兩種,循環(huán)定時模式預先配置好定時時間間隔,由服務器端定時對設(shè)備進行數(shù)據(jù)采集,該模式通常作為統(tǒng)計分析歷史性能的數(shù)據(jù)來源;實時模式由用戶觸發(fā)該采集動作,用于采集EPON設(shè)備的當前性能數(shù)據(jù),采集的數(shù)據(jù)需要馬上送回用戶界面,并作為實時參數(shù)性能呈現(xiàn)給用戶,本類數(shù)據(jù)主要用于檢測當前性能。
數(shù)據(jù)采集模塊是采用開源的SNMP4J開發(fā)包實現(xiàn)。SNMP4J開發(fā)包中提供了類CommunityTarget、類DefaultUdpTransportMapping和類PDU,使用上述幾個類可以實現(xiàn)對OLT代理信息的采集。該采集模塊的實現(xiàn)原理是:首先根據(jù)被管設(shè)備的IP創(chuàng)建CommunityTarget共同體對象,通過DefaultUdpTransportMapping創(chuàng)建對象,并調(diào)用listen()方法啟動該監(jiān)聽線程,該線程主要是監(jiān)聽端口161。然后根據(jù)采集對象的OID創(chuàng)建PDU get報文,并使用java.util.Timer構(gòu)建采集定時器,以10 min的采集間隔為周期定時發(fā)送get報文。當監(jiān)聽到代理響應的get-response報文時,進一步解析報文,獲取采集參數(shù)的信息。
數(shù)據(jù)處理模塊主要負責根據(jù)采集得到的原始數(shù)據(jù),計算和統(tǒng)計丟包率、差錯率等性能參數(shù),并保存到數(shù)據(jù)庫或直接實時進行顯示,同時也接受用戶對于歷史性能數(shù)據(jù)的查詢、刪除等操作。
通常性能管理所涉及到的參數(shù)有接口利用率、丟包率、吞吐量等,其計算公式如下[5]:
(1)數(shù)據(jù)流量準確計算出某段時間內(nèi)的數(shù)據(jù)流量,反映出端口的流量:
平均輸入速率=Δiflnoctets/T
平均輸出速率=Δifoutoctets/T
(2)利用率反映了信道利用程度,成為衡量信道資源是否滿足當前網(wǎng)絡傳輸需求的重要指標:
輸入利用率=(Δiflnoctets×8)/(ifspeed×T)×100%
輸出利用率=(Δifoutoctets×8)/(ifspeed×T)×100%
(3)丟包率反映了被路由器丟棄報文占的百分比,有利于快速判斷網(wǎng)絡是否出現(xiàn)了擁塞:
輸入丟包率=ΔiflnDiseards/(ΔiflnUeastPks+
ΔiflnNueastPks)×100%
輸出丟包率=ΔifoutDiseards/(ΔifoutUeastPks+
ΔifoutNueastPks)×100%
(4)吞吐是指單位時間內(nèi)成功地傳送數(shù)據(jù)的數(shù)量,反映出了網(wǎng)絡傳輸?shù)膶嶋H能力:
輸入吞吐量=(Δiflnoetets-ΔiflnDiseards-ΔiflnErrors)/T
輸出吞吐量=(Δifoutoctets-ΔifoutDiseards-ΔifoutErrors)/T
顯示模塊主要是采用JFreeChart開發(fā)包形成設(shè)備參數(shù)性能統(tǒng)計圖。JFreeChart開發(fā)包是JFreeChart公司用Java語言開發(fā)的通用圖形組件,其功能強大,源代碼免費開發(fā),基本能夠解決目前的圖形方面的需求,生成各種各樣的統(tǒng)計圖,是目前比較好的Java圖形解決方案。顯示模塊將根據(jù)客戶的查詢需要分別以柱狀圖和折線圖的方式顯示性能統(tǒng)計信息。
CategoryDataset dataset = getDataSet3(); //獲取數(shù)據(jù)源
JFreeChart chart= ChartFactory.createLineChart (“數(shù)據(jù)包分析”, “ ”, “數(shù)據(jù)包分析/分鐘”,
dataset, PlotOrientation.VERTICAL, true, false, false); // 生成柱狀圖標軸
try { //將圖形生成PNG格式,并輸出到網(wǎng)頁上
ChartRenderingInfo info = new ChartRenderingInfo(
new StandardEntityCollection());
filename=ServletUtilities.saveChartAsPNG(chart,w,h,info,
session);
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
將本系統(tǒng)部署到tomcat6.0服務器中,啟動數(shù)據(jù)服務器和tomcat服務器,在任意一臺與Internet相連接的電腦上打開瀏覽器并登陸Web服務器,選中所要管理的OLT設(shè)備IP,進入性能主界面,如圖4所示。用戶可以根據(jù)需要選擇相應的設(shè)備和參數(shù)以獲取相應的性能統(tǒng)計信息,分別以折線圖和柱形圖兩種方式展示設(shè)備參數(shù)的統(tǒng)計圖。另外,也可以設(shè)置統(tǒng)計圖刷新方式,如手動刷新、自動刷新(具體的刷新時間可以是系統(tǒng)默認,也可以是用戶設(shè)定)。
圖4 性能顯示圖Fig.4 The performance display
EPON是目前最有前景的解決“最后一公里”網(wǎng)絡瓶頸問題的接入網(wǎng)方案,其功能強大的網(wǎng)絡結(jié)構(gòu),只有通過良好的網(wǎng)絡管理才能使其性能得到最好的發(fā)揮。本文通過分析EPON網(wǎng)絡管理中性能管理的需求以及SNMP協(xié)議,提出了一種B/S結(jié)構(gòu)的EPON性能管理系統(tǒng)的軟件實現(xiàn)方法,并采用Java語言、JSP技術(shù)和Oracle數(shù)據(jù)庫技術(shù)進行實現(xiàn),具有跨平臺、可擴展、易維護的特點。同時,選用 JFreeChart開發(fā)包,將網(wǎng)絡性能參數(shù)以柱狀圖/折線圖的方式呈現(xiàn)給用戶,方便用戶更直觀地掌握整個網(wǎng)絡的性能。本系統(tǒng)不僅實現(xiàn)了對EPON網(wǎng)絡設(shè)備性能的實時監(jiān)控,而且可以根據(jù)歷史性能數(shù)據(jù)的分析預先發(fā)現(xiàn)網(wǎng)絡瓶頸,從而達到優(yōu)化網(wǎng)絡管理的目的,為EPON系統(tǒng)穩(wěn)定和高效的運行提供了支持。
參考文獻:
[1] 田春雨,陳雪,顧雪沁. EPON網(wǎng)管性能子系統(tǒng)的設(shè)計和實現(xiàn)[J].光通信技術(shù),2009(2):16-19.
TIAN Chun-yu,CHEN Xue,GU Xue-qin.Design and implementation of performance management subsystem for EPON[J].Fiber Communication Technology,2009(2):16-19.(in Chinese)
[2] 萬姍姍,吳峰.EPON網(wǎng)管功能現(xiàn)狀及展望[J].電信技術(shù),2008(9):39-40.
WAN Shan-shan,WU Feng.The current situation and outlook of EPON network function [J].Telecommunictions Techonology,2008(9):39-40.(in Chinese)
[3] 程傳慶,程傳慧,王莉.EPON系統(tǒng)一種基于SNMP的新型管理方法研究[J].武漢理工大學學報,2008,32(1):172-175.
CHENG Chuan-qing,CHENG Chuan-hui,WANG Li.Research of a New Management Method for EPON System Based on SNMP[J].Journal of Wuhan University of Technology,2008,32(1):172-175. (in Chinese)
[4] William Stallings.SNMP網(wǎng)絡管理[M].胡成松,汪凱,譯.北京:中國電力出版社,2001.
William Stallings.SNMP network management[M].Translated by HU Cheng-song,WANG Kai.Beijing:China Electric Power Press,2001.
[5] Glen Kramer.基于以太網(wǎng)的無源光網(wǎng)絡[M].陳雪,孫曙和,劉冬,等,譯.北京:北京郵電大學出版社,2007.
Glen Kramer. Ethernet passive optical networks[M]. Translated by CHEN Xue, SUN Shu-he,LIU Dong,et al.Beijing: Beijing University of Posts and Telecommunications Press,2007.(in Chinese)