【正文】
ndexPart DefValPart VALUE NOTATION::=value(VALUE ObjectName) Access::=“ readonly” |“ Writeonly” |“ notaccessible” Status::=“ mandatory” |“ optional” |“ obsolete” |“ deprecated” D e s c r P a r t ::= “ D E S C R I P T I O N ” v a l u e ( d e s c r i p t i o n DisplayString)|empty ReferPart::=“ REFERENCE” value(reference DisplayString)|empty IndexPart::=“ INDEX”“ {” IndexTypes“ }” IndexTypes::=IndexType|IndexTypes“ ,” IndexType IndexType::=value(indexobject ObjectName)type(indextype) D e f V a l p a r t ::= “ D E F V A L ”“ { ” v a l u e ( d e f v a l u e ObjectSyntax)“ }” |empty DisplayString::=OCTET STRING SIZE(0..255) END 管理對(duì)象的宏定義( RFC1212) SMI的定義 ? SYNTAX:表示對(duì)象類型的抽象語法,在宏實(shí)例中關(guān)鍵字type應(yīng)由 RFC1155中定義的 ObjectSyntax代替,即通用類型和應(yīng)用類型。 n ObjectSyntax::=CHOICE{simple SimpleSyntax, applicationwide ApplicationSyntax} n SimpleSyntax是指通用類型, ApplicationSyntax是指應(yīng)用類型 SMI的定義 l ACCESS:定義 SNMP協(xié)議訪問對(duì)象的方式。在具體實(shí)現(xiàn)中可 以增加或限制訪問,選項(xiàng)有只讀、讀寫、只寫和 不可訪問。 l STATUS:說明管理對(duì)象是當(dāng)前的還是過時(shí)的。狀態(tài)子句中 定義了必要的( mandatory)或可選的 ( optional),對(duì)象也可規(guī)定為過時(shí)的 ( obsolete)但新標(biāo)準(zhǔn)不支持該類型。 ( deprecated) , 表示當(dāng)前必須支持這種對(duì) 象,但在將來的標(biāo)準(zhǔn)中可能被取消。 l DesctPart:對(duì)象類型語義的文本描述。該子句是可選的。 SMI的定義 l ReferPart:用文字描述可參考在其他 MIB模塊中 定義的對(duì)象。該子句是可選的。 l IndexPart:用于定義表對(duì)象的索引項(xiàng)。 l DefValPart:定義對(duì)象實(shí)例的默認(rèn)值,代理在創(chuàng) 建實(shí)例時(shí)使用。該子句是可選的。 l VALUE NOTATION:規(guī)定用于通過 SNMP訪問該對(duì)象 時(shí)所用的名稱。 SMI的定義 當(dāng)用一個(gè)具體的值代替宏定義中的變量(或參量)時(shí)就產(chǎn)生了宏實(shí)例,它表示一個(gè)實(shí)際的(返回的類型),該類型可取的值的集合(返回的值)。宏實(shí)例的表示是先寫出類型名,后跟宏定義的名字,再后是宏定義規(guī)定的宏體部分。 SMI的定義 SysDescr OBJECTTYPE 語法: DisplayString (SIZE(0..255)) 存取:只讀 要求:必須 說明: 實(shí)體的文字描述 。 該項(xiàng)目包括系統(tǒng)硬件類型 、 操作系統(tǒng)和網(wǎng)絡(luò)軟件的全稱和版本號(hào) 。 它只含有 ASCII字符 。 :: ={system1} 對(duì)象定義實(shí)例 (操作 MIB說明) 標(biāo)量對(duì)象和表對(duì)象 SNMP對(duì)一個(gè) MIB進(jìn)行訪問時(shí),所想訪問的是對(duì)象的一個(gè)特定的實(shí)例,而不是對(duì)象類型。 SMI用簡單的二維標(biāo)量表的數(shù)據(jù)結(jié)構(gòu)來解決對(duì)象實(shí)例的識(shí)別問題。 1. 定義表 表的定義涉及到 sequence和sequenceof的使用及對(duì)象類型宏定義中索引部分Indexpart的使用。 RFC1213規(guī)范的 TCP連接表的定義 tcpConnTable OBJECTTYPE SYNTAX SEQUENCE OF TcpConnEntry ACCESS notaccessible STATUS mandatory DESCRIPTION “ A table containing TCP connectionspecific information” ::={tcp 13} tcpConnEntry OBJECTTYPE SYNTAX TcpConnEntry ACCESS notaccessible STATUS mandatory DESCRIPTION “ Information about a particular current TCP connection. An object of this type is transient, in that it ceases to exist when (or soon after)the connection makes the transition to the CLOSED state.” TCP連接表的定義( RFC1213) INDEX {tcpConnLocalAddress, tcpConnLocalPort, tcpConnRemAddress, tcpConnRemPort} ::={tcpConnTable 1} TcpConnEntry::=SEQUENCE{tcpConnStateINTEGER, t c p C o n n L o c a l A d d r e s s , t c p C o n n L o c a l P o r t INERGER(0..65535),tcpConnRemAddressIpAddress, tcpConnRemPortINTEGER(0..65535)} tcpConnState OBJECTTYPE S Y N T A X INTEGER{closed(1),listen(2),SynSent(3),synreceived(4),established(5), finWait1(6),finWait2(7),closeWait(8),lastAck(9),closing(10),timeWait(11),deleteTCB(12)} ACCESS readwrite STATUS mandatory DESCRIPTION “ The state of this TCP connection” ::={tcpConnEntry 1} TCP連接表的定義( RFC1213) 標(biāo)量對(duì)象和表對(duì)象 l 整個(gè) TCP連接表( tcpConnTable)是 TCP連接項(xiàng)( tcpConnEntry)組成的同類型序列( SEQUENCE OF),而每個(gè) TCP連接項(xiàng)是 TCP連接表的一行。可以看出一張表由 0行或多行組成。 l TCP連接項(xiàng)是由 5個(gè)不同類型的標(biāo)量元素組成的序列。這 5個(gè)標(biāo)量的類型分別是 INTEGER, IpAddress, INTEGER(0..65535), IpAddress和INTEGER(0..65535)。 l TCP連接表的索引由 4個(gè)元素組成,它們分別為本地地址、本地端口、遠(yuǎn)程地址和遠(yuǎn)程端口。 l 整個(gè)表是對(duì)象類型 TcpConnTable的實(shí)例。表的每一行是對(duì)象類型 TcpConnEntry的實(shí)例,而且 5個(gè)標(biāo)量各有 3個(gè)實(shí)例(3行)。在 RFC1212中,這種對(duì)象稱為列對(duì)象,其產(chǎn)生表中的一個(gè)實(shí)例。 12 tcpConnTabl ( ) TcpConnState( .) TcpConnLocalAddres( .) TcpConnLocalPort( .) TcpConnRemAddress( .) TcpConnRemPort(.( .) 5 15 2 99 0 3 14 84 INDEX INDEX INDEX INDEX 標(biāo)量對(duì)象和表對(duì)象 2 對(duì)象實(shí)例的標(biāo)識(shí) ? 表中的標(biāo)量對(duì)象稱為列對(duì)象,其有唯一的對(duì)象標(biāo)識(shí)符,如前表中列對(duì)象 TcpConnLocalAddress有 3個(gè)實(shí)例,而這 3個(gè)實(shí)例的對(duì)象標(biāo)識(shí)符都是( )。 ? 要想?yún)^(qū)分表中的行則把列對(duì)象的對(duì)象標(biāo)識(shí)符與索引對(duì)象的值組合起來就可以指定表中列對(duì)象的一個(gè)實(shí)例。并規(guī)定標(biāo)量對(duì)象的標(biāo)識(shí)后附上索引對(duì)象的值,索引對(duì)象按照其出現(xiàn)在表的定義中的順序列出。圖 312說明了 TcpConnTable的所有實(shí)例標(biāo)識(shí)符。 TcpConnState . TcpConnLocalAddress . TcpConnLocalPort . TcpConnRemAddress . TcpConnRemPort . . . . . . . . . . . . . . . . x==tcpConnEntry 的對(duì)象標(biāo)識(shí)符 , tcpConnEntry是 tcpConnTable的行標(biāo)識(shí) 對(duì)象的實(shí)例標(biāo)識(shí)符 標(biāo)量對(duì)象和表對(duì)象 3. 概念表和行對(duì)象 對(duì)于表對(duì)象 ( 如 tcpConnTable和 tcpConnEntry) 沒有實(shí)例標(biāo)識(shí)符 。 因?yàn)樗鼈兪亲庸?jié)點(diǎn) , SNMP不能訪問 ,在這些對(duì)象的 MIB定義中 , 其訪問特性為 “ notaccessible” 。 4. 標(biāo)量對(duì)象 由于標(biāo)量對(duì)象只能取一個(gè)值,所以從原則上講不必區(qū)分對(duì)象類型的對(duì)象實(shí)例。然而為了與列對(duì)象一致, SNMP規(guī)定在標(biāo)量對(duì)象標(biāo)識(shí)符之后級(jí)聯(lián)一個(gè) 0,表示該對(duì)象的實(shí)例標(biāo)識(shí)符。 復(fù)習(xí) 標(biāo)量對(duì)象和表對(duì)象 5. 按字典排序 隨機(jī)訪問技術(shù):按照 對(duì)象的實(shí)例標(biāo)識(shí)符 進(jìn)行取值 。 順序訪問技術(shù):基于 MIB中的對(duì)象按字典排序進(jìn)行取值 。 ? 對(duì)象標(biāo)識(shí)符是一個(gè)整數(shù)序列 , 是對(duì)象在 MIB中的邏輯位置 。 只要遍歷 MIB樹 , 就可以排出所有對(duì)象及其實(shí)例的字典順序 。 ? 字典排序的作用:管理站通過字典排序搜索 MIB樹 ,在不知道對(duì)象標(biāo)識(shí)符的情況下訪問對(duì)象的值 。 例如 ,為檢索一個(gè)表項(xiàng) , 管理站可以用 GetNext操作 , 按字典順序得到預(yù)定的對(duì)象實(shí)例 。 MIBⅡ 功能組 在 RFC1213定義的 MIBⅡ 是當(dāng)前應(yīng)用的管理信息庫標(biāo)準(zhǔn)。它是 MIBⅠ 的擴(kuò)充,增加了一些對(duì)象和組。文件包含 11個(gè)功能組和 175個(gè)對(duì)象。 ? MIB2功能組 mibⅡ 的對(duì)象 ID為 。 Inter MI BⅡ Group inter {} directory (1) mgmt (2) experimental (3) private (4) mib2 (1) system (1) interfaces(2) at (3) ip (4) icmp (5) snmp (11) transmission(10) cmot(9) egp(8) udp(7) tcp(6) 復(fù)習(xí) 功能組 OID 主要描述 system mib2 1 系統(tǒng)說明和管理信息 interfaces mib2 2 實(shí)例的接口和輔助信息 at mib2 3 IP地址與物理地址的轉(zhuǎn)換 ip mib2 4 關(guān)于 IP的信息 icmp mib2 5 關(guān)于 ICMP的信息 tcp mib2 6 關(guān)于 TCP 的信息 udp mib2 7 關(guān)于 UDP的信息 egp mib2 8 關(guān)于 EGP的信息 cmot m