基于SNMP的MIB库访问实现的研究
蔡國(guó)森
(北京工商大學(xué)??計(jì)算機(jī)學(xué)院)
摘要??SNMP是用于網(wǎng)絡(luò)管理/代理之間的請(qǐng)求/應(yīng)答協(xié)議。管理信息庫(kù)(MIB)定義了由代理者維護(hù)的各種變量,它們由管理者來進(jìn)行存取操作,從而實(shí)現(xiàn)具體的網(wǎng)絡(luò)管理。本文在對(duì)MIB的分析之后,給出了對(duì)MIB庫(kù)變量訪問的C語言程序?qū)嵗?
關(guān)鍵詞??簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,模型,信息庫(kù),訪問實(shí)現(xiàn)
1? ?? ???引言
? ?簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)是Internet組織用來管理Internet的網(wǎng)絡(luò)協(xié)議,隨著Internet所使用的TCP/IP協(xié)議族成為事實(shí)上的網(wǎng)間網(wǎng)互連協(xié)議標(biāo)準(zhǔn),SNMP也成為計(jì)算機(jī)網(wǎng)絡(luò)管理方面大家實(shí)際遵循的標(biāo)準(zhǔn)。幾乎所有的Internet網(wǎng)絡(luò)設(shè)備的生產(chǎn)廠家都在開發(fā)與SNMP有關(guān)的產(chǎn)品并投放市場(chǎng)。
2??SNMP 的管理模型
在SNMP管理模型中有三個(gè)基本組成部分:管理者(Manager),被管代理(Agent)和管理信息庫(kù)(MIB)。管理站一般是一個(gè)單機(jī)設(shè)備或一個(gè)共享網(wǎng)絡(luò)中的一員,它是網(wǎng)絡(luò)管理員和網(wǎng)絡(luò)管理系統(tǒng)的接口,能將網(wǎng)絡(luò)管理員的命令轉(zhuǎn)換成對(duì)遠(yuǎn)程網(wǎng)絡(luò)元素的監(jiān)視和控制,同時(shí)從網(wǎng)上所有被管實(shí)體的MIB (管理信息庫(kù)) 中提取出信息數(shù)據(jù)。作為管理站,它還必須擁有能進(jìn)行數(shù)據(jù)分析、故障發(fā)現(xiàn)等管理應(yīng)用軟件。整個(gè)管理站的管理工作是通過輪詢代理來完成的。管理者可以通過SNMP 操作直接與管理代理通信,獲得即時(shí)的設(shè)備信息,對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行遠(yuǎn)程配置管理或者操作;也可以通過對(duì)數(shù)據(jù)庫(kù)的訪問獲得網(wǎng)絡(luò)設(shè)備的歷史信息,以決定網(wǎng)絡(luò)配置變化等操作。SNMP管理代理指的是用于跟蹤監(jiān)測(cè)被管理設(shè)備狀態(tài)的特殊軟件或硬件,每個(gè)代理都擁有自己本地的MIB。實(shí)際上,SNMP 的管理任務(wù)是移交給管理代理來執(zhí)行的。代理翻譯來自管理站的請(qǐng)求,驗(yàn)證操作的可執(zhí)行性,通過直接與相應(yīng)的功能實(shí)體通信來執(zhí)行信息處理任務(wù), 同時(shí)向管理站返回響應(yīng)信息。
?
3? ?? ? 管理信息庫(kù)
? ?MIB信息為網(wǎng)管中被管資源,而網(wǎng)絡(luò)管理中的資源是以對(duì)象表示的,每個(gè)對(duì)象表示被管資源的某方面屬性,這些對(duì)象形成了MIB庫(kù)。每個(gè)MIB變量記錄了每個(gè)相連網(wǎng)絡(luò)的狀態(tài)、通信量統(tǒng)計(jì)數(shù)據(jù)、發(fā)生差錯(cuò)的次數(shù)以及內(nèi)部數(shù)據(jù)結(jié)構(gòu)的當(dāng)前內(nèi)容等。網(wǎng)絡(luò)管理者通過對(duì)MIB庫(kù)的存取訪問,來實(shí)現(xiàn)五大管理功能。
3.1 MIB對(duì)象定義格式
ASN.1是一種用于描述結(jié)構(gòu)化客體的結(jié)構(gòu)和內(nèi)容的語言,基于編碼規(guī)則BER(Basic Encoding Rules)是ASN.1標(biāo)準(zhǔn)定義的一種傳送文法。每個(gè)MIB變量格式是SMI規(guī)定的,用ASN.1描述如下:
OBJECTNAME BOJECT-TYPE
DESCRIPTION:(description)
SYNTAX: (syntax)
ACCESS: (access)
STATUS: (status)
::={(Parent)number}
OBJECTNAME是被管對(duì)象的名字,ASN.1要求所有對(duì)象的名字在MIB中必須是唯一的;BOJECT-TYPE 是每一個(gè)節(jié)點(diǎn)對(duì)象所必需的關(guān)鍵字;SYNTAX是被管對(duì)象類型的關(guān)鍵字,隨后跟著的是一個(gè)類型(syntax);ACCESS是被管對(duì)象的訪問方式關(guān)鍵字,在
SNMP 第二版中為MAX-ACCESS 關(guān)鍵字,(access)是被管對(duì)象的訪問方式,可為如下列舉值之一: read-only、read-write、no-accessible, SNMP 第2 版中又增加了read-create;STATUS是被管對(duì)象關(guān)鍵字,(status)是被管對(duì)象的狀態(tài),如必備的、可選的或廢棄的;DESCRIPTION是 對(duì)被管對(duì)象的功能、特征等進(jìn)行描述的關(guān)鍵字,(description)是被管對(duì)象的文本描述,在:::={(Parent)number }中,Parent表示位于MIB樹中的父節(jié)點(diǎn),number表示是第幾個(gè)子節(jié)點(diǎn)。
3.2 MIB 樹
每個(gè)MIB對(duì)象都用對(duì)象標(biāo)識(shí)符(OID)來唯一的標(biāo)識(shí),這是用定義在ASN.1語法中的樹型結(jié)構(gòu)來組織的可用信息,其中每個(gè)可用信息是一個(gè)帶標(biāo)號(hào)的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)用數(shù)字和字符兩種方式顯示,其中對(duì)象標(biāo)識(shí)符OID是由句點(diǎn)隔開的一組整數(shù),也就是從根節(jié)點(diǎn)通向它的路徑,它命名節(jié)點(diǎn)并指示它在ASN.1樹中的準(zhǔn)確位置。一個(gè)帶標(biāo)號(hào)節(jié)點(diǎn)可以擁有包含其它帶標(biāo)號(hào)節(jié)點(diǎn)為它的子樹,如果沒有子樹它就是葉子節(jié)點(diǎn),它包含一個(gè)值并被稱為對(duì)象。圖3是帶有ASN.1編號(hào)的MIB樹實(shí)例:可以看出MIB-Ⅱ的OID是:1.3.6.1.2.1或者iso.org.dod.internet.mgmt.mib2。在SNMP中,實(shí)現(xiàn)應(yīng)用到的MIB對(duì)象都是MIB-Ⅱ的子樹節(jié)點(diǎn)。
3.3 MIB 對(duì)象及變量
? ? Internet MIB是一樹形結(jié)構(gòu)的數(shù)據(jù)庫(kù), MIB-I定義了8個(gè)管理信息類別,MIB-Ⅱ是在MIB-I基礎(chǔ)上的擴(kuò)展,增加了SNMP和CMOT兩項(xiàng)。MIB類別說明見表1。
表1??MIB類別表
MIB類別? ?? ???包含有關(guān)信息
System? ?? ?? ?? ?關(guān)于實(shí)體所在系統(tǒng)的數(shù)據(jù)
Interface? ?? ?? ?用于管理的網(wǎng)絡(luò)接口信息
AT? ?? ?? ?? ?? ? 地址轉(zhuǎn)換信息
IP? ?? ?? ?? ?? ? 網(wǎng)絡(luò)協(xié)議
ICMP? ?? ?? ?? ?? ?為IP設(shè)備攜帶錯(cuò)誤和控制的協(xié)議
TCP? ?? ?? ?? ?? ? 傳輸控制協(xié)議
UDP? ?? ?? ?? ?? ?用戶數(shù)據(jù)報(bào)協(xié)議
EGP? ?? ?? ?? ?? ?外部網(wǎng)關(guān)協(xié)議
? ?? ?? ?CMOT? ?? ?? ?? ?? ?公共管理信息與服務(wù)協(xié)議
? ?SNMP? ?? ?? ?? ?? ?簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議
MIB庫(kù)中每一個(gè)變量都符合ASN.1語法規(guī)則,MIB庫(kù)中只使用了ASN.1諸多類型中的INTEGER,OCTET STRING,OBJECT IDENTIFIER,NULL作為基本類型,同時(shí)定義了IpAddress,Counter,Gauge,TimeTicks,Opaque類型,大體上說,MIB中變量可分為兩大部分,簡(jiǎn)單變量(Simple variable)和表格(Table)。簡(jiǎn)單變量是常見的整型及字符串,也包括一些數(shù)據(jù)集合,通過在變量的對(duì)象標(biāo)識(shí)符末尾附加.0來引用。表格對(duì)應(yīng)一組數(shù)組,可包含變量的多個(gè)實(shí)例,表格中的每個(gè)表項(xiàng)可以用多個(gè)字段,這些字段本身可能是簡(jiǎn)單變量也可能是表格,表格不能直接進(jìn)行存取。
4? ?? ???MIB 訪問實(shí)現(xiàn)
4.1 SNMP 報(bào)文操作
由于SNMP 是工作在UDP 上的協(xié)議,即無連接的報(bào)文通信方式,它不保證報(bào)文是否正確到達(dá)(SNMP的報(bào)文格式如圖4所示)。與其他網(wǎng)絡(luò)管理協(xié)議不同的是,SNMP 使用一種稱作“取—存”的范例來實(shí)現(xiàn)各種操作。主要有以下3種信息:
(1) Get :由管理站去獲取代理管理信息庫(kù)的值,通過發(fā)送Get - Request , Get - Next – Request兩種消息來實(shí)現(xiàn)。管理站通過發(fā)送Get - Request 報(bào)文從擁有SNMP 管理代理的網(wǎng)絡(luò)設(shè)備中獲取指定對(duì)象的信息,而管理代理用Get - Response 報(bào)文來響應(yīng)Get - Request 報(bào)文。Get - Next - Request 是獲取一個(gè)表中指定對(duì)象的下一個(gè)對(duì)象,因此通常用它來獲取一個(gè)表中的所有對(duì)象信息。
(2) Set :由管理站設(shè)置代理的管理信息庫(kù)的對(duì)象值,通過發(fā)送Set - request 來實(shí)現(xiàn),它可以對(duì)一個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行遠(yuǎn)程參數(shù)配置。
Version
Community
SNMP??PDU
SNMP消息
PDU type
Request-id
0
0
Variable-bindings
Get-Request PDU,Get-Next-Request PDU,Set-Request PDU
PDU type
Request-id
Error-status
Error-status
Variable-bindings
Get-Response PDU
PDU type
Enterprise
Agent-addr
Generic-trap
Specific-trap
Time-stamp
Variable-bindings
Trap PDU
Name1
Value1
Name2
Value2
……..
Name n
Value n
圖4??SNMP消息格式
(3) Trap :使得代理能夠向管理站通告重要事件,是屬于非請(qǐng)求的消息,這些消息通知管理站發(fā)生了特定事件。Trap 消息可以用來通知管理站線路的故障、連接的終端和恢復(fù)、認(rèn)證失敗等消息。 一個(gè)SNMP 實(shí)體在接收SNMP 報(bào)文時(shí),一般要進(jìn)行基本的語法檢查、版本號(hào)的驗(yàn)證、認(rèn)證(若成功就以ASN. 1 的形式返回一個(gè)PDU) 、對(duì)返回的PDU 再進(jìn)行語法檢查。當(dāng)所有的驗(yàn)證和語法解析成功以后,實(shí)體就選擇適當(dāng)?shù)脑L問策略,對(duì)該P(yáng)DU 進(jìn)行相應(yīng)的處理。管理系統(tǒng)工作時(shí),管理站周期性地發(fā)送Get - Request/ Get-Next-Request 報(bào)文來輪詢各個(gè)代理,獲取各個(gè)MIB 中的管理信息,同時(shí),管理站也接收代理發(fā)來的Trap 報(bào)文,并記錄在一個(gè)數(shù)據(jù)庫(kù)中。網(wǎng)絡(luò)管理員可以通過專用的應(yīng)用軟件從管理站上查看每個(gè)代理提供的管理信息。各個(gè)節(jié)點(diǎn)的代理程序駐留在工作站內(nèi)存中,負(fù)責(zé)收集被管對(duì)象的網(wǎng)絡(luò)狀態(tài)信息。當(dāng)代理接收到管理站的Get 報(bào)文后,代理將根據(jù)請(qǐng)求的內(nèi)容從本地MIB 中提取所需信息,并以Get - Response 報(bào)文方式將結(jié)果回送給管理站。代理一方面在161 端口上(SNMP 的默認(rèn)端口) 循環(huán)偵聽來自管理站的Get-Request/ Get-Next-Request 報(bào)文,并做出相應(yīng)的響應(yīng),讀取或修改MIB 中的變量值,將結(jié)果返回給管理站,另一方面,它也不斷地檢查本地的狀態(tài),適當(dāng)?shù)匕l(fā)送Trap 報(bào)文。
4.2 MIB訪問流程及原理
? ?首先根據(jù)自變量接收一個(gè)要訪問的被管理對(duì)象主機(jī)名,并接收要查詢的對(duì)象標(biāo)識(shí)符的簡(jiǎn)略定義形式. 過程首先生成SNMP 報(bào)文,一旦報(bào)文生成,再把報(bào)文簡(jiǎn)單反轉(zhuǎn)過來,發(fā)送出去. 這其中要將請(qǐng)求標(biāo)識(shí)符段內(nèi)容及標(biāo)識(shí)符長(zhǎng)度保存起來,留待以后進(jìn)行匹配檢查. 生成SNMP 報(bào)文后,建立代理地址,創(chuàng)建套接字連接,以便代理能將響應(yīng)發(fā)回. 然后,啟動(dòng)警告信號(hào)處理器,將SNMP 請(qǐng)求報(bào)文發(fā)給代理 ,等待一個(gè)響應(yīng)的到來.因?yàn)镾NMP 是工作在UDP 之上的,所以在SNMP 應(yīng)用實(shí)體間通信時(shí),無需先建立連接,這樣雖降低了系統(tǒng)開銷,但UDP 傳輸是不可靠的,為此,網(wǎng)絡(luò)管理站采取了相應(yīng)的超時(shí)和重發(fā)策略. 本系統(tǒng)在發(fā)出請(qǐng)求報(bào)文之后,啟動(dòng)超時(shí)計(jì)數(shù)器,等待響應(yīng)的到來,并設(shè)置重發(fā)次數(shù)為3. 若3 次之后仍沒有收到響應(yīng),則關(guān)閉套接字,并返回一個(gè)“接收失敗”錯(cuò)誤代碼. 反之,若確定收到一個(gè)響應(yīng),則調(diào)用一過程來把響應(yīng)轉(zhuǎn)換成為內(nèi)部表示形式, 即對(duì)SNMP 報(bào)文進(jìn)行譯碼. 再用已保存的Request-id與響應(yīng)Request-id段進(jìn)行比較,來驗(yàn)證這個(gè)報(bào)文是否是剛才發(fā)出的請(qǐng)求報(bào)文的響應(yīng). 若是,就調(diào)用另一個(gè)過程,把每段對(duì)象標(biāo)識(shí)符的ASN.1 表示形式轉(zhuǎn)換成自己的內(nèi)部形式,并顯示其值. 由于SNMP 報(bào)文對(duì)各個(gè)段都使用可變長(zhǎng)度編碼,這就使得即便是從SNMP 報(bào)文中提取一簡(jiǎn)單整數(shù)段,也要進(jìn)行許多計(jì)算,因而,所開發(fā)的系統(tǒng)原碼程序中包含了一個(gè)語言較長(zhǎng)、結(jié)構(gòu)復(fù)雜的特殊句法分析程序,用于提取報(bào)文的各個(gè)段并進(jìn)行譯碼,此句法分析軟件必須把一指針移遍報(bào)文中所有各段,以找出各段長(zhǎng)度并提取其數(shù)值.
MIB訪問的主流程圖如下:
? ?? ?? ?? ?? ?? ?? ?? ???
4.3? ?? ?? ?? ???結(jié)合自己的開發(fā)經(jīng)驗(yàn),列舉了訪問MIB的一個(gè)具體實(shí)現(xiàn)
以下介紹一個(gè)訪問MIB 庫(kù)中SysDescr變量的程序。該程序在Stratus 容錯(cuò)機(jī)(BSD UNIX 4.3)上運(yùn)行通過。讀者根據(jù)這個(gè)例子不難編寫對(duì)MIB 庫(kù)的其他變量的操作, 從而實(shí)現(xiàn)一個(gè)具體的網(wǎng)絡(luò)管理系統(tǒng)。
# include 〈stdio.h〉
# include 〈sys/types.h〉
# include 〈sys/socket.h〉
# include 〈netinet/in.h〉
# include 〈netdb.h〉
# define snmp_port 161 /* SNMP UDP 端口號(hào)*/
# define destaddress “192. 168. 1.16” /* 訪問目標(biāo)機(jī)的IP 地址*/
struct??sockaddr_in??dest;
struct??hostent??*hp;
int sockfd;
register int i, n;
int fromlen;
int packsize= 43;
u_char sendpack [100 ]= {0x30, 0x37, 2, 1, 0, 4, 6, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,0xa0, 0x26, 2, 4,0, 0, 0, 0, 2, 1, 0, 2, 1, 0, 0x30, 0x1c, 0x30,0x0c, 6, 8, 0x2b, 6, 1, 2, 1, 1, 1, 0, 5, 0};/* get_ request 報(bào)文編碼*/
u_char recvpack [150]; /* 收到get_ response 報(bào)文編碼*/
main( )
{
if ((hp=gethostbyname(destaddress))== 0)
{
printf (“unknown host”) ;
exit (1) ;
}
dest.sin_family= AF_INET;
dest.sin_port= htons(snmp_port) ;
memcpy((char*)&dest.sin_addr, (char*)hp->h_addr, hp->h_length) ;
if ((sockfd=socket(AF_INET, SOCK_ DGRAM , 17))?
{
printf (“can`t create udp socket”) ;
exit (1) ;
}
/* 以上生成udp 套接字*/
i= sendto (sockfd, sendpack, packsize, 0, (struct sockaddr* )&dest, sizeof (dest)) ;
if(i
{
printf (“sendto error”) ;
exit(1);
}
if (i!=packsize)
{
printf(“wrote %d bytes, return= %d”, packsize, i) ;
exit (1)
}
/* 發(fā)送udp 報(bào)文*/
puts (“receiving now ……”) ;
fromlen= sizeof(dest) ;
if ((n= recvfrom (sockfd, recvpack, sizeof ( recvpack) , 0, (struct sockaddr
*)&dest,&fromlen) )?
{
printf (“recv from error!”) ;
exit (1) ;
}
/* 接收udp 報(bào)文*/
for ( i= 0; i
printf (“%X”,recvpack) ;
close(sockfd) ;
}
五 結(jié)束語
? ?綜上所述,闡述了對(duì)MIB的存取實(shí)現(xiàn),優(yōu)點(diǎn)是考慮到命令模塊的可重用性,此方法而開發(fā)的網(wǎng)絡(luò)管理系統(tǒng)基模塊具備了發(fā)送網(wǎng)絡(luò)管理查詢請(qǐng)求到遠(yuǎn)程設(shè)備的能力,實(shí)現(xiàn)了對(duì)動(dòng)態(tài)管理數(shù)據(jù)的收集,只有很好的實(shí)現(xiàn)對(duì)MIB的存取,網(wǎng)絡(luò)管理系統(tǒng)才能更好的發(fā)揮作用,若對(duì)MIB 進(jìn)行深入的分析,可以將其應(yīng)用到流量監(jiān)控、性能分析、訪問控制等重要的網(wǎng)絡(luò)管理功能。
參考文獻(xiàn)
1??Case,J., Fedor,M.Schoffstall,M , and J. Davin. A Simple Network??Management Protocol (SNMP). RFC 1157, SNM P Research, Performance Systems International, Performance Systems International, and? ?M IT Laboratory for Computer Science, May 1990
2??Rose M , and K.Mc Cloghrie. Structure and Identification of Management Information for TCP/IP- based internets RFC 1155, Performance Systems International, Hughes LAN Systems ,May 1990
3??M.Rose. Management Information Base for Net-work Management of TCP/IP-based internets :M IB-Ⅱ RFC 1158, Performance Systems International, May 1990
4??Conne??Xions , SMP/ SNMP Version 2 : the Evolution of??SNMP ,1992 ,6 (10) :3~5
5??岑賢道,安常青. 網(wǎng)絡(luò)管理協(xié)議及應(yīng)用開發(fā). 北京:清華大學(xué)出版社,1998
6??楊家海,任憲坤, 王沛瑜編. 網(wǎng)絡(luò)管理原理與實(shí)現(xiàn)技術(shù).北京:清華大學(xué)出版社出版,2000
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/8048/showart_69066.html
?
?
?
| ? | |
| SNMP的MIB | |
?
| |
| 網(wǎng)友:linxh 發(fā)布于: 2007.07.01 00:16 (共有條評(píng)論)?查看評(píng)論?|?我要評(píng)論 | |
| ? | |
| 原文摘自:? ? ·?????? Get-Request 、Get-Next-Request與Get-Response ·?????? Set-Request ·?????? Trap
|
?
?
?
MIB文件簡(jiǎn)單分析
AAC-MIB DEFINITIONS ::= BEGIN
****************************************************************************************************
??? MIB文件是以DEFINITIONS ::= BEGIN 開始,最后一行以END結(jié)束。
DEFINITIONS ::= BEGIN 前面是庫(kù)名稱,如這里的是AAC-MIB,這里庫(kù)名稱就像是一個(gè)系統(tǒng)中的
對(duì)象名,是唯一的!
****************************************************************************************************
??? IMPORTS
****************************************************************************************************
IMPORTS標(biāo)識(shí)當(dāng)前庫(kù)文件需要引入其它的類文件,編譯才不會(huì)出錯(cuò).引入格式為[對(duì)象]FROM[庫(kù)文件],像:
IpAddress
??? FROM RFC1155-SMI
MODULE-IDENTITY,OBJECT-TYPE
??? FROM SNMPv2-SMI
****************************************************************************************************
??? IpAddress???????????
???????????? FROM RFC1155-SMI
??????? MODULE-IDENTITY, OBJECT-TYPE?
??????????? FROM SNMPv2-SMI
??????? RowStatus,DisplayString
??????????? FROM SNMPv2-TC
??????? MODULE-COMPLIANCE, OBJECT-GROUP
??????????? FROM SNMPv2-CONF
--??????? EntryStatus
--??????????? FROM RMON-MIB
??????? dlink-common-mgmt??? FROM DLINK-ID-REC-MIB;
****************************************************************************************************
要引人的對(duì)象
****************************************************************************************************
swDlinkAACMIB MODULE-IDENTITY
??????? LAST-UPDATED "9911220000Z"
??????? ORGANIZATION "Working Group"
??????? CONTACT-INFO
??????????? " "
??????? DESCRIPTION
??????????? "The Link AAC module MIB."
??????? ::= { dlink-common-mgmt 5}
??? swAACCtrl OBJECT IDENTIFIER ::= { swDlinkAACMIB 1 }
-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------
??? swAACAuthenAdminState OBJECT-TYPE
??????? SYNTAX INTEGER {
??????????????????? other(1),
??????????????????? disabled(2),
??????????????????? enabled(3)
??????????????? }
??????? MAX-ACCESS read-write
??????? STATUS current
??????? DESCRIPTION
??????????? "This object indicates the Access Authentication is enable or
??????????? disable."
??????? ::= { swAACCtrl 1}???
???
****************************************************************************************************
引入文件標(biāo)識(shí)結(jié)束后就是本類的對(duì)象節(jié)點(diǎn)描述.
節(jié)點(diǎn)描述格式為:
NODENAME NODETYPE
[DATA]
::={PARENT_NODENAME id}
NODENAME為當(dāng)前節(jié)點(diǎn)的名稱,如sysDescs,這個(gè)名稱應(yīng)該是唯一的;
NODETYPE為當(dāng)前節(jié)點(diǎn)的類型,如MODULE-IDENTITY,OBJECT-TYPE等等;
DATA為節(jié)點(diǎn)的內(nèi)容說明,包含數(shù)據(jù)類型,訪問模式,狀態(tài),描述;
PARENT_NODENAME為當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),這個(gè)父節(jié)點(diǎn)可能在本類中,也可以要引用的外部類中;
id為當(dāng)前節(jié)點(diǎn)在父類中的索引順序號(hào).
****************************************************************************************************
END
****************************************************************************************************
最后一行以END結(jié)束
****************************************************************************************************
例子:
LOOGSON-MIB DEFINITIONS::=BEGIN
??? IMPORTS
??????? enterprises,OBJECT-TYPE,Integer32,TimeTicks
??????????? FROM SNMPv2-SMI
??????? OBJECT-GROUP, NOTIFICATION-GROUP
??????????? FROM SNMPv2-CONF
??????? TEXTUAL-CONVENTION, DisplayString
??????????? FROM SNMPv2-TC;
??? loogson OBJECT IDENTIFIER ::= { enterprises 29881 }
??? cq8401 OBJECT IDENTIFIER ::= { loogson 3 }
??? test??? OBJECT IDENTIFIER ::= { cq8401 1 }?
???
??? MachType OBJECT-TYPE
??????? SYNTAX OCTET STRING
??????? ACCESS read-only
??????? STATUS current
??????? DESCRIPTION "設(shè)備類型"
??????? ::={ test 1 }
END
總結(jié)
以上是生活随笔為你收集整理的基于SNMP的MIB库访问实现的研究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用snmp4j实现Snmp功能(三)
- 下一篇: SNMP模型中,网管者、网管代理、网管协