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