**
四、snmp協議資料單元
在snmp管理中,管理站(nms)和**(agent)之間交換的管理資訊構成了snmp報文,報文的基本格式如下圖1:
圖 1snmp主要有snmpv1、snmpv2c、snmpv3幾種最常用的版本。
1、snmpv1
snmpv1是snmp協議的最初版本,提供最小限度的網路管理功能。snmpv1的smi和mib都比較簡單,且存在較多安全缺陷。
snmpv1採用團體名認證。團體名的作用類似於密碼,用來限制nms對agent的訪問。如果snmp報文攜帶的團體名沒有得到nms/agent的認可,該報文將被丟棄。
報文格式如下圖2:
圖 2從上圖可以看出,snmp訊息主要由version、community、snmp pdu幾部分構成。其中,報文中的主要字段定義如下:
version:snmp版本
community:團體名,用於agent與nms之間的認證。團體名有可讀和可寫兩種,如果是執行get、getnext操作,則採用可讀團體名進行認證;如果是執行set操作,則採用可寫團體名進行認證。
request id:用於匹配請求和響應,snmp給每個請求分配全域性唯一的id。
error status:用於表示在處理請求時出現的狀況,包括noerror、toobig、nosuchname、badvalue、readonly、generr。
error index:差錯索引。當出現異常情況時,提供變數繫結列表(variable bindings)中導致異常的變數的資訊。
variable bindings:變數繫結列表,由變數名和變數值對組成。
enterprise:trap源(生成trap資訊的裝置)的型別。
generic trap:通用trap型別,包括coldstart、warmstart、linkdown、linkup、authenticationfailure、egpneighborloss、enterprisespecific。
specific trap:企業私有trap資訊。
time stamp:上次重新初始化網路實體和產生trap之間所持續的時間,即sysuptime物件的取值。
用wireshark抓取的snmpv1版本的報文格式如下圖3:
圖 3192.168.2.1是agent的ip位址,192.168.2.110是nms的ip位址
從上圖可以看到,snmpv1版本的安全性不太好,可以抓取到community也即是團體名;tarp操作只有傳送報文沒有響應報文。
2、snmpv2c
snmpv2c也採用團體名認證。在相容snmpv1的同時又擴充了snmpv1的功能:它提供了更多的操作型別(getbulk和inform操作);支援更多的資料型別(counter32等);提供了更豐富的錯誤**,能夠更細緻地區分錯誤。
在v1版本中只有資料型別的錯誤碼,而v2c版本中增加了不少,如下圖4:
圖 4snmpv2報文格式如下圖5:
圖 5比較snmpv1而言,snmpv2c新增了getbulk操作報文和inform操作報文。getbulk操作所對應的基本操作型別是getnext操作,通過對non repeaters和max repetitions引數的設定,高效率地從agent獲取大量管理物件資料。而inform操作也就是相當於trap的公升級操作,但是二者又有什麼不同之處呢?trap報文發出去之後不會收到響應報文,而inform報文在發出報文之後能收到響應報文。
抓取的報文格式如下:
(1)getbulk操作,批量獲取資料,如下圖6:
圖 6(2)inform操作,可以看到它與trap操作的區別,有個響應報文,如下圖7:
圖 7snmpv2c修改了trap報文格式。snmpv2c trap pud採用snmpv1 get/getnext/set pdu的格式,並將sysuptime和snmptrapoid作為variable bindings中的變數來構造報文(可參照上圖3的get-next的response和下圖9snmpv2的trap進行對比),報文格式如下:
(1)snmpv1版本的tarp報文格式如下圖8:
圖 8(2)snmpv2的trap報文格式如下圖9:
圖 93、snmpv3
snmpv3主要在安全性方面進行了增強,它採用了usm和vacm技術。usm提供了認證和加密功能,vacm確定使用者是否允許訪問特定的mib物件以及訪問方式。
usm(基於使用者的安全模型)
usm引入了使用者名稱和組的概念,可以設定認證和加密功能。認證用於驗證報文傳送方的合法性,避免非法使用者的訪問;加密則是對nms和agent之間傳輸的報文進行加密,以免被竊聽。通過有無認證和有無加密等功能組合,可以為nms和agent之間的通訊提供更高的安全性。
vacm(基於檢視的訪問控制模型)
vacm技術定義了組、安全等級、上下文、mib檢視、訪問策略五個元素,這些元素同時決定使用者是否具有訪問的許可權,只有具有了訪問許可權的使用者才能管理操作物件。在同乙個snmp實體上可以定義不同的組,組與mib檢視繫結,組內又可以定義多個使用者。當使用某個使用者名稱進行訪問的時候,只能訪問對應的mib檢視定義的物件。
15 TCPIP協議族詳解 SNMP協議
本文主要介紹snmp 簡單網路管理協議 get request操作 從 程序提取乙個或多個引數值 get next request操作 從 程序提取乙個或多個引數值的下乙個引數值。set request操作 設定 程序的乙個或多個引數值。get response操作 返回乙個或多個引數值。這個操作是...
SNMP協議以及著名的MIB詳解
snmp協議介紹 簡單網路管理協議 snmp network management protocol 是由網際網路工程任務組 ietf internet engineering task force 定義的一套網路管理協議。該協議基於簡單閘道器監視協議 sgmp gateway monitor pr...
snmp協議介紹
snmp協議概述 snmp work management protocol 即簡單網路管理協議,它為網路管理系統提供了底層網路管理的框架。snmp協議的應用範圍非常廣泛,諸多種類的網路裝置 軟體和系統中都有所採用,主要是因為snmp協議有如下幾個特點 首先,相對於其它種類的網路管理體系或管理協議而...