一 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 協議的實現模型。
圖 10
SNMP 代理和管理站通過 SNMP 協議中的標準消息進行通信,每個消息都是一個單獨的數據報。 SNMP 使用 UDP (用戶數據報協議)作為第四層協議(傳輸協議),進行無連接操作。 SNMP 消息報文包含兩個部分: SNMP 報頭和協議數據單元 PDU 。數據報結構如下圖 11 。
圖 11
?
- 版本識別符( 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 )結構。
?
圖 12
?
下圖 13 給出了對一個 DS1 線路狀態進行查詢的 OID 設置例子。
?
圖 13
圖 14 中左圖給出了 RFC2495 對 DS1/E1 中繼線的 MIB 信息樹圖,右圖是 NMS 系統中對機架 Chassis 管理 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 管理站發送非請求消息,一般用于描述某一事件的發生。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
