基于SNMP協(xié)議的電信網(wǎng)絡(luò )監測系統的實(shí)現

發(fā)布時(shí)間:2010-7-30 13:45    發(fā)布者:lavida
關(guān)鍵詞: SNMP , 電信 , 網(wǎng)絡(luò )監測
摘要隨著(zhù)電信行業(yè)數據業(yè)務(wù)的不斷發(fā)展,數據網(wǎng)絡(luò )監測和管理的復雜性將不斷增加,對實(shí)時(shí)的電信網(wǎng)絡(luò )監測系統的需求也越來(lái)越強烈。文章介紹了一個(gè)基于簡(jiǎn)單網(wǎng)絡(luò )管理協(xié)議(SNMP)的網(wǎng)絡(luò )監測和管理系統的設計過(guò)程。系統主要使用SNMP協(xié)議,對電信網(wǎng)絡(luò )主要是IP網(wǎng)絡(luò )進(jìn)行全面監測及Web呈現。
  
0、引言

當今社會(huì )對網(wǎng)絡(luò )的安全和網(wǎng)絡(luò )性能要求越來(lái)越高,與此同時(shí),電信業(yè)務(wù)的蓬勃發(fā)展、數據網(wǎng)絡(luò )的日益壯大,對網(wǎng)絡(luò )特別是電信網(wǎng)絡(luò )進(jìn)行監測和管理軟件的需求也就越來(lái)越強烈。正是由于這種強烈的需求,越來(lái)越多的企業(yè)開(kāi)始致力于網(wǎng)絡(luò )監測管理軟件的設計和生產(chǎn)。

網(wǎng)絡(luò )監測管理在近幾年發(fā)展非常迅速,眾多網(wǎng)絡(luò )監管軟件紛紛浮出水面?傮w來(lái)說(shuō),現階段較流行的網(wǎng)絡(luò )監管軟件主要有以下三種實(shí)現方式:基于嵌入式、基于移動(dòng)代理技術(shù)[1,2]和直接基于系統協(xié)議?紤]到本系統面向電信網(wǎng)絡(luò )以及實(shí)現的復雜程度,我們采用第三種方式來(lái)對系統進(jìn)行實(shí)現。

當前,有兩種網(wǎng)絡(luò )管理協(xié)議在計算機網(wǎng)絡(luò )管理中占主導地位:一種是開(kāi)放系統互連組織(OSI)提出的公共管理信息及協(xié)議(CMIS/CMIP);另一種是Internet工程任務(wù)組(IETF)提出的簡(jiǎn)單網(wǎng)絡(luò )管理協(xié)議(SNMP)[3,4]。IETF指定的SNMP協(xié)議顯得簡(jiǎn)單實(shí)用,容易實(shí)現,因而被迅速地推廣開(kāi)來(lái),得到了廣泛支持。

SNMP是在TCP/IP協(xié)議棧之上的應用層協(xié)議,由三個(gè)部分組成:管理信息結構(SMI)、管理信息庫(MIB)和SNMP協(xié)議[5]。SNI描述了管理信息的標準符號,最關(guān)鍵的原則是被管理對象的定義要用抽象語(yǔ)句定義ASN.1來(lái)描述。MIB用來(lái)貯存管理信息,可把一個(gè)管理信息庫比作一個(gè)虛擬的信息倉庫。SNMP協(xié)議是網(wǎng)絡(luò )管理站(manager)和代理(agent)之間的異步請求和響應協(xié)議。網(wǎng)絡(luò )管理信息的數據由SNMP從MIB庫中獲取,再經(jīng)過(guò)網(wǎng)絡(luò )管理系統應用程序的過(guò)濾、分析、加工處理后,存儲于Web服務(wù)器的數據庫中。

本文介紹的是基于SNMP協(xié)議和Web呈現的對電信網(wǎng)絡(luò )主要是IP網(wǎng)絡(luò )進(jìn)行全面監測的監測平臺。此監測平臺可用于企業(yè)內部局域網(wǎng)絡(luò )的監測和管理,也可用于一個(gè)包含多個(gè)局域網(wǎng)絡(luò )組的統一網(wǎng)絡(luò ),是一個(gè)全面的網(wǎng)絡(luò )監測軟件。

