作者:鄭文俊,李強(qiáng),馬東堂
目前通信網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,通信網(wǎng)絡(luò)使用的設(shè)備也越來越復(fù)雜,隨著網(wǎng)絡(luò)的大型化與復(fù)雜化,如何有效地進(jìn)行網(wǎng)絡(luò)管理日益成為人們普遍關(guān)注的問題。ISO定義的網(wǎng)絡(luò)管理包含五個功能域:配置管理、故障管理、性能管理、安全管理和計費管理,其中性能管理的目標(biāo)是優(yōu)化網(wǎng)絡(luò)性能,提高運行質(zhì)量。性能管理是測試組成網(wǎng)絡(luò)各個單元性能的過程,它包括測試網(wǎng)絡(luò)連接和當(dāng)前網(wǎng)絡(luò)段利用率、識別可能發(fā)生擁塞域、杜絕高出錯率和檢測網(wǎng)絡(luò)傳輸狀態(tài)等,幫助用戶解決當(dāng)前網(wǎng)絡(luò)存在的問題。
目前典型的網(wǎng)絡(luò)管理標(biāo)準(zhǔn)主要有兩大體系:OSI的CMIS(Common Management Information Service,公共管理信息服務(wù))/CMIP(Common Management In-formation Protocol,公共管理信息協(xié)議)和IETF的SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)。SNMP由于易于實現(xiàn)和廣泛的TCP/IP應(yīng)用基礎(chǔ)而獲得廠商的支持。而且,由于SNMP不斷完善,SNMP中的安全問題也得到了一定程度的解決,使SNMP得到更快的發(fā)展。
1 SNMP網(wǎng)絡(luò)管理模型
SNMP網(wǎng)絡(luò)管理模型包括四個關(guān)鍵性部件:管理站、管理代理、管理信息庫和網(wǎng)絡(luò)管理協(xié)議,如圖1所示。
(1)管理站(Manager)是一個獨立的設(shè)備或者是一個共享網(wǎng)絡(luò)中的一員,為管理者和網(wǎng)絡(luò)管理系統(tǒng)提供接口。
(2)管理代理(Agent),一般廠家的網(wǎng)絡(luò)產(chǎn)品如路由器、交換機(jī)等在出廠時都已配置好相關(guān)的SNMP管理代理,對于不支持SNMP協(xié)議的設(shè)備,可以開發(fā)委托代理(proxy agent)來支持SNMP協(xié)議。管理代理的功能是響應(yīng)從網(wǎng)管站發(fā)出的讀取請求(Get)和設(shè)置請求(Set),并且給網(wǎng)管站發(fā)送事件及告警信息(Trap)。
(3)管理信息庫(MIB)存放了該設(shè)備上被管對象資源的所有信息,每個被管對象有一個惟一對象的對象標(biāo)識符(OID)。
(4)SNMP網(wǎng)絡(luò)管理協(xié)議主要具有以下三個功能:取值(Get)使網(wǎng)管站能夠從代理處獲取相關(guān)對象的值;設(shè)置值(Set)使網(wǎng)管站能夠在代理上設(shè)置相關(guān)對象的值;告警信息(Trap)使代理能夠通知管理站、代理端(Agent)的管理信息庫MIB值的重大變化以及其他重要事件發(fā)出。
2 性能管理模塊的設(shè)計
2.1 性能管理模塊基本結(jié)構(gòu)
根據(jù)上述對SNMP網(wǎng)絡(luò)管理模型的討論,設(shè)計了一種性能管理模塊的基本結(jié)構(gòu),如圖2所示。該性能管理模塊主要包括性能數(shù)據(jù)采集、性能分析和數(shù)據(jù)管理存儲三個部分。其中,數(shù)據(jù)管理存儲主要是針對數(shù)據(jù)庫管理的具體技術(shù),這里主要討論性能數(shù)據(jù)采集和性能分析技術(shù)及其實現(xiàn)問題。
2.2 性能數(shù)據(jù)采集
性能數(shù)據(jù)的采集方式主要有三種:循環(huán)定時模式、實時模式和事件驅(qū)動模式。
循環(huán)定時模式 預(yù)先配置好定時時間間隔,由服務(wù)器端進(jìn)行采集,采集的數(shù)據(jù)存入數(shù)據(jù)庫,也可以根據(jù)需要同時發(fā)往控制臺,用于統(tǒng)計分析的性能參數(shù)主要采用該模式進(jìn)行數(shù)據(jù)采集。
實時模式 由用戶在控制臺進(jìn)行操作,用于采集被管設(shè)備的當(dāng)前性能數(shù)據(jù),采集的數(shù)據(jù)馬上送回用戶界面,控制臺程序在判斷其是否超過閾值后,將數(shù)據(jù)以某種形式實時呈現(xiàn)給用戶,本類數(shù)據(jù)主要用于監(jiān)測當(dāng)前性能,一般不存儲到數(shù)據(jù)庫,不作為歷史數(shù)據(jù)進(jìn)行查詢。事件驅(qū)動模式 通過對關(guān)鍵事件的預(yù)定義,Agent在這些事件發(fā)生時,向管理者發(fā)送Trap報文。事件驅(qū)動對監(jiān)視狀態(tài)變化不很頻繁的對象時用處很大,并且可以在網(wǎng)絡(luò)設(shè)備發(fā)生異常情況時,及時向管理者發(fā)出報警信息。
2.3 性能分析
性能分析一般分為歷史性能分析和實時性能分析。歷史性能分析包括對歷史信息(如:性能日志及性能報告等)的查詢、檢索,從數(shù)據(jù)庫提取性能歷史數(shù)據(jù),進(jìn)行分析、計算性能指標(biāo),再經(jīng)過統(tǒng)計和整理,以直觀的圖形顯示和表數(shù)據(jù)來反映性能分析的結(jié)果,并生成性能日志,管理員可以設(shè)定時間范圍,選擇該時間段內(nèi)設(shè)備的某種屬性信息進(jìn)行統(tǒng)計,還可以選用各種圖形顯示方式,直觀地查看性能狀態(tài)。
實時性能分析 提供實時數(shù)據(jù)采集、分析和可視化的工具(如MIB瀏覽器),可以對流量、負(fù)載、丟包、設(shè)備溫度、內(nèi)存利用率、網(wǎng)絡(luò)延遲等網(wǎng)絡(luò)設(shè)備和線路的性能指標(biāo)進(jìn)行實時監(jiān)控,并可設(shè)置數(shù)據(jù)采集的時間間隔。
3 性能管理模塊的編程實現(xiàn)
在性能管理模塊的開發(fā)過程中,可利用SNMP++類庫來實現(xiàn)數(shù)據(jù)采集模塊的開發(fā),SNMP++是由HP公司提供的一個開放的軟件包,它能夠較好地實現(xiàn)SNMP協(xié)議,利用它的成員函數(shù)get(),getnext(),get-bulk(),set(),trap()可以編程實現(xiàn)對設(shè)備和主機(jī)性能數(shù)據(jù)的采集。SNMP++提供跨平臺可移植的API。任何使用SNMP++編寫的網(wǎng)絡(luò)管理應(yīng)用程序,不需要做任何改變就可以移植到其它平臺。SNMP++在Target類中提供了超時和重傳機(jī)制,直接設(shè)置參數(shù)就可以實現(xiàn)超時和重傳功能。同時SNMP++可以運行在各種不同協(xié)議之上,它采用面向?qū)ο蟮脑O(shè)計方法,把WinSNMP的API函數(shù)封裝成一個個相關(guān)的類,大大簡化了SNMP網(wǎng)絡(luò)管理軟件開發(fā)的復(fù)雜性和開發(fā)難度。以下給出網(wǎng)絡(luò)性能管理的部分關(guān)鍵對象(表1)和性能參數(shù)的計算公式。大多MIB組都提供性能數(shù)據(jù)變量。
端口狀態(tài)ifOperStatus有三種取值,1(up)代表當(dāng)前接口正處于使用狀態(tài);2(down)代表當(dāng)前接口處于關(guān)閉狀態(tài);3(test)代表接口正處于測試狀態(tài)。
端口當(dāng)前狀態(tài)保持時間=sysUpTime—if-LastChange
對于一段時間丁內(nèi),MIB變量值的變化:△(MIB-variable)=MIB-Value(t1)-MIB-Value(t0)
接口收到的包的總數(shù):TOTAL_INPUT_PACK-ETS=△ifInUcastPkts+△ifInNUcastPkts
發(fā)出的包的總數(shù):TOTAL_OUTPUT_PACK-ETS=△ifOutUcastPkts+△ifOutNUcastPkts
輸入丟包率=△ifInDiscards/(△ifInUcastPkts+△ifInNUcastPkts)*100%
輸出丟包率=△ifOutDiscards/(△ifInUcastPkts+△ifInNUcastPkts)*100%
輸入差錯率=△ifInErrors/(△ifInUcastPkts+△ifInNUcastPkts)*100%
輸出差錯率=△ifOutErrors/(△ifOutUcastPkts +△ifOutNUcastPkts)*100%
接口輸入流量=ifInOctets*8/sysUpTime
接口輸出流量=ifOutOctets*8/sysUpTime
接口利用率=((△ifInOctes+△ifOUtOetets)*8)/(T*ifSpeed)*100%
同樣可以計算其他參數(shù),如:
IP吞吐量=(△ipInRecieves+△ipOutRequests+△ipForwDatagrams)/T
UDP吞吐量=(△udpInDatagrams+△udpNoPorts+△udpInErrors+△udpOutDatagrams)/T
下面給出了SNMP++編程的關(guān)鍵步驟(標(biāo)“*”):
4 結(jié) 語
基于目前廣泛應(yīng)用的SNMP設(shè)計了網(wǎng)絡(luò)管理系統(tǒng)中的性能管理模塊,采用HP公司提供的SNMP++類庫和編程工具Visual C++進(jìn)行了具體實現(xiàn),該工具可以作為復(fù)雜通信網(wǎng)絡(luò)管理系統(tǒng)設(shè)計和實現(xiàn)的參考。隨著網(wǎng)絡(luò)技術(shù)的進(jìn)一步發(fā)展,開放、異構(gòu)的復(fù)雜網(wǎng)絡(luò)管理系統(tǒng)將成為進(jìn)一步研究的重點。
責(zé)任編輯:gt
-
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
5808瀏覽量
113423 -
交換機(jī)
+關(guān)注
關(guān)注
20文章
2610瀏覽量
99093 -
路由器
+關(guān)注
關(guān)注
22文章
3693瀏覽量
113426
發(fā)布評論請先 登錄
相關(guān)推薦
評論