Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Современные принципы и технологии управления инфокоммуникационными сетями.-1

.pdf
Скачиваний:
4
Добавлен:
20.11.2023
Размер:
1.99 Mб
Скачать

в терминах объектно-ориентированного подхода. Объекты MIB состоят из пяти частей: идентификатор объекта, имя объекта, тип значения, поле доступа и поле статуса.

Идентификатор объекта – объектный идентификатор (числовая последовательность).

Имя объекта – текстовое имя объекта (переменной).

Тип значения – указывает используемый тип ASN.1 для данного объекта. Например, целое или строка.

Поле доступа – используется для определения типа доступа к объекту (только для чтения, для чтения и записи, только для записи, или недоступен).

Поле статуса – содержит указание, является ли запись обязательной в MIB (что требует от управляемого устройства внесения такой записи), необязательной (устройство в этом случае может внести запись) или устаревшей.

Для описания объекта определен соответствующий шаблон: <имя> OBJECT-TYPE

SYNTAX <тип значения> MAX-ACCESS <тип доступа> STATUS <тип статуса> DESCRIPTION <описание объекта> :: = { объектный идентификатор }

4.2.2. Структура информации управления SMI

Для однозначного, непротиворечивого описания моделей управления сетевыми устройствами необходимо создать структуру, позволяющую согласовать деятельность множества разработчиков, определить четкие правила описания и именования объектов и т.д. Таким образом, следует обеспечить функционирование следующих структур:

Административная структура. Задачей администра-

тивной структуры является координация работ по разработке MIB для различных технологий и оборудования специалистами.

Информационная структура. Структура представления информации должна позволять описывать модели объектов

111

управления и мониторинга с необходимой полнотой и предоставлять возможность расширения информации управления.

Структура именования. Обеспечивает уникальность представления переменных в базе управления.

Все эти аспекты определяются структурой управляющей информации (SMI). Спецификация RFC 1155 описывает правила именования переменных базы MIB и принципы однозначного определения их форматов. При описании переменных MIB и форматов протокола SNMP спецификация SMI используется нотация абстрактного синтаксиса № 1 (ASN.1 ISO 8824-1, ITU-T X.680). Использование ASN.1 позволяет получить однозначное представление данных для разных систем, т.е. нотация позволяет однозначно трактовать переменную с одним типом данных в разных программных средах, в которых эти типы данных будут различаться. Это очень важно для гетерогенных сетей, в которых работает множество разнотипного оборудования с разнообразными программами, выполняемыми в разных операционных системах и программных средах.

4.2.3. Дерево регистрации объектов MIB

Согласно SMI имена переменных MIB могут быть записаны как в символьном, так и в числовом форматах. Символьный формат используется для удобства представления переменных для человека, а числовое представление используется для передачи в сообщениях протокола SNMP. Например, символьному имени системной переменной SysDescr соответствует числовое имя

1.3.6.1.2.1.1.1. Объекты MIB SNMP, как и объекты MIB протоко-

ла CMIP, регистрируются во всемирном дереве регистрации имен

ISO (рис. 4.2).

От корня этого дерева отходят три ветви, соответствующие стандартам, контролируемым ISO, ITU и совместно ISO-ITU. В ветви, контролируемой организацией ISO, создана ветвь для стандартов, разрабатываемых национальными и международными организациями (ветвь org). Стандарты Internet создавались под эгидой министерства обороны США (Departament of Defence,

112

DoD), поэтому стандарты MIB попали в ветви дерева dod и internet и далее в группу стандартов управления сетью – ветвь mgmt. Группа объектов private (4) зарезервирована за описаниями объектов, создаваемыми частными компаниями, например: Cisco, Hewlett-Packard, Sun и т.п. Аналогично объектам протокола CMIP, каждый объект, зарегистрированный в дереве регистрации ISO, получает объектный идентификатор – целочисленную последовательность цифр, разделенных точками или составное символьное имя, состоящее из имен узлов дерева, разделенных точками. Нумерация начинается с корня дерева и заканчивается на конкретном объекте. Например, полное символьное имя объ-

