前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的snmp協(xié)議主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞:snmp;網(wǎng)絡(luò)管理
中圖分類(lèi)號(hào):TP393.02 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2011) 18-0000-02
Topology Improved Algorithm Study on SNMP
Xing Hai
(Shanghai Jinjiang Inn Co.,Ltd.,Shanghai201102,China)
Abstract:SNMP topology discovery algorithm is an algorithm for network topology,popular for its ease of use of the original,this article focuses on the shortcomings with the original algorithm proposed improvement ideas.
Keywords:SNMP;Network management
一、SNMP拓?fù)浒l(fā)現(xiàn)技術(shù)簡(jiǎn)介
SNMP(Simple Network Management Protocol)簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議是一種應(yīng)用層協(xié)議,由三個(gè)元素組成:
(一)SNMP管理者:運(yùn)行網(wǎng)絡(luò)管理進(jìn)程的主機(jī),發(fā)送管理者操作的指令給并接收來(lái)自的響應(yīng),負(fù)責(zé)網(wǎng)絡(luò)的全部監(jiān)控和控制工作。
(二)SNMP者:駐扎在被管理設(shè)備中,它將各種與設(shè)備相關(guān)的信息實(shí)時(shí)保存在設(shè)備的MIB中,通過(guò)原語(yǔ)與管理者進(jìn)行通信。
(三)管理信息庫(kù)MIB:用來(lái)標(biāo)識(shí)被管理資源,SNMP通過(guò)查訊MIB中相應(yīng)對(duì)象的值,實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備狀態(tài)監(jiān)控。
SNMP定義了GetRequest,GetNextRequest,SetRequest,GetResponse和Trap5種通信原語(yǔ)實(shí)現(xiàn)信息交互。
二、SNMP拓?fù)湓惴?/p>
MIB庫(kù)中的IP路由表(ipRouteTable)是對(duì)路由表的抽象,原算法就是通過(guò)查找路由表中保存的路由信息來(lái)拓?fù)涞?。算法從網(wǎng)絡(luò)管理者的缺省路由開(kāi)始,采用廣度或深度優(yōu)先遍歷無(wú)向圖的算法對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行遍歷,逐級(jí)找出所有的路由器和子網(wǎng)。
原算法過(guò)程簡(jiǎn)單,系統(tǒng)開(kāi)銷(xiāo)小,存在幾類(lèi)問(wèn)題:
(一)路由器多址問(wèn)題。原SNMP算法把每個(gè)網(wǎng)關(guān)地址都作為獨(dú)立的路由器處理,現(xiàn)實(shí)網(wǎng)絡(luò)中一個(gè)路由器是配有多個(gè)端口地址會(huì)造成拓?fù)浣Y(jié)果偏差。
實(shí)際網(wǎng)絡(luò):
探測(cè)出的網(wǎng)絡(luò):
(二)TimeOut問(wèn)題。有些網(wǎng)絡(luò)出于私密性考慮,會(huì)禁止路由器對(duì)TraceRoute包的探測(cè)報(bào)文響應(yīng),此時(shí)返回“TimeOut”超時(shí)標(biāo)識(shí),造成拓?fù)浣Y(jié)果偏差。
實(shí)際網(wǎng)絡(luò):
探測(cè)出的網(wǎng)絡(luò):
(三)算法效率問(wèn)題。為獲得準(zhǔn)確的網(wǎng)絡(luò)結(jié)構(gòu),拓?fù)浒l(fā)現(xiàn)算法需要對(duì)路由表中的IP地址進(jìn)行逐一探測(cè)。要提高算法執(zhí)行效率,需要進(jìn)行路由表冗余過(guò)濾。對(duì)由表中ipRouteDest的值為255.255.255.255,127.0.0.0的;ipRouteNextHop的值為環(huán)回地址的都要進(jìn)行過(guò)濾。
(四)路由器和三層交換機(jī)的區(qū)分問(wèn)題。有些三層交換機(jī)會(huì)啟路由功能,若在拓?fù)鋾r(shí)不需要區(qū)分設(shè)備類(lèi)型會(huì)造成拓?fù)浣Y(jié)果偏差。
三、SNMP改進(jìn)算法
結(jié)合以上問(wèn)題,有一種改進(jìn)算法,思路如下:
(一)定義一個(gè)vRoute的二叉樹(shù),存放路由器信息。定義一個(gè)subnet數(shù)據(jù)結(jié)構(gòu),存放子網(wǎng)信息。定義一個(gè)cRoute數(shù)據(jù)結(jié)構(gòu),存放和當(dāng)前網(wǎng)絡(luò)連接的網(wǎng)絡(luò)信息。
(二)將當(dāng)前機(jī)器的默認(rèn)網(wǎng)關(guān)作為種子節(jié)點(diǎn)初始化,將IP地址轉(zhuǎn)化為字符串后插入到二叉樹(shù)中。(例如:IP地址為10.0.1.100,轉(zhuǎn)換為1001100)
(三)當(dāng)前路由器的所有端口地址寫(xiě)入到二叉樹(shù)中。
(四)訪問(wèn)當(dāng)前路由器中的路由表,得到每一項(xiàng)ipRouteNextHop和ipRouteType,字符串轉(zhuǎn)化后不重復(fù)的插入到二叉樹(shù)。遇到ipRouteDest指向自己,ipRouteNextHop的值為環(huán)回地址,ipRouteType的值不是3或4的,先過(guò)濾掉。
(五)如果ipRouteNextHop代表的路由器不在二叉樹(shù)中,且ipRouteType值為3,說(shuō)明目標(biāo)子網(wǎng)和路由器直連,此時(shí)直接啟動(dòng)子網(wǎng)發(fā)現(xiàn)線程。
(六)如果ipRouteNextHop代表的路由器不在二叉樹(shù)中,且ipRouteType值為4,此時(shí)將當(dāng)前路由器信息和ipRouteNextHop的路由器信息加入到cRoute中,啟動(dòng)路由器發(fā)現(xiàn)線程。
(七)循環(huán)以上步驟,直到所有路由器和子網(wǎng)都被遍歷。
(八)為提高效率,以上拓?fù)洳捎枚嗑€程并行方式。
四、展望
由于每種拓?fù)浞桨付加腥毕?,因此探測(cè)盲點(diǎn)在日常的網(wǎng)絡(luò)管理中難免產(chǎn)生。要減少盲點(diǎn)就要綜合使用多種拓?fù)浞绞?,讓各種拓?fù)浞椒ɑパa(bǔ)遺缺。在實(shí)際過(guò)程中將拓?fù)湫矢叩姆椒▋?yōu)先使用也能有效的縮短拓?fù)涮綔y(cè)時(shí)間、提高拓?fù)涮綔y(cè)效率。
參考文獻(xiàn):
[1]尤瀾濤,朱巧明,李培峰.一種快速網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的設(shè)計(jì)與實(shí)現(xiàn)[J].2007,9
[2]周俊生.一個(gè)IP網(wǎng)絡(luò)拓?fù)渥詣?dòng)發(fā)現(xiàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2002,Vol12.
[3]潘星辰.基于SNMP網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究與改進(jìn)[D][碩士學(xué)位論文].大連:大連海事大學(xué),2007
[4]林之光.基于SNMP的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究與實(shí)現(xiàn)[D][碩士學(xué)位論文].大連理工大學(xué),2008
【關(guān)鍵詞】SNMP協(xié)議;廣播電視中心機(jī)房;實(shí)時(shí)監(jiān)控;運(yùn)用
一、廣播電視中心機(jī)房管理現(xiàn)狀
作為黨和政府的宣傳喉舌職能,有線電視的安全播出顯得尤其重要,而其前端中心機(jī)房是有線電視傳輸系統(tǒng)中的核心的核心,它是整個(gè)傳輸網(wǎng)的心臟。中心機(jī)房有諸多設(shè)備、設(shè)施,一方面它要接收、處理和分配由上級(jí)傳輸網(wǎng)傳輸來(lái)的各種電視信號(hào),另一方面還要加載本級(jí)自辦電視節(jié)目的信號(hào)。因此,前端機(jī)房器材、設(shè)備的安全、技術(shù)指標(biāo)安全、用電安全、各類(lèi)配套設(shè)施安全以及故障的及時(shí)發(fā)現(xiàn)和處理,直接影響著外部網(wǎng)絡(luò)信號(hào),直接影響到千家萬(wàn)戶(hù)收看電視。
二、SNMP網(wǎng)絡(luò)管理協(xié)議
SNMP是英文simple network management protocol縮寫(xiě),它的定義是計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)中的重要組成部分,規(guī)定網(wǎng)絡(luò)管理器與被管之間通信的標(biāo)準(zhǔn)。SNMP是一種狀態(tài),比如在中心機(jī)房有些設(shè)備有問(wèn)題了,可以通過(guò)程序監(jiān)測(cè)到后,發(fā)短信給管理者報(bào)警,并生成運(yùn)行日志等。SNMP網(wǎng)絡(luò)管理系統(tǒng)管理辦法是將網(wǎng)絡(luò)中的各個(gè)設(shè)備分成兩大類(lèi):網(wǎng)絡(luò)管理工作站和網(wǎng)絡(luò)各類(lèi)元素。網(wǎng)絡(luò)管理工作站它是一臺(tái)服務(wù)器,主要運(yùn)行網(wǎng)絡(luò)管理應(yīng)用軟件,其主要職能是監(jiān)控和管理網(wǎng)絡(luò)元素,它是整個(gè)監(jiān)控系統(tǒng)的核心;網(wǎng)絡(luò)元素是指存在在網(wǎng)絡(luò)中的龐大器材、設(shè)備集合,如光接收機(jī)、光發(fā)射機(jī)、混合器、調(diào)制解調(diào)器、UPS電源、放大器、電視信號(hào)的監(jiān)視設(shè)備以及降溫空調(diào)等。作為SNMP網(wǎng)絡(luò)管理協(xié)議,任何一個(gè)網(wǎng)絡(luò)元素運(yùn)行一個(gè)SNMP(Agent)進(jìn)程,網(wǎng)絡(luò)管理工作站及服務(wù)器就作出相應(yīng)管理響應(yīng),也就是說(shuō)可以通過(guò)SNMP管理工具可以收集設(shè)備數(shù)據(jù)信息,管理者可以獲取設(shè)備的特性、數(shù)據(jù)流量、通信超載情況和錯(cuò)誤、預(yù)警等,還可以根據(jù)實(shí)際情況操作端口。管理工作站和被管理網(wǎng)絡(luò)元素之間通信主要以GET、SET、TRAP為操作,正常情況下,管理工作站會(huì)通過(guò)主動(dòng)通過(guò)GET操作,監(jiān)控被管節(jié)點(diǎn)的工作狀態(tài)是否正常。但是SNMP管理協(xié)議是一閉環(huán)操作系統(tǒng),在管理工作站主動(dòng)監(jiān)控的同時(shí),在被管節(jié)點(diǎn)MB上也會(huì)設(shè)制一個(gè)工作異常的工作閥值,當(dāng)網(wǎng)絡(luò)元素的工作閥值大于預(yù)設(shè)值時(shí),網(wǎng)絡(luò)元素就會(huì)運(yùn)行TRAP操作,向管理工作站發(fā)出異常報(bào)告,管理工作站收到報(bào)告后,可以通GET操作,查詢(xún)異常異常節(jié)點(diǎn)或相信節(jié)點(diǎn),并對(duì)其及時(shí)判斷來(lái)獲取更多的異常信息,現(xiàn)代WBM技術(shù)是基于Web的SNMP網(wǎng)絡(luò)管理模型,它在分布性,人性化的用戶(hù)界面,層次性強(qiáng)等方面存大強(qiáng)大的優(yōu)勢(shì),廣受用戶(hù)青睞。
三、SNMP在廣播電視中心機(jī)房運(yùn)用的方案
采用WBM技術(shù),可以有效的監(jiān)控管理到目前廣播電視中心機(jī)房諸多設(shè)備運(yùn)行情況。
(1)設(shè)計(jì)軟件。開(kāi)發(fā)軟件Visual c++、Borland delphi7、
JAVA都可以實(shí)現(xiàn)基于SNMP的網(wǎng)絡(luò)編程,后臺(tái)數(shù)據(jù)庫(kù)可用Miscrkskft SQL Server2000就可滿(mǎn)足所開(kāi)發(fā)系統(tǒng)對(duì)數(shù)據(jù)的存儲(chǔ)、管理和檢索等功能。
(2)總體思想.我們可以通過(guò)對(duì)中心機(jī)房設(shè)備以及對(duì)SNMP協(xié)議的研究,設(shè)計(jì)和構(gòu)建了C/S架構(gòu)的三層網(wǎng)絡(luò)性能監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)模型,通過(guò)SNMP協(xié)議實(shí)現(xiàn)對(duì)機(jī)房的監(jiān)控。監(jiān)控的整個(gè)網(wǎng)絡(luò)可分為三個(gè)層次,包括數(shù)據(jù)采集層、數(shù)據(jù)處理層和數(shù)據(jù)顯示層。數(shù)據(jù)采集層包含元素?cái)?shù)據(jù)采集模塊和性能數(shù)據(jù)庫(kù),一般的可管理網(wǎng)絡(luò)設(shè)備都支持SNMP協(xié)議。我們可以安裝網(wǎng)絡(luò)管理系統(tǒng)統(tǒng)一管理所有的網(wǎng)絡(luò)設(shè)備,這也是網(wǎng)絡(luò)大型管理的基本方法之一。數(shù)據(jù)采集模塊將是機(jī)房監(jiān)控的第一環(huán)節(jié),是程序運(yùn)行最原始的基礎(chǔ),數(shù)據(jù)的準(zhǔn)確性和及時(shí)性將直接影響到程序的運(yùn)行。在這里數(shù)據(jù)的采集都運(yùn)用多線采集,也就是允許執(zhí)行多個(gè)任務(wù),它將為數(shù)據(jù)的及時(shí)更新提供強(qiáng)有力的保證。數(shù)據(jù)采集層叫基礎(chǔ)的MIB,它可以是以數(shù)據(jù)庫(kù)和文本的方式存在。第二層是數(shù)據(jù)分析層,主要有數(shù)據(jù)處理模塊,這一層主要將采集的數(shù)據(jù)利用基本的公式計(jì)算出實(shí)時(shí)和歷史數(shù)據(jù)性能指標(biāo)值,所計(jì)算的數(shù)據(jù)主要反映接口利用率、丟失率、錯(cuò)誤率等,其中接口利用率反映各種通信通道的利用情況,利用率高說(shuō)明通信通道利用的充分,但是過(guò)高的利用率預(yù)示信道成為潛在的網(wǎng)絡(luò)瓶頸,可以通過(guò)升級(jí)的辦法加以解決。第三層是數(shù)據(jù)顯示層,主要有數(shù)據(jù)顯示模塊,閥值設(shè)定和報(bào)警模塊。數(shù)據(jù)顯示模塊含實(shí)時(shí)顯示子模塊和歷史顯示子模塊,實(shí)時(shí)顯示模塊可以用即點(diǎn)即現(xiàn),在網(wǎng)絡(luò)的拓?fù)鋱D顯示出來(lái),歷史顯示模塊是按條件查詢(xún)的方式進(jìn)行,它可以查到任何時(shí)間網(wǎng)絡(luò)的運(yùn)行情況,這一層還有重要的任務(wù)就是設(shè)定合理的閥值,閥值一旦被設(shè)定,當(dāng)網(wǎng)絡(luò)運(yùn)行性能達(dá)到這個(gè)值時(shí),系統(tǒng)自動(dòng)會(huì)向管理使用者報(bào)告。
四、結(jié)語(yǔ)
SNMP是目前應(yīng)用最為廣泛的網(wǎng)絡(luò)管理協(xié)議,本文分析了SNMP在廣電系統(tǒng)的運(yùn)用,通過(guò)SNMP管理協(xié)議可以實(shí)現(xiàn)了對(duì)機(jī)房的實(shí)時(shí)監(jiān)控,此方案的運(yùn)用:一方面它能為機(jī)房的設(shè)備、器材運(yùn)行異常及時(shí)反映出來(lái),還可對(duì)故障的快速診斷提供了依據(jù),成為可靠信息的來(lái)源地;另一方面減少了機(jī)房管理人員的負(fù)擔(dān),實(shí)現(xiàn)了對(duì)機(jī)房智能化的實(shí)時(shí)監(jiān)控。
參 考 文 獻(xiàn)
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)是目前TCP/IP網(wǎng)絡(luò)中應(yīng)用最為廣泛的網(wǎng)絡(luò)管理協(xié)議。目前SNMP協(xié)議主要包括三個(gè)版本:SNMP v1、SNMP VZ以及最新的SNMP v3。SNMP v3采用了新的SNMP擴(kuò)展框架,解決了SNMP協(xié)議以前版本在安全性和管理方面表現(xiàn)不理想的問(wèn)題。支持SNMP v3是網(wǎng)絡(luò)設(shè)備的趨勢(shì)。網(wǎng)絡(luò)設(shè)備通過(guò)平臺(tái)處理SNMP協(xié)議,設(shè)計(jì)一種支持SNMPV3的平臺(tái),對(duì)于路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備具有重要意義。
平臺(tái)的結(jié)構(gòu)和SNMP V3處理機(jī)制
平臺(tái)的結(jié)構(gòu)
基于SNMP的管理體系架構(gòu)中,存在著SNMP管理實(shí)體(系統(tǒng)網(wǎng)管)和SNMP實(shí)體(被管網(wǎng)元)兩種基本元素。管理實(shí)體和實(shí)體按系統(tǒng)功能可進(jìn)一步細(xì)分為SNMP引擎和SNMP應(yīng)用,見(jiàn)圖1的SNMP管理體系架構(gòu)。
SNMP引擎主要實(shí)現(xiàn)SNMP的協(xié)議相關(guān)的處理,包括SNMP消息的收發(fā),SNMP消息的解析,SNMP的PDU處理等工作。在一個(gè)管理域的范圍內(nèi),一個(gè)SNMP引擎snmpEnginelD作為唯一標(biāo)識(shí)。SNMP引擎中,針對(duì)V1、V2、V3版SNMP消息,提供三種消息處理模型,當(dāng)SNMP消息進(jìn)入SNMP引擎后,根據(jù)SNMP消息的版本號(hào),將SNMP消息分派給不同的消息處理模型處理。
SNMP應(yīng)用主要實(shí)現(xiàn)不同的管理功能(如配置,性能,告警管理)。在實(shí)體,主要存在著命令應(yīng)答器(用于對(duì)SNMP引擎接受到的SNMP請(qǐng)求,產(chǎn)生SNMP應(yīng)答),通知生成器(用于實(shí)體主動(dòng)產(chǎn)生的TRAP,通知的生成)兩種應(yīng)用。
SNMP V3消息處理機(jī)制
SNMP V3消息中加入了安全級(jí)別、安全模型、安全參數(shù)、訪問(wèn)OID的上下文名和訪問(wèn)OID的contextEngineID等參數(shù)。在SNMP引擎的V3消息處理模型的消息處理過(guò)程中,需要引入安全子系統(tǒng),用于清除SNMP消息被篡改,消息源偽裝,SNMP消息隱私暴露,SNMP消息過(guò)肘等問(wèn)題:需要加入訪問(wèn)控制子系統(tǒng),防止對(duì)未授權(quán)的OID進(jìn)行非法操作。
sNMp引擎在接收到傳入的SNMP v3消息后,先通過(guò)安全子系統(tǒng)USM模塊的處理,將SNMP消息被解析成SNMP PDU;然后SNMP PDU經(jīng)過(guò)訪問(wèn)控制子系統(tǒng)的VACM模塊和命令應(yīng)答器,經(jīng)過(guò)處理生成應(yīng)答PDU,然后交給安全子系統(tǒng)USM模塊產(chǎn)生SNMP V3應(yīng)答消息。對(duì)于通知生成器,在原始通知提交到SNMP引擎后,先經(jīng)過(guò)訪問(wèn)控制子系統(tǒng)VACM模塊的處理,通過(guò)后再交給安全子系統(tǒng)USM模塊,加工成SNMP V3消息,最后由SNMP引擎發(fā)送出去。
在SNMP引擎中,USMS模塊和VACM模塊運(yùn)行之前,需要在本地配置數(shù)據(jù)庫(kù)(LCD)中配置相關(guān)參數(shù)。管理實(shí)體與實(shí)體的USM配置需要保持一致,為了實(shí)現(xiàn)數(shù)據(jù)的同步,實(shí)體提供訪問(wèn)USM,VACM的LCD的SNMP訪問(wèn)接口,以實(shí)現(xiàn)對(duì)USM、VACM的遠(yuǎn)程配置。
關(guān)鍵技術(shù)實(shí)現(xiàn)方法
USM認(rèn)證與私密化流程:
USM是SNMP V3框架中安全子系統(tǒng)中的一種基于用戶(hù)的安全模型,來(lái)解決SNMP消息在網(wǎng)絡(luò)傳輸過(guò)程中可能遭受的安全威脅。USM對(duì)應(yīng)三種安全級(jí)別,分別是:無(wú)認(rèn)證無(wú)私密化,認(rèn)證無(wú)私密化和認(rèn)證且私密化。USM認(rèn)證與私密化過(guò)程如下:
1 管理實(shí)體選擇的安全級(jí)別為“認(rèn)證且私密”,安全模型為 “USM”,管理實(shí)體需要在LCD中選擇一個(gè)與本安全級(jí)別匹配的用戶(hù)名。
2 管理實(shí)體USM模塊根據(jù)LCD中該用戶(hù)的私密化算法,對(duì)SNMP消息中的范圍PDU部分進(jìn)行加密,并將私密化參數(shù)填入到SNMP消息中。
3 管理實(shí)體USM模塊根據(jù)LCD中該用戶(hù)的認(rèn)證算法,認(rèn)證密鑰,計(jì)算出待認(rèn)證的SNMP消息的認(rèn)證參數(shù),將該認(rèn)證參數(shù)填充到SNMP V3消息中。
4 實(shí)體的SNMP引擎接收到管理實(shí)體的SNMP v3消息后,解析出消息中的安全級(jí)別、安全模型、用戶(hù)名、認(rèn)證參數(shù)、私密化參數(shù),交付給USM模塊
5 實(shí)體的USM模塊根據(jù)用戶(hù)名查詢(xún)LCD,得到該用戶(hù)的認(rèn)證算法、認(rèn)證密鑰,計(jì)算出待認(rèn)證的SNMP消息的認(rèn)證參數(shù),同原SNMP消息所攜帶的認(rèn)證參數(shù)相比較,如相同則通過(guò)認(rèn)證,否則認(rèn)證失敗。
6 實(shí)體的USM模塊根據(jù)SNMP消息中的私密化參數(shù),以及LCD中用戶(hù)的私密化算法,對(duì)PDU進(jìn)行解密。
7 USM模塊將通過(guò)認(rèn)證,并解密的SNMP消息,提供給SNMP引擎進(jìn)一步處理。
8 實(shí)體的SNMP引擎生成了SNMP消息,準(zhǔn)備發(fā)送給管理實(shí)體之前的“認(rèn)證且私密”過(guò)程,與上述過(guò)程類(lèi)似。
對(duì)于“認(rèn)證無(wú)私密”的處理過(guò)程,則可省略上述過(guò)程的2、6兩步。
VACM的驗(yàn)證流程
在通常的網(wǎng)管實(shí)踐中,常常遇到一系列安全問(wèn)題,如非法的管理者,對(duì)某OID進(jìn)行操作:合法的管理者,對(duì)某未授權(quán)的OID進(jìn)行操作等等。這些問(wèn)題實(shí)際上是宴體中的SNMP應(yīng)用(包括命令應(yīng)答器,通知生成器)在處理SNMP消息中的PDU時(shí)需要控制的,VACM(基于視圖的訪問(wèn)控制模型)是這樣一種訪問(wèn)控制方案,通過(guò)在實(shí)體的VACM MIB定義的用戶(hù)所能訪問(wèn)的MIB視圖的對(duì)應(yīng)關(guān)系,來(lái)決定一個(gè)SNMP協(xié)議操作,是否能夠訪問(wèn)一個(gè)MIB對(duì)象。VACM LCD的表格如表1所示。
除此之外,IPV4和IPV6的兼容設(shè)計(jì)、SNMP并發(fā)處理機(jī)制等也非常重要。
【 關(guān)鍵詞 】 網(wǎng)絡(luò)管理軟件;簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議;開(kāi)發(fā)包;SNMP++
【 中圖分類(lèi)號(hào) 】 TP393 【 文獻(xiàn)標(biāo)識(shí)碼 】 A
1 引言
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)規(guī)模的擴(kuò)大,過(guò)去單純依賴(lài)人工管理網(wǎng)絡(luò)已經(jīng)變得不現(xiàn)實(shí),需要專(zhuān)業(yè)的網(wǎng)絡(luò)管理軟件輔之人工分析才能完成網(wǎng)絡(luò)管理。網(wǎng)絡(luò)管理軟件功能通常包括配置管理、故障管理、性能管理、安全管理、計(jì)費(fèi)管理。這些網(wǎng)絡(luò)功能的實(shí)現(xiàn)目前主要借助于簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol ,SNMP)。SNMP是管理IP網(wǎng)絡(luò)中設(shè)備的標(biāo)準(zhǔn)協(xié)議。互聯(lián)網(wǎng)上的許多設(shè)備都支持SNMP,包括交換機(jī)、路由器、工作站、服務(wù)器、打印機(jī)等。
2 SNMP 和網(wǎng)絡(luò)管理
2.1 SNMP
現(xiàn)今復(fù)雜的網(wǎng)絡(luò)離不開(kāi)路由器、交換機(jī)、服務(wù)器等網(wǎng)絡(luò)基礎(chǔ)設(shè)施,對(duì)這些基礎(chǔ)設(shè)施進(jìn)行管理是一件令人生畏的事情,因?yàn)楣芾砣藛T不但要保證這些設(shè)備正常工作,同時(shí)還需要對(duì)這些設(shè)備進(jìn)行性能優(yōu)化等工作。1998年,在這種網(wǎng)絡(luò)管理需求背景下提出了SNMP。SNMP 已經(jīng)成為網(wǎng)絡(luò)管理的事實(shí)標(biāo)準(zhǔn)。
2.2 管理者和
在SNMP體系結(jié)構(gòu)中,有兩種實(shí)體:管理者(Managers)和(Agents)。管理者和都是軟件系統(tǒng)。管理者通常運(yùn)行在服務(wù)器系統(tǒng)中,運(yùn)行在網(wǎng)絡(luò)設(shè)備上。管理者負(fù)責(zé)向發(fā)起輪詢(xún)請(qǐng)求,同時(shí)接受從發(fā)送過(guò)來(lái)的trap信息。負(fù)責(zé)跟蹤設(shè)備上的各種操作情況,根據(jù)管理者的請(qǐng)求信息訪問(wèn)設(shè)備中相應(yīng)對(duì)象的值或設(shè)置設(shè)備中相應(yīng)對(duì)象的值,然后把結(jié)果返回管理者;或者發(fā)現(xiàn)了設(shè)備中預(yù)定義的trap事件發(fā)生,則主動(dòng)向管理者發(fā)送trap信息。
2.3 SMI和MIBs
管理信息結(jié)構(gòu)(Structure of Management Information, SMI)負(fù)責(zé)定義管理對(duì)象以及它們的行為。每個(gè)擁有它負(fù)責(zé)跟蹤的網(wǎng)絡(luò)管理對(duì)象列表。例如,路由器接口工作狀態(tài)就是一個(gè)網(wǎng)絡(luò)管理對(duì)象。維護(hù)的網(wǎng)絡(luò)管理對(duì)象列表定義了管理者能判斷網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)情況的管理信息。
管理信息庫(kù)( Management Information Base , MIB)可以認(rèn)為是負(fù)責(zé)跟蹤的管理對(duì)象信息數(shù)據(jù)庫(kù)。任何能被管理者訪問(wèn)的統(tǒng)計(jì)信息或者狀態(tài)信息都在MIB中定義。
SMI 提供了定義MIB的方法,而MIB是對(duì)象的定義??梢詫?shí)現(xiàn)許多MIBs,但所有都必須實(shí)現(xiàn)的MIB稱(chēng)為MIB-II。MIB-II的主要目標(biāo)是提供TCP/IP網(wǎng)絡(luò)管理信息。
3 SNMP 應(yīng)用編程接口和SNMP++
3.1 SNMP 應(yīng)用編程接口
目前存在多種簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議應(yīng)用編程接口,基于這些編程接口可以方便地進(jìn)行網(wǎng)絡(luò)管理應(yīng)用編程。這些編程接口中大部分需要程序員非常熟悉SNMP協(xié)議的內(nèi)部工作原理以及SNMP的資源管理,同時(shí),大部分編程接口依賴(lài)于特定的平臺(tái),產(chǎn)生的SNMP代碼特定于操作系統(tǒng)或者網(wǎng)絡(luò)操作系統(tǒng)平臺(tái),難于移植。
3.2 SNMP++
SNMP++將面向?qū)ο缶幊痰膬?yōu)點(diǎn)融入了網(wǎng)絡(luò)管理編程中,它是基于C++的SNMP協(xié)議應(yīng)用程序編程接口。
SNMP++提供了SNMP語(yǔ)法類(lèi),包括Object Identification (Oid)類(lèi)、OctetStr類(lèi)、TimeTicks類(lèi)、Counter32 類(lèi)、Gauge32 類(lèi)、Counter64類(lèi)、Address 類(lèi)、Variable Binding類(lèi)、Pdu 類(lèi)、SnmpMessage 類(lèi)、Target 類(lèi)、Snmp類(lèi),這些類(lèi)的詳細(xì)說(shuō)明可以參見(jiàn)相關(guān)網(wǎng)站信息,在此不再贅述了。
4 SNMP++ 編程
4.1 下載SNMP++開(kāi)發(fā)包
開(kāi)發(fā)者可以從網(wǎng)站http://上下載SNMP++開(kāi)發(fā)包。目前,最新的版本是SNMP++v2.8 和SNMP++v3.2。SNMP++v2.8是一個(gè)實(shí)現(xiàn)SNMPv1/V2c協(xié)議操作的C++ 編程接口。SNMP++v3.2在SNMP++v2.8基礎(chǔ)上進(jìn)行了擴(kuò)展,增加了對(duì)SNMPv3的支持,同時(shí)修復(fù)了一些bug。
開(kāi)發(fā)包包括目錄:consoleExamples目錄、include目錄、src目錄等。開(kāi)發(fā)者可以研究consoleExamples目錄下的相關(guān)例子,從而掌握如何實(shí)現(xiàn)網(wǎng)絡(luò)管理軟件的開(kāi)發(fā)。include 目錄和src目錄下的文件是一些開(kāi)發(fā)資源,如果開(kāi)發(fā)者直接使用這些頭文件和源文件,將會(huì)使得網(wǎng)絡(luò)管理軟件文件龐大,因此,通常情況下,開(kāi)發(fā)者都會(huì)把這些文件編譯為一個(gè)靜態(tài)庫(kù)加以使用。
4.2 創(chuàng)建靜態(tài)鏈接庫(kù)
以Visual C++6.0開(kāi)發(fā)環(huán)境為例,首先開(kāi)發(fā)者創(chuàng)建一個(gè)Win32 靜態(tài)鏈接庫(kù)工程,然后將所有的SNMP++開(kāi)發(fā)包中的源文件和頭文件加入到工程的相應(yīng)源文件和頭文件目錄中,設(shè)置Project 菜單下的子菜單Setting的 C/C++屬性頁(yè),選擇Code Generation和Debug Multithreaded,最后,設(shè)置Build 菜單的子菜單Build 則生成一個(gè)靜態(tài)鏈接庫(kù)。開(kāi)發(fā)者可以直接使用該靜態(tài)鏈接庫(kù)完成網(wǎng)絡(luò)管理軟件的相關(guān)開(kāi)發(fā)工作。
4.3 使用靜態(tài)鏈接庫(kù)
同樣,創(chuàng)建一個(gè)Win32 平臺(tái)應(yīng)用程序,在項(xiàng)目中增加SNMP++ 靜態(tài)鏈接庫(kù) ws2_32.lib,同時(shí)在項(xiàng)目源文件中增加靜態(tài)鏈接庫(kù)的相應(yīng)頭文件。
基于SNMP++網(wǎng)絡(luò)管理軟件程序基本流程:
首先,開(kāi)啟Snmp類(lèi)的socket。然后,準(zhǔn)備好SNMP通信基本參數(shù),如設(shè)置SNMP協(xié)議版本、通信端口、共同體名等,如果沒(méi)有對(duì)這些基本參數(shù)進(jìn)行設(shè)置,程序采用默認(rèn)參數(shù):SNMP協(xié)議版本為1,端口為161,共同體名為public。接著,根據(jù)網(wǎng)絡(luò)管理目標(biāo),設(shè)置IP地址,要獲取或設(shè)置的網(wǎng)絡(luò)管理信息。創(chuàng)建一個(gè)SNMP會(huì)話。如果會(huì)話創(chuàng)建成功,開(kāi)始snmp 相關(guān)操作,如get操作、set操作、get_next操作。如果操作成功,則從變量綁定中獲取相應(yīng)的網(wǎng)絡(luò)管理信息。最后,關(guān)閉Snmp socket,釋放資源。
5 編程實(shí)踐
假設(shè)路由器r2621的接口f0/0的IP地址為172.168.0.1,sysContact 網(wǎng)絡(luò)管理對(duì)象設(shè)置為字符串China,共同體名設(shè)置為字符串public。下面給出C++編程代碼:
#include "stdafx.h"
#include "snmp_pp/snmp_pp.h"
#include
#define SYSCONTACT "1.3.6.1.2.1.1.4.0"
void set_system_location()
{int status;
CTarget ctarget( (IpAddress) "172.168.0.1");
Vb vb( SYSCONTACT);
Pdu pdu;
Snmp snmp( status);
if ( status != SNMP_CLASS_SUCCESS) {cout
vb.set_value("China");
pdu += vb;
status = snmp.set( pdu, ctarget);
cout
void main()
{Snmp::socket_startup();
snmp_version version = version1;
set_system_location();
Snmp::socket_cleanup();}
網(wǎng)絡(luò)管理軟件不同于一般的應(yīng)用軟件,需要對(duì)網(wǎng)絡(luò)管理軟件所在主機(jī)和網(wǎng)絡(luò)管理程序所在設(shè)備進(jìn)行相應(yīng)的SNMP參數(shù)設(shè)置。因此,在運(yùn)行網(wǎng)絡(luò)管理程序之前,還需要做好兩項(xiàng)準(zhǔn)備工作:
(1)管理端也需要開(kāi)放SNMP服務(wù),同時(shí)設(shè)置共同體名public,該共同體名具有讀寫(xiě)權(quán)限。
(2)對(duì)路由器r2621進(jìn)行基本配置。
示例如下:
r2621>en
r2621#conf ter
r2621#interfa f0/0
r2621#ip address 172.168.0.1 255.255.255.0
r2621#no shutdown
r2621#exit
r2621#snmp-server community public
6 結(jié)束語(yǔ)
論文討論了網(wǎng)絡(luò)管理軟件的編程方法,研究了網(wǎng)絡(luò)管理基本原理以及SNMP++開(kāi)發(fā)包,同時(shí)給出了網(wǎng)絡(luò)管理軟件的開(kāi)發(fā)過(guò)程和方法。
當(dāng)前,基于XML的網(wǎng)絡(luò)管理軟件是研究熱點(diǎn),下一步我們將研究如何把XML技術(shù)和Web技術(shù)應(yīng)用于網(wǎng)絡(luò)管理軟件開(kāi)發(fā)中。
參考文獻(xiàn)
[1] A Simple Network Management Protocol (SNMP) [S/OL]. http:///rfc/rfc1157.txt.
[2] Structure and Identification of Management Information for TCP/IP-based Internets [S/OL].http:///rfc/rfc1155.txt.
[3] Management Information Base for Network Management of TCP/IP-based internets: MIB-II [S/OL]. http:///rfc/rfc1213.txt.
[4] SNMP++:C++ Based Application Programmers Interface for the Simple Network Management Protocol. http:///develop/snmp_pp/index.htm.
[5] 王雪飛,王申強(qiáng).網(wǎng)絡(luò)線路數(shù)據(jù)流量監(jiān)視的實(shí)現(xiàn)[J].信息網(wǎng)絡(luò)安全,2012,143(11):60-62.
[6] 劉雪飛,張光磊,王申強(qiáng).網(wǎng)絡(luò)設(shè)備接口工作狀態(tài)監(jiān)控的實(shí)現(xiàn)[J].信息網(wǎng)絡(luò)安全,2012年,138(6):51-53.
關(guān)鍵詞:SNMP;HFC雙向網(wǎng)絡(luò);流量;誤碼率
中圖分類(lèi)號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)26-5840-03
隨著HFC網(wǎng)絡(luò)雙向改造的深入開(kāi)展以及網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大,網(wǎng)絡(luò)管理的重要性以及迫切性日益突出,業(yè)已成為HFC雙向網(wǎng)絡(luò)良好運(yùn)行必不可少的保證。對(duì)于缺少網(wǎng)絡(luò)管理系統(tǒng)的網(wǎng)絡(luò),獲知網(wǎng)絡(luò)故障總是被動(dòng)等待的,總要等到用戶(hù)報(bào)障后,才開(kāi)始進(jìn)行故障點(diǎn)的診斷和維修,需要花費(fèi)較長(zhǎng)的時(shí)間,不利于雙向業(yè)務(wù)的開(kāi)展,極大地降低了客戶(hù)滿(mǎn)意度。為保障網(wǎng)絡(luò)安全高效、穩(wěn)定地運(yùn)行,對(duì)HFC網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備的流量信息進(jìn)行監(jiān)測(cè)是實(shí)現(xiàn)網(wǎng)絡(luò)管理及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)出現(xiàn)的異常情況的重要手段,本系統(tǒng)利用SNMP協(xié)議讀取網(wǎng)絡(luò)設(shè)備管理信息庫(kù)MIB中的相關(guān)數(shù)據(jù)并通過(guò)各種相關(guān)運(yùn)算得到網(wǎng)絡(luò)設(shè)備流量的信息,從而可以實(shí)現(xiàn)有效的管理監(jiān)視。
1 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP[1](Simple Network Management Protocol)是由Internet活動(dòng)委員會(huì)(IAB)制定的、基于TCP/IP協(xié)議族的各種互聯(lián)網(wǎng)絡(luò)的管理標(biāo)準(zhǔn)。利用SNMP,網(wǎng)絡(luò)管理者可以從網(wǎng)絡(luò)設(shè)備中收集網(wǎng)絡(luò)設(shè)備的狀態(tài)以及各類(lèi)相關(guān)信息如流量、端口最大速率等;網(wǎng)絡(luò)設(shè)備也可以利用SNMP主動(dòng)提供設(shè)備告警事件。
1.1 SNMP基本原理
SNMP采用的是工作站的模型,即對(duì)網(wǎng)絡(luò)的管理與維護(hù)是通過(guò)被監(jiān)測(cè)的網(wǎng)絡(luò)設(shè)備上的SNMP客戶(hù)端程序來(lái)實(shí)現(xiàn)的,該程序持續(xù)監(jiān)聽(tīng)管理站發(fā)來(lái)的命令與請(qǐng)求,并對(duì)此進(jìn)行響應(yīng)。管理站與站之間的通信協(xié)議是UDP協(xié)議(面向無(wú)連接的數(shù)據(jù)報(bào)協(xié)議),一般而言,網(wǎng)絡(luò)設(shè)備上使用SNMP的UDP端口為161,管理站使用的UDP端口為162。
1.2 管理信息庫(kù) MIB
管理信息庫(kù)MIB定義了可訪問(wèn)的網(wǎng)絡(luò)設(shè)備的屬性,這些信息包括可供管理程序讀寫(xiě)的控制信息和狀態(tài)信息,由對(duì)象識(shí)別符OID (Object Identifier)唯一指定。MIB采用樹(shù)型結(jié)構(gòu)進(jìn)行命名,SNMP協(xié)議通過(guò)對(duì)MIB庫(kù)的樹(shù)形節(jié)點(diǎn)的讀和寫(xiě)來(lái)訪問(wèn)和操作網(wǎng)絡(luò)設(shè)備中的信息。OID是依據(jù)MIB樹(shù)形結(jié)構(gòu)從根節(jié)點(diǎn)到該對(duì)象所經(jīng)節(jié)點(diǎn)的編號(hào)系列組成的[2],如: 1.3.6.1.2.1.1.1表示對(duì)設(shè)備的描述,1.3.6.1.2.1.1.3表示設(shè)備上一次開(kāi)機(jī)的時(shí)間,1.3.6.1.2.1.1.5表示設(shè)備的名稱(chēng)等。
1.3 SNMP的數(shù)據(jù)單元
SNMP 定義了5中類(lèi)型的協(xié)議數(shù)據(jù)單元:Get-Request、Get-Next-Request 、Get-Response、Set-Request以及Trap。共計(jì)可以分為3類(lèi):
1) Get類(lèi):SNMP管理站用Get-Request方法從擁有SNMP的網(wǎng)絡(luò)設(shè)備中查詢(xún)信息,而SNMP 則用Get-Response消息響應(yīng)。Get-Next-Request用于查詢(xún)特定的對(duì)象中的下一個(gè)元素。
2) Set類(lèi):SNMP管理站用Set-Request對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行遠(yuǎn)程配置管理和設(shè)置性能參數(shù)的門(mén)限等。
3) Trap類(lèi):SNMP使用Trap向SNMP管理站發(fā)送非請(qǐng)求類(lèi)消息,一般用于描述某一事件的發(fā)生如告警信息等,以實(shí)現(xiàn)故障管理。
2 設(shè)備流量以及誤碼率的的監(jiān)測(cè)
影響HFC雙向網(wǎng)絡(luò)性能的關(guān)鍵是網(wǎng)絡(luò)設(shè)備的各端口的流量以及誤碼率,通過(guò)對(duì)網(wǎng)絡(luò)設(shè)備的流量和誤碼率的分析是判斷網(wǎng)絡(luò)異常的先決條件。本系統(tǒng)采用SNMP協(xié)議來(lái)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備的流量監(jiān)測(cè)。在MIB庫(kù)中,反映網(wǎng)絡(luò)流量和誤碼的對(duì)象OID(1.3.6.1.2.1.2.2.1)的節(jié)點(diǎn)存在于Interface接口組的ifInOctets、ifOutOctets、ifInErrors、ifOutErrors等中,其中ifInOctets對(duì)象表示接口收到的總字節(jié)數(shù),ifOutOctets對(duì)象表示接口輸出的總字節(jié)數(shù),ifInErrors對(duì)象表示接口收到的錯(cuò)誤總字節(jié)數(shù),ifOutErrors對(duì)象表示接口發(fā)出的錯(cuò)誤總字節(jié)數(shù)。表1總結(jié)了流量以及誤碼率在網(wǎng)絡(luò)設(shè)備監(jiān)控中所使用的公式:
從上表中可以看出,各個(gè)指標(biāo)的計(jì)算,都需要相鄰兩次采集的數(shù)值之差運(yùn)算得到的,反映的是一段時(shí)間內(nèi)的采集數(shù)據(jù)的平均值。由公式可知,Δt決定了系統(tǒng)采集的精度,也就是系統(tǒng)采集的間隔時(shí)間,也稱(chēng)之為系統(tǒng)采集的輪詢(xún)周期。因?yàn)?,系統(tǒng)采集的輪詢(xún)周期的設(shè)置成為了反映整個(gè)監(jiān)測(cè)系統(tǒng)指標(biāo)精確的關(guān)鍵,若輪詢(xún)周期設(shè)置時(shí)間過(guò)長(zhǎng),影響系統(tǒng)的實(shí)時(shí)性,不能反映采集周期內(nèi)突變狀態(tài);若輪詢(xún)周期設(shè)置較短,則導(dǎo)致設(shè)備負(fù)荷較大,從而影響設(shè)備的正常運(yùn)行。根據(jù)經(jīng)驗(yàn)以及考慮設(shè)備的運(yùn)行負(fù)載,本監(jiān)控系統(tǒng)將各類(lèi)指標(biāo)的輪詢(xún)周期設(shè)置為2分鐘。
3 流量以及誤碼率監(jiān)控的系統(tǒng)設(shè)計(jì)以及實(shí)現(xiàn)
3.1 監(jiān)控系統(tǒng)設(shè)計(jì)
系統(tǒng)采用B/S結(jié)構(gòu)模式,模塊化設(shè)計(jì)。如圖1所示的系統(tǒng)結(jié)構(gòu)圖,系統(tǒng)由接口適配層、應(yīng)用層、信息表示層和Web層四部分組成,系統(tǒng)功能實(shí)現(xiàn)的核心部分集中在服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用,在擴(kuò)展系統(tǒng)功能時(shí),只需更新服務(wù)器上的應(yīng)用模塊,無(wú)需做客戶(hù)端維護(hù),系統(tǒng)的適應(yīng)性、擴(kuò)展性和穩(wěn)定性強(qiáng),使用方便。系統(tǒng)的開(kāi)發(fā)語(yǔ)言是C#,使用的數(shù)據(jù)庫(kù)是SQL Server數(shù)據(jù)庫(kù)。
3.2 分布式并發(fā)采集
考慮到順序采集情況下,單個(gè)設(shè)備采集需要的時(shí)間t與設(shè)備數(shù)量m之間的乘積t*m可能會(huì)導(dǎo)致輪詢(xún)間隔大于指定的輪詢(xún)周期,系統(tǒng)采用了多線程技術(shù)和分布式方案。多線程技術(shù)減少了CPU等待時(shí)間,提高了服務(wù)器資源利用率;分布式采集為今后更大的網(wǎng)絡(luò)規(guī)模提供了解決方案。
3.3 圖形化展現(xiàn)
流量以及誤碼率監(jiān)控系統(tǒng)在采集到相關(guān)指標(biāo)數(shù)據(jù)后,根據(jù)表1的公式,來(lái)計(jì)算各類(lèi)監(jiān)控指標(biāo),為了讓維護(hù)管理人員能夠直觀便捷的了解系統(tǒng)狀況,系統(tǒng)采用了圖形的方式給出了各類(lèi)參數(shù)的實(shí)時(shí)數(shù)據(jù)。當(dāng)出現(xiàn)異常流量時(shí),流量監(jiān)控系統(tǒng)會(huì)發(fā)出相應(yīng)的告警信息。如圖2:某一端口的輸入流量(InOctetes)以及輸出流量(OutOctets)。圖3:系統(tǒng)設(shè)備中端口利用率的告警(紅色表示告警)。
4 總結(jié)
本文基于SNMP協(xié)議訪問(wèn)網(wǎng)絡(luò)設(shè)備性能參數(shù),以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備流量以及誤碼率的監(jiān)控功能,構(gòu)建了一種能夠?qū)崟r(shí)對(duì)網(wǎng)絡(luò)設(shè)備端口進(jìn)行監(jiān)測(cè)的模型,其實(shí)現(xiàn)主要包括兩部分,其一,通過(guò)SNMP 協(xié)議訪問(wèn)監(jiān)控節(jié)點(diǎn)的MIB,實(shí)現(xiàn)對(duì)節(jié)點(diǎn)流量以及誤碼率的監(jiān)控;其二,對(duì)監(jiān)控結(jié)果設(shè)置閾值,監(jiān)控流量超過(guò)門(mén)限時(shí)進(jìn)行流量的告警。該模型設(shè)計(jì)可以有效評(píng)價(jià)網(wǎng)絡(luò)的運(yùn)行狀態(tài),當(dāng)出現(xiàn)流量以及誤碼率異常時(shí)可以及時(shí)的采取措施,避免了故障發(fā)現(xiàn)延遲的情況。
參考文獻(xiàn):
[1] [美]Mark A.Miller,P.E. 用SNMP 管理互聯(lián)網(wǎng)絡(luò)[M]. 晏明峰譯. 中國(guó)水利水電出版社,2001.
關(guān)鍵詞:多級(jí)分部計(jì)算機(jī) 網(wǎng)絡(luò)管理 實(shí)踐研究分析
中圖分類(lèi)號(hào):TP393.07 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2015)09-0000-00
我國(guó)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)早已進(jìn)入老百姓生活的加重,但是由于網(wǎng)絡(luò)載荷過(guò)大,國(guó)內(nèi)的網(wǎng)絡(luò)形式越來(lái)越復(fù)雜,網(wǎng)絡(luò)接通與運(yùn)行的速度越來(lái)越慢,網(wǎng)絡(luò)木馬病毒傳播等問(wèn)題日益顯現(xiàn)出來(lái),如何才能夠保障計(jì)算機(jī)網(wǎng)絡(luò)能夠安全、持續(xù)、穩(wěn)定的運(yùn)行,讓計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)充分的發(fā)揮出來(lái),是計(jì)算機(jī)網(wǎng)絡(luò)學(xué)術(shù)領(lǐng)域和網(wǎng)絡(luò)用戶(hù)所關(guān)注的焦點(diǎn)。
1 計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)的概念
計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)是在管理軟件的基礎(chǔ)上進(jìn)行研發(fā)的新興管理方式,在通常情況下管理系統(tǒng)會(huì)對(duì)網(wǎng)絡(luò)的運(yùn)行環(huán)境和方式進(jìn)行實(shí)時(shí)的監(jiān)控,收集并分析網(wǎng)絡(luò)框架中的各項(xiàng)信息,以及根據(jù)這些信息的分析結(jié)果做出相應(yīng)的處理。目前,我國(guó)計(jì)算機(jī)網(wǎng)絡(luò)管理的管理功能主要有以下幾點(diǎn):
(1)性能管理,(2)故障管理,(3)計(jì)費(fèi)管理,(4)配置管理,(5)安全管理。
在以上幾大管理模式中,故障管理是最為常用和常見(jiàn)的管理模式,故障管理主要是使用一些具有檢測(cè)性的技術(shù)來(lái)對(duì)網(wǎng)絡(luò)中的故障進(jìn)行檢測(cè),并且做出相應(yīng)的處理,從而解決網(wǎng)絡(luò)中的故障。計(jì)算機(jī)網(wǎng)絡(luò)管理的最終目的就是要讓網(wǎng)絡(luò)實(shí)現(xiàn)安全、穩(wěn)定和持續(xù)的運(yùn)轉(zhuǎn),讓網(wǎng)絡(luò)中的各項(xiàng)資源能夠進(jìn)行科學(xué)的分配,資源的使用更加高效,從而間接的優(yōu)化網(wǎng)絡(luò)現(xiàn)有的結(jié)構(gòu),降低網(wǎng)絡(luò)企業(yè)維護(hù)網(wǎng)絡(luò)的成本。因此,安全管理是眾多管理中最為重要的管理模式。
2 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP
2.1 SNMP協(xié)議
SNMP協(xié)議翻譯成中文就是簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,這種管理協(xié)議是目前計(jì)算機(jī)網(wǎng)絡(luò)管理中最為常用的網(wǎng)絡(luò)管理協(xié)議,管理效果較為明顯,并得到了眾多學(xué)者和網(wǎng)絡(luò)用戶(hù)的支持。SNMP協(xié)議是一種應(yīng)用層協(xié)議,主要用于IP網(wǎng)絡(luò)節(jié)點(diǎn)的管理當(dāng)中,IP網(wǎng)絡(luò)節(jié)點(diǎn)包含了服務(wù)器、工作站和入戶(hù)客戶(hù)端等。計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)可以通過(guò)使用該協(xié)議來(lái)對(duì)MIB對(duì)象進(jìn)行管理操作。網(wǎng)絡(luò)管理員通過(guò)使用SNMP協(xié)議可以對(duì)網(wǎng)絡(luò)進(jìn)行高效的管理,及時(shí)發(fā)現(xiàn)和解決網(wǎng)絡(luò)中存在的問(wèn)題,優(yōu)化網(wǎng)絡(luò)的運(yùn)行狀態(tài)。此外,SNMP管理協(xié)議還可以根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)的預(yù)設(shè)條件向管理人員主動(dòng)發(fā)出警報(bào)文件。
2.2 SNMP協(xié)議參考模型
SNMP這種網(wǎng)絡(luò)管理協(xié)議主要是采用管理中與人合作的管理模式,首先SNMP協(xié)議必須要有一個(gè)管理站,簡(jiǎn)單來(lái)說(shuō)就是一個(gè)網(wǎng)路控制中心,每一個(gè)在網(wǎng)絡(luò)中受到監(jiān)控的對(duì)象都必須具備一個(gè)進(jìn)程。因此,一個(gè)完整的SNMP網(wǎng)絡(luò)管理系統(tǒng)要有以下四個(gè)部分組成。
(1)網(wǎng)絡(luò)管理信息庫(kù)MIB:網(wǎng)絡(luò)管理的主要對(duì)象就是網(wǎng)絡(luò)資源,而當(dāng)網(wǎng)絡(luò)資源集合起來(lái)時(shí)就形成了網(wǎng)絡(luò)資源信息庫(kù),這個(gè)信息庫(kù)以一種動(dòng)態(tài)數(shù)據(jù)庫(kù)的形式存在。SNMP管理協(xié)議中的管理對(duì)象就是指某一方面的信息變量,比如,網(wǎng)絡(luò)配置信息、安全信息文件和傳遞信息這些信息的變化。(2)管理人員:管理人員是整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)管理的核心單位,是能夠?qū)嵤┯?jì)算機(jī)網(wǎng)絡(luò)管理工作的實(shí)體單位,管理員可以完成網(wǎng)絡(luò)管理中的各項(xiàng)管理工作。(3):這里所說(shuō)的主要是指網(wǎng)絡(luò)管理設(shè)備中的軟件模塊,使用帶來(lái)可以實(shí)時(shí)了解到網(wǎng)絡(luò)設(shè)備的運(yùn)行狀況、當(dāng)前系統(tǒng)配置以及數(shù)據(jù)流量等相關(guān)信息。(4)SNMP網(wǎng)絡(luò)管理協(xié)議文件:在整個(gè)網(wǎng)絡(luò)管理過(guò)程中,管理員與之間通過(guò)SNMP協(xié)議來(lái)進(jìn)行連接,從而實(shí)現(xiàn)Set、Cet和Trap等網(wǎng)絡(luò)技術(shù)控制。
3 分布式網(wǎng)絡(luò)管理的設(shè)計(jì)方式
分布式網(wǎng)絡(luò)管理對(duì)象的核心內(nèi)容就是解決或優(yōu)化對(duì)象跨平臺(tái)交互運(yùn)行中的各種問(wèn)題,通過(guò)在一定范圍內(nèi)創(chuàng)建區(qū)域管理框架來(lái)對(duì)本區(qū)域內(nèi)的網(wǎng)絡(luò)對(duì)象進(jìn)行管理,同時(shí)對(duì)整個(gè)區(qū)域內(nèi)的網(wǎng)絡(luò)進(jìn)行協(xié)調(diào)控制。
3.1 系統(tǒng)功能
(1)計(jì)費(fèi)管理:計(jì)費(fèi)管理系統(tǒng)主要通過(guò)使用SNMP協(xié)議中的GNRP報(bào)文來(lái)獲取用戶(hù)網(wǎng)路的使用數(shù)據(jù),然后系統(tǒng)定時(shí)從入戶(hù)端中獲取計(jì)費(fèi)信息。(2)故障管理:計(jì)算機(jī)網(wǎng)絡(luò)故障管理主要是根據(jù)網(wǎng)絡(luò)流量的實(shí)際情況對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行實(shí)時(shí)監(jiān)控,從而更加要有效的完成故障監(jiān)控、數(shù)據(jù)發(fā)報(bào)和鎖定故障接口等任務(wù),在這個(gè)過(guò)程中管理系統(tǒng)會(huì)向用戶(hù)提出警示,便于讓用戶(hù)在第一時(shí)間開(kāi)展相應(yīng)的處理措施。(3)性能管理:主要就是收集網(wǎng)絡(luò)設(shè)備中的相關(guān)數(shù)據(jù),同時(shí)進(jìn)行數(shù)據(jù)分析、處理和存儲(chǔ)的操作,從而觀察網(wǎng)絡(luò)設(shè)備的運(yùn)行是否正常。(4)配置管理:這項(xiàng)管理主要是對(duì)網(wǎng)絡(luò)以及網(wǎng)絡(luò)設(shè)備的配置進(jìn)行檢查,根據(jù)網(wǎng)絡(luò)實(shí)際情況對(duì)其進(jìn)行適當(dāng)?shù)恼{(diào)節(jié)。(5)安全管理:網(wǎng)絡(luò)安全管理主要是對(duì)網(wǎng)絡(luò)中的各項(xiàng)信息和資源進(jìn)行保護(hù),從而保證用戶(hù)在使用網(wǎng)絡(luò)時(shí)的安全、持續(xù)和穩(wěn)定。
3.2 SNMP協(xié)議的工作方式
這里作者以以太交換機(jī)為例子,在我們常用的Windows系統(tǒng)中的計(jì)算機(jī)中有很多自帶的SNMP程序包,這些自帶的程序包可以運(yùn)用于不同的語(yǔ)言程序當(dāng)中,并可以讓網(wǎng)絡(luò)用戶(hù)按照自己意向來(lái)收集和修改相關(guān)管理信息。當(dāng)然,管理系統(tǒng)在對(duì)以太交換機(jī)進(jìn)行監(jiān)控時(shí),必須使用SNMP中的相關(guān),這個(gè)時(shí)候的為軟件,這類(lèi)將會(huì)在網(wǎng)絡(luò)端口自動(dòng)收集用戶(hù)預(yù)設(shè)的網(wǎng)絡(luò)數(shù)據(jù)信息,然后將這些數(shù)據(jù)存儲(chǔ)起來(lái)并形成一個(gè)列表,列表當(dāng)中會(huì)出現(xiàn)一個(gè)名叫公共區(qū)域的密碼。如果公共區(qū)域的密碼與所設(shè)置的密碼不相符,那么此條信息將會(huì)被刪除,同時(shí)管理系統(tǒng)還會(huì)向管理人員發(fā)生一條有人非法訪問(wèn)SNMP的通知。
4 結(jié)語(yǔ)
總之,因?yàn)镾NMP網(wǎng)絡(luò)管理系統(tǒng)具有多方面的優(yōu)勢(shì),以成為世界計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域中被廣泛使用的網(wǎng)絡(luò)管理系統(tǒng),但是該系統(tǒng)主要還是采用上中下級(jí)輪詢(xún)?cè)L問(wèn)的方式來(lái)獲取網(wǎng)絡(luò)數(shù)據(jù),從而顯得太被動(dòng),不利于未來(lái)網(wǎng)絡(luò)的發(fā)展形勢(shì)。
參考文獻(xiàn)
[1] 宋筱菁.多級(jí)分布計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)研究與實(shí)踐[D].重慶大學(xué),2013.
[2] 陳浩成.武警廣東總隊(duì)計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].國(guó)防科學(xué)技術(shù)大學(xué),2012.
摘要 Mrtg(Multi Router Traffic Grapher,MRTG)是一個(gè)監(jiān)控網(wǎng)絡(luò)鏈路流量負(fù)載的工具軟件,它可以從所有運(yùn)行SNMP協(xié)議的設(shè)備上(包括服務(wù)器、路由器、交換機(jī)等)抓取到信息,自動(dòng)生成包含PNG格式的圖形,并以HTML文檔方式顯示給用戶(hù)。
關(guān)鍵詞 MRTG 網(wǎng)絡(luò)流量
隨著網(wǎng)絡(luò)應(yīng)用的日益廣泛,有大量的數(shù)據(jù)在網(wǎng)絡(luò)中傳輸。為了全面衡量網(wǎng)絡(luò)運(yùn)行狀況,就需要對(duì)網(wǎng)絡(luò)狀態(tài)做更細(xì)致、更精確的測(cè)量。SNMP協(xié)議的制訂為互聯(lián)網(wǎng)測(cè)量提供了有力支持。MRTG(MultiRouter Traffic Grapher, MRTG)就是基于SNMP的典型網(wǎng)絡(luò)流量統(tǒng)計(jì)分析工具。它的優(yōu)點(diǎn)是耗用的系統(tǒng)資源小,可以非常直觀地顯示流量負(fù)載,因此有很多外掛的程序也依附在MRTG下,通過(guò)SNMP協(xié)議從設(shè)備得到其流量信息,并將流量負(fù)載以包含PNG格式圖形的HTML文檔的方式顯示給用戶(hù)。
1 MRTG工作原理
MRTG是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)軟件,它是利用SNMP協(xié)議,去偵測(cè)指定的運(yùn)行有SNMP協(xié)議的網(wǎng)絡(luò)設(shè)備。每隔幾分鐘采樣并統(tǒng)計(jì)其設(shè)備流量,將統(tǒng)計(jì)結(jié)果繪成統(tǒng)計(jì)圖,這樣用戶(hù)能很容易地從統(tǒng)計(jì)圖上觀察出實(shí)際網(wǎng)絡(luò)的流量。統(tǒng)計(jì)圖如下?lt;/DIV>
關(guān)鍵詞:網(wǎng)絡(luò)管理技術(shù) CORBA技術(shù) B/S結(jié)構(gòu) XML技術(shù) SNMP協(xié)議
隨著網(wǎng)絡(luò)技術(shù)和應(yīng)用的不斷發(fā)展,人們對(duì)網(wǎng)絡(luò)的依賴(lài)程度將越來(lái)越大,用戶(hù)已不再滿(mǎn)足于網(wǎng)絡(luò)連通性的要求,他們希望以更快的速度、更高的質(zhì)量、更好的安全性訪問(wèn)網(wǎng)絡(luò)。但是,隨著網(wǎng)絡(luò)用戶(hù)數(shù)量的不斷壯大,為網(wǎng)絡(luò)的日常管理與維護(hù)帶來(lái)巨大的挑戰(zhàn)。為了維護(hù)日益龐大的網(wǎng)絡(luò)系統(tǒng)的正常工作,保證所有網(wǎng)絡(luò)資源處于良好的運(yùn)行狀態(tài),必須有相應(yīng)的網(wǎng)絡(luò)管理系統(tǒng)進(jìn)行支撐。網(wǎng)絡(luò)管理系統(tǒng)中技術(shù)革新就顯得尤為重要,只有新技術(shù)不斷推陳出新,才能使網(wǎng)絡(luò)管理系統(tǒng)不斷向前發(fā)展。
一、網(wǎng)絡(luò)管理軟件技術(shù)熱點(diǎn)
網(wǎng)絡(luò)管理系統(tǒng)多年的發(fā)展,目前網(wǎng)絡(luò)管理軟件技術(shù)的熱點(diǎn)有以下幾個(gè)方面:
1.開(kāi)放性。隨著用戶(hù)對(duì)不同設(shè)備進(jìn)行統(tǒng)一網(wǎng)絡(luò)管理的需求日益迫切,各廠商也在考慮采用更加開(kāi)放的方式實(shí)現(xiàn)設(shè)備對(duì)網(wǎng)管的支持。
2.綜合性。通過(guò)一個(gè)控制和操作臺(tái)就可提供對(duì)各個(gè)子網(wǎng)的透視、對(duì)所管業(yè)務(wù)的了解及提供對(duì)故障定位和故障排除的支持,也就是通過(guò)一個(gè)操作臺(tái)實(shí)現(xiàn)對(duì)互聯(lián)的多個(gè)網(wǎng)絡(luò)的管理。此外,網(wǎng)絡(luò)管理與系統(tǒng)管理正在逐漸融合,通過(guò)一個(gè)平臺(tái)、一個(gè)界面,提供對(duì)網(wǎng)絡(luò)、系統(tǒng)、數(shù)據(jù)庫(kù)等應(yīng)用服務(wù)的管理功能。
3.智能化?,F(xiàn)代通信網(wǎng)絡(luò)的迅速發(fā)展,使網(wǎng)絡(luò)的維護(hù)和操作越來(lái)越復(fù)雜,對(duì)操作使用人員提出了更高的要求。而人工維護(hù)和診斷往往花費(fèi)巨大,而且對(duì)于間歇性故障無(wú)法及時(shí)檢錯(cuò)排除。因此人工智能技術(shù)適時(shí)而生,用以作為技術(shù)人員的輔助工具。由此,故障診斷和網(wǎng)絡(luò)自動(dòng)維護(hù)也是人工智能應(yīng)用最早的網(wǎng)絡(luò)管理領(lǐng)域,目的在于解釋網(wǎng)絡(luò)運(yùn)行的差錯(cuò)信息、診斷故障和提供處理建議。
4.安全性。對(duì)于網(wǎng)絡(luò)來(lái)說(shuō),安全性是網(wǎng)絡(luò)的生命保障,因此網(wǎng)管軟件的安全性也是熱點(diǎn)之一。除軟件本身的安全機(jī)制外,目前很多網(wǎng)管軟件都采用SNMP協(xié)議,普遍使用的是SNMP v l、SNMPv2,但現(xiàn)階段的SNMP?v?l、SNMPv2協(xié)議對(duì)于安全控制還較薄弱,也為后續(xù)的SNMP協(xié)議發(fā)展提出挑戰(zhàn)。
5.基于Web的管理?;赪eb的管理以其統(tǒng)一、友好的界面風(fēng)格,地理和系統(tǒng)上的可移動(dòng)性及系統(tǒng)平臺(tái)的獨(dú)立性,吸引著廣大的用戶(hù)和開(kāi)發(fā)商。而目前主流的網(wǎng)絡(luò)管理軟件都提供融合Web技術(shù)的管理平臺(tái)。
二、網(wǎng)絡(luò)管理技術(shù)發(fā)展趨勢(shì)
通過(guò)現(xiàn)階段網(wǎng)絡(luò)管理軟件中的一些技術(shù)熱點(diǎn),我們可以去展望今后在網(wǎng)絡(luò)管理中出現(xiàn)的一些新的技術(shù),以期帶動(dòng)網(wǎng)絡(luò)網(wǎng)絡(luò)管理水平整體性能的提升:
1.分布式技術(shù)。分布式技術(shù)一直是推動(dòng)網(wǎng)絡(luò)管理技術(shù)發(fā)展的核心技術(shù),也越來(lái)越受到業(yè)界的重視。其技術(shù)特點(diǎn)在于分布式網(wǎng)絡(luò)與中央控制式網(wǎng)絡(luò)對(duì)應(yīng),它沒(méi)有中心,因而不會(huì)因?yàn)橹行脑獾狡茐亩斐烧w的崩潰。在分布式網(wǎng)絡(luò)上,節(jié)點(diǎn)之間互相連接,數(shù)據(jù)可以選擇多條路徑傳輸,因而具有更高的可靠性。
基于分布式計(jì)算模式推出的CORBA是將分布計(jì)算模式和面向?qū)ο笏枷虢Y(jié)合在一起,構(gòu)建分布式應(yīng)用。CORBA的網(wǎng)絡(luò)管理系統(tǒng)通常按照Client/Server的結(jié)構(gòu)進(jìn)行構(gòu)造,運(yùn)用CORBA技術(shù)完全能夠?qū)崿F(xiàn)標(biāo)準(zhǔn)的網(wǎng)絡(luò)管理系統(tǒng)。
2.XML技術(shù)。XML技術(shù)是一項(xiàng)國(guó)際標(biāo)準(zhǔn),可以有效地統(tǒng)一現(xiàn)有網(wǎng)絡(luò)系統(tǒng)中存在的多種管理接口。其次XML技術(shù)具有很強(qiáng)的靈活性,可以充分控制網(wǎng)絡(luò)設(shè)備內(nèi)嵌式管理,確保管理系統(tǒng)間,以及管理系統(tǒng)與被管理設(shè)備間進(jìn)行復(fù)雜的交互式通信與操作,實(shí)現(xiàn)很多原有管理接口無(wú)法實(shí)現(xiàn)的管理操作。
利用XML管理接口,網(wǎng)絡(luò)管理系統(tǒng)還可以實(shí)現(xiàn)從被管理設(shè)備中讀取故障信息和設(shè)備工作狀態(tài)等多種管理數(shù)據(jù)的操作。新管理接口的采用可以大大提高管理軟件,包括第三方管理軟件與網(wǎng)絡(luò)設(shè)備間進(jìn)行管理信息交換的能力和效率,并可以方便地實(shí)現(xiàn)與網(wǎng)絡(luò)管理系統(tǒng)的集成。
而且由于XML技術(shù)本身采用了簡(jiǎn)單清晰的標(biāo)記語(yǔ)言,在管理系統(tǒng)開(kāi)發(fā)與集成過(guò)程中能比較簡(jiǎn)便地實(shí)施,這樣新管理接口的采用反而還會(huì)降低整個(gè)管理系統(tǒng)的開(kāi)發(fā)成本。
3.B/S模式。B/S模式是基于Intranet的需求而出現(xiàn)并發(fā)展的。在B/S模式中,最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式接入網(wǎng)絡(luò)。其工作原理是網(wǎng)絡(luò)中客戶(hù)端運(yùn)行瀏覽器軟件,瀏覽器以超文本形式向Web服務(wù)器提出訪問(wèn)數(shù)據(jù)庫(kù)的要求,Web服務(wù)器接受客戶(hù)端請(qǐng)求后,將這個(gè)請(qǐng)求轉(zhuǎn)化為SQL語(yǔ)法,并交給數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器得到請(qǐng)求后,驗(yàn)證其合法性,并進(jìn)行數(shù)據(jù)處理,然后將處理后的結(jié)果返回給Web服務(wù)器,Web服務(wù)器再一次將得到的所有結(jié)果進(jìn)行轉(zhuǎn)化,變成HTML文檔形式,轉(zhuǎn)發(fā)給客戶(hù)端瀏覽器以友好的Web頁(yè)面形式顯示出來(lái)。
在B/S模式下,集成了解決企事業(yè)單位各種網(wǎng)絡(luò)問(wèn)題的服務(wù),而非零散的單一功能的多系統(tǒng)模式,因而它能提供更高的工作效率。B/S模式借助Internet強(qiáng)大的信息與信息傳送能力,可以通過(guò)網(wǎng)絡(luò)中的任意客戶(hù)端實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的管理。而且B/S模式結(jié)構(gòu)可以任意擴(kuò)展,可以從一臺(tái)服務(wù)器、幾個(gè)用戶(hù)的工作組級(jí)擴(kuò)展成為擁有成千上萬(wàn)用戶(hù)的大型系統(tǒng),采用B/S網(wǎng)絡(luò)管理結(jié)構(gòu)模式從而實(shí)現(xiàn)對(duì)大型網(wǎng)絡(luò)管理。
4.支持SNMP v3協(xié)議。SNMP協(xié)議是一項(xiàng)廣泛使用的網(wǎng)絡(luò)管理協(xié)議,是流傳最廣,應(yīng)用最多,獲得支持最廣泛的一個(gè)網(wǎng)絡(luò)管理協(xié)議。其優(yōu)點(diǎn)是簡(jiǎn)單、穩(wěn)定和靈活,也是目前網(wǎng)管的基礎(chǔ)標(biāo)準(zhǔn)。
SNMP協(xié)議歷經(jīng)多年的發(fā)展,已經(jīng)推出的SNMP v3是在SNMP v1 、SNMP v2兩個(gè)版本的基礎(chǔ)上改進(jìn)推出,其克服了SNMP v1 和SNMP v2兩個(gè)版本的安全弱點(diǎn),功能得到來(lái)極大的增強(qiáng),它有適應(yīng)性強(qiáng)和安全性好的特點(diǎn)。
盡管新版本的SNMP v3協(xié)議還未達(dá)到普及,但它畢竟代表著SNMP協(xié)議的發(fā)展方向,隨著網(wǎng)絡(luò)管理技術(shù)的發(fā)展,它完全有理由將在不久的將來(lái)成為SNMP v2的替代者,成為網(wǎng)絡(luò)管理的標(biāo)準(zhǔn)協(xié)議。
三、結(jié)語(yǔ)
隨著計(jì)算機(jī)技術(shù)的日新月異,網(wǎng)絡(luò)管理技術(shù)也會(huì)隨著各種新技術(shù)的運(yùn)用而不斷向前進(jìn)步,從而為眾多的網(wǎng)絡(luò)提供方便、快捷和有效的管理。
參考文獻(xiàn):
[1]李明江.SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議[M].北京:電子工業(yè)出版社,2007.
目前,由于實(shí)際技術(shù)水平和應(yīng)用條件的限制,網(wǎng)絡(luò)管理主要集中在網(wǎng)元管理層和網(wǎng)絡(luò)管理層,真正業(yè)務(wù)級(jí)的管理還只停留在理論研究階段。網(wǎng)元管理層直接管理物理網(wǎng)絡(luò),是整個(gè)管理系統(tǒng)的基礎(chǔ)。對(duì)電信網(wǎng)絡(luò)運(yùn)營(yíng)商來(lái)說(shuō),隨著通信業(yè)務(wù)量需求的成倍增長(zhǎng),網(wǎng)絡(luò)規(guī)模的日益膨脹,網(wǎng)元設(shè)備的種類(lèi)和數(shù)量不斷增加,各個(gè)網(wǎng)元都有自己的管理系統(tǒng),這給網(wǎng)絡(luò)的管理維護(hù)帶來(lái)了很多困難。為了提高網(wǎng)絡(luò)管理的效率,很有必要對(duì)各網(wǎng)元進(jìn)行集中管理,實(shí)現(xiàn)在一個(gè)統(tǒng)一的平臺(tái)上管理各種設(shè)備。為了適應(yīng)網(wǎng)絡(luò)管理系統(tǒng)可擴(kuò)展性的要求,我們將設(shè)計(jì)模式的思想融入網(wǎng)絡(luò)管理框架設(shè)計(jì)中,保證該框架具有良好的靈活性和可擴(kuò)展性。
2網(wǎng)絡(luò)管理協(xié)議
當(dāng)前最典型的網(wǎng)絡(luò)管理協(xié)議有基于OSI七層模型的公共管理信息協(xié)議(CMIP)和基于TCP/IP的簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)。OSI/CMIP系統(tǒng)管理模型是目前理論上最完備的網(wǎng)絡(luò)管理模型,是其他網(wǎng)絡(luò)管理模型的基本參考。但由于該模型比較復(fù)雜,實(shí)現(xiàn)代價(jià)高,因此并沒(méi)有得到廣泛的應(yīng)用。相反,當(dāng)初只是為了管理TCP/IP網(wǎng)絡(luò)的SNMP卻得到了迅速的發(fā)展和廣泛應(yīng)用。SNMP網(wǎng)絡(luò)管理模型的突出特點(diǎn)是簡(jiǎn)單、易于實(shí)現(xiàn),因而得到了廠商的支持。特別是在Internet上的成功應(yīng)用,使得它的重要性越來(lái)越突出,已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。
SNMP主要包括SMI(管理信息結(jié)構(gòu))、MIB(管理信息庫(kù))和SNMP協(xié)議幾部分。SMI給出了管理對(duì)象定義的一般框架。MIB是設(shè)備所維護(hù)的全部被管理對(duì)象的結(jié)構(gòu)集合。SNMP協(xié)議包括SNMP操作、SNMP信息的格式以及如何在應(yīng)用程序和設(shè)備間交換消息。SNMP采用/管理站模型進(jìn)行網(wǎng)絡(luò)管理。
3基于SNMP的統(tǒng)一網(wǎng)管框架設(shè)計(jì)
3.1總體結(jié)構(gòu)設(shè)計(jì)
統(tǒng)一網(wǎng)管平臺(tái)提供一個(gè)高分布性,高擴(kuò)展性的架構(gòu)來(lái)保證應(yīng)用的開(kāi)發(fā)者可以用不同的方法來(lái)布置他們的網(wǎng)元管理系統(tǒng)。從橫向分層的角度來(lái)看,平臺(tái)可以分為支撐層(SupportLayer)、框架層(FrameworkLayer)和應(yīng)用層(ApplicationLayer)。
統(tǒng)一網(wǎng)管平臺(tái)從軟件結(jié)構(gòu)上講仍是C/S結(jié)構(gòu),包括網(wǎng)管服務(wù)器和網(wǎng)管終端兩大部分,通過(guò)網(wǎng)管服務(wù)器的級(jí)聯(lián)構(gòu)成多級(jí)網(wǎng)管,實(shí)現(xiàn)多級(jí)網(wǎng)管的無(wú)縫集成。其中框架層和支撐層位于服務(wù)器端,應(yīng)用層位于客戶(hù)端。
3.2支撐層的設(shè)計(jì)
支撐層作為系統(tǒng)支撐平臺(tái)為應(yīng)用提供系統(tǒng)級(jí)的服務(wù),包括消息服務(wù)、數(shù)據(jù)庫(kù)訪問(wèn)和SNMP接口。支撐層是整個(gè)統(tǒng)一網(wǎng)管平臺(tái)的基礎(chǔ)。
3.2.1消息服務(wù)
消息服務(wù)為系統(tǒng)中所有模塊的交互提供支持,實(shí)現(xiàn)消息的路由轉(zhuǎn)發(fā),根據(jù)消息類(lèi)型,轉(zhuǎn)發(fā)到相應(yīng)的處理模塊。消息的格式如下所示:
版本號(hào)
消息頭
消息數(shù)據(jù)
消息頭的定義如下:
typedefstructmsg{
void*mlink;//指向結(jié)構(gòu)的指針,形成消息鏈表
PIDsender_pid;//發(fā)送進(jìn)程標(biāo)識(shí)
PIDreceiver_pid;//接收進(jìn)程標(biāo)識(shí)
BYTEmsg_type;//消息類(lèi)型(2或3,表示同步或異步進(jìn)程消息)
WORDevent_type;//事件類(lèi)型
WORDmsg_length;//消息長(zhǎng)度,不包括頭
}MSG_HEAD;
我們的系統(tǒng)使用的是非阻塞的異步消息機(jī)制,系統(tǒng)維護(hù)一個(gè)消息隊(duì)列,這個(gè)消息隊(duì)列用來(lái)存放系統(tǒng)各個(gè)模塊產(chǎn)生的消息。程序中有一小段程序代碼,叫做消息循環(huán),用來(lái)從隊(duì)列中取出消息,并且將它們發(fā)送給相應(yīng)的消息處理程序。代碼片斷如下:
while(GetNmMessage(&msg,NULL,0,0))
{
TranslateNmMessage(&msg);
DispatchNmMessage(&msg);
}
3.2.2數(shù)據(jù)庫(kù)訪問(wèn)
數(shù)據(jù)庫(kù)訪問(wèn)模塊提供所有訪問(wèn)數(shù)據(jù)庫(kù)的接口調(diào)用,并維護(hù)數(shù)據(jù)庫(kù)連接池,其他模塊只需向其申請(qǐng)數(shù)據(jù)庫(kù)連接即可。
3.2.3SNMP接口
網(wǎng)管系統(tǒng)與網(wǎng)元的交互是基于SNMP協(xié)議的,在SNMP協(xié)議棧的實(shí)現(xiàn)中,我們采用了被廣泛使用的CMU(CarnegieMellonUniversity)開(kāi)發(fā)的開(kāi)放源代碼CMU-SNMP軟件包,該軟件包對(duì)SNMPv2c做了很好的實(shí)現(xiàn)。但是對(duì)于上層的開(kāi)發(fā)人員來(lái)說(shuō),調(diào)用起來(lái)不是很方便。例如,一次SNMP操作,就要先后調(diào)用以下這些函數(shù):
char*winsock_startup(void);
voidsnmp_synch_setup(structsnmp_session*Session);
structsnmp_session*snmp_open(structsnmp_session*session);
structsnmp_pdu*snmp_pdu_create(intcommand);
intsnmp_synch_response(structsnmp_session*Session,structsnmp_pdu*PDU,structsnmp_pdu**ResponsePDUP);
intsnmp_close(structsnmp_session*session);
為了方便業(yè)務(wù)開(kāi)發(fā)人員,我們對(duì)該協(xié)議棧進(jìn)行了簡(jiǎn)單封裝。將CMU格式的SNMP消息結(jié)構(gòu)轉(zhuǎn)換為本網(wǎng)管平臺(tái)內(nèi)部使用的數(shù)據(jù)結(jié)構(gòu),并提供一系列便于使用的SNMP原子命令接口和其它輔助功能接口,為其上層應(yīng)用和Trap監(jiān)聽(tīng)進(jìn)程提供統(tǒng)一的支持。
通常,通過(guò)SNMP協(xié)議向SNMP發(fā)送請(qǐng)求,是通過(guò)使用MIB中定義的對(duì)象標(biāo)識(shí)符(OID)來(lái)標(biāo)識(shí)的。OID是用句點(diǎn)隔開(kāi)的一組整數(shù),使用起來(lái)很不方便,我們可以通過(guò)MIB樹(shù)中葉子的名稱(chēng)來(lái)訪問(wèn)和設(shè)置MIB樹(shù)中的數(shù)據(jù),而不是通過(guò)枯燥的數(shù)字,方便開(kāi)發(fā)人員進(jìn)行開(kāi)發(fā)。
以RFC1213定義的MIB-Ⅱ中的..dod.internet.mgmt.mib-2.system.sysName為例,其定義如下:
sysNameOBJECT-TYPE
SYNTAXDisplayString(SIZE(0..255))
MAX-ACCESSread-write
STATUScurrent
DESCRIPTION
"Anadministratively-assignednameforthismanagednode.
Byconvention,thisisthenode''''sfully-qualifieddomain
name.Ifthenameisunknown,thevalueisthezero-length
string."
::={system5}
如果我們要查詢(xún)系統(tǒng)的名稱(chēng),我們?cè)诎l(fā)送GetRequest命令時(shí)需要使用1.3.6.1.2.1.1.5.0去向SNMP檢索它,這一長(zhǎng)串的OID字符串在程序中的可讀性很差。我們采取的措施是建立一個(gè)Hash表,在SNMP模塊初始化的時(shí)候先對(duì)程序所使用的MIB進(jìn)行分析,對(duì)sysName這個(gè)字符串進(jìn)行Hash操作,將sysName、OID和DisplayString保存在Hash表中。在向上層應(yīng)用提供的SNMPAPI中只需要對(duì)sysName.0進(jìn)行操作,就能查詢(xún)到sysName的值,而不是通過(guò)枯燥的數(shù)字,方便開(kāi)發(fā)人員進(jìn)行開(kāi)發(fā)。MakeHash函數(shù)如下所示:
ULONGMakeHash(char*str,ULONGlen)
{
ULONGn;
n=0;
#defineHASHCn=*str+++65587*n
if(len>0)
{
intloop;
loop=(len+8-1)>>3;
switch(len&(8-1))
{
case0:
do
{
HASHC;
case7:HASHC;
case6:HASHC;
case5:HASHC;
case4:HASHC;
case3:HASHC;
case2:HASHC;
case1:HASHC;
}while(--loop);
}
}
returnn;
}
另外,由于我們使用的CMU的SNMP協(xié)議棧是非線程安全的,而我們的上層應(yīng)用是基于多線程的,因此,我們?cè)趯?duì)其進(jìn)行封裝的過(guò)程中一個(gè)重要的任務(wù)就是使其線程安全,目前我們采取的方法是采用事件機(jī)制,每個(gè)SNMP原子命令執(zhí)行前,都調(diào)用系統(tǒng)的同步機(jī)制函數(shù)等待一個(gè)事件對(duì)象mm_hSnmpEvent的觸發(fā)。
3.3框架層和應(yīng)用層
針對(duì)網(wǎng)管系統(tǒng)這個(gè)特定的應(yīng)用領(lǐng)域,我們抽取出一些公共的軟件框架,這些程序框架統(tǒng)稱(chēng)為框架層。所有具體的管理應(yīng)用都應(yīng)該基于這個(gè)框架層提供的全部或者部分框架來(lái)開(kāi)發(fā)。在具體的應(yīng)用中,我們通過(guò)框架導(dǎo)出的API進(jìn)行二次開(kāi)發(fā),如圖1所示??蚣軐臃譃楣卜?wù)功能、公共應(yīng)用功能、工作站功能和網(wǎng)元中介功能四個(gè)部分。公共服務(wù)功能提供網(wǎng)管系統(tǒng)所公有的,和具體網(wǎng)元無(wú)關(guān)的服務(wù)功能,如安全、日志等。和網(wǎng)元相關(guān)的管理功能,如告警、性能、配置等,抽取其中的公共部分稱(chēng)為公共應(yīng)用功能。工作站功能實(shí)現(xiàn)客戶(hù)端GUI的展現(xiàn)功能,并提供圖形控件。網(wǎng)元中介功能實(shí)現(xiàn)網(wǎng)管系統(tǒng)和網(wǎng)元之間的接口轉(zhuǎn)換和適配功能。
應(yīng)用層就是在平臺(tái)框架層的基礎(chǔ)上,提供具體的管理應(yīng)用功能,如配置管理、性能管理、故障管理、安全管理等。這些功能都是可以拆卸的,應(yīng)用在使用統(tǒng)一網(wǎng)絡(luò)管理平臺(tái)的時(shí)候,可以根據(jù)自己的具體需要來(lái)選擇需要裝載那些管理功能。
4結(jié)束語(yǔ)
本文介紹了針對(duì)網(wǎng)元層的基于SNMP的網(wǎng)絡(luò)管理框架,該框架是在Windows平臺(tái)上利用VisualC++開(kāi)發(fā)出來(lái)的,實(shí)現(xiàn)了在一個(gè)統(tǒng)一平臺(tái)上對(duì)各種網(wǎng)元進(jìn)行管理,具有良好的靈活性和可擴(kuò)展性。通過(guò)對(duì)各網(wǎng)元進(jìn)行集中管理,極大地提高了網(wǎng)絡(luò)管理的效率。但是本系統(tǒng)依賴(lài)于Windows平臺(tái),在移植性上尚存諸多不足。目前,Java平臺(tái)在移植性上做得比較成功,但是對(duì)于電信級(jí)的網(wǎng)管平臺(tái)來(lái)說(shuō),其性能并不能滿(mǎn)足要求,與此同時(shí),CORBA應(yīng)用日益成熟,C++領(lǐng)域高性能的分布式網(wǎng)絡(luò)框架ACE的異軍突起,為我們提供了跨平臺(tái)的最好選擇。我們可以用Java開(kāi)發(fā)客戶(hù)端GUI,用ACE框架來(lái)實(shí)現(xiàn)服務(wù)器端的網(wǎng)管功能,用CORBA實(shí)現(xiàn)客戶(hù)端與服務(wù)器端的通信,從而真正實(shí)現(xiàn)高性能,可移植的網(wǎng)絡(luò)管理框架。
參考文獻(xiàn)
[1]ManiSubramanian.網(wǎng)絡(luò)管理-原理與實(shí)踐(影印版).北京:高等教育出版社,2001
[2]郭軍.網(wǎng)絡(luò)管理[M].北京:北京郵電大學(xué)出版社,2001
[3]賢道,安常青.網(wǎng)絡(luò)管理協(xié)議及應(yīng)用開(kāi)發(fā)[M].北京:清華大學(xué)出版社,1998
[4]DouglasMauro,KevinSchmidt.EssentialSNMP[M].O′Reilly&Associates,2001
[5]RFC1157.ASimpleNetworkManagementProtocol[S]
DesignandImplementationoftheUniformNetworkManagementSystemBasedonSNMP