SMI in SNMP
SNMP中,數(shù)據(jù)類型并不多。這里我們就討論這些數(shù)據(jù)類型,而不關(guān)心這些數(shù)據(jù)類型在實(shí)際中是如何編碼的。
?INTEGER
一個(gè)變量雖然定義為整型,但也有多種形式。有些整型變量沒有范圍限制,有些整型變量定義為特定的數(shù)值(例如,IP的轉(zhuǎn)發(fā)標(biāo)志就只有允許轉(zhuǎn)發(fā)時(shí)的或者不允許轉(zhuǎn)發(fā)時(shí)的這兩種),有些整型變量定義一個(gè)特定的范圍(例如,UDP和TCP的端口號(hào)就從0到65535)。
?OCTERSTRING
0或多個(gè)8bit字節(jié),每個(gè)字節(jié)值在0~255之間。對(duì)于這種數(shù)據(jù)類型和下一種數(shù)據(jù)類型的BER編碼,字符串的字節(jié)個(gè)數(shù)要超過字符串本身的長(zhǎng)度。這些字符串不是以NULL結(jié)尾的字符串。
?DisplayString
0或多個(gè)8bit字節(jié),但是每個(gè)字節(jié)必須是ASCII碼。在MIB-II中,所有該類型的變量不能超過255個(gè)字符(0個(gè)字符是可以的)。
?OBJECTIDENTIFIER
?NULL
代表相關(guān)的變量沒有值。例如,在get或get-next操作中,變量的值就是NULL,因?yàn)檫@些值還有待到代理進(jìn)程處去取。
?IpAddress
4字節(jié)長(zhǎng)度的OCTERSTRING,以網(wǎng)絡(luò)序表示的IP地址。每個(gè)字節(jié)代表IP地址的一個(gè)字段。
?PhysAddress
OCTERSTRING類型,代表物理地址(例如以太網(wǎng)物理地址為6個(gè)字節(jié)長(zhǎng)度)。
?Counter
非負(fù)的整數(shù),可從0遞增到232—1(4294976295)。達(dá)到最大值后歸0。
?Gauge
非負(fù)的整數(shù),取值范圍為從0到4294976295(或增或減)。達(dá)到最大值后鎖定直到復(fù)位。例如,MIB中的tcpCurrEstab就是這種類型的變量的一個(gè)例子,它代表目前在ESTABLISHED或CLOSE_WAIT狀態(tài)的TCP連接數(shù)。
?TimeTicks
時(shí)間計(jì)數(shù)器,以0.01秒為單位遞增,但是不同的變量可以有不同的遞增幅度。所以在定義這種類型的變量的時(shí)候,必須指定遞增幅度。例如,MIB中的sysUpTime變量就是這種類型的變量,代表代理進(jìn)程從啟動(dòng)開始的時(shí)間長(zhǎng)度,以多少個(gè)百分之一秒的數(shù)目來表示。
?SEQUENCE
這一數(shù)據(jù)類型與C程序設(shè)計(jì)語言中的“structure”類似。一個(gè)SEQUENCE包括0個(gè)或多個(gè)元素,每一個(gè)元素又是另一個(gè)ASN.1數(shù)據(jù)類型。例如,MIB中的UdpEntry就是這種類型的變量。它代表在代理進(jìn)程側(cè)目前“激活”的UDP數(shù)量(“激活”表示目前被應(yīng)用程序所用)。在這個(gè)變量中包含兩個(gè)元素:
?IpAddress類型中的udpLocalAddress,表示IP地址。
?INTEGER類型中的udpLocalPort,從0到65535,表示端口號(hào)。
?SEQUENDEOF
這是一個(gè)向量的定義,其所有元素具有相同的類型。如果每一個(gè)元素都具有簡(jiǎn)單的數(shù)據(jù)類型,例如是整數(shù)類型,那么我們就得到一個(gè)簡(jiǎn)單的向量(一個(gè)一維向量)。但是我們將看到,SNMP在使用這個(gè)數(shù)據(jù)類型時(shí),其向量中的每一個(gè)元素是一個(gè)SEQUENCE(結(jié)構(gòu))。因而可以將它看成為一個(gè)二維數(shù)組或表。
總結(jié)
以上是生活随笔為你收集整理的SMI in SNMP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MIB in SNMP
- 下一篇: 遇到这种BT,该怎么办,请大家支招!?