張曉宇 嚴星 李繁
摘要:伴隨高校校園網(wǎng)絡基礎設施建設規(guī)模的逐步擴大,網(wǎng)絡設備的數(shù)量、產(chǎn)品種類以及網(wǎng)絡結構的復雜程度不斷增加。如何實現(xiàn)異構網(wǎng)絡設備的有效統(tǒng)一管理,已經(jīng)成為高校校園網(wǎng)絡管理任務的當務之急。研究、分析目前學校網(wǎng)絡的基本現(xiàn)狀和結構特點,總結歸納網(wǎng)絡管理、故障排查及性能分析等方面遭遇的瓶頸問題,遵循MVC模式系統(tǒng)設計原則,設計開發(fā)符合學校現(xiàn)實業(yè)務需求和組織結構合理的網(wǎng)絡管理系統(tǒng)。
關鍵詞:故障排查;性能分析;MVC模式;網(wǎng)絡管理系統(tǒng)
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2018)02-65-3
Design and Implementation of Network Management System
ZHANG Xiaoyu, YAN Xing, LI Fan
(Xinjiang University of Finance and Economics, Urumqi Xinjiang 830012, China)
0引言
隨著IT信息技術的快速發(fā)展以及校園網(wǎng)絡建設的日益成熟,校園網(wǎng)絡也被賦予了更多的功能要求,被劃分成若干個邏輯功能區(qū)域,不僅需要滿足正常的互聯(lián)網(wǎng)及數(shù)字校園應用等通信需求,還需要承擔校園一卡通、監(jiān)控安防、IP網(wǎng)絡廣播及網(wǎng)絡售電等任務,其中涉及的網(wǎng)絡產(chǎn)品數(shù)量眾多,產(chǎn)品類型紛繁復雜,初步統(tǒng)計新疆財經(jīng)大學目前已擁有約300臺網(wǎng)絡交換機,近100臺服務器。面對如此大的網(wǎng)絡規(guī)模,高效、快速地應對網(wǎng)絡故障,處理和做好網(wǎng)絡安全管控工作,是學校當前校園網(wǎng)絡建設工作的當務之急。
1需求分析
搭建統(tǒng)一的管理平臺能夠滿足網(wǎng)絡管理的基本功能需求,包括提供直觀的學校網(wǎng)絡拓撲結構、設備的運行狀態(tài)、網(wǎng)絡帶寬利用率、數(shù)據(jù)包延時、網(wǎng)絡丟包率、故障告警及網(wǎng)絡的安全管理。基于完整的Java語言環(huán)境開發(fā),能夠實現(xiàn)系統(tǒng)平臺順利地遷移。系統(tǒng)的基礎框架、組件以及軟件功能建立松散耦合關系,確保軟件的快速定制開發(fā),而且避免影響系統(tǒng)的基礎組件以及架構。系統(tǒng)的基礎平臺開發(fā)遵循SNMP、SSH和Telnet協(xié)議規(guī)范[1],從而保證設備的兼容廣泛。良好的擴展機制即使遇見特殊設備或者沒有遵循公共管理協(xié)議的設備,系統(tǒng)依然支持設備的統(tǒng)一管理。
2總體架構設計
按照MVC模式設計網(wǎng)絡管理系統(tǒng)的整體組織結構,能夠清晰地反映和劃分系統(tǒng)的業(yè)務邏輯結構。①客戶端表示層完成客戶的功能請求,顯示響應的數(shù)據(jù),具體設計的功能主要包括網(wǎng)絡拓撲管理、故障管理、性能管理、統(tǒng)計分析、系統(tǒng)管理以及功能擴展[2];②業(yè)務層能夠執(zhí)行數(shù)據(jù)的邏輯業(yè)務處理,主要包括拓撲發(fā)現(xiàn)、性能采集、故障監(jiān)測和任務調度;③數(shù)據(jù)層執(zhí)行原始數(shù)據(jù)的操作,系統(tǒng)結構圖如圖1所示。
3功能模塊設計
3.1拓撲管理
拓撲管理模塊執(zhí)行學校網(wǎng)絡包括的所有網(wǎng)絡設備的拓撲數(shù)據(jù)采集、更新以及維護功能,拓撲結構視圖的建立能夠清晰、直觀反映學校的網(wǎng)絡現(xiàn)狀。拓撲管理模塊包含的功能單元主要涉及物理拓撲的自動發(fā)現(xiàn)、手工干預發(fā)現(xiàn)、設備的拓撲位置調整、網(wǎng)絡設備拓撲定位及網(wǎng)絡設備的添加和刪除[3]。
拓撲發(fā)現(xiàn)模塊的設計過程如下:
①查詢默認路由設備,通過網(wǎng)絡管理系統(tǒng)的SNMP MIBII查詢ipRouteTable的ipRouteDest是否存在等于0.0.0.0的記錄。如果存在,說明系統(tǒng)存在默認網(wǎng)關,查詢ipRouteNextHop獲取網(wǎng)關地址,查詢默認網(wǎng)關的ipForwarding是否等于1,如果等于1,說明默認網(wǎng)關設備屬于路由設備。
②借助默認路由設備發(fā)現(xiàn)存在的網(wǎng)絡列表,利用ICMP協(xié)議的Ping方式遍歷存在網(wǎng)絡之中的所有活動設備[4]。驗證共同體,如果共同體驗證通過,通過SNMP協(xié)議獲取監(jiān)管設備的MIB存放的設備基本信息,判斷設備類型,例如屬于交換機、路由器或者服務器等其他設備,根據(jù)設備類型獲取設備的詳細信息。
③根據(jù)設備的ndp協(xié)議、接口索引ifIndex、端口對照表及自學習表發(fā)現(xiàn)設備之間的連接關系,具體定位設備的連接端口。
3.2故障管理
故障管理主要包括故障發(fā)現(xiàn)、故障處理以及故障查詢等功能模塊。
故障發(fā)現(xiàn)模塊的設計過程是借助開源軟件SNMP4J獲取網(wǎng)絡設備故障信息,SNMP4J的接口類ComandResponder負責監(jiān)聽網(wǎng)絡設備的Agent單元發(fā)送的Trap數(shù)據(jù),ComandResponder調用方法processPdu()接收Trap報文,同時對接收的數(shù)據(jù)進行解析處理[5]。處理過程主要包括注冊ComandResponder的監(jiān)聽對象listener,使用getPduHandle()方法解析及處理PDU包含的內(nèi)容等。
具體執(zhí)行步驟為ComandResponder類調用listen()方法啟動監(jiān)聽線程,線程主要負責監(jiān)聽接收Trap信息的162端口,當監(jiān)聽獲取到Trap告警數(shù)據(jù)后,調用listener.processPdu(CommandResponderEvent event)方法根據(jù)預先設定的告警規(guī)則對告警數(shù)據(jù)執(zhí)行業(yè)務邏輯處理,然后保存數(shù)據(jù),同時使用Java的Web組件Portlet及時顯示告警內(nèi)容,故障發(fā)現(xiàn)流程圖如圖2所示。
3.3性能管理
性能管理提供網(wǎng)絡單元運行狀態(tài)、效率的監(jiān)測及評估功能,按照實現(xiàn)功能劃分,包括性能數(shù)據(jù)的采集、數(shù)據(jù)分析以及數(shù)據(jù)顯示。
3.3.1性能數(shù)據(jù)采集
采集的性能數(shù)據(jù)主要包括網(wǎng)絡帶寬利用率、數(shù)據(jù)包延時及網(wǎng)絡丟包率等,采集方式包括NMS輪詢監(jiān)控設備以及代理設備發(fā)送陷阱報文方式[6],數(shù)據(jù)采集的輪詢方式可以借助SNMP4J提供的接口功能模塊完成,實現(xiàn)步驟如下:
①開始構造PDU的發(fā)送目標,選擇支持SNMPv1協(xié)議,所以創(chuàng)建Community Target對象代表通信的代理設備,設置SNMP的版本、重復傳送的時間以及等待的延時;
②設置PDU的傳輸協(xié)議,選擇TCP協(xié)議或者UDP協(xié)議,也可以使用Transport Mapping接口的對象表示傳輸協(xié)議;
③使用Transport Mapping中的listen()方法,啟動監(jiān)聽進程,接收返回的響應消息;
④創(chuàng)建SNMP對象,發(fā)送請求PDU,使用add()方法設置需要查詢的OID;
⑤使用ResponseEvent對象獲取SNMP請求的響應PDU;
⑥解析響應PDU獲取MIB信息。
使用SNMP4J接口功能模塊實現(xiàn)數(shù)據(jù)采集的核心代碼,如下:
3.3.2性能數(shù)據(jù)顯示
性能數(shù)據(jù)采集流程如圖3所示。
性能數(shù)據(jù)的顯示和統(tǒng)計圖形是使用Java圖形開發(fā)工具中的JFreeChart生成的,而且生成的圖形可以直接發(fā)送瀏覽器顯示[7],主要步驟包括:
①生成性能顯示和統(tǒng)計圖形的數(shù)據(jù)來源包括網(wǎng)元的MIB提供的性能參數(shù)的現(xiàn)實數(shù)據(jù)或者網(wǎng)絡管理系統(tǒng)數(shù)據(jù)庫存儲的性能參數(shù)的歷史數(shù)據(jù),現(xiàn)實數(shù)據(jù)經(jīng)過統(tǒng)計分析以后可以顯示網(wǎng)元的實時監(jiān)控參數(shù)性能,歷史數(shù)據(jù)經(jīng)過統(tǒng)計分析處理后可以預測網(wǎng)元的參數(shù)性能[8]。
②創(chuàng)建性能顯示圖形的數(shù)據(jù)集對象DataSet,利用getDataSet()方法獲取數(shù)據(jù)源并將其值賦予DataSet。
③使用JFreeChart的createBarChart3D()方法生成性能展示圖形。
4結束語
系統(tǒng)采用B/S結構設計,能夠顯著提高系統(tǒng)的維護效率,減少維護工作負擔。開發(fā)技術選擇JSP+Servlet+JavaBean組合,技術框架使用Hibernate,目的是可以保證系統(tǒng)部署方便,滿足網(wǎng)絡管理的安全要求。系統(tǒng)的開發(fā)過程借助SNMP4J模塊提供的API,減少程序的編輯工作,提高系統(tǒng)的開發(fā)效率。考慮減輕系統(tǒng)的開發(fā)和維護的負擔,明確劃分系統(tǒng)的邏輯組織單元的功能,系統(tǒng)的整體架構設計堅持MVC原則。
經(jīng)過測試表明,系統(tǒng)的功能已經(jīng)基本滿足單位的網(wǎng)絡管理需求,但是依然存在需要改進和完善的部分:①網(wǎng)絡拓撲發(fā)現(xiàn)的方法對比目前國際成熟的SNMP管理軟件存在差距,因為拓撲發(fā)現(xiàn)模塊借助SNMP4J提供的接口模塊開發(fā),缺少更加豐富的發(fā)現(xiàn)手段,影響網(wǎng)絡拓撲結構生成的時間;②網(wǎng)絡的性能管理過分依賴NMS的Agent方式以及ICMP協(xié)議的Ping方式,容易消耗網(wǎng)絡資源,尤其是ICMP方式,如果連續(xù)、持久地發(fā)送目標單元ICMP報文,可能引起“ICMP風暴”,導致整體網(wǎng)絡癱瘓;③系統(tǒng)的性能顯示可以使用更加豐富的展示方法,能夠更加直觀地反映網(wǎng)絡性能狀況。
參考文獻
[1]周振江.基于SNMP的網(wǎng)絡管理系統(tǒng)設計與實現(xiàn)[D].南京:南京航空航天大學,2005.
[2]王瑋.基于SNMP網(wǎng)絡管理系統(tǒng)的設計與實現(xiàn)[D].北京:北京郵電大學,2011.
[3]馮松軍.基于Web的網(wǎng)絡管理模型及實現(xiàn)技術研究[D].昆明:昆明理工大學,2013.
[4]史宏.基于ASP_NET的現(xiàn)代數(shù)字化校園管理系統(tǒng)的研究[J].電子技術與軟件工程,2015(11):75-76.
[5]劉穎.基于SNMP的校園網(wǎng)絡管理系統(tǒng)設計與實現(xiàn)[D].成都:西南交通大學,2010.
[6]楊寶學.主動式網(wǎng)絡管理系統(tǒng)設計與實現(xiàn)[D].成都:電子科技大學,2012.
[7]權卓.基于SNMP的分布式網(wǎng)絡管理系統(tǒng)的設計與實現(xiàn)[D].西安:西安電子科技大學,2010.
[8]王未.基于SSH框架的網(wǎng)絡管理系統(tǒng)的設計與實現(xiàn)[D].廈門:廈門大學,2013.