官术网_书友最值得收藏!

2.3.2 SNMP

簡單網絡管理協議(Simple Network Management Protocol,SNMP)是專門設計用于在IP網絡中管理網絡節點的一種標準協議,它是一種應用層協議。網絡管理員可以利用網絡管理站(Network Management Station,NMS)在網絡上的任意節點完成信息查詢、信息修改和故障排查等工作,提升工作效率。同時,其可以屏蔽不同產品之間的差異,實現不同種類和廠商的網絡設備之間的統一管理。所有支持SNMP的網絡設備,網絡管理員都可對其進行統一管理。SNMP不僅能夠加強網絡管理系統的效能,還可以用來對網絡中的資源進行管理和實時監控。SNMP傳輸層使用用戶數據報協議(User Datagram Protocol,UDP),管理端的默認端口為UDP 162,主要用來接收代理的消息,如Trap告警消息等。代理端使用UDP 161端口接收管理端下發的消息。

SNMP框架體系由多個功能相對獨立的子系統或應用程序集合而成,因而可以方便管理,其典型架構如圖2-2所示。在基于SNMP的網絡中,NMS是網絡管理(簡稱網管)中心,在它之上運行管理進程,對網絡設備進行管理和監控。每個被管理設備都需要運行代理進程。管理進程和代理進程利用SNMP報文進行通信。被管理設備是網絡中接受NMS管理的設備。

代理進程運行于被管理設備上,用于維護被管理設備的信息數據并響應來自NMS的請求,把管理數據匯報給發送請求的NMS。NMS和被管理設備的信息交互分為兩種:一種是NMS通過SNMP給被管理設備發送修改配置信息請求或查詢配置信息請求,被管理設備上運行的代理進程根據NMS的請求消息做出響應;另一種是被管理設備主動向NMS上報告警信息(Trap),以便網絡管理員及時發現故障。

每一個設備可能包含多個被管理對象,被管理對象可以是設備中的某個硬件,也可以是在硬件、軟件(如路由選擇協議)上配置的參數集合。SNMP規定通過管理信息庫(Management Information Base,MIB)去描述可管理實體的一組對象。MIB是數據庫,指明了被管理設備所維護的變量(即能夠被代理進程查詢和設置的信息)。MIB定義了被管理設備的一系列屬性,包括對象標識符(Object Identifier,OID)、對象的狀態、對象的訪問權限和對象的數據類型等。MIB包含網絡中所有可能的被管理對象的集合。因為其結構與樹相似,所以MIB又被稱為對象命名樹。

圖2-2 SNMP典型架構

MIB是NMS同代理進程進行溝通的“橋梁”,可以使網管軟件和設備進行標準對接。每一個代理進程都維護一個MIB,NMS可以對MIB中對象的值進行讀取或設置。MIB定義被管理對象的一系列屬性,包括對象的名稱、對象的訪問權限以及對象的數據類型。

MIB以樹狀結構存儲數據,樹的葉子節點表示管理對象,它可以通過從根節點開始的一條唯一路徑來標識,這條路徑也就是OID。MIB樹如圖2-3所示。

OID是由一系列非負整數組成的,用于唯一標識管理對象在MIB樹中的位置。MIB文件一旦發布,OID就和被定義的對象綁定,不能修改。MIB節點不能被刪除,只能將它的狀態置為“obsolete”,表明該節點已經被廢除。

NMS通過OID引用代理進程中的對象。如在圖2-3所示的樹中,mgmt對象可以標識為{iso(1)org(3)dod(6)internet(1)mgmt(2)},簡單標記為1.3.6.1.2,這種標識就叫作OID。

圖2-3 MIB樹

SNMP的發展經歷了SNMPv1、SNMPv2c和SNMPv3,這是一個不斷完善、改進的過程。SNMPv1是SNMP的最初版本,容易實現且成本低。因為該版本缺少大量讀取數據的能力,并且沒有足夠的安全機制,所以適合規模較小、設備較少和安全性要求不高或本身就比較安全的網絡,如校園網和小型企業網等。SNMPv2c擴展了SNMPv1的功能,增加了GetBulk和inform操作,但是該版本仍然沒有足夠的安全機制。SNMPv2c適合規模較大、設備較多和安全性要求不高或本身就比較安全,但業務比較繁忙,有可能發生流量擁塞的網絡。鑒于SNMPv2c在安全性方面沒有得到改善,因特網工程任務組(Internet Engineering Task Force,IETF)又發布了SNMPv3,SNMPv3提供了基于用戶的安全模型(User-based Security Model,USM)的認證加密和基于視圖的訪問控制模型(View-based Access Control Model,VACM)功能。該版本適用于各種規模的網絡,尤其是對安全性要求較高,只有合法的管理員才能對網絡設備進行管理的網絡。

NMS通過SNMPv3向被管理設備下發查詢和設置操作指令,并接收操作響應信息,同時監聽被管理設備發送的告警信息。SNMPv3的基本操作命令如表2-1所示。

表2-1 SNMPv3的基本操作命令

SNMPv1和SNMPv2c使用團體名(community,可以理解為密碼)進行安全認證,團體名在網絡中以明文傳輸,容易泄露。同時,大多數網絡產品出廠時設定只讀團體名的默認值為“Public”,讀寫團體名的默認值為“Private”。許多網絡管理人員從未修改過該默認值,存在安全風險。

SNMPv3較SNMPv1和SNMPv2c在安全性方面做了提升。SNMPv3定義了3個安全級別:1級為privacy(鑒權且加密),2級為authentication(只鑒權),3級為noauthentication(不鑒權不加密)。SNMPv3將擁有相同安全級別的用戶劃分了用戶組,同時定義了視圖控制用戶訪問的MIB節點集合。

用戶的安全級別必須大于等于用戶組的安全級別,即如果用戶組的安全級別是1級,則用戶的安全級別必須是1級,如果用戶組的安全級別是2級,則用戶的安全級別可以是1級或者2級。

SNMPv3還采用了USM和VACM,提升了安全性。USM可提供身份驗證和數據加密服務。身份驗證指的是代理進程或NMS接到信息時首先必須確認信息是否來自有權限的NMS或代理進程,并且信息在傳輸過程中未被改變。數據加密是指通過對稱密鑰系統,NMS和代理進程共享同一密鑰并對數據進行加密和解密。VACM用于對用戶組實現基于視圖的訪問控制,用戶必須先配置一個視圖,并指明權限。用戶可以在配置用戶、用戶組或者團體名的時候加載這個視圖,以達到限制讀寫操作、告警的目的。

華為設備上SNMP的基本配置命令如下。

主站蜘蛛池模板: 托克托县| 张家界市| 密云县| 伽师县| 金堂县| 江西省| 年辖:市辖区| 斗六市| 雅安市| 襄汾县| 南召县| 友谊县| 揭西县| 昆明市| 莎车县| 石嘴山市| 许昌市| 郑州市| 保靖县| 越西县| 高要市| 沙坪坝区| 孟村| 香格里拉县| 二连浩特市| 上饶县| 柳河县| 梨树县| 兰西县| 库车县| 安顺市| 登封市| 洞头县| 沙河市| 林芝县| 织金县| 徐闻县| 阳曲县| 吴旗县| 临沭县| 邢台市|