何 鵬
(中原工學(xué)院,河南 鄭州 450007)
目前市面上有很多商品化網(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)督與維護。
本網(wǎng)絡(luò)管理系統(tǒng)的總體設(shè)計目標(biāo)就是要構(gòu)建一個基于SNMP的多代理的統(tǒng)一管理、簡便直觀、兼容不同廠商設(shè)備、能夠?qū)崿F(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)現(xiàn)、配置管理、性能管理等功能,并針對校園網(wǎng)上機特點,實現(xiàn)對所有運行主機的管理。具體內(nèi)容如下:
(1)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)現(xiàn)
找出路由器與路由器、路由器與子網(wǎng)之間的連接關(guān)系,并發(fā)現(xiàn)所有子網(wǎng)中活動的IP設(shè)備,區(qū)分出路由器、交換機和普通主機。對網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)結(jié)果進行圖形化顯示。
(2)配置管理
本系統(tǒng)的配置管理主要實現(xiàn)路由器(或三層交換機)的配置管理和主機的配置管理。路由器配置管理具體包括獲取路由器的常規(guī)配置參數(shù)(如設(shè)備類型、負(fù)責(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é)果以直觀圖的形式顯示出來,供管理員查看。
本網(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ù)通信部分負(fù)責(zé)實現(xiàn)管理者與被管設(shè)備之間的通信,獲取代理設(shè)備中MIB庫的有用信息,并把采集到的數(shù)據(jù)送往上層。中間層數(shù)據(jù)處理部分負(fù)責(zé)對采集到的網(wǎng)絡(luò)信息進行處理,將相應(yīng)的處理結(jié)果傳給上層管理應(yīng)用層進行顯示。上層為數(shù)據(jù)表示層,對網(wǎng)絡(luò)的配置管理、性能管理等功能模塊以表格和可視化的圖形界面顯示,簡潔直觀。
基于SNMP協(xié)議的算法實際上是提取MIB中ipRouteTable(路由表)中的對象,類似于圖論中的廣度優(yōu)先遍歷算法實現(xiàn)網(wǎng)絡(luò)拓?fù)涞淖詣铀阉鱗2]。
設(shè)計路由發(fā)現(xiàn)算法時主要用到了三條鏈表:待檢路由設(shè)備鏈表、拓?fù)湫畔㈡湵怼⒆泳W(wǎng)信息鏈表?;赟NMP的拓?fù)浒l(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地址信息。總之,只要給出一個路由設(shè)備任意端口的IP地址作為種子路由器 (通常使用本地網(wǎng)關(guān)的IP地址作為種子路由器的地址),即可獲取到指定深度內(nèi)的所有路由設(shè)備及活動主機的網(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)整個網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。本系統(tǒng)獲取默認(rèn)網(wǎng)關(guān)是采取這樣的方法:首先,訪問拓?fù)浒l(fā)現(xiàn)程序所在計算機的SNMP MIB中的 ipRouteTable,如果發(fā)現(xiàn)有 ipRouteDest值為0.0.0.0的記錄,則說明程序所在的計算機設(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è)備,否則不是。
(2)設(shè)備類型判斷
利用SNMP協(xié)議,提取MIB中的sysservices對象實例值,然后根據(jù)返回的值判斷類型。如果目的設(shè)備不返回SNMP響應(yīng)報文或響應(yīng)超時,則認(rèn)為設(shè)備沒有配置SNMP,類型為一般工作站。
在區(qū)分交換機和其他主機時,可根據(jù)sysservice變量和IpForwarding變量。sysservice變量的值可以確定設(shè)備工作在第幾層,IpForwarding確定設(shè)備是否具有轉(zhuǎn)發(fā)功能,如果IpForwarding不為 1,且 sysservice為 1,則 Device為交換機,如果不能獲取到sysservice和IpForwarding變量,或者IpForwarding和sysservice是其他組合,則為一般主機。
(3)路由器多IP地址問題
由于路由器可以連接多個子網(wǎng),具有多個接口,即一個路由器可能含有多個IP地址。為了準(zhǔn)確標(biāo)識具有多個接口的路由器,避免重復(fù),本算法通過訪問路由器的地址表獲得路由器的所有接口,這樣可以根據(jù)當(dāng)前路由器的IP是否在已經(jīng)遍歷過的路由器接口列表中來判斷。
本系統(tǒng)默認(rèn)預(yù)測分析算法的置信度為 1-α=0.95。在性能參數(shù)采集分析結(jié)果的基礎(chǔ)上對性能參數(shù)的變化趨勢進行預(yù)測。
圖2是該模塊的性能預(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)整。
本系統(tǒng)中主機感染病毒或運行非法軟件功能的實現(xiàn)是在拓?fù)浒l(fā)現(xiàn)結(jié)果的基礎(chǔ)上,對管理員指定子網(wǎng)內(nèi)的所有主機進行運行軟件數(shù)據(jù)采集,將各主機中正在運行的軟件名稱和管理員指定的軟件名稱進行對比,最終排查出該子網(wǎng)內(nèi)具體有哪些主機運行了指定的軟件,并將排查結(jié)果存入相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,以直觀圖的形式顯示出來。具體流程圖如圖3所示。
圖3 病毒及非法軟件檢測流程圖
本系統(tǒng)對網(wǎng)絡(luò)中指定路由器各性能參數(shù)進行實時采集分析,將分析結(jié)果以曲線圖的形式顯示出來,如圖4所示。圖4中,細(xì)線表示接口入流量速率,粗線表示接口出流量速率。與同類產(chǎn)品(如華為Quideway)比較,發(fā)現(xiàn)該流量實時采集模塊采集分析結(jié)果與成熟網(wǎng)管軟件分析結(jié)果無實質(zhì)性差別,能夠及時給網(wǎng)管人員提供有效信息數(shù)據(jù),該模塊具有正確性和可用性。
在流量采集分析的基礎(chǔ)上運行系統(tǒng)性能預(yù)測功能,結(jié)果如圖5所示。該部分流量預(yù)測模塊是在圖4接口流量采集分析基礎(chǔ)上,利用了一元線性回歸模型和區(qū)間預(yù)測算法,計算分析將來某一時刻接口的可能流量范圍和流量發(fā)展趨勢。本系統(tǒng)默認(rèn)該預(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ò)問題并采取進一步措施,取得理想效果,該模塊功能具有實用性和可靠性。
運行該部分功能對指定子網(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ù)浒l(fā)現(xiàn)算法,給出了一種融合二叉排序樹策略和三層交換機發(fā)現(xiàn)策略的拓?fù)浒l(fā)現(xiàn)算法,能夠發(fā)現(xiàn)網(wǎng)絡(luò)中三層交換機和子網(wǎng)內(nèi)所有主機,并對拓?fù)浒l(fā)現(xiàn)的結(jié)果進行圖形化顯示。在網(wǎng)絡(luò)拓?fù)浒l(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 forthe simple network managementprotocol,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.