深入探討SNMP對(duì)象樹(shù)形表格結(jié)構(gòu)
我們懂得SNMP實(shí)現(xiàn)方式為了提供遍歷管理信息庫(kù)的手段,SNMP在其MIB中采用了樹(shù)狀命名方法對(duì)每個(gè)SNMP管理對(duì)象實(shí)例命名。每個(gè)對(duì)象實(shí)例的名字都由對(duì)象類名字加上一個(gè)后綴構(gòu)成。SNMP對(duì)象類的名字是不會(huì)相互重復(fù)的,因而不同對(duì)象類的對(duì)象實(shí)例之間也少有重名的危險(xiǎn)。
SNMP應(yīng)用實(shí)體對(duì)Internet管理信息庫(kù)中的管理對(duì)象進(jìn)行操作。一個(gè)SNMP應(yīng)用實(shí)體可操作的管理SNMP對(duì)象子集稱為SNMP MIB授權(quán)范圍。SNMP應(yīng)用實(shí)體對(duì)授權(quán)范圍內(nèi)管理對(duì)象的訪問(wèn)仍然還有進(jìn)一步的訪問(wèn)控制限制,比如只讀、可讀寫(xiě)等。
在共同體的定義中一般要規(guī)定該共同體授權(quán)的SNMP管理對(duì)象范圍,相應(yīng)地也就規(guī)定了哪些SNMP對(duì)象實(shí)例是該共同體的“管轄范圍”,據(jù)此,共同體的定義可以想象為一個(gè)多叉樹(shù),以詞典序提供了遍歷所有SNMP管理對(duì)象實(shí)例的手段。有了這個(gè)手段,SNMP就可以使用get-next操作符,順序地從一個(gè)對(duì)象找到下一個(gè)對(duì)象。
SNMP中各種管理信息大多以表格形式存在,一個(gè)表格對(duì)應(yīng)一個(gè)SNMP對(duì)象類,每個(gè)元素對(duì)應(yīng)于該類的一個(gè)SNMP對(duì)象實(shí)例。那么,管理信息表SNMP對(duì)象中單個(gè)元素(對(duì)象實(shí)例)的操作可以用前面提到的get-next方法,也可以用后面將介紹的get/set等操作。下面主要介紹表格內(nèi)一行信息的整體操作。
(1)增加一行:通過(guò)SNMP只用一次set操作就可在一個(gè)表格中增加一行。操作中的每個(gè)變量都對(duì)應(yīng)于待增加行中的一個(gè)列元素,包括SNMP對(duì)象實(shí)例標(biāo)識(shí)符。如果一個(gè)表格中有8列,則set操作中必須給出8個(gè)操作數(shù),分別對(duì)應(yīng)8個(gè)列中的相應(yīng)元素。
(2)刪除一行:刪除一行也可以通過(guò)SNMP調(diào)用一次set操作完成,并且比增加一行還簡(jiǎn)單。刪除一行只需要用set操作將該行中的任意一個(gè)元素(SNMP對(duì)象實(shí)例)設(shè)置成“非法”即可。
但該操作有一個(gè)例外:地址翻譯組SNMP對(duì)象中有一個(gè)特殊的表(地址變換表),該表中未定義一個(gè)元素的“非法”條件。因此,SNMP中采用的辦法是將該表中的地址設(shè)置成空串,而空字符串將被視為非法元素。
至于刪除一行時(shí),表中的一行元素是否真的在表中消失,則與每個(gè)設(shè)備(管理代理)的具體實(shí)現(xiàn)有關(guān)。因此,網(wǎng)絡(luò)管理操作中,運(yùn)行管理進(jìn)程可能從管理代理中得到“非法”數(shù)據(jù),即已經(jīng)刪除的不再使用的元素的內(nèi)容,因此管理進(jìn)程必須能通過(guò)各數(shù)據(jù)字段的內(nèi)容來(lái)判斷數(shù)據(jù)的合法性。
SNMP對(duì)象樹(shù)形表格結(jié)構(gòu)我們就講解到這里了。
【編輯推薦】