1、系統結構設計

1.1系統的物理部屬

系統中的實(shí)體有:根監測器、數據庫服務(wù)器、Web服務(wù)器,在各個(gè)子網(wǎng)中再采用葉監測器的方式從而形成一個(gè)監測器樹(shù)的分布式監測系統。監測器分布式地部署在各個(gè)被監測的數據網(wǎng)內。每個(gè)監測器負責一個(gè)網(wǎng)段(可以使用手工來(lái)設置)。監測器探針(以下簡(jiǎn)稱(chēng)探針)將自己負責的網(wǎng)段中設備所有的SNMP信息以輪詢(xún)的方式采集下來(lái),并且存儲到數據庫中去。然后使用Web服務(wù)器將客戶(hù)端瀏覽器需要的信息讀取出來(lái),傳遞給瀏覽器端。瀏覽器端根據用戶(hù)的各種要求向Web服務(wù)器提出數據要求,Web服務(wù)器審核后從數據庫中提取需要的信息通過(guò)瀏覽器端顯示給用戶(hù)。

葉監測器部署在各個(gè)規模適當的局域網(wǎng)內,這是出于輪詢(xún)性能的考慮。要保證整個(gè)系統數據采集的高性能,就必須科學(xué)地規劃葉監測器在整個(gè)網(wǎng)絡(luò )中的部署,而在局域網(wǎng)中的部署就是整個(gè)系統的最小單元。本文是基于一個(gè)局域網(wǎng)為背景的測試環(huán)境。

1.2系統三層架構

系統采用三層結構:數據采集層面、數據存儲層面、數據呈現層面。采用數據庫將底層的分布式數據采集和呈現層的瀏覽器/服務(wù)器(B/S)架構完全隔離,增強了系統的可擴展性、穩定性、開(kāi)發(fā)的并行性。SNMP檢測系統的三層架構如圖1所示。


圖1 SNMP檢測系統的三層架構  

其中數據采集層包括SNMP信息采集、Trap信息接受、數據庫入庫、拓撲發(fā)現和守護進(jìn)程等子模塊;數據存儲層包括系統配置表、監測信息表、Trap告警表、拓撲信息表、用戶(hù)權限表、統計信息表、用戶(hù)定制表等子模塊;數據呈現層包括數據庫訪(fǎng)問(wèn)、設備狀態(tài)實(shí)時(shí)顯示、故障告警、性能報告、用戶(hù)定制等子模塊。

1.3系統接口描述

SNMP檢測系統的三層架構中接口描述如圖2所示。


  
圖2系統三層架構中接口描述  

A接口:a)SNMP監測器將所有采集到的準實(shí)時(shí)的數據先存在文件中,然后再導到數據庫,由定時(shí)器(1分鐘)來(lái)觸發(fā)數據傳送模塊,周期地將根監測器中的數據匯集到Oracle數據庫中去。b)如果SNMP監測器接收到網(wǎng)絡(luò )設備所發(fā)來(lái)的Trap信息(實(shí)時(shí)數據),系統使用數據傳送模塊立即將Trap信息送到對應的緊急故障報警數據庫中去。

B接口:Web服務(wù)器從數據庫服務(wù)器中的讀取數據。在數據庫中存儲了三類(lèi)數據:非實(shí)時(shí)數據(最大支持1年)、準實(shí)時(shí)數據(1分鐘)、實(shí)時(shí)數據(小于5秒)。

C接口:將數據庫統計分析模塊所要的數據取出來(lái)。

D接口:位于數據庫統計分析模塊與WebServer之間,接口為數據庫中的各個(gè)統計分析結果表使用XML封裝;并且要支持準實(shí)時(shí)的數據更新;還要實(shí)時(shí)地刷新本在的緊急故障報警數據庫。

