SNMP簡要學習

2021-09-22 07:06:44 字數 2370 閱讀 6246

(本文絕大部分內容來自於gary.wrighth和w.richard stevens的《tcp/ip詳解,卷1:協議》,從中節選這些內容主要是為了方便查閱)

一、協議

基於tcp/ip的網路管理包含兩個部分:網路管理站(也叫管理程序,manager)和被管的網路單元(也叫被管裝置) 。被管裝置種類繁多,例如:路由器、x終端、終端伺服器和印表機等。這些被管裝置的共同點就是都執行tcp/ip協議。被管裝置端和管理相關的軟體叫做**程式(agent)或**程序。管理程序和**程序之間的通訊協議,叫做簡單網路管理協議snmp(****** network management protocol) 。在rfc1157 [case et al. 1990]中定義。snmp包括資料報交換的格式等。儘管可以在運輸層採用各種各樣的協議,但是在snmp中,用得最多的協議還是udp。關於管理程序和**程序之間的互動資訊,snmp定義了5種報文:

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

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

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

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

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

前面的3個操作是由管理程序向**程序發出的。後面兩個是**程序發給管理程序的(為簡化起見,前面3個操作今後叫做get、get-next和set操作)。圖1描述了這5種操作。

圖1 snmp的5種操作

圖2是封裝成u d p資料報的5種操作的snmp報文格式。

圖2 snmp的報文格式

在圖中,我們僅僅對ip和udp的首部長度進行了標註。這是由於: snmp報文的編碼採用了asn.1和ber,這就使得報文的長度取決於變數的型別和值。關於asn.1和ber的內容將在後面介紹。在這裡介紹各個欄位的內容和作用。

版本欄位是0。該字段的值是通過snmp版本號減去1得到的。顯然0代表snmp v1。

圖3顯示各種pdu對應的值(pdu即協議資料單元,也就是分組)。

共同體欄位是乙個字串。這是管理程序和**程序之間的口令,是明文格式。預設的值是public。

對於get、get-next和set操作,請求標識由管理程序設定,然後由**程序在get-response中返回。這這個欄位的作用是使客戶程序(在目前情況下是管理程序)能夠將伺服器程序(即**程序)發出的響應和客戶程序發出的查詢進行匹配。這個snmp**程序snmp管理程序字段允許管理程序對乙個或多個**程序發出多個請求,並且從返回的眾多應答中進行分類。

差錯狀態字段是乙個整數,它是由**程序標註的,指明有差錯發生。圖4是引數值、名稱和描述之間的對應關係。

差錯索引欄位是乙個整數偏移量,指明當有差錯發生時,差錯發生在哪個引數。它是由**程序標註的,並且只有在發生nosuchname、readonly和badvalue差錯時才進行標註。

在get、get-next和set的請求資料報中,包含變數名稱和變數值的一張表。對於get和get-next操作,變數值部分被忽略,也就是不需要填寫。

對於trap操作符(pdu型別是4),snmp報文格式有所變化,在後文介紹。

圖3  snmp報文中的pdu型別                                圖4  snmp差錯狀態的值

二、物件識別符號

物件標識是乙個整數序列,以點(「.」)分隔。這些整數構成乙個樹型結構,類似於dns或unix的檔案系統。物件標識從樹的頂部開始,頂部沒有標識,以 root表示(這和unix中檔案系統的樹遍歷方向非常類似)。樹上的每個結點同時還有乙個文字名。例如標識1.3.6.1.2.1就和iso.org.dod.internet.memt.mib對應。這主要是為了人們閱讀方便。

三、管理資訊庫(mib)

mib是所有**程序包含的、並且能夠被管理程序進行查詢和設定的資訊的集合。我們在前面已經提到了在rfc 1213 [mccolghrie 和rose 1991]中定義的mib-ii。mib被劃分為若干個組,如system、inte***ces、at(位址轉換)和ip組等。(具體的資料結構和成員變數比較複雜,不再羅列於此)

四、trap、asn.1和ber

SNMP學習筆記 SNMP基礎

定義 簡單網路管理協議 snmp 由一組網路管理的標準組成,包含乙個 應用層資料庫模型 database schema 和一組資源物件。該協議能夠支援 網路管理系統 用以監測連線到網路上的裝置是否有任何引起管理上關注的情況。原理 在典型的snmp用法中,有許多系統被管理,而且是有一或多個系統在管理它...

SNMP 學習事例

snmp 簡單網路管理協議 snmp 提供了一種通過執行網路管理軟體nms的網路管理工作站來管理網路裝置的方法 作用 nms通過snmp協議給網路裝置傳送配置資訊 nms通過snmp來查詢和獲取網路中的資源資訊 網路裝置主動向nms上報告警資訊,使得網路管理員能夠及時處理各種網路問題 開啟snmp ...

snmp協議的學習。

snmp是乙個構建在tcp udp上的遠端監控應用。他能夠監控網路中的主機的一些狀態資訊,比如記憶體使用率,cpu占有率,磁碟占有率。snmp的目標就是管理網際網路的上眾多廠商生產的各種軟硬體平台。其主要分為兩個部分 安裝在待監控主機上的snmp伺服器端,用於收集主機的資訊。安裝在監控主機上的snm...