SNMP

倪榮駿
MODA IT
Published in
Dec 14, 2023

簡單網路管理協定(SNMP)

簡單網路管理協定(SNMP)是網路管理的一個關鍵協定,廣泛用於監控和管理網路設備。SNMP提供了一種標準化的方法,使網路管理員能夠從遠端收集設備資訊,修改設備配置,並控制網路的整體運作。

SNMP PORT

SNMP(簡單網路管理協定)主要使用UDP(使用者資料報協定)161和162 port 來進行通信。這些port在網路中被用於以下目的:

  1. PORT 161:這是SNMP的主要通信 PORT。網路管理系統(NMS)使用這個端口向 SNMP 代理發送請求,如Get、Set等。換句話說,當NMS需要從網路設備獲取訊息或更改設定時,這些請求會通過161 PORT 發送。
  2. PORT 162:這個 PORT 用於SNMP代理向NMS發送TRAP 訊息。TRAP 是SNMP 中的一種機制,用於在設備發生重要事件時(例如故障或性能閾值被觸發),代理能夠主動通知NMS。這些通知通過 PORT 162發送。

SNMP協定的工作原理

SNMP基於客戶端/伺服器模型,其中網路管理系統(NMS)充當客戶端,而網路設備上的 SNMP 代理則作為服務器。 NMS向代理發送請求,如讀取或修改設備配置,代理則回應這些請求並可發送非同步的 TRAP 通知給NMS。

取自:https://www.manageengine.com/tw/network-monitoring/what-is-snmp.html#what-is-snmp

SNMP的主要版本

SNMPv1

發佈時間:SNMPv1是最早的版本,於1988年發佈。

功能:提供了基本的網路管理功能,包括讀取(GET)、設置(SET)和告警(TRAP)。

安全性:安全性較弱,主要依賴於社群名(community strings)來進行簡單的身份驗證。

限制:不支持批量(Bulk)請求,對大型網路的管理效率較低。

SNMPv2

發佈時間:SNMPv2於1993年發佈,是對SNMPv1的改進版本。

功能:增加了批量請求(GETBULK)和更豐富的錯誤處理機制。這使得對大型網路的管理更為有效。

安全性:SNMPv2c(其中的一個子版本)仍然使用社群名進行安全控制,安全性不高。另有SNMPv2u和SNMPv2*版本嘗試提高安全性,但並未廣泛採用。

通訊效率:相比於SNMPv1,SNMPv2在資料傳輸效率上有所提升。

SNMPv3

發佈時間:SNMPv3於1998年發佈,是目前最安全的版本。

功能:在功能上與SNMPv2類似,支持批量請求和豐富的錯誤處理機制。

安全性:提供了強化的安全特性,包括訊息完整性、訊息源的認證和加密(基於用戶安全模型,USM)。

訪問控制:引入了視圖型訪問控制模型(VACM),允許更細粒度的訪問控制。

SNMP的核心元件

SNMP通訊架構取自:https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol

SNMP代理(Agent):

  • 代理是安裝在網路設備(如路由器、交換機)上的軟體元件,負責收集並存儲設備的管理資訊。
  • 它回應來自NMS的SNMP請求,例如提供設備的運行狀態或更改設備的配置。

網路管理系統(NMS):

  • NMS 是用於監控和控制網路的中央管理控制台。
  • 它向 SNMP 代理發送請求,如讀取設備的運行狀況或更改配置,並處理代理發送的 TRAP 。

管理資訊庫(MIB):

  • MIB是存儲在 SNMP 代理中的資料庫,按照樹狀結構組織,其中每個節點代表一個管理對象,如設備性能參數。
  • 每個管理對象都有唯一的標識符(OID)。
MIB階層架構 取自:https://commons.wikimedia.org/wiki/File:SNMP_OID_MIB_Tree.png

SNMP TRAP:

  • TRAP是一種自動通知機制。當設備發生特定事件(如鏈路中斷、溫度異常)時,代理會自動發送TRAP消息給NMS。

SNMP PDU(協定資料單元):

  • PDU 是 SNMP 通訊中使用的封包格式,包括 GetRequest、SetRequest、GetNextRequest、GetBulkRequest(僅在SNMPv2和v3中)、Response和Trap。

社群名(Community Strings)(僅限於SNMPv1和v2):

  • 社群名是SNMPv1和v2中的一種簡單安全機制,類似於密碼,用於控制對設備的訪問。

用戶安全模型(USM)(僅限於SNMPv3):

  • USM是SNMPv3的安全模型,提供消息完整性、認證和加密,以保障資料的安全性。

視圖型訪問控制模型(VACM)(僅限於SNMPv3):

  • VACM 用於控制不同用戶對 MIB 對象的訪問權限,實現細粒度的訪問控制。

SNMP 在網路管理中的應用

SNMP協定通過其多樣化的元件,使網路管理員能夠從一個中央位置監控、診斷和控制整個網路的運行。這包括但不限於:

  • 性能監控:即時追蹤設備的運行狀態和性能指標。
  • 故障診斷:快速檢測和響應網路故障或性能下降。
  • 配置管理:遠程修改設備配置,提高運維效率。
  • 安全管理:通過監控異常流量和訪問嘗試,提高網路安全性。

結論

SNMP 協定及其元件是網路管理不可或缺的一部分,它們為網路管理提供了一種高效、標準化和安全的方式。隨著技術的發展和網路環境的複雜化,SNMP 將繼續在網路管理領域發揮重要的作用。

參考文章:

--

--