【疑問解答】什麼是SNMP?SNMP是如何工作的?
隨着網絡技術的飛速(FS)發展,網絡結構越來越複雜,網絡設備種類也越來越多,不同設備廠商所提供的管理接口(如CLI)各不同,與此同時,網絡設備數量呈幾何級數量增加,這使得網絡管理變得愈發複雜。在這種背景下,SNMP應運而生,它可提供一個統一的接口和協議,解決了不同產品之間的差異性,實現了對不同種類和廠商的網絡設備進行統一化管理,較大程度上簡化了網絡管理,同時,它利用“網絡管理網絡”的方式實現了對網絡設備的高效和批量管理。
什麼是SNMP?
SNMP(簡單網絡管理協議)是一種廣泛應用於TCP/IP網絡的網絡管理標準協議(應用層協議),它提供了一種通過運行網絡管理軟件的中心計算機(即網絡管理工作站)來監控和管理計算機網絡的標準化管理框架(方法)。目前已頒布了SNMPv1、SNMPv2c和SNMPv3三個版本,廣泛應用於網絡交換機、路由器、打印機等網路設備上。
SNMP是如何工作的?
想要了解SNMP的工作原理,首先要了解SNMP管理模型,也就是SNMP系統是由哪些元素組成。
SNMP系統主要是由網絡管理系統(NMS)、代理進程(Agent)、被管對象(Management object)和管理信息庫(MIB)四個部分組成。其中,網絡管理系統作為整個網絡的網管中心,對設備進行管理。每個被管理設備中都包含駐留在設備上的代理進程、管理信息庫和多個被管對象。
網絡管理系統(NMS)——在網絡中扮演管理者角色,採用SNMP協議對網絡設備進行監視和管理的系統,運行在網絡管理系統服務器上。
代理進程(Agent)——是被管理設備中的一個代理進程,用於維護被管理設備的信息數據並響應來自網絡管理系統的請求,把管理數據彙報發送請求的網絡管理系統。
被管對象——每臺設備都有可能存在多個被管對象,被管對象可以是設備中的某個硬件(如接口板),也可以是在硬件或軟件(如路由器選擇協議)上配置的參數集合。
管理信息庫(MIB)——通過與運行在被管理設備上的代理進程(Agent)交互,對設備端的管理信息庫(MIB)進行查詢及修改等,完成網絡管理系統(NMS)的指令。
下面以SNMPv2c版本為例,詳細講述SNMP的工作原理。
SNMPv2c版本中規定了七種操作用於完成NMS和Agent之間的信息交互,七種操作類型如下:
操作 | 描述 |
---|---|
Get | 該操作可使NMS從Agent中獲取一個或多個參數值 |
GetNext | 該操作是NMS從Agent中獲取一個或多個參數的下一個參數值 |
Set | 該操作是NMS用來設置Agent的一個或多個參數值 |
Response | 該操作是由Agent發出,可以返回一個或多個參數值,是GetRequest、GetNextRequest、SetRequest和GetBulkRequest四種操作的響應操作。當Agent接收到來自NMS的Get/Set指令後,通過MIB完成相應的查詢/修改操作,然後利用Response操作將信息回應給NMS |
Trap | 該操作是由Agent主動向NMS發出的信息,告知管理進程設備端發生的事件或故障 |
GetBulk | 該操作是用於NMS高效的從MIB中獲取大量的數據,實現對被管理設備的信息群查詢 |
Inform | 該操作也是由Agent主動向NMS主動發送告警,與Trap告警不同的是,被管理設備發送Inform告警後,需要NMS回復InformResponse進行確認 |
註:GetBulk和Inform操作為SNMPv2c版本中新增操作,SNMPv1版本不支持這兩種操作;此外,SNMPv3版本中為了消息安全和VACM引入了USM。
SNMPv2c的基本操作工作過程
首先,當NMS向Agent發送Get/GetNext/GetBulk/Set請求報文時,報文中各字段將進行如下設置:版本號為所使用的SNMP版本;團體名為public;PDU中PDU類型為Get/GetNext/GetBulk/Set類型,綁定變量填入MIB節點名sysContact。
然後,Agent會對報文中所攜帶的SNMP版本號和團隊名進行認證。認證成功後,Agent會根據請求查詢MIB中的sysContact節點或者下一個節點sysName,得到sysContact或sysName的值並將其封裝到Response報文中的PDU,向NMS發送響應;或者Agent根據請求設置管理變量在管理信息庫MIB中對應的節點,設置成功後向NMS發送響應。若是查詢不到,Agent則會向NMS發送出錯響應。
註:GetBulk操作相當於連續執行多次GetNext操作。用戶可以在NMS上設置被管理設備在一次GetBulk報文交互時,執行GetNext操作的次數。
SNMPv2c 的Trap/Inform操作工作過程
Trap和Inform操作都是不屬於NMS對被管理設備的基本操作,它是被管理設備的自發行為。Trap操作是當被管理設備達到告警的觸發條件時,Agent會向NMS發送Trap消息,告知設備側出現的異常情況。Inform操作與Trap操作類似,但不同的是被管理設備發送Inform信息後,需要向NMS進行接收確認。當被管理設備沒有收到確認信息時,將會將暫時保存在Inform緩存中,或重複發送該報文,直到NMS確認收到該告警或者發送次數達到最大重傳次數,同時,被管理設備上會生成相應的告警日誌。
關於SNMP的常見疑問解答
1. 如何配置SNMP?
由上可知,SNMP是通過安裝網絡管理軟件的中心計算機來管理和監控網絡交換機的,可為不同廠商和類型的網絡交換機提供統一接口和協議,便於網絡管理。現如今市面上大多數的網絡交換機均能支持SNMP協議,如飛速(FS) S3900系列交換機等。以SNMPv2c為例,配置步驟如下:
①為NMS端和網絡交換機配置IP地址;
②開啟SNMP服務;
③配置訪問權限,便於NMS端管理指定的網絡交換機;
④檢驗配置結果。
欲知更多關於SNMP配置的詳細資料,可訪問《飛速(FS) S3900系列交換機如何配置SNMP?》。
2. 網絡管理系統(NMS)為什麼無法接收告警(Trap)?
在默認配置中,並不是所有的告警(Trap)都是開啟狀態,你可以在系統視圖下使用如下命令行查看並開啟告警(Trap)。
①使用“show snmp-agent trap all”命令,查看當前以及使能告警功能的特性列表;
②使用“snmp-agent trap enable feature-name”命令,開啟相應告警;
③使用“snmp-agent trap enable”,打開所有告警。
3. SNMPv1、SNMPv2c與SNMPv3三者之間有什麼區別?
|
SNMPv1 | SNMPv2c | SNMPv3 |
---|---|---|---|
訪問控制 | 基於團體名和MIB視圖 | 基於團體名和MIB視圖 | 基於用戶、用戶組和MIB視圖 |
身份驗證和加密 | 基於團隊名認證 | 基於團隊名認證 | 基於USM的認證加密 |
TARP操作 | 支持 | 支持 | 支持 |
Inform操作 | 不支持 | 支持 | 支持 |
GetBulk操作 | 不支持 | 支持 | 支持 |
應用 | 適用於對安全性能要求低的小型網絡,如家用網絡 | 適用於對安全性能要求低的SMB和大型網絡 | 適用於對安全性能要求高的大型或超大規模企業網 |
相關文章推薦
郵箱地址
-
Cat5e、Cat6、Cat6a和Cat7網線有什麼區別?哪個更好?
2020年08月21日
-
一文帶你了解SFP、SFP+、SFP28、QSFP+和QSFP28之間的區別
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纖有什麼區別?
2021年11月24日
-
SFP端口是什麼?有什麼作用?可以接RJ45嗎?
2020年09月15日
-
PCIe卡知識掃盲:你想了解的都在這裡
2020年03月24日