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