天天看點

速讀原著-TCP/IP(SNMP管理資訊結構)第25章 SNMP: 簡單網絡管理協定

第25章 SNMP: 簡單網絡管理協定

25.3 管理資訊結構

S N M P中,資料類型并不多。在本節,我們就讨論這些資料類型,而不關心這些資料類型在實際中是如何編碼的。

• I N T E G E R。一個變量雖然定義為整型,但也有多種形式。有些整型變量沒有範圍限制,有些整型變量定義為特定的數值(例如,I P的轉發标志就隻有允許轉發時的1或者不允許轉發時的2這兩種),有些整型變量定義為一個特定的範圍(例如,U D P和T C P的端口号就從0到6 5 5 3 5)。

• OCTER STRING。0或多個8 bit位元組,每個位元組值在 0 ~ 2 5 5之間。對于這種資料類型和下一種資料類型的 B E R編碼,字元串的位元組個數要超過字元串本身的長度。這些字元串不是以N U L L結尾的字元串。

• D i s p l a y S t r i n g。0或多個8 bit位元組,但是每個位元組必須是 A S C I I碼(2 6 . 4中有A S C I I字元集)。在M I B - I I中,所有該類型的變量不能超過 2 5 5個字元(0個字元是可以的)。 • OBJECT IDENTIFIER。将在下一節中介紹。

• N U L L。代表相關的變量沒有值。例如,在 g e t或g e t - n e x t操作中,變量的值就是N U L L,因為這些值還有待到代理程序處去取。

• I p A d d r e s s。4位元組長度的OCTER STRING,以網絡序表示的 I P位址。每個位元組代表I P位址的一個字段。

• P h y s A d d r e s s。OCTER STRING類型,代表實體位址(例如以太網實體位址為 6個位元組長度)。 • C o u n t e r。非負的整數,可從0遞增到 23 2-1(4 294 976 295)。達到最大值後歸0。 • G a u g e。非負的整數,取值範圍為從 0到4 294 976 295(或增或減)。達到最大值後鎖定,直到複位。例如, M I B中的t c p C u r r E s t a b就是這種類型的變量的一個例子,它代表目前在E S TA B L I S H E D或C L O S E _ WA I T狀态的T C P連接配接數。

• T i m e T i c k s。時間計數器, 以0 . 0 1秒為機關遞增,但是不同的變量可以有不同的遞增幅度。是以在定義這種類型的變量的時候,必須指定遞增幅度。例如, M I B中的s y s U p T i m e變量就是這種類型的變量,代表代理程序從啟動開始的時間長度,以多少個百分之一秒的數目來表示。

• S E Q U E N C E。這一資料類型與C程式設計語言中的“ s t r u c t u r e”類似。一個S E Q U E N C E包括 0個或多個元素,每一個元素又是另一個 A S N . 1資料類型。例如, M I B中的U d p E n t r y就是這種類型的變量。它代表在代理程序側目前“激活”的 U D P數量(“激活”表示目前被應用程式所用)。在這個變量中包含兩個元素:

  1. I p A d d r e s s類型中的u d p L o c a l A d d r e s s,表示I P位址。
  2. I N T E G E R類型中的u d p L o c a l P o r t,從0到6 5 5 3 5,表示端口号。

• SEQUENDE OF。這是一個向量的定義,其所有元素具有相同的類型。如果每一個元素都具有簡單的資料類型,例如是整數類型,那麼我們就得到一個簡單的向量(一個一維向量)。但是我們将看到, S N M P在使用這個資料類型時,其向量中的每一個元素是一個S E Q U E N C E(結構)。因而可以将它看成為一個二維數組或表。例如,名為 u d p T a b l e的U D P監聽表( l i s t e n e r )就是這種類型的變量。它是一個二進制的S E Q U E N C E變量。每個二進制組就是一個 U d p E n t r y。如圖2 5 - 5所示。

速讀原著-TCP/IP(SNMP管理資訊結構)第25章 SNMP: 簡單網絡管理協定

在S N M P中,對于這種類型的表格并沒有标注它的列數。但在 2 5 . 7節中,我們将看到 g e t - n e x t操作是如何判斷已經操作到最後一列的情況。同時,在 2 5 . 6節中,我們還将介紹管理程序如何表示它對某一行資料進行 g e t或s e t操作。