摘 要: 介紹了一個適合于校園網(wǎng)的基于SNMP的網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計與實現(xiàn),。以管理者/代理為模型,采用分層次的總體設(shè)計方案,。在分析比較現(xiàn)有拓撲發(fā)現(xiàn)算法的基礎(chǔ)上,,給出一種改進的拓撲發(fā)現(xiàn)算法,融合二叉樹排序策略和三層交換機發(fā)現(xiàn)策略,。在實時性能參數(shù)采集分析的基礎(chǔ)上,,結(jié)合概率論與數(shù)理統(tǒng)計的思想,建立了一元線性回歸模型,,對性能參數(shù)進行有效的區(qū)間預(yù)測,。系統(tǒng)不僅設(shè)計了網(wǎng)絡(luò)的拓撲結(jié)構(gòu)發(fā)現(xiàn)及顯示,、配置管理、性能管理等核心功能,,更針對性地設(shè)計了網(wǎng)絡(luò)性能預(yù)測,、流量排序、病毒及非法軟件檢測等功能,。
關(guān)鍵詞: 簡單網(wǎng)絡(luò)管理協(xié)議,;管理信息庫;拓撲結(jié)構(gòu),;配置管理,;性能管理
目前市面上有很多商品化網(wǎng)管軟件,,如IBM公司的NetView,、HP公司的OpenView、SUN公司的Sun NetManager等,,這些網(wǎng)絡(luò)管理軟件盡管功能很強大,,但提供的是一個通用的網(wǎng)絡(luò)管理平臺,對于具體校園網(wǎng)管理應(yīng)用,,還得進行進一步的規(guī)劃和開發(fā),。因此,迫切需要開發(fā)一個適用于高校校園網(wǎng)的網(wǎng)絡(luò)管理系統(tǒng)對日常的網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)運行情況進行監(jiān)督與維護,。
1 系統(tǒng)總體設(shè)計
本網(wǎng)絡(luò)管理系統(tǒng)的總體設(shè)計目標(biāo)就是要構(gòu)建一個基于SNMP的多代理的統(tǒng)一管理,、簡便直觀、兼容不同廠商設(shè)備,、能夠?qū)崿F(xiàn)網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)現(xiàn),、配置管理、性能管理等功能,,并針對校園網(wǎng)上機特點,,實現(xiàn)對所有運行主機的管理。具體內(nèi)容如下:
(1)網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)現(xiàn)
找出路由器與路由器,、路由器與子網(wǎng)之間的連接關(guān)系,,并發(fā)現(xiàn)所有子網(wǎng)中活動的IP設(shè)備,區(qū)分出路由器,、交換機和普通主機,。對網(wǎng)絡(luò)拓撲發(fā)現(xiàn)結(jié)果進行圖形化顯示。
(2)配置管理
本系統(tǒng)的配置管理主要實現(xiàn)路由器(或三層交換機)的配置管理和主機的配置管理,。路由器配置管理具體包括獲取路由器的常規(guī)配置參數(shù)(如設(shè)備類型,、負責(zé)人、支持服務(wù),、所在位置等),,獲取路由表信息,、地址表信息、地址轉(zhuǎn)發(fā)表信息,、接口表信息以及接口狀態(tài)表信息等,。主機配置管理包括查看主機的基本信息、安裝軟件信息,、運行軟件信息,、存儲器信息、硬件設(shè)備信息等主機資源信息,。
(3)性能管理
對代理設(shè)備的原始性能數(shù)據(jù)進行實時采集,。對采集到的性能數(shù)據(jù)進行分析,計算接口流量,、協(xié)議流量等各種性能參數(shù),,為管理員提供參考。
查詢某一時段代理設(shè)備的性能參數(shù),,生成性能曲線,,以直觀圖的方式顯示性能分析結(jié)果。
根據(jù)某一時段代理設(shè)備的性能分析結(jié)果,,對網(wǎng)絡(luò)性能進行分析預(yù)測,,并以直觀圖的形式顯示出來,為網(wǎng)絡(luò)管理員采取進一步措施提供依據(jù),。
(4)流量排序
流量排序分為接口流量排序和主機流量排序,。接口流量排序是對網(wǎng)絡(luò)中所有發(fā)現(xiàn)的接口進行流量采集并排序,將結(jié)果以直觀圖的形式顯示出來,,供管理員查看,。主機流量排序?qū)W(wǎng)絡(luò)中某一子網(wǎng)內(nèi)所有主機流量進行實時采集并排序,將結(jié)果以直觀圖的形式顯示出來,,供管理員查看,。
(5)病毒及非法軟件檢測
對網(wǎng)絡(luò)中某一子網(wǎng)內(nèi)所有主機進行病毒或非法軟件排查工作,找出該子網(wǎng)內(nèi)所有運行指定軟件名稱的主機,,并將結(jié)果以直觀圖的形式顯示出來,,供管理員查看。
2 系統(tǒng)模型結(jié)構(gòu)
本網(wǎng)絡(luò)管理系統(tǒng)以SNMP網(wǎng)絡(luò)管理協(xié)議的管理者/代理模型為基礎(chǔ)[1],,以HP公司的SNMP++為數(shù)據(jù)采集工具,,采用分層的方法,面向系統(tǒng)的不同功能設(shè)計而成,。
該系統(tǒng)分為三個部分如圖1所示:底層數(shù)據(jù)通信,、中間層數(shù)據(jù)處理與上層數(shù)據(jù)表示。底層數(shù)據(jù)通信部分負責(zé)實現(xiàn)管理者與被管設(shè)備之間的通信,,獲取代理設(shè)備中MIB庫的有用信息,,并把采集到的數(shù)據(jù)送往上層,。中間層數(shù)據(jù)處理部分負責(zé)對采集到的網(wǎng)絡(luò)信息進行處理,將相應(yīng)的處理結(jié)果傳給上層管理應(yīng)用層進行顯示,。上層為數(shù)據(jù)表示層,,對網(wǎng)絡(luò)的配置管理、性能管理等功能模塊以表格和可視化的圖形界面顯示,,簡潔直觀,。
3 系統(tǒng)關(guān)鍵技術(shù)分析
3.1 網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)現(xiàn)算法的研究與分析
基于SNMP協(xié)議的算法實際上是提取MIB中ipRouteTable(路由表)中的對象,類似于圖論中的廣度優(yōu)先遍歷算法實現(xiàn)網(wǎng)絡(luò)拓撲的自動搜索[2],。
設(shè)計路由發(fā)現(xiàn)算法時主要用到了三條鏈表:待檢路由設(shè)備鏈表,、拓撲信息鏈表、子網(wǎng)信息鏈表,?;赟NMP的拓撲發(fā)現(xiàn)算法通常是使用一個種子路由器,獲取其路由表內(nèi)記錄的所有可達網(wǎng)段,,以及到達該網(wǎng)段所經(jīng)由的下一跳路由器的端口IP地址及相關(guān)路由信息,,然后將繼續(xù)擴展其搜索,,一直達到用戶指定的深度為止,。同時種子路由器還可以獲取到每個路由設(shè)備上所有端口的直連子網(wǎng)及其相應(yīng)的子網(wǎng)掩碼,根據(jù)這些信息,,進而獲取到這些子網(wǎng)中的所有活動主機,。如果這些設(shè)備支持SNMP,則還可以進一步收集系統(tǒng)和IP地址信息,??傊灰o出一個路由設(shè)備任意端口的IP地址作為種子路由器(通常使用本地網(wǎng)關(guān)的IP地址作為種子路由器的地址),,即可獲取到指定深度內(nèi)的所有路由設(shè)備及活動主機的網(wǎng)絡(luò)拓撲結(jié)構(gòu)信息,。
(1)默認網(wǎng)關(guān)的獲取
拓撲發(fā)現(xiàn)算法首先是從網(wǎng)絡(luò)管理站的默認網(wǎng)關(guān)開始,逐步遍歷默認網(wǎng)關(guān)的路由表和地址解析表,,最終發(fā)現(xiàn)整個網(wǎng)絡(luò)的拓撲結(jié)構(gòu),。本系統(tǒng)獲取默認網(wǎng)關(guān)是采取這樣的方法:首先,訪問拓撲發(fā)現(xiàn)程序所在計算機的SNMP MIB中的ipRouteTable,,如果發(fā)現(xiàn)有ipRouteDest值為0.0.0.0的記錄,,則說明程序所在的計算機設(shè)置了默認網(wǎng)關(guān),該記錄的ipRouteNextHop值即為默認網(wǎng)關(guān)的地址,。檢查默認網(wǎng)關(guān)的ipForwarding值,,如果為1,則表明該默認網(wǎng)關(guān)確實是路由設(shè)備,,否則不是,。
(3)路由器多IP地址問題
由于路由器可以連接多個子網(wǎng),,具有多個接口,即一個路由器可能含有多個IP地址,。為了準(zhǔn)確標(biāo)識具有多個接口的路由器,,避免重復(fù),本算法通過訪問路由器的地址表獲得路由器的所有接口,,這樣可以根據(jù)當(dāng)前路由器的IP是否在已經(jīng)遍歷過的路由器接口列表中來判斷,。
本系統(tǒng)默認預(yù)測分析算法的置信度為1-?琢=0.95。在性能參數(shù)采集分析結(jié)果的基礎(chǔ)上對性能參數(shù)的變化趨勢進行預(yù)測,。
圖2是該模塊的性能預(yù)測流程圖,。
圖2中,數(shù)據(jù)差分處理主要是有一些變量是逐漸增加的(如某接口的流出字節(jié)數(shù)),,而系統(tǒng)關(guān)心的是兩次流出字節(jié)數(shù)的差值,,數(shù)據(jù)處理就是算出差值。趨勢分析主要是計算出分析期間內(nèi)的一元回歸直線,,以便在用戶界面上顯示出來時,,網(wǎng)絡(luò)管理者很容易看出它的增減趨勢。而狀態(tài)分析主要是將系統(tǒng)關(guān)心的一些變量的狀態(tài)分析出來并報告給網(wǎng)絡(luò)管理系統(tǒng),,以便系統(tǒng)根據(jù)變量的當(dāng)前狀態(tài)及時對其作出調(diào)整,。
3.3 病毒及非法軟件檢測模塊的設(shè)計
本系統(tǒng)中主機感染病毒或運行非法軟件功能的實現(xiàn)是在拓撲發(fā)現(xiàn)結(jié)果的基礎(chǔ)上,對管理員指定子網(wǎng)內(nèi)的所有主機進行運行軟件數(shù)據(jù)采集,,將各主機中正在運行的軟件名稱和管理員指定的軟件名稱進行對比,,最終排查出該子網(wǎng)內(nèi)具體有哪些主機運行了指定的軟件,并將排查結(jié)果存入相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,,以直觀圖的形式顯示出來,。具體流程圖如圖3所示。
4 系統(tǒng)性能測試[3]
4.1 流量分析功能測試
本系統(tǒng)對網(wǎng)絡(luò)中指定路由器各性能參數(shù)進行實時采集分析,,將分析結(jié)果以曲線圖的形式顯示出來,,如圖4所示。圖4中,,細線表示接口入流量速率,,粗線表示接口出流量速率。與同類產(chǎn)品(如華為Quideway)比較,,發(fā)現(xiàn)該流量實時采集模塊采集分析結(jié)果與成熟網(wǎng)管軟件分析結(jié)果無實質(zhì)性差別,,能夠及時給網(wǎng)管人員提供有效信息數(shù)據(jù),該模塊具有正確性和可用性,。
4.2 流量預(yù)測功能測試
在流量采集分析的基礎(chǔ)上運行系統(tǒng)性能預(yù)測功能,,結(jié)果如圖5所示。該部分流量預(yù)測模塊是在圖4接口流量采集分析基礎(chǔ)上,利用了一元線性回歸模型和區(qū)間預(yù)測算法,,計算分析將來某一時刻接口的可能流量范圍和流量發(fā)展趨勢,。本系統(tǒng)默認該預(yù)測分析算法的置信度為1-α=0.95,系統(tǒng)流量預(yù)測結(jié)果與運用數(shù)學(xué)工具計算分析結(jié)果相吻合,,系統(tǒng)具有正確性,。
通過本系統(tǒng)在某高校試運行,結(jié)果顯示該部分預(yù)測分析功能模塊能夠幫助網(wǎng)絡(luò)管理員采用數(shù)學(xué)分析方法對網(wǎng)絡(luò)流量進行及時預(yù)測,,進而使得網(wǎng)絡(luò)管理人員可及時發(fā)現(xiàn)網(wǎng)絡(luò)問題并采取進一步措施,,取得理想效果,該模塊功能具有實用性和可靠性,。
4.3 主機運行非法軟件及感染病毒模塊性能測試
運行該部分功能對指定子網(wǎng)內(nèi)所有主機運行QQ應(yīng)用程序進行排查,,系統(tǒng)運行結(jié)果如圖6所示。
通過具體的實地調(diào)查發(fā)現(xiàn),,該子網(wǎng)內(nèi)所有用戶在該時刻運行主機應(yīng)用軟件情況與系統(tǒng)運行結(jié)果完全吻合,,由此可見該系統(tǒng)具有正確性和有效性。本部分功能模塊有助于網(wǎng)絡(luò)管理員限制某些對網(wǎng)絡(luò)流量產(chǎn)生破壞的非法軟件或病毒運行,,將子網(wǎng)內(nèi)運行非法軟件或病毒的所有主機排查出來,,網(wǎng)絡(luò)管理員可根據(jù)具體情況對這些主機用戶進行警告等處理。
本文深入地分析了SNMP簡單網(wǎng)絡(luò)管理協(xié)議,,結(jié)合校園網(wǎng)網(wǎng)絡(luò)管理需求的特點,,設(shè)計并實現(xiàn)了一個基于SNMP的網(wǎng)絡(luò)管理系統(tǒng)。在本系統(tǒng)的設(shè)計與研究過程中,,系統(tǒng)性分析了SNMP協(xié)議的原理,、網(wǎng)絡(luò)管理的關(guān)鍵技術(shù)以及拓撲發(fā)現(xiàn)算法,給出了一種融合二叉排序樹策略和三層交換機發(fā)現(xiàn)策略的拓撲發(fā)現(xiàn)算法,,能夠發(fā)現(xiàn)網(wǎng)絡(luò)中三層交換機和子網(wǎng)內(nèi)所有主機,并對拓撲發(fā)現(xiàn)的結(jié)果進行圖形化顯示,。在網(wǎng)絡(luò)拓撲發(fā)現(xiàn)結(jié)果的基礎(chǔ)上,,進一步設(shè)計并實現(xiàn)了配置管理、性能管理,、流量排序,、病毒及非法軟件檢測等功能模塊。該網(wǎng)絡(luò)管理系統(tǒng)已經(jīng)在北航計算機學(xué)院教學(xué)實驗中心試運行并取得了較好的效果,。
參考文獻
[1] MARK A,, MILLER P E. Managing internetwords with SNMP[M]. 北京:中國水利水電出版社,2001.
[2] CASE J,, HARRINGTON D. Message processing and dispatching for the simple network management protocol,, RFC2272[S]. January, 1998:82-135.
[3] ANALUCIA S M,, LIUZ F K,, CARLOS B W. Performance evaluation for proactive network management[J]. ICC,, 2006(6):22-36.