Назад Оглавление Далее

Простое представление MIB


Оглавление

Введение

SPM (Simple Presentation Mib) - это формат простого представления файлов MIB. Разработан для упрощения работы с файлами MIB. Оригинальный формат MIB (описанный в различных RFC) весьма запутан, сложен, не чётко структурирован и плохо поддаётся синтаксическому разбору прграммным образом. В повседневной работе редко возникает нужда использовать всё, что создатели данного стандарта вложили в него. Формат представления SPM призван облегчить обработку дерева MIB. Это упрощенное представление MIB в формате xml.

Описание формата

В общем случае файл SPM выглядит следующим образом:

<?xml version="1.0"?>
<list>
    <base>
	<name>...</name>                - имя родительской ветки
	<identifier>...</identifier>    - OID родительской ветки
    </base>
    <main>
	<name>...</name>                - имя файла MIB (имя текущей ветки)
	<parent>...</parent>            - имя родительской ветки
	<version>...</version>		- не обязателен
	<updated>...</updated>		- не обязателен
	<description>
               ...                      - описание данной ветки
	</description>
	<identifier>...</identifier>    - цифровое значение данной ветки
    </main>
    <entry>
	...
    </entry>
	...
	...
    <entry>
	...
    </entry>
</list>

Посмотреть как это выглядит можно в /usr/local/cfm/xml-mibs на сервере CFM.

Описание каждого OID принимает вид:

<entry>
    <name>...</name>
    <syntax>...</syntax>
    <access>...</access>
    <status>...</status>
    <description>
	    ...
    </description>
    <identifier>...</identifier>
</entry>
OBJECT-TYPE заменяется на конструкцию <name></name>
SYNTAX заменяется на конструкцию <syntax></syntax>
    Вводятся следующие значения:
	sequence - для последовательностей в таблицах,
	trap     - для трапов,
	group    - для обозначения модулей и груп.
ACCESS заменяется на конструкцию <access></access>
STATUS заменяется на конструкцию <status></status>
    Вводится следующее значение:
	future - if it's reserved for future use.
INDEX  заменяется на конструкцию <index></index>
    конструкция типа:
	    INDEX { OID1, OID2 }
    заменяется на:
	    <index>
                  OID1,
                OID2
	    </index>
DEFVAL  заменяется на конструкцию <defval>...</defval>
REFERENCE  заменяется на конструкцию <reference>...</reference>

DESCRIPTION заменяется на конструкцию <description>
                                          ...
					  ...
				      </description>
Секция <description> может содержать помимо текстового описания следующие
подсекции:
    <values>... (..)</values>
    <units>"..."</units>
    <objects>...</objects>
	конструкция типа:
		OBJECTS { upsAlarmId, upsAlarmDescr }
	заменяется на:
		<objects>
                     upsAlarmId
                     upsAlarmDescr
		</objects>
    <index>...</index>
    <sequence>...</sequence>
    <defval>...</defval>
    <reference>...</reference>

::= { } заменяется на конструкцию <identifier></identifier>

SEQUENCE { ... } заменяется на конструкцию <sequence>OID SYNTAX</sequence>
конструкция типа:
	SnmpFddiMACEntry ::=
	SEQUENCE {
	    snmpFddiMACSMTIndex
		    INTEGER,
		. . .
	    snmpFddiMACAction
		    INTEGER
	}
заменяется на:
	<sequence>
		snmpFddiMACSMTIndex INTEGER,
			. . .
		snmpFddiMACAction   INTEGER
	</sequence>

В последовательностях <syntax>sequence</syntax>
присутствие тегов <index> и <sequence> возможно но не обязательно.

конструкция типа:
    SYNTAX INTEGER {
		cf0(1), -- Isolated
		cf1(2), -- Wrap_S
		cf2(3), -- Wrap_A
		cf3(4), -- Wrap_B
		cf4(5), -- Wrap_AB
		cf5(6)  -- Thru
        }
заменяется на:
    <syntax>INTEGER (1..6)</syntax>
    <description>
	<values>
		cf0 [1] -- Isolated
		cf1 [2] -- Wrap_S
		cf2 [3] -- Wrap_A
		cf3 [4] -- Wrap_B
		cf4 [5] -- Wrap_AB
		cf5 [6] -- Thru
	</values>
    </description>

Назад Оглавление Далее
Hosted by uCoz