天天看點

轉一個mib樹的文章

MRTG用了多年,也搞過一段RRDTool和Cacti做監控畫圖,但是一直都對SNMP的MIB庫定義感到模棱兩可,尤其那堆類似 .1.3.6.1.2.1.6.9.0 的數字感到迷惑,這回收集了一些資料,好好整理了一下,自己感覺清晰了不少,把收集整理的資料做個筆記,也分享給朋友。

SNMP協定介紹

  簡單網絡管理協定(SNMP:Simple Network Management Protocol)是由網際網路工程任務組(IETF:Internet Engineering Task Force )定義的一套網絡管理協定。該協定基于簡單網關監視協定(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一個管理工作站可以遠端管理所有支援這種協定的網絡裝置,包括監視網絡狀态、修改網絡裝置配置、接收網絡事件警告等。雖然SNMP開始是面向基于IP的網絡管理,但作為一個工業标準也被成功用于電話網絡管理。

1. SNMP基本原理

  SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。對網絡的管理與維護是通過管理工作站與SNMP代理間的互動工作完成的。每個SNMP從代理負責回答SNMP管理工作站(主代理)關于MIB定義資訊的各種查詢。下圖10是NMS公司網絡産品中SNMP協定的實作模型。

轉一個mib樹的文章

  SNMP代理和管理站通過SNMP協定中的标準消息進行通信,每個消息都是一個單獨的資料報。SNMP使用UDP(使用者資料報協定)作為第四層協定(傳輸協定),進行無連接配接操作。SNMP消息封包包含兩個部分:SNMP報頭和協定資料單元PDU。資料報結構如下圖

轉一個mib樹的文章

  版本識别符(version identifier):確定SNMP代理使用相同的協定,每個SNMP代理都直接抛棄與自己協定版本不同的資料報。

  團體名(Community Name):用于SNMP從代理對SNMP管理站進行認證;如果網絡配置成要求驗證時,SNMP從代理将對團體名和管理站的IP位址進行認證,如果失敗,SNMP從代理将向管理站發送一個認證失敗的Trap消息

  協定資料單元(PDU):其中PDU指明了SNMP的消息類型及其相關參數。

2. 管理資訊庫MIB

IETF規定的管理資訊庫MIB(由中定義了可通路的網絡裝置及其屬性,由對象識别符(OID:Object Identifier)唯一指定。MIB是一個樹形結構,SNMP協定消息通過周遊MIB樹形目錄中的節點來通路網絡中的裝置。  

下圖給出了NMS系統中SNMP可通路網絡裝置的對象識别樹(OID:Object Identifier)結構。

轉一個mib樹的文章

  下圖給出了對一個DS1線路狀态進行查詢的OID設定例子。

轉一個mib樹的文章

3. SNMP的五種消息類型

  SNMP中定義了五種消息類型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap

  • Get-Request 、Get-Next-Request與Get-Response   

    SNMP管理站用Get-Request消息從擁有SNMP代理的網絡裝置中檢索資訊,而SNMP代理則用Get-Response消息響應。Get-Next-Request用于和Get-Request組合起來查詢特定的表對象中的列元素。如:首先通過下面的原語獲得所要查詢的裝置的接口數:

    {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)}

    後再通過下面的原語,進行查詢(其中第一次用Get-Request,其後用Get-Next-Request):

    {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)}

  • Set-Request

    SNMP管理站用Set-Request 可以對網絡裝置進行遠端配置(包括裝置名、裝置屬性、删除裝置或使某一個裝置屬性有效/無效等)。

  • Trap

    SNMP代理使用Trap向SNMP管理站發送非請求消息,一般用于描述某一事件的發生。

SNMP管理資訊庫MIB

  管理資訊庫MIB指明了網絡元素所維持的變量(即能夠被管理程序查詢和設定的資訊)。MIB給出了一個網絡中所有可能的被管理對象的集合的資料結構。SNMP的管理資訊庫采用和域名系統DNS相似的樹型結構,它的根在最上面,根沒有名字。下圖畫的是管理資訊庫的一部分,它又稱為對象命名(objectnamingtree)。

轉一個mib樹的文章

  管理資訊庫的對象命名舉例

  對象命名樹的頂級對象有三個,即ISO、ITU-T和這兩個組織的聯合體。在ISO的下面有4個結點,其中的餓一個(标号3)是被辨別的組織。在其下面有一個美國國防部(Department of Defense)的子樹(标号是6),再下面就是Internet(标号是1)。在隻讨論Internet中的對象時,可隻畫出Internet以下的子樹(圖中帶陰影的虛線方框),并在Internet結點旁邊标注上{1.3.6.1}即可。 在Internet結點下面的第二個結點是mgmt(管理),标号是2。再下面是管理資訊庫,原先的結點名是mib。1991年定義了新的版本MIB-II,故結點名現改為mib-2,其辨別為{1.3.6.1.2.1},或{Internet(1) .2.1}。這種辨別為對象辨別符。

  最初的結點mib将其所管理的資訊分為8個類别,見表1。現在de mib-2所包含的資訊類别已超過40個。

  表1 最初的結點mib管理的資訊類别

轉一個mib樹的文章

  應當指出,MIB的定義與具體的網絡管理協定無關,這對于廠商和使用者都有利。廠商可以在産品(如路由器)中包含SNMP代理軟體,并保證在定義新的MIB項目後該軟體仍遵守标準。使用者可以使用同一網絡管理客戶軟體來管理具有不同版本的MIB的多個路由器。當然,一個沒有新的MIB項目的路由器不能提供這些項目的資訊。

  這裡要提一下MIB中的對象{1.3.6.1.4.1},即enterprises(企業),其所屬結點數已超過3000。例如IBM為11.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9},Novell為{1.3.6.1.4.1.23}等。世界上任何一個公司、學校隻要用電子郵件發往ia[email protected]進行申請即可獲得一個結點名。這樣各廠家就可以定義自己的産品的被管理對象名,使它能用SNMP進行管理。

繼續閱讀