E接口:HTTP接口。
  
2、系統的設計和實(shí)現   

2.1系統的開(kāi)發(fā)環(huán)境和工具

本課題使用Linux作為操作系統平臺,使用MagicC++可視化IDE作為開(kāi)發(fā)工具,使用CVS(Linux平臺)和VisualSourceSafe(windows平臺)進(jìn)行代碼和文檔版本控制,使用Oracle進(jìn)行分布式數據庫部屬,前臺的界面呈現部分使用了Apache服務(wù)器以及PHP語(yǔ)言、HTML語(yǔ)言、JavaScript語(yǔ)言等工具。  

2.2SNMP數據采集層的設計和實(shí)現   

SNMP數據采集層主要由五個(gè)模塊所組成,分別是:日志模塊、SNMP采集模塊、Trap消息接收模塊、DEAMON模塊和數據庫接口模塊。其中SNMP采集模塊和Trap消息接收模塊是數據采集層的核心模塊。

2.2.1SNMP數據采集模塊的設計和實(shí)現

SNMP數據采集模塊的主要功能是:從數據庫的系統配置表中的設備監測列表中取出一個(gè)被監測網(wǎng)絡(luò )單元的IP地址,根據配置表中用戶(hù)定制監測項的MIBID來(lái)輪詢(xún)網(wǎng)絡(luò )單元的各個(gè)MIB值,并將值存入鏈表中。等全部MIBID查詢(xún)結束后,將所得到的鏈表存入到對應的數據文件中去,繼續輪詢(xún)下一個(gè)網(wǎng)絡(luò )單元。全部網(wǎng)絡(luò )單元拓撲查詢(xún)結束后,回到等待狀態(tài),使用信號解析子模塊解析信號,以判斷是結束還是繼續查詢(xún),或者是應答監測模塊的監測信號。

SNMP數據采集模塊由6個(gè)子模塊組成,它們分別是系統調度子模塊、MIBID查詢(xún)引擎、文件讀寫(xiě)接口、鏈表操作接口、信號解析接口、數據庫接口。其中最重要的是MIBID查詢(xún)引擎。

MIBID查詢(xún)引擎是通過(guò)使用修改net-snmp軟件包中的snmpget和snmpwalk來(lái)構成的,它可以通過(guò)文件讀寫(xiě)接口將MIB子樹(shù)ID配置文件讀出來(lái),并且按照ID值使用引擎發(fā)出SNMPGETNEXT請求,等待消息回來(lái)。如果不成功,記錄模塊將出錯信息存入到日志文件中去,如果成功完成SNMP查詢(xún)操作,則鏈表操作接口將數據插入到鏈表中。同時(shí)查詢(xún)此次設備輪詢(xún)是否已經(jīng)完成,如果完成,使用文件讀寫(xiě)接口將鏈表存入文件;如果未完成,繼續查詢(xún)。然后,調用信號解析接口按照別的進(jìn)程傳遞過(guò)來(lái)的信號分類(lèi)處理。

2.2.2Trap消息接受模塊的設計和實(shí)現

Trap消息接收模塊的目的是負責接收SNMP發(fā)送來(lái)的Trap消息,并且將此消息即刻寫(xiě)入到數據庫中去。

Trap接收模塊的流程如下:

1)Trap消息以守護進(jìn)程的方式運行于系統中,監測系統的觸發(fā)條件有兩個(gè):a)來(lái)自于所監測網(wǎng)絡(luò )單元的Trap消息。b)來(lái)自于DEAMON進(jìn)程的運行監測信號。

2)下面就是從這兩個(gè)觸發(fā)條件開(kāi)始:

如果是a),那么將這條Trap消息傳給消息包裹函數,打上本監測系統的標記,然后調用入庫模塊將包裹后的信息存入到Trap信息表中去。
如果是b),那么調用監測信號回應子模塊回應監測信號。

2.3SNMP數據呈現層的設計和實(shí)現

