聶 晶,潘志宏,徐 洪,謝海明,劉偉平
(1.暨南大學 電子工程系,廣州510632;2.光電信息與傳感技術廣東普通高校重點實驗室,廣州 510632)
以太無源光網絡(EPON)是一種新型的寬帶多業務綜合接入技術,它綜合了PON技術和以太網技術兩者的優點,具有帶寬高、成本低、易使用、易升級等優良特性,成為下一代寬帶光接入網的最佳選擇。作為信息傳送通道的“最后一公里”,EPON網絡直接面對終端用戶,因此其性能的優越性成為了衡量整個網絡服務質量的重要指標。如何對EPON系統性能進行有效監測和管理,儼然已成為了當今網絡管理(簡稱網管)的一個重要課題[1-2]。
近年來,國內外許多通信開發商相繼開發出功能強大的網管系統,如HP公司的OpenView系列及中興的NetNume系列,但其功能復雜、費用昂貴,而且針對性不強,專門針對EPON網絡的管理系統還不多。此外,這些網管系統大多都是基于C/S結構,不利于系統的安裝、維護以及升級。
針對以上問題,本文設計并實現了一個基于B/S的EPON網管的性能管理系統。本系統利用Java編程語言與JSP網頁設計技術進行實現,使系統的開發、維護工作都集中在服務器端,極大地簡化了客戶端。同時,通過采集、監測和分析網絡性能數據,為網絡進一步規劃與調整提供依據,從而更好地保證了網絡的業務質量。
EPON性能管理的主要目標是通過對EPON網絡上的光路終端設備(OLT)和光網絡單元(ONU)設備的性能進行監視、檢測,采集到相關性能統計數據,進行分析、診斷,從而為網絡進一步規劃與調整提供依據,以保證網絡的性能和業務質量。通過對設備性能進行實時監控,能夠及時對異常性能采取控制。同時,通過對歷史數據的統計分析確定利用率趨勢,預先發現網絡運行瓶頸,改進EPON的總體性能水平,從而實現為用戶提供優質服務的目的。
一般而言,性能管理應包括性能參數查詢、實時性能管理和歷史性能管理3個功能。性能參數查詢為系統管理者提供OLT與ONU各種性能參數的查詢;實時性能管理是連續地收集OLT、ONU上與性能相關的數據,根據性能圖確定網元的實時性能,從而能實現對網絡異常的及時處理;歷史性能管理支持管理員對采集周期進行設置,對收集到的性能數據做進一步的統計分析,從而掌握設備單元因不太頻繁或間斷的差錯導致業務質量變差的性能情況。
EPON性能管理系統的管理對象是多個EPON系統,其中每一個EPON系統包括了光路終端設備(OLT)和多個光網絡單元(ONU)。其中,OLT是通過光纖與ONU連接的。系統采用的是帶內網絡方式,因此管理站服務器到OLT和ONU之間不需要增加專門的網管通道[3]。系統方案如圖1所示,其主要由Web服務器、數據庫服務器組成。客戶端通過Internet訪問Web服務器,同時Web服務器通過Internet與EPON系統交互信息。

圖1 系統方案圖Fig.1 The system diagram
該系統采用的協議模型是SNMP網絡管理模型,它主要包括管理站、管理代理、MIB庫和SNMP網絡管理協議4個關鍵部件,其中SNMP協議因其簡單易操作性,成為現今應用最廣泛的網絡管理協議。SNMP協議主要有以下3個功能:取值(Get)使網管站能夠從代理處獲取相關對象的值;設置值(Set)使網管站能夠在代理商設置相關對象的值;告警信息(Trap)由代理站監測到自身故障異常后,主動發送告警信息到管理站[4]。本設計主要是利用SNMP的Get、Set方法,實現對采集周期的設置以及獲取性能參數的目的。
結合SNMP管理模型以及對網絡管理的研究,設計和構建了基于B/S性能管理系統模型。其主要由四大模塊組成:后臺控制程序模塊、數據庫處理模塊、性能管理模塊和界面顯示模塊,如圖2所示。

圖2 系統架構圖Fig.2 The system organization
四大模塊采用MVC三層體系結構,分別為持久層、業務邏輯層和表示層。其中持久化層采用Hibernate技術,業務邏輯層采用Java技術,表示層主要是采用EXTJS技術,數據庫采用Oracle數據庫。業務邏輯層是整個網管系統的核心,其關鍵是通過SNMP協議的Get方法獲取OLT代理的性能信息,并將信息實時傳輸到持久層,通過持久層存儲到數據庫中。同時,業務邏輯層還負責將處理過的信息提交給表示層,并以圖形方式顯示出來。
管理站服務器向代理獲取EPON性能參數的過程是:客戶端向服務器發出請求,服務器對請求進行判斷,若為實時性能查詢,則與EPON設備代理建立連接,啟動數據采集線程,線程通過SNMP協議對設備指定的參數數據信息進行采集,采集到的數據以圖形的方式顯示到用戶端;若為歷史性能管理或性能預測,則服務器從數據庫中獲取定時采集到的歷史數據,所得數據通過統計分析對數據進行處理,將處理結果以圖形的方式展示到用戶端。其流程圖如圖3所示。

圖3 系統實現流程圖Fig.3 The system flowchart

