SNMP MIB的初級操作
在學習SNMP協議的時候,大家應該有所發現。對于Linux SNMP的使用,是一個重點。那么其中也包括了SNMP MIB的一些使用。那么今天就此方面,我們來介紹一下。
SNMP協議(Simple Network Management Protocol)即簡單網絡管理協議,它為網絡管理系統提供了底層網絡管理的框架。SNMP協議的應用范圍非常廣泛,諸多種類的網絡設備、軟件和系統中都有所采用,主要是因為SNMP協議有如下幾個特點:
首先,相對于其它種類的網絡管理體系或管理協議而言,SNMP易于實現。SNMP的管理協議、SNMP MIB及其它相關的體系框架能夠在各種不同類型的設備上運行,包括低檔的個人電腦到高檔的大型主機、服務器、及路由器、交換器等網絡設備。
Linux SNMP是一系列協議組和規范,它們提供了一種從網絡上的設備中收集網絡管理信息的方法。Linux SNMP也為設備向網絡管理工作站報告問題和錯誤提供了一種方法。
一個SNMP管理代理組件在運行時不需要很大的內存空間,因此也就不需要太強的計算能力。SNMP協議一般可以在目標系統中快速開發出來,所以它很容易在面市的新產品或升級的老產品中出現。盡管SNMP協議缺少其它網絡管理協議的某些優點,但它設計簡單、擴展靈活、易于使用,這些特點大大彌補了SNMP協議應用中的其他不足。
其次,SNMP協議是開放的免費產品。只有經過IETF的標準議程批準(IETF是IAB下設的一個組織),才可以改動SNMP協議;廠商們也可以私下改動SNMP協議,但這樣作的結果很可能得不償失,因為他們必須說服其他廠商和用戶支持他們對SNMP協議的非標準改進,而這樣做卻有悖于他們的初衷。
第三,SNMP協議有很多詳細的文檔資料(例如RFC,以及其它的一些文章、說明書等),網絡業界對這個協議也有著較深入的理解,這些都是SNMP協議近一步發展和改進的基礎。
最后,SNMP協議可用于控制各種設備。比如說電話系統、環境控制設備,以及其它可接入網絡且需要控制的設備等,這些非傳統裝備都可以使用SNMP協議。
SNMP MIB樹狀結構
我們懂得SNMP實現方式為了提供遍歷管理信息庫的手段,SNMP MIB中采用了樹狀命名方法對每個SNMP管理對象實例命名。每個對象實例的名字都由對象類名字加上一個后綴構成。SNMP對象類的名字是不會相互重復的,因而不同對象類的對象實例之間也少有重名的危險。
SNMP應用實體對Internet管理信息庫中的管理對象進行操作。一個SNMP應用實體可操作的管理SNMP對象子集稱為SNMP MIB授權范圍。SNMP應用實體對授權范圍內管理對象的訪問仍然還有進一步的訪問控制限制,比如只讀、可讀寫等。
在共同體的定義中一般要規定該共同體授權的SNMP管理對象范圍,相應地也就規定了哪些SNMP對象實例是該共同體的“管轄范圍”,據此,共同體的定義可以想象為一個多叉樹,以詞典序提供了遍歷所有SNMP管理對象實例的手段。有了這個手段,SNMP就可以使用get-next操作符,順序地從一個對象找到下一個對象。
SNMP中各種管理信息大多以表格形式存在,一個表格對應一個SNMP對象類,每個元素對應于該類的一個SNMP對象實例。那么,管理信息表SNMP對象中單個元素(對象實例)的操作可以用前面提到的get-next方法,也可以用后面將介紹的get/set等操作。下面主要介紹表格內一行信息的整體操作。
(1)增加一行:通過SNMP只用一次set操作就可在一個表格中增加一行。操作中的每個變量都對應于待增加行中的一個列元素,包括SNMP對象實例標識符。如果一個表格中有8列,則set操作中必須給出8個操作數,分別對應8個列中的相應元素。
(2)刪除一行:刪除一行也可以通過SNMP調用一次set操作完成,并且比增加一行還簡單。刪除一行只需要用set操作將該行中的任意一個元素(SNMP對象實例)設置成“非法”即可。
但該操作有一個例外:地址翻譯組SNMP對象中有一個特殊的表(地址變換表),該表中未定義一個元素的“非法”條件。因此,SNMP中采用的辦法是將該表中的地址設置成空串,而空字符串將被視為非法元素。
至于刪除一行時,表中的一行元素是否真的在表中消失,則與每個設備(管理代理)的具體實現有關。因此,網絡管理操作中,運行管理進程可能從管理代理中得到“非法”數據,即已經刪除的不再使用的元素的內容,因此管理進程必須能通過各數據字段的內容來判斷數據的合法性。
SNMP對象樹形表格結構我們就講解到這里了。