您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 第2章-管理信息库MIB-2
OSI/RMTCP/IP协议簇应用层表示层会话层传输层网络层数据链路层物理层应用层TCPUDPIPICMP网络访问层Internet主要协议之间的调用关系MIMEFTPBGPHTTPSMTPTELNETSNMPUDPICMPOSPFTCPIPRARPARP网络访问SNMP管理TCP/IP协议的运行,与TCP/IP协议运行有关的信息按照SNMP定义的管理信息结构存储在管理信息库中。在Internet中,对网络、设备和主机的管理叫做网络管理,网络管理信息存储在管理信息库MIB中SNMP由两部分组成:一部分是管理信息库结构的定义,另一部分是访问管理信息库的协议规范。Internet最初的网络管理框架由四个文件定义SNMP网络管理框架RFC1155RFC1157RFC1213RFC1212StructureofManagementInformation(SMI)ManagementInformationBase(MIB-2)FormatforMIBModulesSNMPv1TCPUDPInternetIPUDPIP代理管理站网络管理应用管理对象SNMP报文每个代理进程管理若干被管理对象,并且与某些管理站建立团体(Community)关系AgentManagerManagerManager团体(Community)SNMP要求所有的代理设备和管理站都必须实现TCP/IP协议。对于不支持TCP/IP的设备不能直接用SNMP进行管理。为此,提出了委托代理的概念,第三方专用协议第三方专用协议SNMP报文SNMPSNMP管理站委托代理非TCP/IP设备管理进程管理进程网络访问协议网络访问协议网络访问协议网络访问协议UDPUDPIPIP协议变换功能注册层次102102361341216rootccittisojoint-iso-ccittstandardregistrationauthoritymemberbodyorgdodinternetderictorymgmtexperimentalprivatemib-2tcpiso(1)org(3)dod(6)internet(1)mib-2(1)directory(1)mgmt(2)system(1)interfaces(2)at(3)ip(4)icmp(5)tcp(6)udp(7)egp(8)transmission(10)Snmp(11)experimental(3)private(4)enterprises(1)SNMP环境中的所有被管理对象组织成树结构,这种层次树结构有3个作用1)表示管理和控制关系2)提供了结构化的信息组织技术3)提供了对象命名机制抽象语法表示ASN.1(AbstractSyntaxNotationNumberOne)是一种形式语言,它提供了统一的网络数据表示,用于定义应用数据的抽象语法和应用层协议数据单元的结构用ASN.1定义的抽象数据在传送过程中按照基本编码规则(BasicEncodingRule,BER)变换成比特串,这就构成了在网络上传送的数据包MIB中使用了ASN.1中的5种通用类型,前4种是基本类型(PrimitiveTypes),最后一种是构造类型(ConstructorTypes)。类型名值集合解释INTEGER整数包括正负整数和0OCTETSTRING位组串由8位组构成的串,例如IP地址就是由4个8位组构成的串NULLNULL空类型不代表任何类型,只是占有一个位置OBJECTIDENTIFIER对象标识符MIB树中的结点用分层的编号表示,例如.1.2.1SEQUENCE(OF)序列可以是任何类型组成的序列,如果有OF,则是同类型对象的序列,否则是不同类型对象的序列另外,RFC1155文件还根据网络管理的需要定义了下列应用类型:1.NetworkAddress::=CHOICE{internetIpAddress}ASN.1的CHOICE构造的语义是“从表中任选一个类型”,MIB中的NetworkAddress定义成从各种网络地址中任选一种,但目前还是只有InternetIP地址一种,以后可能还是这样。2.IpAddress::=[APPLICATION0]IMPLICITOCTETSTRING(SIZE(4))32位的IP地址,定义为OCTETSTRING类型。3.Counter::=[APPLICATION1]IMPLICITINTRGER(0..4294967295)计数器类型是一个非负整数,其值可增加,但不能减少,达到最大值232-1后回零,再从头开始增加,如图2.12(a)所示。计数器可用于计算接收到的分组数或字节数等。4.Gauge::=[APPLICATION2]INTEGER(0..4294967295)计量器类型是一个非负整数,其值可增加,也可减少。计量器的最大值也是232-1。与计数器不同的地方是计量器达到最大值后不回零,而是锁定在232-1。如图2.12(b)所示。计量器可用于表示存储在缓冲队列中的分组数。5.TimeTicks::=[APPLICATION3]INTEGER(0..4294967295)时钟类型是非负整数。时钟的单位是百万分之一秒,可表示从某个事件(例如设备启动)开始到目前经过的时间。6.Opaque::=[APPLICATION4]OCTETSTRING--arbitraryASN.1value不透明类型即未知数据类型,或者说可以表示任意类型。这种数据编码时按OCTETSTRING处理,管理站和代理都能解释这种类型。管理对象的宏定义OBJECT-TYPEMACRO::=BEGINTYPENOTATION::=“SYNTAX”type(TYPEObjectSyntax)“ACCESS”Access“STATUS”StatusDescrPartReferPartIndexPartDefValPartVALUENOTATION::=value(VALUEObjectName)Access::=read-only”|read-write”|write-only”|not-accessible”Status::=mandatory”|optional”|obsolete”|deprecated”DescrPart::=DESCRIPTION”value(descriptionDisplayString)|emptyReferPart::=REFERENCE”value(referenceDisplayString)|emptyIndexPart::=“INDEX”“{”IndexTypes“}”IndexTypes::=IndexType|IndexTypes“,”IndexTypeIndexType::=value(indexobjectObjectName)|type(indextype)DefValPart::=“DEFVAL”“{”value(defvalueObjectSyntax)“}”|emptyDisplayString::=OCTETSTRINGSIZE(0..255)END关键的成分解释如下:SYNTAX:表示对象类型的抽象语法,可以是表2.1中的5种类型之一,或者上面列出的6种应用类型之一。ACCESS:定义对象的访问方式。可选择的访问方式有只读(read-only)、读写(read-write)、只写(write-only)和不可访问(not-accessible)4种(MIB树中的非叶子结点不能访问)。STATUS:说明实现是否支持这种对象。状态子句中定义了必要的(mandatory)和任选的(optional)两种支持程度。过时的(obsolete)是指老标准支持而新标准不支持的类型。如果一个对象被说明为可取消的(deprecated),则表示当前必须支持这种对象,但在将来的标准中可能被取消。DesctPart:这个子句是任选的,用文字说明对象类型的含义。ReferPart:这个子句也是任选的,用文字说明可参考在其他MIB模块中定义的对象。IndexPart:用于定义表对象的索引项。DefValPart:定义了对象实例的默认值,这个子句是任选的。VALUENOTATION:指明对象的访问名。SMI只存储标量对象和二维数组,二维数组叫做表对象(Table)。表的定义要用到ASN.1的序列类型和对象类型宏定义中的索引部分。tcpConnTableOBJECT-TYPESYNTAXSEQUENCEOFTcpConnEntryACCESSnot-accessibleSTATUSmandatoryDESCRIPTIONAtablecontainingTCPconnection-specificinformation?”::={tcp13}tcpConnEntryOBJECT-TYPESYNTAXTcpConnEntryACCESSnot-accessibleSTATUSmandatoryDESCRIPTION“InformationaboutaparticularcurrentTCPconnection.Anobjectofthistypeistransient,inthatitceasestoexistwhen(orsoonafter)theconnectionmakesthetransitiontotheCLOSEDstate.”INDEX{tcpConnLocalAddress,tcpConnLocalPort,tcpConnRemAddress,tcpConnRemPort}::={tcpConnTable1}TcpConnEntry::=SEQUENCE{tcpConnStateINTEGER,tcpConnLocalAddressIpAddress,tcpConnLocalPortINTEGER(0..65535),tcpConnRemAddressIpAddress,tcpConnRemPortINTEGER(0..65535)}tcpConnStateOBJECT-TYPESYNTAXINTEGER{closed(1),listen(2),SynSent(3),synReceived(4),established(5),finWait1(6),finWait2(7),closeWait(8),lastAck(9),closing(10),timeWait(11),deleteTCB(12)}ACCESSread-writeSTATUSmandatoryDESCRIPTIONThestateofthisTCPconnection?”::={tcpConnEntry1}表中的标量对象叫做列对象,列对象有唯一的对象标识符,这对每一行都是一样的。索引对象的值用于区分表中的行。这样,把列对象的对象标识符与索引对象的值组合起来就说明了列对象的一个实例。一般的规律是这样。假定对象标识符是y,该对象所在的表有N个索引对象i1,i2,..iN,则它的某一行的实例标识符是:y.(i1).(i2)….(iN)实质上,SNMPMIB由一系列被管对象组成,这些被管对象实例化了那些作为某个MIB模块一部分的对象类型MIB中的对象实例在概念上被认为和对象类型定义本身一样,属于同一个对象标识符树的一部分;这意味着从命名的角度而言,对象类型的实例是从代表其对象类型的节点之下延伸,很自然的是,只有MIB模块定义树中的叶节点可以被实例化◦这些叶节点可以在它们之下再延伸出新的叶子,这些叶子组成了对象实例的节点◦标量(只有一个实例)的标记方式需要和列对象(可以具有多个彼此需要区分的实例)的标记方式区分开实例:一个简化的IP路由表INDEXipRouteDestipRouteMetric1ipRouteNextHop9.1.2.3399.0.0.310.0.0.51589.1.1.4210.0.0.99589.1.1.42
本文标题:第2章-管理信息库MIB-2
链接地址:https://www.777doc.com/doc-4789045 .html