第四課 簡單網(wǎng)絡管理協(xié)議SNMP
一 SNMP協(xié)議介紹
簡單網(wǎng)絡管理協(xié)議(SNMP:Simple Network Management Protocol)是由互聯(lián)網(wǎng)工程任務組(IETF:Internet Engineering Task Force )定義的一套網(wǎng)絡管理協(xié)議。該協(xié)議基于簡單網(wǎng)關監(jiān)視協(xié)議(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一個管理工作站可以遠程管理所有支持這種協(xié)議的網(wǎng)絡設備,包括監(jiān)視網(wǎng)絡狀態(tài)、修改網(wǎng)絡設備配置、接收網(wǎng)絡事件警告等。雖然SNMP開始是面向基于IP的網(wǎng)絡管理,但作為一個工業(yè)標準也被成功用于電話網(wǎng)絡管理。
1. SNMP基本原理
SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。對網(wǎng)絡的管理與維護是通過管理工作站與SNMP代理間的交互工作完成的。每個SNMP從代理負責回答SNMP管理工作站(主代理)關于MIB定義信息的各種查詢。下圖10是NMS公司網(wǎng)絡產(chǎn)品中SNMP協(xié)議的實現(xiàn)模型。
圖10
SNMP代理和管理站通過SNMP協(xié)議中的標準消息進行通信,每個消息都是一個單獨的數(shù)據(jù)報。SNMP使用UDP(用戶數(shù)據(jù)報協(xié)議)作為第四層協(xié)議(傳輸協(xié)議),進行無連接操作。SNMP消息報文包含兩個部分:SNMP報頭和協(xié)議數(shù)據(jù)單元PDU。數(shù)據(jù)報結(jié)構如下圖11。
圖11
2. 管理信息庫MIB
IETF規(guī)定的管理信息庫MIB(由中定義了可訪問的網(wǎng)絡設備及其屬性,由對象識別符(OID:Object Identifier)唯一指定。MIB是一個樹形結(jié)構,SNMP協(xié)議消息通過遍歷MIB樹形目錄中的節(jié)點來訪問網(wǎng)絡中的設備。
下圖給出了NMS系統(tǒng)中SNMP可訪問網(wǎng)絡設備的對象識別樹(OID:Object Identifier)結(jié)構。
圖12
下圖13給出了對一個DS1線路狀態(tài)進行查詢的OID設置例子。
圖13
圖14中左圖給出了RFC2495對DS1/E1中繼線的MIB信息樹圖,右圖是NMS系統(tǒng)中對機架Chassis管理MIB約定。
3. SNMP的五種消息類型
SNMP中定義了五種消息類型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap。
SNMP管理站用Get-Request消息從擁有SNMP代理的網(wǎng)絡設備中檢索信息,而SNMP代理則用Get-Response消息響應。Get-Next-Request用于和Get-Request組合起來查詢特定的表對象中的列元素。如:
首先通過下面的原語獲得所要查詢的設備的接口數(shù):
{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)}
SNMP管理站用Set-Request 可以對網(wǎng)絡設備進行遠程配置(包括設備名、設備屬性、刪除設備或使某一個設備屬性有效/無效等)。
SNMP代理使用Trap向SNMP管理站發(fā)送非請求消息,一般用于描述某一事件的發(fā)生。