一、首先我首先要說下什麼是SNMP?
SNMP是簡單的網絡管理協議,它不是一個軟件,而是用於網絡管理的一套規則。利用SNMP,一個管理工作站可以遠程管理所有支持這種協議的網絡設備,包括監視網絡狀態、修改網絡設備配置、接收網絡事件警告等。
但話又說回來,爲什麼要使用SNMP協議?
因爲網絡設備可能來自不同的廠商,如果每個廠商提供一套獨立的管理接口,將使網絡管理變得越來越複雜,若想對網絡中來自不同廠商的設備監控,用基於SNMP開發的軟件進行管理最方便的,因爲大部分的設備都支持SNMP協議。
那麼SNMP有哪些技術有點?
(1)基於TCP/IP互聯網的標準協議,傳輸層協議一般用UDP
(2)自動化網絡管理。網絡管理員可以利用SNMP平臺在網絡上的節點檢索信息、修改信息、發現故障、完成故障診斷、進行容量規劃和生成報告
(3)屏蔽不同設備的物理差異,實現對不同廠商產品的自動化管理。SNMP只提供最基本得功能集,使得管理任務與被管理設備的物理特徵和實際網絡類型相對獨立,從而實現對不同廠商設備的管理
(4)簡單的請求-應答方式和主動通告方式相結合,並有超時和重傳機制
(5)報文種類少,報文格式簡單,方便解析,易於實現
(6)SNMPv3版本提供了認證和加密安全機制,以及基於用戶和視圖的訪問控制功能,增強了安全性
二、SNMP的網絡架構
SNMP網絡架構由三部分組成:NMS(網絡管理站)、Agent(代理)、MIB(管理信息庫)
1、NMS(網絡管理站)
NMS是網絡中的管理者,是一個利用SNMP協議對網絡設備進行管理和監視的系統。可以是一臺專門用來進行網絡管理的服務器,也可以指某個設備中之中管理功能的一個應用程序。
NMS可以向Agent發出請求,查詢或修改一個或多個具體的參數值。同時,NMS可以接收Agent主動發送的Trap信息,以獲知被管理設備當前的狀態
2、Agent
Agent是網絡設備中的一個應用模塊,用於維護被管理設備的信息數據,並響應NMS的請求,把管理數據彙報給發送請求的NMS。
Aent接收到NMS的請求信息後,完成查詢或修改操作,並把操作結果發送給NMS,完成響應。同時,當設備發生故障或者其他事件的時候,Agent會主動發送Trap信息給NMS,通知設備當前的狀態變化。
3、MIB
任何一個被管理的資源都表示成一個對象,稱爲被管理的對象。MIB就是被管理對象的集合。它定義了被管理對象的一系列的屬性:對象的名稱、對象的訪問權限和對象的數據
類型等。每個Agent都有自己的MIB。MIB也可以看做是NMS和Agent之間的一個接口,通過這個接口,NMS可以對Agent中的每一個被管理對象進行讀/寫操作,從而達到管理和監控設備的目的。
NMS、Agent和MIB之間的關係如圖所示:
MIB的結構:
MIB是以樹狀結構進行存儲的,樹的節點表示被管理對象,它可以用從根開始的一條路徑唯一地識別,這條路徑就稱爲OID。
如圖所示,管理對象system可以用一串數字{1.3.6.1.2.1.1}唯一標識,這串數字就是system的OID。
三、SNMP的操作
後續的文章我們會通過抓包工具來抓取報文,來具體的分析SNMP報文的格式,以及SNMPv1、v2c、v3版本的相同與區別,以及v3所用的基於用戶和基於視圖的安全措施,認證和加密的過程!