екта MIB имеет вид: iso.org.dod.internet.mgmt.mib, а полное числовое имя: 1.3.6.1.2.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

root

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ccitt (0)

 

 

 

 

 

 

 

 

iso (1)

 

 

 

 

 

 

 

 

 

 

joint-iso-ccitt (2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

org (3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dod (6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

internet (1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

directory (1)

 

mgmt (2)

 

experimental (3)

 

private (4)

 

 

sequrity (5)

 

 

snmpv2 (6)

 

 

mail (7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mib-2 (1)

 

 

 

 

 

 

 

enterprises (1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

system (1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cisco (9)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

interfaces (2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

addressTranslationTable (3)

 

 

sun (42)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

transmission (10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.2. Фрагмент всемирного дерева регистрации ISO

113

4.2.4. Типы данных протокола SNMP

SNMP использует некоторое подмножество типов данных ASN.1. Их можно разделить на три основные группы: простые типы данных, составные и производные.

Простые типы данных

INTEGER (-2147483648..2147483647) или Integer32 (появился в SMIv2) – целочисленные значения. Также этот тип используется для представления перечисляемого типа.

OCTET STRING (SIZE (0..65535) (восьмеричная строка) –

строка из 0 или нескольких 8-битных байт. Каждый байт имеет значение от 0 до 255. Почти любые данные можно представить строкой октетов.

OBJECT IDENTIFIER (идентификатор объекта). Имя объекта, представляющее собой последовательность целых чисел, разделенных точками. Например, 1.3.6.1.2.1.5 (не более128 простых имен).

NULL (нуль). Означает, что у соответствующей переменной нет значения. Используется, например, в качестве всех значений для переменных в запросах get или get-next, пока эти переменные запрашиваются, а не устанавливаются. Заменен на zeroDotZero {0 0} в SMIv2.

Простые составные типы данных

SEQUENCE (последовательность) – последовательность из заданного числа упорядоченных элементов. Например, в виде последовательности можно представить тройку переменных: номер интерфейса (ifIndex), тип интерфейса (ifType) и описание ин-

терфейса (ifDescription).

SEQUENCE OF (последовательность чего-либо) – последовательность произвольного количества упорядоченных элементов, т.е. задан порядок элементов, а их количество может быть произвольным. Типы SEQUENCE и SEQUENCE OF широко используется для определения в MIB таблиц. Ниже будет рассмотрен пример описания таблицы.

SET (множество). Определяет фиксированное число элементов, расположенных в произвольном порядке. Аналогичен типу SEQUENCE, но допускается произвольный порядок размещения элементов.

114

SET OF (множество чего-либо). Определяет, что число элементов множества и порядок их следования могут быть произвольными.

Производные типы данных

Эти типы данных определены специально для SNMP (RFC 1155). Они являются производными от простых типов данных рассмотренных выше.

IpAddress (IP адрес). Базовый тип – OCTET STRING (вось-

меричная строка) длиной 4, с 1 байтом на каждый байт IP адреса. NetworkAddress (сетевой адрес). Базовый тип – OCTET STRING (восьмеричная строка), содержит сетевой адрес (напри-

мер, 6-байтный Ethernet адрес).

Counter (счетчик). Неотрицательное целое число, значение которого увеличивается монотонно от 0 до значения 232–1 (4.294.967.295) и затем вновь возвращается в 0.

Gauge (критерий). Неотрицательное целое число, значение которого может увеличиваться или уменьшаться, однако изменения прекращаются по достижении максимального значения. Максимальное значение не может быть больше чем 232–1 (4294967295). Если значение достигнет величины 232–1 (или другого установленного максимума), критерий будет оставаться в этом значении до тех пор, пока не будет сброшен.

TimeTicks (тики времени). Счетчик, который считает время

всотых долях секунды с какой-либо исходной точки. Например, переменная sysUpTime – это количество сотых долей секунды,

втечение которых агент был включен.

Opaque (неопределенный) – произвольное кодирование. Используется для передачи произвольных информационных последовательностей, находящихся вне пределов точного определения данных, которое использует SMI.

DisplayString – строка текста в кодах ASCII длиной до 255 символов.

PhysAddress (физический адрес). Базовый тип – OCTET STRING, содержит адрес физического уровня или уровня доступа к среде.

115

Другие типы

CHOICE {…} – структурный тип. Данные внутри скобок {…} могут рассматриваться как альтернативные.

ANY – произвольное значение произвольного типа, который возможно определен в объектном идентификаторе или является целочисленной переменной.

Каждый тип ASN.1 имеет метку – тег (tag). Теги нумеруются (номер указывается в квадратных скобках). Номер тега необязателен только для типа SEQUENCE. Также теги активно используются для кодированияданных с помощью правил кодирования BER.

Определены четыре класса тегов:

1)универсальный (universal) тег – используется для типов, значение которых одинаково во всех приложениях управления. Ограничен базовыми типами ASN.1 (X.680);

2)прикладной (application) тег – используется для типов, значение которых является специфическим для данной конкретной прикладной программы управления. Типы двух разных приложений могут иметь один и тот же тег, но разные значения;

3)частный (private) тег – используется для создания расширений существующих стандартных значений, которые планируется использовать в пределах программ, разработанных организацией;

5)контекстно-определяемый (context-specific) тег – используется в основном для структурных типов, чтобы обеспечить их отличимость в зависимости от определенного контекста.

Правила описания типов и значений ASN.1:

– имена переменных (объектов) и типов могут состоять из заглавных и строчных букв, цифр и дефисов;

– имена переменных должны начинаться со строчных букв;

– имена типов должны начинаться с заглавных букв;

– формат записи не имеет значения, многократные пробелы рассматриваются как одиночный пробел;

– комментарии начинаются с пары дефисов (--);

– оператор определения нового типа данных записывается как :: = .

116

Примеры использования типов

Новый тип может быть получен из уже существующего через оператор нового типа. Например, определить новый тип для переменных, которые будут содержать серийный номер, можно следующим образом:

SerialNumber :: = INTEGER

или с указанием, что тип должен иметь прикладной тег: SerialNumber :: = [APPLICATION 2] INTEGER

Существует возможность накладывать ограничения на уже существующий тип. Например, тип данных положительное целое, ограниченное только максимальным значением базового типа, определяется следующим образом:

PositiveInteger :: = INTEGER (1…MAX)

Тип данных для описания кнопок тастатуры телефонного аппаратаможетбыть получен ограничением множества кодаASCII:

ToneButtoms :: = ASCII (FROM (“0”|”1”|”2”|…|”9”|”*”|”#”))

Адрес для сетей Х.25 должен содержать не менее 5 и не более 14 цифр:

ItlDataNumber :: = DigitString (SIZE (5..14))

Аналогичным образом может быть задан тип для представления времени в формате YYMMDDHHMMZ или

YYYYMMDDHHMMZ, где YY или YYYY – год, MM – месяц, DD – день, HH – часы, MM – минуты, Z – обозначает время по GMT. Длина строки может быть или 11 или 13 символов.

ExtUTCTime :: = OCTET STRING (SIZE (11 | 13))

Задание переменной, которая может принимать значения из заранее определенного списка. Например, тип линейного кодирования для физического порта может принимать три значения –

CMI, AMI, HDB3:

lineCoding :: = CHOICE {[1]cmi, [2]ami, [3]hdb3} -- теги про-

ставлены для упорядочивания значений и различения типов значений. На практике тип CHOICE практически не используется, так как существенно увеличивает объем передаваемых данных в пакетах протокола SNMP. Вместо него используют тип INTEGER с указанием имени длякаждого значения, т.е. аналогично можно записать:

lineCoding :: = INTEGER {cmi (1), ami (2), hdb3 (3) }

117

Описание таблиц. Как уже говорилось выше, для описания таблицы используют два типа SEQUENCE и SEQUENCE OF. Тип SEQUENCE OF используется для описания самой таблицы, а SEQUENCE – для описания строки таблицы. Например, таблица интерфейсов ifTable может быть определена в виде, представленном на рис. 4.3.

Рис. 4.3. Использование типов SEQUENCE и SEQUENCE OF

для описания таблицы

Строка IfEntry описывается как последовательность из трех переменных ifIndex – номер интерфейса, ifType – тип интерфейса, ifDescription – описание интерфейса. В качестве типа данных для описания строки используется тип SEQUENCE. Тогда сама таблица ifTable будет определена как последовательность строк (тип данных SEQUENCE OF) IfEntry.

4.2.5. Идентификация значений в базе данных MIB

Каждый объект, зарегистрированный в дереве регистрации ISO, получает объектный идентификатор. При работе с объектами MIB реального устройства в конце идентификатора объекта добавляют еще одну цифру. При этом объекты (переменные) делятся на два типа – скалярные и табличные. Скалярные объекты имеют один экземпляр (одно значение) и в конце объектного идентификатора таких объектов после точки добавляется цифра 0. Таким образом при описании объекта в дереве MIB он получает какой-то OID, а при обращении к нему через запрос по протоколу snmp следует к OID добавить .0:

118

В случае табличного объекта каждый экземпляр этого объекта будет иметь свой собственный номер, который добавляется после точки в конце объектного идентификатора. Например, дерево объектов для описанной выше таблицы ifTable будет выглядеть так, как показано на рис. 4.4.

Рис. 4.4. Дерево объектов таблицы ifTable

Тип интерфейса описан объектом ifType, и этот объект имеет OID 1.3.6.1.2.1.2.2.1.3. Тогда для указания на второй интерфейс устройства следует использовать идентификатор:

1.3.6.1.2.1.2.2.1.3.2

Объекты в MIB упорядочены лексикографически. Для сравнения двух идентификаторов:

1.3.6.1.2.1.2.2.1.2.4 1.3.6.1.2.1.2.2.1.3.1

119

нужно начать слева;

следует сравнивать значения, пока небудетнайдено отличие;

число с большим значением определяет больший элемент.

1.3.6.1.2.1.10.1.1.11.3.6.1.2.1.10.1.2.1 1.3.6.1.2.1.10.1.3.1

1.3.6.1.2.1.10.1.1.21.3.6.1.2.1.10.1.2.2 1.3.6.1.2.1.10.1.3.2

1.3.6.1.2.1.10.1.1.31.3.6.1.2.1.10.1.2.3 1.3.6.1.2.1.10.1.3.3

1.3.6.1.2.1.10.1.1.41.3.6.1.2.1.10.1.2.4 1.3.6.1.2.1.10.1.3.4

1.3.6.1.2.1.10.1.1.51.3.6.1.2.1.10.1.2.5 1.3.6.1.2.1.10.1.3.5

Рис. 4.5. Порядок прохода по таблице

Обход таблицы в лексикографическом порядке выполняется перебором переменных столбца сверху вниз, после чего происходит переход в верхнюю часть следующего столбца (рис. 4.5).

4.2.6. Наиболее важные модули MIB

Объекты, описывающие управляемые ресурсы, объединяются в базу управляющей информации MIB. Разработано большое количество модулей MIB, описывающих разнообразное аппаратное и программное обеспечение: начиная с интерфейса Ethernet до рабочих станций и серверов электронной почты. Есть стандартные модули MIB, разработанные IETF, а также модули, разработанные частными компаниями-производителями для описания ресурсов своего оборудования (веточка private дерева регистрации iso). Рассмотримнаиболее важные модулиMIB, разработанныеIETF.

MIB-I

Спецификация MIB-I (RFC 1156) была первым модулем MIB, разработанным для SNMP, и определяла только операции чтения значений переменных. Модуль MIB-I определяет 114 объектов, которые подразделяются на 8 групп:

1. System – общие данные об устройстве (например, идентификатор поставщика, время последней инициализации системы).

2. Interfaces – параметры сетевых интерфейсов устройства (например, их количество, типы, скорости обмена, максимальный размер пакета).

120

Соседние файлы в папке книги