SNMP協(xié)議概要和運(yùn)行過程
網(wǎng)絡(luò)協(xié)議的構(gòu)架,是為了能夠有效地支持正常的網(wǎng)絡(luò)工作,而且,也是為了便于對(duì)龐大地網(wǎng)絡(luò)進(jìn)行管理。在網(wǎng)絡(luò)管理方面,我們應(yīng)該是比較熟悉SNMP協(xié)議的。這個(gè)SNMP協(xié)議的英文是“Simple Network Management Protocol",中文意思是“簡單網(wǎng)絡(luò)管理協(xié)議"。SNMP首先是由Internet工程任務(wù)組織(Internet Engineering Task Force)(IETF)的研究小組為了解決Internet上的路由器管理問題而提出的。
SNMP是目前最常用的環(huán)境管理協(xié)議。SNMP被設(shè)計(jì)成與協(xié)議無關(guān),所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的傳輸協(xié)議上被使用。它們提供了一種從網(wǎng)絡(luò)上的設(shè)備中收集網(wǎng)絡(luò)管理信息的方法。SNMP也為設(shè)備向網(wǎng)絡(luò)管理工作站報(bào)告問題和錯(cuò)誤提供了一種方法。
目前,幾乎所有的網(wǎng)絡(luò)設(shè)備生產(chǎn)廠家都實(shí)現(xiàn)了對(duì)SNMP的支持。領(lǐng)導(dǎo)潮流的SNMP是一個(gè)從網(wǎng)絡(luò)上的設(shè)備收集管理信息的公用通信協(xié)議。設(shè)備的管理者收集這些信息并記錄在管理信息庫(MIB)中。這些信息報(bào)告設(shè)備的特性、數(shù)據(jù)吞吐量、通信超載和錯(cuò)誤等。MIB有公共的格式,所以來自多個(gè)廠商的SNMP管理工具可以收集MIB信息,在管理控制臺(tái)上呈現(xiàn)給系統(tǒng)管理員。
通過將SNMP嵌入數(shù)據(jù)通信設(shè)備,如路由器、交換機(jī)或集線器中,就可以從一個(gè)中心站管理這些設(shè)備,并以圖形方式查看信息。目前可獲取的很多管理應(yīng)用程序通??稍诖蠖鄶?shù)當(dāng)前使用的操作系統(tǒng)下運(yùn)行,如Windows95、Windows98、Windows NT和不同版本UNIX的等。
一個(gè)被管理的設(shè)備有一個(gè)管理代理,它負(fù)責(zé)向管理站請(qǐng)求信息和動(dòng)作,代理還可以借助于陷阱為管理站提供站動(dòng)提供的信息,因此,一些關(guān)鍵的網(wǎng)絡(luò)設(shè)備(如集線器、路由器、交換機(jī)等)提供這一管理代理,又稱SNMP協(xié)議的代理,以便通過SNMP管理站進(jìn)行管理。
SNMP的運(yùn)行過程
駐留在被管設(shè)備上的AGENT從UDP端口161接受來自網(wǎng)管站的串行化報(bào)文,經(jīng)解碼、團(tuán)體名驗(yàn)證、分析得到管理變量在MIB樹中對(duì)應(yīng)的節(jié)點(diǎn),從相應(yīng)的模塊中得到管理變量的值,再形成響應(yīng)報(bào)文,編碼發(fā)送回網(wǎng)管站。網(wǎng)管站得到響應(yīng)報(bào)文后,再經(jīng)同樣的處理,最終顯示結(jié)果。
下面根據(jù)RFC1157詳細(xì)介紹Agent接受到報(bào)文后采取的動(dòng)作:
首先解碼生成用內(nèi)部數(shù)據(jù)結(jié)構(gòu)表示的報(bào)文,解碼依據(jù)ASN.1的基本編碼規(guī)則,如果在此過程中出現(xiàn)錯(cuò)誤導(dǎo)致解碼失敗則丟棄該報(bào)文,不做進(jìn)一步處理。
第二步:將報(bào)文中的版本號(hào)取出,如果與本Agent支持的SNMP協(xié)議版本不一致,則丟棄該報(bào)文,不做進(jìn)一步處理。當(dāng)前北研的數(shù)據(jù)通信產(chǎn)品只支持SNMP版本1。
第三步:將報(bào)文中的團(tuán)體名取出,此團(tuán)體名由發(fā)出請(qǐng)求的網(wǎng)管站填寫。如與本設(shè)備認(rèn)可的團(tuán)體名不符,則丟棄該報(bào)文,不做進(jìn)一步處理,同時(shí)產(chǎn)生一個(gè)陷阱報(bào)文。SNMPv1只提供了較弱的安全措施,在版本3中這一功能將大大加強(qiáng)。
第四步:從通過驗(yàn)證的ASN.1對(duì)象中提出協(xié)議數(shù)據(jù)單元PDU,如果失敗,丟棄報(bào)文,不做進(jìn)一步處理。否則處理PDU,結(jié)果將產(chǎn)生一個(gè)報(bào)文,該報(bào)文的發(fā)送目的地址應(yīng)同收到報(bào)文的源地址一致。
SNMP協(xié)議的常用程序開發(fā)
Agent:NetSNMP 、Agent++ 、 MG-soft、solarwind
管理端: winsnmp—windows自帶的SNMP庫;
snmp4j— JAVA版本的SNMP協(xié)議棧;
ObjectSNMP—面向?qū)ο蟮膉ava snmp開發(fā)包;O/M Mapping技術(shù)。Linux/Unix下的SNMP協(xié)議工具包:net-snmp。















 
 
 
 
 
 
 