книги / Современные принципы и технологии управления инфокоммуникационными сетями
..pdf<имя уведомления> NOTIFICATION-TYPE
OBJECTS { список объектов } (указываются объекты, которые передаются в теле сообщения, с целью уточнить произошедшее событие)
STATUS: current, deprecated, obsolete DESCRIPTION
Для того чтобы отделить уведомления от остальной части MIB, в дереве объектов следует создать раздел tk_mux_portTraps, который будет содержать описание всех уведомлений.
tk_mux_portTraps OBJECT IDENTIFIER ::= { tk_mux 4 }
Далее следует описать уведомления:
lom NOTIFICATION-TYPE OBJECTS { portIndex } STATUS current DESCRIPTION
"loss of multi frame" ::= { tk_mux_portTraps 1
}
los NOTIFICATION-TYPE OBJECTS { portIndex } STATUS current DESCRIPTION
"loss of signal" ::= { tk_mux_portTraps 2 }
lof NOTIFICATION-TYPE OBJECTS { portIndex } STATUS current DESCRIPTION
"loss of frame"
::= { tk_mux_portTraps 3 }
END
21
В поле OBJECTS указываются объекты, передающиеся вместе с сообщением от агента к менеджеру для уточнения уведомления. В нашей модели в качестве уточняющей информации
вполе OBJECTS всех уведомлений передается значение объекта portIndex, содержащее номер порта первичного мультиплексора, на котором возникла авария. В список объектов, передающихся
втеле сообщения и служащих для уточнения аварийного сообщения, можно включать несколько объектов, в этом случае они перечисляются через запятую. Например:
OBJECTS { portIndex, syncSource }
Остальные макросы, определенные для SNMP в ASN.1, использоваться в описании мультиплексора не будут.
Вконце модуля ставится ключевое слово END.
4.Готовый MIB мультиплексора
Витоге MIB интерфейсов первичного мультиплексора будет выглядеть следующим образом:
TK-MUX-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICA- TION-TYPE
FROM SNMPv2-SMI DisplayString
FROM RFC1213-MIB
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICA- TION-GROUP
FROM SNMPv2-CONF enterprises
FROM RFC1155-SMI;
pstu OBJECT IDENTIFIER ::= { enterprises 4451 } nm OBJECT IDENTIFIER ::= { pstu 1 }
hardware OBJECT IDENTIFIER ::= { nm 2 }
22
tk_mux MODULE-IDENTITY LAST-UPDATED "1405111030Z"
ORGANIZATION "PNRSU, Russia, Perm" CONTACT-INFO
"Postal: Perm National Research Polytechnic University
11, prof. Pozdeev Perm, Russia 614000
E-mail: support@at.pstu.ru" DESCRIPTION
"The MIB module to describe TK MUX hardware objects."
::= { hardware 1 }
syncSource OBJECT-TYPE SYNTAX INTEGER {
internal(1),
external(2),
fromPort(3)
}
MAX-ACCESS read-write STATUS current DESCRIPTION
"This variable contains code of port." ::= { tk_mux 1 }
syncPort OBJECT-TYPE
SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION
"This variable contains code of port." ::= { tk_mux 2 }
portTable OBJECT-TYPE
SYNTAX SEQUENCE OF PortEntry MAX-ACCESS not-accessible
23
STATUS current DESCRIPTION
"The TK MUX port table." ::= { tk_mux 3 }
portEntry OBJECT-TYPE SYNTAX PortEntry
MAX-ACCESS not-accessible STATUS current DESCRIPTION
"An entry TK MUX port table." INDEX { portIndex }
::= { portTable 1 }
PortEntry ::= |
|
SEQUENCE { |
|
portIndex |
INTEGER, |
lineCoding |
INTEGER, |
lineType |
INTEGER, |
loopbackStatus |
INTEGER |
} |
|
portIndex OBJECT-TYPE
SYNTAX INTEGER (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION
"This variable contains module index number."
::= { portEntry 1 }
lineCoding OBJECT-TYPE SYNTAX INTEGER {
hdb3(1),
cmi(2),
ami(3)
}
24
MAX-ACCESS read-write STATUS current DESCRIPTION
"This variable contains code of port." ::= { portEntry 2 }
lineType OBJECT-TYPE SYNTAX INTEGER (0..2) MAX-ACCESS read-only STATUS current DESCRIPTION
"This variable contains line type of port. 0 - optical
1 - coaxial
2 – symmetrical pair
"
::= { portEntry 3 }
loopbackStatus OBJECT-TYPE SYNTAX INTEGER {
noLoopback(1),
farEndPayloadLoopback(2)
}
MAX-ACCESS read-write STATUS current DESCRIPTION
"This variable represents the current state of the
loopback on the E1 interface. It contains
information about loopbacks established by a
manager and remotely from the far end. The various bit positions are:
1E1NoLoopback
2E1FarEndPayloadLoopback
25
The received signal at this interface is looped
through the device. Typically the received signal
is looped back for retransmission after it has
passed through the device's framing function."
DEFVAL { NoLoopback } ::= { portEntry 4 }
tk_mux_portTraps OBJECT IDENTIFIER ::= { tk_mux 4 }
lom NOTIFICATION-TYPE OBJECTS { portIndex } STATUS current DESCRIPTION
"loss of multi frame" ::= { tk_mux_portTraps 1 }
los NOTIFICATION-TYPE OBJECTS { portIndex } STATUS current DESCRIPTION
"loss of signal"
::= { tk_mux_portTraps 2 }
lof NOTIFICATION-TYPE OBJECTS { portIndex } STATUS current DESCRIPTION
"loss of frame"
::= { tk_mux_portTraps 3 }
END
Полученный модуль следует сохранить в текстовом файле с расширением .mib.
26
5. Компиляция MIB файлов
Для синтаксической проверки и компиляции модуля MIB можно воспользоваться программой MG-Soft MIB Compiler. MIB Compiler входит в комплекс программ MG-Soft MIB Browser (рис. 4), который используется для проектирования и отладки модулей MIB SNMP.
Рис. 4. Группа программ MG-Soft MIB Browser
5.1. Общая информация об интерфейсе программы MIB Compiler
После запуска компилятора появляется окно, в котором можно выделить несколько областей (рис. 5 и 6):
•Modules – содержит все зарегистрированные в комплексе программ MG-Soft MIB Browser и готовые к работе модули;
•Output – выводит все сообщения компилятора, которые возникают в процессе работы;
•MIB Group – для просмотра дерева различных MIB;
•MIB Editor – для просмотра и редактирования текста MIB;
•Information Window – окно содержит общую информацию о выделенном объекте.
27
Рис. 5. MIB Compiler c панелью управления,
окнами Modules, Output, Editor
Рис. 6. MIB Compiler с панелью управления,
окнами Modules, Output, MIB Group, Information
28
5.2. Загрузка и редактирование
Для начала работы с модулем MIB нужно открыть ранее созданный файл с помощью Меню (File -> Open) либо нажатием
левой кнопки мыши по значку «Открыть» на панели инструментов. В появившемся окне следует выбрать нужный нам файл (модуль MIB мультиплексора был сохранен под именем tk_mux.mib).
В результате открытия файла в окне редактирования появляется текст, который можно редактировать, как показано на рис. 5. При этом выполняется подсветка синтаксиса.
После внесения изменений файл следует сохранить (File - > Save) либо аналогично на панели управления нажатием кноп-
ки «Save».
5.3. Компиляция
Для выполнения компиляции модуля следует выбрать в пункте меню (File -> Compile) либо на панели управления
нажать на иконку «compile Mib File» . В процессе компиляции в окне Output выводится служебная информация о результате компиляции (рис. 7).
Рис. 7. Информация о результатах компиляции
29
Если в результате работы компилятора были обнаружены ошибки, то информация об ошибках будет выведена в окне Output. Если дважды нажать левой кнопкой мыши по сообщению об ошибке, то в окне редактора будет выделена строчка, в которой была обнаружена ошибка.
После устранения ошибки следует заново запустить компилятор (рис. 8, 9).
Рис. 8. Работа с ошибками в результате работы компилятора
Рис. 9. Успешное окончание компиляции. Сохранение MIB модуля
30