SNMP網路管理協議

2021-07-26 14:49:20 字數 3791 閱讀 3084

網路管理系統的組成

1. 被管理節點(裝置)--被監視的裝置

2. 網路管理**      ---是駐留在網路裝置中的軟體模組,對來自管理站的資訊查詢 和 動作執行 的請求作出響應, 主動向管理站提供一些重要的非請求資訊

3. 網路管理工作站    ---資訊的接收點,指令的傳送點(與在不同的被管理節點中的**進行通訊,並顯示這些**狀態的中心裝置)

4.網路管理協議       ----規範被管裝置與網管工作站的資訊傳遞(被網路管理工作站和**用來交換資訊的協議)

5.管理資訊資料庫    ----收集有關被管網路裝置的資訊(動態變化的)

網路管理協議

重點是:snmp  ****** network management protocol

rmon  remote  monitoring

遠端管理協議

snmp

依賴於udp

為其提供服務

snmp

的管理模型

snmp是基於tcp/ip協議族的網路管理標準,是一種在ip網路中管理網路節點(如伺服器、工作站、路由器、交換機等)的標準協議。snmp能夠使網路管理員提高網路管理效能,及時發現並解決網路問題以及規劃網路的增長。網路管理員還可以通過snmp接收網路節點的通知訊息以及告警事件報告等來獲知網路出現的問題。

snmp管理的網路主要由三部分組成:

它們之間的關係如右圖所示。

管理資訊資料庫

1. 物件型別(objecttype)例如 ip 頻寬

2. 語法

3. 許可權 4.

狀態 snmp

的管理資訊庫採用與dns一樣的樹狀分層結構

物件的唯一標識。例如上圖中icmp的oid是  1.3.6.1.2.1.5

snmp規定了5種協議資料單元pdu(也就是snmp報文),用來在管理程序和**之間的交換。

get-request操作:從**程序處提取乙個或多個引數值。

get-next-request操作:從**程序處提取緊跟當前引數值的下乙個引數值。

set-request操作:設定**程序的乙個或多個引數值。

get-response操作:返回的乙個或多個引數值。這個操作是由**程序發出的,它是前面三種操作的響應操作。

trap操作:**程序主動發出的報文,通知管理程序有某些事情發生。

前面的3種操作是由管理程序向**程序發出的,後面的2個操作是**程序發給管理程序的,為了簡化起見,前面3個操作今後叫做get、get-next和set操作。

在snmp中往往使用udp協議,所以可能發生管理程序和**程序之間資料報丟失的情況。因此一定要有超時和重傳機制

圖1描述了snmp的這5種報文操作。請注意,在**程序端是用熟知埠161倆接收get或set報文,而在管理程序端是用熟知埠162來接收trap報文。

圖1 snmp的5種報文操作

圖2是封裝成udp資料報的5種操作的snmp報文格式。可見乙個snmp報文共有三個部分組成,即公共snmp首部、get/set首部、trap首部、變數繫結。

(1)公共snmp首部

共三個字段:

 版本 

寫入版本欄位的是版本號減1,對於snmp(即snmpv1)則應寫入0。

 共同體(community)

共同體就是乙個字串,作為管理程序和**程序之間的明文口令,常用的是6個字元「public」。

 pdu型別

根據pdu的型別,填入0~4中的乙個數字,其對應關係如表2所示意圖。

表2 pdu型別

pdu型別名稱0

get-request

1get-next-request

2get-response

3set-request

4trap

(2)get/set首部

 請求識別符號(request id)

這是由管理程序設定的乙個整數值。**程序在傳送get-response報文時也要返回此請求識別符號。管理程序可同時向許多**發出get報文,這些報文都使用udp傳送,先傳送的有可能後到達。設定了請求識別符號可使管理程序能夠識別返回的響應報文對於哪乙個請求報文

 差錯狀態(error status)

由**程序回答時填入0~5中的乙個數字,見表3的描述

表3 差錯狀態描述

差錯狀態

名字說明

0noerror

一切正常

1toobig

**無法將回答裝入到乙個snmp報文之中

2nosuchname

操作指明了乙個不存在的變數

3badvalue

乙個set操作指明了乙個無效值或無效語法

4readonly

管理程序試圖修改乙個唯讀變數

5generr

某些其他的差錯

 差錯索引(error index)

當出現nosuchname、badvalue或readonly的差錯時,由**程序在回答時設定的乙個整數,它指明有差錯的變數在變數列表中的偏移。

(3)trap首部

 企業(enterprise)

填入trap報文的網路裝置的物件識別符號。此物件識別符號肯定是在圖3的物件命名樹上的enterprise結點下面的一棵子樹上。

 trap型別

此欄位正式的名稱是generic-trap,共分為表4中的7種。

trap型別

名字說明

0coldstart

**進行了初始化

1warmstart

**進行了重新初始化

2linkdown

乙個介面從工作狀態變為故障狀態

3linkup

乙個介面從故障狀態變為工作狀態

4authenticationfailure

從snmp管理程序接收到具有乙個無效共同體的報文

5egpneighborloss

乙個egp相鄰路由器變為故障狀態

6enterprisespecific

**自定義的事件,需要用後面的「特定**」來指明

當使用上述型別2、3、5時,在報文後面變數部分的第乙個變數應標識響應的介面。

 特定**(specific-code)

指明**自定義的時間(若trap型別為6),否則為0。

 時間戳(timestamp)

指明自**程序初始化到trap報告的事件發生所經歷的時間,單位為10ms。例如時間戳為1908表明在**初始化後1908ms發生了該時間。

(4)變數繫結(variable-bindings)

指明乙個或多個變數的名和對應的值。在get或get-next報文中,變數的值應忽略。

SNMP網路管理協議

snmp網路管理協議在通訊裝置中使用得很廣,大部分的通訊裝置的網管介面都支援snmp標準協議。最近在實際工作做有所接觸,下面就說說自己開發過程中的問題和心得。一般來講snmp由網管終端 如pc上的nmc 和裝置中的agent組成,也就是通常所講的上位機與下位機。我的工作住要是pc部分的網管的開發。目...

SNMP網管協議 網路管理協議

snmp 簡單網路管理協議 和cmip 通用管理資訊協議 都是目前世界上最主要的兩種網管協議。總的來說,snmp和cmip兩種協議是相同點比較多。首先兩者的管理目標和基本組成部分是相同的,由5個部分組成 被管裝置,若干被管 至少乙個網路管理器,乙個公共網路管理協議,一種或多種管理資訊庫 mib 目標...

snmp 簡單網路管理協議

snmp是基於tcp ip協議族的網路管理標準,是一種在ip網路中管理網路節點 如伺服器 工作站 路由器 交換機等 的標準協議。snmp能夠使網路管理員提高網路管理效能,及時發現並解決網路問題以及規劃網路的增長。網路管理員還可以通過snmp接收網路節點的通知訊息以及告警事件報告等來獲知網路出現的問題...