何 鵬
(中原工學院,河南 鄭州 450007)
目前市面上有很多商品化網管軟件,如IBM公司的NetView、HP公司的 OpenView、SUN公司的 Sun NetManager等,這些網絡管理軟件盡管功能很強大,但提供的是一個通用的網絡管理平臺,對于具體校園網管理應用,還得進行進一步的規劃和開發。因此,迫切需要開發一個適用于高校校園網的網絡管理系統對日常的網絡設備和網絡運行情況進行監督與維護。
本網絡管理系統的總體設計目標就是要構建一個基于SNMP的多代理的統一管理、簡便直觀、兼容不同廠商設備、能夠實現網絡拓撲結構發現、配置管理、性能管理等功能,并針對校園網上機特點,實現對所有運行主機的管理。具體內容如下:
(1)網絡拓撲結構發現
找出路由器與路由器、路由器與子網之間的連接關系,并發現所有子網中活動的IP設備,區分出路由器、交換機和普通主機。對網絡拓撲發現結果進行圖形化顯示。
(2)配置管理
本系統的配置管理主要實現路由器(或三層交換機)的配置管理和主機的配置管理。路由器配置管理具體包括獲取路由器的常規配置參數(如設備類型、負責人、支持服務、所在位置等),獲取路由表信息、地址表信息、地址轉發表信息、接口表信息以及接口狀態表信息等。主機配置管理包括查看主機的基本信息、安裝軟件信息、運行軟件信息、存儲器信息、硬件設備信息等主機資源信息。
(3)性能管理
對代理設備的原始性能數據進行實時采集。對采集到的性能數據進行分析,計算接口流量、協議流量等各種性能參數,為管理員提供參考。
查詢某一時段代理設備的性能參數,生成性能曲線,以直觀圖的方式顯示性能分析結果。
根據某一時段代理設備的性能分析結果,對網絡性能進行分析預測,并以直觀圖的形式顯示出來,為網絡管理員采取進一步措施提供依據。
(4)流量排序
流量排序分為接口流量排序和主機流量排序。接口流量排序是對網絡中所有發現的接口進行流量采集并排序,將結果以直觀圖的形式顯示出來,供管理員查看。主機流量排序對網絡中某一子網內所有主機流量進行實時采集并排序,將結果以直觀圖的形式顯示出來,供管理員查看。
(5)病毒及非法軟件檢測
對網絡中某一子網內所有主機進行病毒或非法軟件排查工作,找出該子網內所有運行指定軟件名稱的主機,并將結果以直觀圖的形式顯示出來,供管理員查看。
本網絡管理系統以SNMP網絡管理協議的管理者/代理模型為基礎[1],以 HP公司的 SNMP++為數據采集工具,采用分層的方法,面向系統的不同功能設計而成。
該系統分為三個部分如圖1所示:底層數據通信、中間層數據處理與上層數據表示。底層數據通信部分負責實現管理者與被管設備之間的通信,獲取代理設備中MIB庫的有用信息,并把采集到的數據送往上層。中間層數據處理部分負責對采集到的網絡信息進行處理,將相應的處理結果傳給上層管理應用層進行顯示。上層為數據表示層,對網絡的配置管理、性能管理等功能模塊以表格和可視化的圖形界面顯示,簡潔直觀。

基于SNMP協議的算法實際上是提取MIB中ipRouteTable(路由表)中的對象,類似于圖論中的廣度優先遍歷算法實現網絡拓撲的自動搜索[2]。
設計路由發現算法時主要用到了三條鏈表:待檢路由設備鏈表、拓撲信息鏈表、子網信息鏈表。基于SNMP的拓撲發現算法通常是使用一個種子路由器,獲取其路由表內記錄的所有可達網段,以及到達該網段所經由的下一跳路由器的端口IP地址及相關路由信息,然后將繼續擴展其搜索,一直達到用戶指定的深度為止。同時種子路由器還可以獲取到每個路由設備上所有端口的直連子網及其相應的子網掩碼,根據這些信息,進而獲取到這些子網中的所有活動主機。如果這些設備支持SNMP,則還可以進一步收集系統和IP地址信息。總之,只要給出一個路由設備任意端口的IP地址作為種子路由器 (通常使用本地網關的IP地址作為種子路由器的地址),即可獲取到指定深度內的所有路由設備及活動主機的網絡拓撲結構信息。
(1)默認網關的獲取
拓撲發現算法首先是從網絡管理站的默認網關開始,逐步遍歷默認網關的路由表和地址解析表,最終發現整個網絡的拓撲結構。本系統獲取默認網關是采取這樣的方法:首先,訪問拓撲發現程序所在計算機的SNMP MIB中的 ipRouteTable,如果發現有 ipRouteDest值為0.0.0.0的記錄,則說明程序所在的計算機設置了默認網關,該記錄的ipRouteNextHop值即為默認網關的地址。檢查默認網關的ipForwarding值,如果為 1,則表明該默認網關確實是路由設備,否則不是。
(2)設備類型判斷
利用SNMP協議,提取MIB中的sysservices對象實例值,然后根據返回的值判斷類型。如果目的設備不返回SNMP響應報文或響應超時,則認為設備沒有配置SNMP,類型為一般工作站。

在區分交換機和其他主機時,可根據sysservice變量和IpForwarding變量。sysservice變量的值可以確定設備工作在第幾層,IpForwarding確定設備是否具有轉發功能,如果IpForwarding不為 1,且 sysservice為 1,則 Device為交換機,如果不能獲取到sysservice和IpForwarding變量,或者IpForwarding和sysservice是其他組合,則為一般主機。
(3)路由器多IP地址問題
由于路由器可以連接多個子網,具有多個接口,即一個路由器可能含有多個IP地址。為了準確標識具有多個接口的路由器,避免重復,本算法通過訪問路由器的地址表獲得路由器的所有接口,這樣可以根據當前路由器的IP是否在已經遍歷過的路由器接口列表中來判斷。


本系統默認預測分析算法的置信度為 1-α=0.95。在性能參數采集分析結果的基礎上對性能參數的變化趨勢進行預測。
圖2是該模塊的性能預測流程圖。

圖2 性能預測流程圖
圖2中,數據差分處理主要是有一些變量是逐漸增加的(如某接口的流出字節數),而系統關心的是兩次流出字節數的差值,數據處理就是算出差值。趨勢分析主要是計算出分析期間內的一元回歸直線,以便在用戶界面上顯示出來時,網絡管理者很容易看出它的增減趨勢。而狀態分析主要是將系統關心的一些變量的狀態分析出來并報告給網絡管理系統,以便系統根據變量的當前狀態及時對其作出調整。
本系統中主機感染病毒或運行非法軟件功能的實現是在拓撲發現結果的基礎上,對管理員指定子網內的所有主機進行運行軟件數據采集,將各主機中正在運行的軟件名稱和管理員指定的軟件名稱進行對比,最終排查出該子網內具體有哪些主機運行了指定的軟件,并將排查結果存入相應的數據結構中,以直觀圖的形式顯示出來。具體流程圖如圖3所示。

圖3 病毒及非法軟件檢測流程圖
本系統對網絡中指定路由器各性能參數進行實時采集分析,將分析結果以曲線圖的形式顯示出來,如圖4所示。圖4中,細線表示接口入流量速率,粗線表示接口出流量速率。與同類產品(如華為Quideway)比較,發現該流量實時采集模塊采集分析結果與成熟網管軟件分析結果無實質性差別,能夠及時給網管人員提供有效信息數據,該模塊具有正確性和可用性。

在流量采集分析的基礎上運行系統性能預測功能,結果如圖5所示。該部分流量預測模塊是在圖4接口流量采集分析基礎上,利用了一元線性回歸模型和區間預測算法,計算分析將來某一時刻接口的可能流量范圍和流量發展趨勢。本系統默認該預測分析算法的置信度為1-α=0.95,系統流量預測結果與運用數學工具計算分析結果相吻合,系統具有正確性。

通過本系統在某高校試運行,結果顯示該部分預測分析功能模塊能夠幫助網絡管理員采用數學分析方法對網絡流量進行及時預測,進而使得網絡管理人員可及時發現網絡問題并采取進一步措施,取得理想效果,該模塊功能具有實用性和可靠性。
運行該部分功能對指定子網內所有主機運行QQ應用程序進行排查,系統運行結果如圖6所示。
通過具體的實地調查發現,該子網內所有用戶在該時刻運行主機應用軟件情況與系統運行結果完全吻合,由此可見該系統具有正確性和有效性。本部分功能模塊有助于網絡管理員限制某些對網絡流量產生破壞的非法軟件或病毒運行,將子網內運行非法軟件或病毒的所有主機排查出來,網絡管理員可根據具體情況對這些主機用戶進行警告等處理。

本文深入地分析了SNMP簡單網絡管理協議,結合校園網網絡管理需求的特點,設計并實現了一個基于SNMP的網絡管理系統。在本系統的設計與研究過程中,系統性分析了SNMP協議的原理、網絡管理的關鍵技術以及拓撲發現算法,給出了一種融合二叉排序樹策略和三層交換機發現策略的拓撲發現算法,能夠發現網絡中三層交換機和子網內所有主機,并對拓撲發現的結果進行圖形化顯示。在網絡拓撲發現結果的基礎上,進一步設計并實現了配置管理、性能管理、流量排序、病毒及非法軟件檢測等功能模塊。該網絡管理系統已經在北航計算機學院教學實驗中心試運行并取得了較好的效果。
[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.