新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線(xiàn)通信 > 設(shè)計(jì)應(yīng)用 > 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的研究與應(yīng)用

簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的研究與應(yīng)用

作者: 時(shí)間:2018-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言
簡(jiǎn)單SNMP(Simple Network Management Protocol)是由Internet工程任務(wù)組織IETF (Internet Engineer-ing Task Force)研究小組為解決Intemet上的路由器管理問(wèn)題而提出的。SNMP是一系列協(xié)議組和規(guī)范,可提供一種從網(wǎng)絡(luò)設(shè)備中收集網(wǎng)絡(luò)管理信息的方法。 SNMP也為設(shè)備向網(wǎng)絡(luò)管理工作站報(bào)告問(wèn)題和錯(cuò)誤提供方法。

本文引用地址:http://butianyuan.cn/article/201809/388988.htm

2 SNMP體系結(jié)構(gòu)簡(jiǎn)介
圖1為SNMP體系結(jié)構(gòu)與協(xié)議棧。

2.1 SNMP消息類(lèi)型
SNMP消息類(lèi)型提供請(qǐng)求與響應(yīng)的交互形式,其中:(1)Get Request:管理站用來(lái)檢索代理管理信息庫(kù)中的標(biāo)量對(duì)象值;(2)GetNext Request:管理站用來(lái)檢索代理管理信息庫(kù)中的當(dāng)前標(biāo)量對(duì)象的下一個(gè)對(duì)象值;(3)Set Request:管理站用來(lái)設(shè)置代理管理信息庫(kù)中的標(biāo)量對(duì)象值;(4)Response:代理用于發(fā)送管理站對(duì)代理的請(qǐng)求;(5)Tmp:代理用于向管理站報(bào)告管理對(duì)象的狀態(tài)變化。圖2為SNMP消息類(lèi)型。

2.2 SNMP PDU協(xié)議數(shù)據(jù)單元結(jié)構(gòu)
圖3為SNMP報(bào)文格式。SNMP PDU協(xié)議數(shù)據(jù)單元結(jié)構(gòu)描述如下:

 

2.3 ANS.1和BER
抽象語(yǔ)法表示(ANS.1)是一種形式語(yǔ)言,可提供統(tǒng)一的網(wǎng)絡(luò)數(shù)據(jù)表示,用于定義應(yīng)用數(shù)據(jù)的抽象語(yǔ)法和應(yīng)用層協(xié)議數(shù)據(jù)單元結(jié)構(gòu)。在OSI和SNMP的管理信息庫(kù)都是用其定義的?;揪幋a規(guī)則(BER)用ANS.1定義的應(yīng)用數(shù)據(jù)在傳輸過(guò)程中要按照一定的規(guī)則轉(zhuǎn)換成比特串。圖4給出了SNMP消息的BER編碼實(shí)例(對(duì)代理202.117-49.61的Get請(qǐng)求)。


2.4 RFC1213管理信息庫(kù)MIB
RFC1213定義MIB-2管理對(duì)象的核心集合,這些對(duì)象在任何SNMP系統(tǒng)必須實(shí)現(xiàn)。管理信息結(jié)構(gòu)說(shuō)明了定義和構(gòu)造MIB的總體框架,以及數(shù)據(jù)類(lèi)型的表示和命名方法。SMI只允許存儲(chǔ)標(biāo)量對(duì)象和矢量對(duì)象(表對(duì)象),不支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。其提供標(biāo)準(zhǔn)化技術(shù)表示管理信息如下:(1)SNMP所有的管理對(duì)象組織成分層結(jié)構(gòu);(2)提供結(jié)構(gòu)化的信息組織技術(shù);(3)提供命名機(jī)制。樹(shù)中的葉子結(jié)點(diǎn)都有一個(gè)分層的編號(hào)。葉子結(jié)點(diǎn)代表實(shí)際的管理對(duì)象,從樹(shù)根到樹(shù)葉的編號(hào)串聯(lián)起來(lái),用圓點(diǎn)隔開(kāi),形成管理對(duì)象標(biāo)識(shí)符。
2.5 UDP協(xié)議

用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP(User Data Protocol)是一個(gè)面向無(wú)連接的協(xié)議,其傳輸效率較高。協(xié)議格式如表1所示。在SNMP代理中,常用161作為SNMP消息接收;162為AgentSNMP消息響應(yīng)。

3 SNMP編程與測(cè)試環(huán)境
SNMP要求的編程環(huán)境有:Java;C/C++;Borland C++Builder6。該程序選用Borland C++ Builder6編程環(huán)境。而SNMP的測(cè)試環(huán)境要求:(1)Windows SNMP服務(wù):Windows NT/Win-dows 2000/Windows XP的網(wǎng)絡(luò)監(jiān)視服務(wù)提供SNMP代理,端口:161;(2)AdventNet SNMP服務(wù):AdventNet公司的SNMP代理。端口可自己設(shè)定;(3)AdventNet SNMP MIB Browse:AdventNet公司的SNMP動(dòng)作測(cè)試工具;(4)Sniff軟件是一個(gè)很好的網(wǎng)上抓包程序,用來(lái)分析發(fā)送和接收的SNMP消息。

4 SNMP編程實(shí)現(xiàn)
4.1 SNMP消息分析
通過(guò)對(duì)SNMP協(xié)議的理解在C++Builder中將其定義為以下結(jié)構(gòu)體類(lèi)型;分別完成對(duì)消息的構(gòu)造和解析。
(1)消息結(jié)構(gòu)的結(jié)構(gòu)體

4.3 SNMP消息發(fā)送與接收
使用C++Builder提供的TNMUDP控件完成對(duì)SNMP消息的發(fā)送和接收,并存入Data1[]數(shù)組中,以備解析。以下為部分程序代碼:


4.4 SNMP消息解析
將UDP接收到的消息存入data1[]數(shù)組中,與消息的解析相反;將其每一部分添人所定義的SNMPMessage結(jié)構(gòu)中,以備解析顯示調(diào)用。以下為部分程序代碼:

5 結(jié)束語(yǔ)
SNMP協(xié)議已廣泛應(yīng)用于各種路由器和高端交換機(jī),同時(shí)在各種網(wǎng)絡(luò)操作系統(tǒng)的遠(yuǎn)程管理中也廣泛應(yīng)用。利用該協(xié)議可監(jiān)控網(wǎng)絡(luò)核心設(shè)備的運(yùn)行情況(流量、吞吐率、狀態(tài)等),還可認(rèn)證上網(wǎng)用戶(hù),完成計(jì)費(fèi)功能。



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