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