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