现在的位置: 首页 > 综合 > 正文

mib库语法

2019年05月30日 ⁄ 综合 ⁄ 共 4612字 ⁄ 字号 评论关闭

RFC1213-MIB DEFINITIONS ::= BEGIN      *定义了MIB文件的名称,RFC1213就是MIB2*

          IMPORTS                      *从其他MIB中输入文件类型或者是OID*
                  mgmt, NetworkAddress, IpAddress, Counter, Gauge,
                  TimeTicks
                          FROM RFC1155-SMI *从RFC1155(SMIv1)中输入mgmt,networkaddress等内容*
                  OBJECT-TYPE
                          FROM RFC 1212;   *从RFC1212中输入对象类型*

          mib-2      OBJECT IDENTIFIER ::= { mgmt 1 } *定义mib2为mgmt叶子节点编号为1及1.3.6.1.2.1Eric note,这里可能就是最上面的一个节点*

-- groups in MIB-II

          system       OBJECT IDENTIFIER ::= { mib-2 1 } *定义MIB2的子树 system=1.3.6.1.2.1.1*
          interfaces   OBJECT IDENTIFIER ::= { mib-2 2 } *定义MIB2的子树 int=1.3.6.1.2.1.2*

          at           OBJECT IDENTIFIER ::= { mib-2 3 }
          ip           OBJECT IDENTIFIER ::= { mib-2 4 }
          icmp         OBJECT IDENTIFIER ::= { mib-2 5 }
          tcp          OBJECT IDENTIFIER ::= { mib-2 6 }
          udp          OBJECT IDENTIFIER ::= { mib-2 7 }
          egp          OBJECT IDENTIFIER ::= { mib-2 8 }
          transmission OBJECT IDENTIFIER ::= { mib-2 10 }
          snmp         OBJECT IDENTIFIER ::= { mib-2 11 }

          -- the Interfaces table

          -- The Interfaces table contains information on the entity's
          -- interfaces. Each interface is thought of as being
          -- attached to a 'subnetwork.' Note that this term should
          -- not be confused with 'subnet,' which refers to an
          -- addressing-partitioning scheme used in the Internet
          -- suite of protocols.

          ifTable OBJECT-TYPE                        *定义MIB2子集ifTable,首字母小写由ASN.1定义*
              SYNTAX  SEQUENCE OF IfEntry            *定义数据类型为SEQUENCE OF IfEntry*
              ACCESS  not-accessible                 *定义存取方式为不能通过任何方式请求agent的变量值*
              STATUS  mandatory                      *定义状态为强制,agent必须按照MIB2规定的执行*
              DESCRIPTION                            *定义此对象的说明*
                  "A list of interface entries. The number of entries is
                   given by the value of ifNumber."
              ::= { interfaces 2 }                    *OID=1.3.6.1.2.1.2.2*

          ifEntry OBJECT-TYPE
              SYNTAX  IfEntry       *数据类型在后面的表格中对应*
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                  "An interface entry containing objects at the subnetwork
                   layer and below for a particular interface."
              INDEX   { ifIndex }    *对应到后面的定义,如果有6个端口,IfEntry表中有6个表项*
              ::= { ifTable 1 }      *OID=1.3.6.1.2.1.2.2.1*

          IfEntry ::=                *定义一张的表,注意首字母大写,区别于对象的定义*
              SEQUENCE {
                  ifIndex
                      INTEGER,
                  ifDescr
                      DisplayString,
                  ifType
                      INTEGER,
                  ifMtu
                      INTEGER,
                  ifSpeed
                      Gauge,
                  ifPhysAddress
                      PhysAddress,
                  ifAdminStatus
                      INTEGER,
                  ifOperStatus
                      INTEGER,
                  ifLastChange
                      TimeTicks,
                  ifInOctets
                      Counter,
                  ifInUcastPkts
                      Counter,
                  ifInNUcastPkts
                      Counter,
                  ifInDiscards
                      Counter,
                  ifInErrors
                      Counter,
                  ifInUnknownProtos
                      Counter,
                  ifOutOctets
                      Counter,
                  ifOutUcastPkts
                      Counter,
                  ifOutNUcastPkts
                      Counter,
                  ifOutDiscards
                      Counter,
                  ifOutErrors
                      Counter,
                  ifOutQLen
                      Gauge,
                  ifSpecific
                      OBJECT IDENTIFIER
              }

          ifIndex OBJECT-TYPE
              SYNTAX  INTEGER                    *定义数据类型为整数*
              ACCESS  read-only                  *定义存取方式为只读*
              STATUS  mandatory
              DESCRIPTION
                  "A unique value for each interface. Its value ranges
                   between 1 and the value of ifNumber. The value for
                   each interface must remain constant at least from one
                   reinitialization of the entity's network management
                   system to the next reinitialization."

              ::= { ifEntry 1 }

          ifDescr OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                  "A textual string containing information about the
                   interface. This string should include the name of
                   the manufacturer, the product name, and the version
                   of the hardware interface."
              ::= { ifEntry 2 }

END

抱歉!评论已关闭.