SNMP數據呈現層根據功能可以劃分為五個(gè)主要的模塊,分別為:數據庫訪(fǎng)問(wèn)模塊、設備狀態(tài)實(shí)時(shí)顯示模塊、故障實(shí)時(shí)告警模塊、性能報告模塊和用戶(hù)定制模塊。主要利用HTML語(yǔ)言構建頁(yè)面,PHP語(yǔ)言的訪(fǎng)問(wèn)數據庫及繪圖語(yǔ)句實(shí)現了上述五個(gè)模塊的功能。

2.3.1數據庫訪(fǎng)問(wèn)

數據庫訪(fǎng)問(wèn)模塊分為數據庫讀取子模塊和數據庫錄入修改子模塊,主要用到了PHP語(yǔ)言對Oracle數據庫的連接及操作的函數。

2.3.2PHP繪圖語(yǔ)句

性能報告模塊主要使用PHP語(yǔ)言中的繪圖函數如Imagecreate()、Imagecolorallocate()、Imageline()、Imagestring()、Imagerectangle()、Imagefillrectangle()、Imagefontheight()、Imagefontwidth()。通過(guò)這些函數實(shí)現了對設備的主要信息的柱狀圖、曲線(xiàn)圖的顯示,使用戶(hù)對設備的各種信息的變化對比能有一個(gè)直觀(guān)的了解。

3、運行結果及分析

3.1SNMP信息采集模塊運行輸出

通過(guò)遍歷目的主機的SNMPMIB樹(shù)所獲得的結果可看到:a)系統的一些信息,包括系統的版本號、啟動(dòng)時(shí)間、描述、系統名、位置、服務(wù)等信息。b)對此主機系統interface的描述。c)每個(gè)接口的詳細信息,接口的類(lèi)型,接口的最小傳輸單元。

3.2日志模塊輸出

日志模塊的輸出格式,主要包括日志的描述信息、日志輸出的時(shí)間、日志類(lèi)型、日志導出程序、主機標識等信息。

3.3系統界面圖

圖3顯示的是在局域網(wǎng)中進(jìn)行測試的主界面,系統會(huì )根據數據庫中存儲的局域網(wǎng)組信息自動(dòng)生成局域網(wǎng)組的樹(shù)型菜單,由于在局域網(wǎng)中進(jìn)行測試,所以圖顯示的只有一個(gè)局域網(wǎng)組。右邊顯示的是此局域網(wǎng)組的實(shí)時(shí)設備狀態(tài),將鼠標放到設備上,可以看到相應設備信息,點(diǎn)擊設備,可以進(jìn)入詳細信息頁(yè)面,查看此設備的詳細信息。


  
圖3系統主界面  

3.4性能報告曲線(xiàn)圖

本系統可以根據用戶(hù)的需要,對目標網(wǎng)絡(luò )中的各類(lèi)設備,包括交換機、防火墻、路由器、主機、服務(wù)器等進(jìn)行監測,獲取設備的端口信息、流量信息、故障信息以及各種性能信息。圖4顯示的是測試局域網(wǎng)內一個(gè)交換機從12:00~17:00的平均流量曲線(xiàn)圖。同樣的數據還可以用柱狀圖顯示。


圖4交換機平均流量曲線(xiàn)圖  

4、結束語(yǔ)

本文主要論述了SNMP電信網(wǎng)絡(luò )監測系統主要架構,該系統成功實(shí)現了大部分相關(guān)的基本功能,如SNMP信息采集模塊、日志模塊、數據庫接口模塊,以及在各模塊中作為切面抽象出的鏈表操作接口、文件操作接口、SNMPTrap模塊中的Trap消息監聽(tīng)接口,以及通過(guò)Web服務(wù)器的狀態(tài)信息實(shí)時(shí)顯示、故障實(shí)時(shí)告警,圖形化報表顯示、用戶(hù)定制等功能。該系統在SNMP輪詢(xún)效率及呈現美觀(guān)性方面還有待于進(jìn)一步提高。
本文地址:http://selenalain.com/thread-18080-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页