簡單網絡管理協議SNMP( Simple Network Management Protocol )可以實現對不同種類和不同廠商的網絡設備進行統一管理,大大提升了網絡管理的效率
SNMP用來在網絡管理系統NMS和被管理設備之間傳輸管理信息。
SNMP是廣泛應用於TCP/IP網絡的一種網絡管理協議。SNMP提供了一種通過運行網絡管理軟件NMS(Network Management System)的網絡管理工作站來管理網絡設備的方法。
SNMP支持以下幾種操作:
NMS通過SNMP協議給網絡設備發送配置信息。
NMS通過SNMP來查詢和獲取網絡中的資源信息。
網絡設備主動向NMS上報告警消息,使得網絡管理員能夠及時處理各種網絡問題。
SNMP包括NMS,Agent和MIB等。典型的C/S結構
Agent是被管理設備中的一個代理進程。
MIB是一個數據庫,它包含了被管理設備所維護的變量。
zabbix 和 cacti 網絡監控軟件
NMS是運行在網管主機上的網絡管理軟件。網絡管理員通過操作NMS,向被管理設備發出請求,從而可以監控和配置網絡設備。
Agent是運行在被管理設備上的代理進程。被管理設備在接收到NMS發出的請求后,由Agent作出響應操作。Agent的主要功能包括:收集設備狀態信息、實現NMS對設備的遠程操作、向NMS發送告警消息。
管理信息庫MIB(Management Information Base)是一個虛擬的數據庫,是在被管理設備端維護的設備狀態信息集。Agent通過查找MIB來收集設備狀態信息。
SNMPv1 實現方便,安全性弱。
SNMPv2c 有一定的安全性。 現在應用最為廣泛。
SNMPv3 定義了一種管理框架,為用戶提供了安全的訪問機制。
SNMPv1:網管端工作站上的NMS與被管理設備上的Agent之間,通過交互SNMPv1報文,可以實現網管端對被管理設備的管理。SNMPv1基本上沒有什么安全性可言。
SNMPv2c在繼承SNMPv1的基礎上,其性能、安全性、機密性等方面都有了大的改進。
SNMPv3是在SNMPv2基礎之上增加、完善了安全和管理機制。SNMPv3體系結構體現了模塊化的設計思想,使管理者可以方便靈活地實現功能的增加和修改。SNMPv3的主要特點在於適應性強,可適用於多種操作環境,它不僅可以管理最簡單的網絡,實現基本的管理功能,也可以提供強大的網絡管理功能,滿足復雜網絡的管理需求。
SNMPv1定義了5種協議操作:
Get-Request:NMS從代理進程的MIB中提取一個或多個參數值。
Get-Next-Request:NMS從代理進程的MIB中按照字典式排序提取下一個參數值。
Set-Request:NMS設置代理進程MIB中的一個或多個參數值。
Response:代理進程返回一個或多個參數值。它是前三種操作的響應操作。
Trap:代理進程主動向NMS發送報文,告知設備上發生的緊急或重要事件。
SNMPv2c新增了2種協議操作:
GetBulk:相當於連續執行多次GetNext操作。在NMS上可以設置被管理設備在一次GetBulk報文交互時,執行GetNext操作的次數。
Inform:被管理設備向NMS主動發送告警。與trap告警不同的是,被管理設備發送Inform告警后,需要NMS進行接收確認。如果被管設備沒有收到確認信息則會將告警暫時保存在Inform緩存中,並且會重復發送該告警,直到NMS確認收到了該告警或者發送次數已經達到了最大重傳次數。
SNMPv3的實現原理和SNMPv1/SNMPv2c基本一致,主要的區別是SNMPv3增加了身份驗證和加密處理。
NMS向Agent發送不帶安全參數的Get請求報文,向Agent獲取安全參數等信息。
Agent響應NMS的請求,向NMS反饋所請求的參數。
NMS向Agent發送帶安全參數的Get請求報文。
Agent對NMS發送的請求消息進行認證,認證通過后對消息進行解密,解密成功后,向NMS發送加密的響應。
代理進程Agent使用UDP協議向NMS發送告警消息,目的端口號為162
snmp-agent命令用來使能SNMP代理。 執行snmp-agent sys-info version [ [ v1 | v2c | v3 ] * | all ]命令可以配置SNMP系統信息,其中version [ [ v1 | v2c | v3 ] * | all ]指定設備運行的SNMP版本
執行snmp-agent trap enable命令,可以激活代理向NMS發送告警消息的功能,這一功能激活后,設備將向NMS上報任何異常事件。另外,還需要指定發送告警通告的接口
執行display snmp-agent sys-info命令,可以查看系統維護的相關信息,包括設備的物理位置和SNMP版本。