表1 性能參數數據表Table 1 The datasheet of performance parameters
本設計采用Oracle10g作為系統的后臺數據庫,數據庫主要記錄系統與OLT、ONU各類信息,其中最主要的是要記錄性能參數的信息。性能參數的信息保存在數據庫的數據表中,性能參數數據表主要包括如下字段:OLT IP地址、采集時間、平均輸入速率、平均輸出速率、輸入利用率、輸出利用率、輸入丟包率、輸出丟包率、輸入吞吐量和輸出吞吐量,具體描述如表1所示。
性能管理系統在功能實現上分為數據采集模塊、數據處理模塊和性能顯示模塊。
數據采集是采用SNMP協議讀取網絡設備MIB庫的方式,其功能是完成性能數據的采集,以供統計分析和顯示模塊等使用。本系統中性能數據采集方式有循環定時模式和實時模式兩種,循環定時模式預先配置好定時時間間隔,由服務器端定時對設備進行數據采集,該模式通常作為統計分析歷史性能的數據來源;實時模式由用戶觸發該采集動作,用于采集EPON設備的當前性能數據,采集的數據需要馬上送回用戶界面,并作為實時參數性能呈現給用戶,本類數據主要用于檢測當前性能。
數據采集模塊是采用開源的SNMP4J開發包實現。SNMP4J開發包中提供了類CommunityTarget、類DefaultUdpTransportMapping和類PDU,使用上述幾個類可以實現對OLT代理信息的采集。該采集模塊的實現原理是:首先根據被管設備的IP創建CommunityTarget共同體對象,通過DefaultUdpTransportMapping創建對象,并調用listen()方法啟動該監聽線程,該線程主要是監聽端口161。然后根據采集對象的OID創建PDU get報文,并使用java.util.Timer構建采集定時器,以10 min的采集間隔為周期定時發送get報文。當監聽到代理響應的get-response報文時,進一步解析報文,獲取采集參數的信息。
數據處理模塊主要負責根據采集得到的原始數據,計算和統計丟包率、差錯率等性能參數,并保存到數據庫或直接實時進行顯示,同時也接受用戶對于歷史性能數據的查詢、刪除等操作。
通常性能管理所涉及到的參數有接口利用率、丟包率、吞吐量等,其計算公式如下[5]:
(1)數據流量準確計算出某段時間內的數據流量,反映出端口的流量:
平均輸入速率=Δiflnoctets/T
平均輸出速率=Δifoutoctets/T
(2)利用率反映了信道利用程度,成為衡量信道資源是否滿足當前網絡傳輸需求的重要指標:
輸入利用率=(Δiflnoctets×8)/(ifspeed×T)×100%
輸出利用率=(Δifoutoctets×8)/(ifspeed×T)×100%
(3)丟包率反映了被路由器丟棄報文占的百分比,有利于快速判斷網絡是否出現了擁塞:
輸入丟包率=ΔiflnDiseards/(ΔiflnUeastPks+
ΔiflnNueastPks)×100%
輸出丟包率=ΔifoutDiseards/(ΔifoutUeastPks+
ΔifoutNueastPks)×100%
(4)吞吐是指單位時間內成功地傳送數據的數量,反映出了網絡傳輸的實際能力:
輸入吞吐量=(Δiflnoetets-ΔiflnDiseards-ΔiflnErrors)/T
輸出吞吐量=(Δifoutoctets-ΔifoutDiseards-ΔifoutErrors)/T
顯示模塊主要是采用JFreeChart開發包形成設備參數性能統計圖。JFreeChart開發包是JFreeChart公司用Java語言開發的通用圖形組件,其功能強大,源代碼免費開發,基本能夠解決目前的圖形方面的需求,生成各種各樣的統計圖,是目前比較好的Java圖形解決方案。顯示模塊將根據客戶的查詢需要分別以柱狀圖和折線圖的方式顯示性能統計信息。
CategoryDataset dataset = getDataSet3(); //獲取數據源
JFreeChart chart= ChartFactory.createLineChart (“數據包分析”, “ ”, “數據包分析/分鐘”,
dataset, PlotOrientation.VERTICAL, true, false, false); // 生成柱狀圖標軸
try { //將圖形生成PNG格式,并輸出到網頁上
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();
}
將本系統部署到tomcat6.0服務器中,啟動數據服務器和tomcat服務器,在任意一臺與Internet相連接的電腦上打開瀏覽器并登陸Web服務器,選中所要管理的OLT設備IP,進入性能主界面,如圖4所示。用戶可以根據需要選擇相應的設備和參數以獲取相應的性能統計信息,分別以折線圖和柱形圖兩種方式展示設備參數的統計圖。另外,也可以設置統計圖刷新方式,如手動刷新、自動刷新(具體的刷新時間可以是系統默認,也可以是用戶設定)。

圖4 性能顯示圖Fig.4 The performance display
EPON是目前最有前景的解決“最后一公里”網絡瓶頸問題的接入網方案,其功能強大的網絡結構,只有通過良好的網絡管理才能使其性能得到最好的發揮。本文通過分析EPON網絡管理中性能管理的需求以及SNMP協議,提出了一種B/S結構的EPON性能管理系統的軟件實現方法,并采用Java語言、JSP技術和Oracle數據庫技術進行實現,具有跨平臺、可擴展、易維護的特點。同時,選用 JFreeChart開發包,將網絡性能參數以柱狀圖/折線圖的方式呈現給用戶,方便用戶更直觀地掌握整個網絡的性能。本系統不僅實現了對EPON網絡設備性能的實時監控,而且可以根據歷史性能數據的分析預先發現網絡瓶頸,從而達到優化網絡管理的目的,為EPON系統穩定和高效的運行提供了支持。
參考文獻:
[1] 田春雨,陳雪,顧雪沁. EPON網管性能子系統的設計和實現[J].光通信技術,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網管功能現狀及展望[J].電信技術,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系統一種基于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網絡管理[M].胡成松,汪凱,譯.北京:中國電力出版社,2001.
William Stallings.SNMP network management[M].Translated by HU Cheng-song,WANG Kai.Beijing:China Electric Power Press,2001.
[5] Glen Kramer.基于以太網的無源光網絡[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)