SNMP協議介紹


概述

snmp全稱Simple Network Management Protocol,中文名為簡單網絡管理協議,屬於應用層協議。

版本

SNMP目前共有v1、v2、v3三個版本

  • v1

    SNMP的最初版本

  • v2c

    在v1的基礎上增加 ·共同體· 字段(community,實質上是密碼)

  • v3

    增加認證和對密文傳輸的支持

架構

SNMP協議主要由兩個部分組成:SNMP管理站(NMS)SNMP代理(Agent)

SNMP管理站:這是一個中心節點,負責手記維護各個SNMP元素的信息,並對這些信息進行處理,最后反饋給網絡管理員,相當於大腦的角色。

SNMP代理:代理運行在各個被管理的網絡節點上,負責統計該節點的各項信息,並且負責與SNMP管理站交互,接收並執行管理站的命令上傳各種本地的網絡信息。

Untitled Diagram-2

傳輸層協議

SNMP傳輸層協議選用udp。 SNMP采用UDP 161端口接收和發送請求,162端口接收trap,執行SNMP的設備缺省都必須采用這些端口。SNMP消息全部通過UDP端口161接收,只有Trap信息采用UDP端口162。

操作方式

SNMP提供了三種操作方式:

  • Get操作

    管理員讀取設備數據

  • Set操作

    管理員設置設備數據

  • Trap操作

    設備在重要狀況改變時主動向管理員通報事件的發生

協議數據單元PDU

SNMP定義了5中PDU對應上述3種操作,

  • get-request

    從代理(本質上是設備)獲取一個或多個參數值

  • get-next-request

    從代理緊接着取出下一個參數值

  • set-request

    設置代理一個或多個參數值

  • get-response

    對上述三種請求的響應

  • trap

    設備主動上報的數據

  • get-bulk(v2c)

    GetBulk操作所對應的基本操作是GetNext,通過對Non repeaters和Max repetitions參數的設定,高效率地從Agent獲取大量管理對象數據,如果get-request中的參數有一個不存在,請求照樣會被正常執行;而在SNMPv1種將收到一個錯誤消息

  • inform(v2c)

    相當於Trap的升級版,但是Trap消息發出去之后不會收到響應消息,而inform消息在發出之后能收到響應消息

img

SNMP報文結構

報文結構如下

Untitled Diagram-3

  • 版本號

    表明當前使用的版本,管理站和代理之間的版本號必須相同才能通信

  • 團體名

    團體(community)是基本的安全機制,用於實現SNMP網絡管理員訪問SNMP管理代理時的身份驗證。類似於密碼,默認值為 public。團體名(Community name)是管理代理的口令,管理員被允許訪問數據對象的前提就是網絡管理員知道網絡代理的口令。

  • PDU

    數據載體

    詳細的報文結構如下:

snmp報文格式PDU

表1: pdu類型

PDU類型 名稱
0 get-request
1 get-next-request
2 get-response
3 set-request
4 trap

表2: 差錯狀態

差錯狀態 名字 描述
0 noError 無錯誤
1 tooBig 代理無法將回答裝入到一個SNMP報文中
2 noSuchName 操作指明了一個不存在的變量
3 badValue 一個set操作指明了一個無效值或無效語法
4 readOnly 管理進程試圖修改一個只讀變量
5 genErr 某些其他差錯

表3: trap類型

trap類型 名字 說明
0 coldStart 代理進行了初始化
1 warmStart 代理進行了重新初始化
2 linkDown 一個接口從工作狀態變為故障狀態
3 linkUp 一個接口從故障狀態變為工作狀態
4 authenticationFailure 從SNMP管理進程接收到具有一個無效共同體的報文
5 egpNeighborLoss 一個EGP相鄰路由器變為故障狀態
6 enterpriseSpecific 代理自定義事件,需要用后面的“特定代碼”來指明

MIB管理信息庫

管理信息(MIB)庫可以理解成為agent維護的管理對象數據庫,MIB中定義的大部分管理對象的狀態和統計信息都可以被NMS訪問。MIB是一個按照層次結構組織的樹狀結構,每個被管對象對應樹形結構的一個葉子節點,稱為一個object,擁有唯一的對象標識符(oid),OID由樹上的一系列整數組成,整數之間用點( . )分隔開

img

M I B被划分為若干個組,如system、interfaces、 at(地址轉換)和ip組等。iso.org.dod.internet.private.enterprise( 1 . 3 . 6 . 1 . 4 . 1)這個標識,是給廠家自定義而預留的,比如華為的為1.3.6.1.4.1.2011,華三的為1.3.6.1.4.1.25506。

mib樹有點類似linux文件系統各個snmp設備中的mib前綴都是一樣的

注意⚠️:當網絡管理協議在報文中使用MIB變量時,每個變量名后還要加一個后綴,以作為該變量的一個實例。如ipInReceives的實例數字表示為:1.3.6.1.2.1.4.3.0

snmp開發

windows和mac都內置snmp服務,默認都是不開啟的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM