Опубликован: 10.10.2007 | Уровень: специалист | Доступ: платный
Лекция 9:

Сетевая диагностика. Управляющая база данных MIB

< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Таблица 9.6. Переменные ICMP -группы (тип данных — counter)
Переменная ICMP -группы Описание Код
icmpInMsgs Полное число полученных ICMP -сообщений. 1
icmpInErrors Число ICMP -сообщений, полученных с ошибками. 2
icmpInDestUnreach Число ICMP -сообщений о недостижимости адресата. 3
icmpintimeexcds Число ICMP -сообщений об истечении времени. 4
icmpInParmProbs Число полученных ICMP -сообщений о проблемах с параметрами. 5
icmpInSrcQuench Число ICMP -сообщений с требованием сократить или прервать посылку пакетов из-за перегрузки. 6
icmpInRedirects Число ICMP -сообщений о переадресации. 7
icmpInEchos Число полученных ICMP -запросов отклика. 8
icmpInEchoReps Число полученных ICMP -эхо-откликов. 9
icmpInTimestamps Число ICMP -запросов временных меток. 10
icmpInTimestampReps Число ICMP -откликов временных меток. 11
icmpInAddrMasks Число ICMP -запросов адресных масок. 12
icmpInAddrMaskReps Число ICMP -откликов на запросы адресных масок. 13
icmpOutMsgs Число отправленных ICMP -сообщений. 14
icmpOutErrors Число не отправленных ICMP -сообщений из-за проблем в ICMP (напр. нехватка буферов). 15
icmpOutDestUnreachs Число ICMP -сообщений о недоступности адресата. 16
icmpOutTimesExcds Число посланных ICMP -сообщений об истечении времени. 17
icmpOutParmProbs Число посланных ICMP -сообщений о проблемах с параметрами. 18
icmpOutSrcQuench Число посланных ICMP -сообщений об уменьшении потока пакетов. 19
icmpOutRedirects Число посланных ICMP -сообщений о переадресации. 20
icmpOutEchos Число посланных ICMP -эхо-запросов. 21
icmpOutEchoReps Число посланных ICMP -эхо-откликов. 22
icmpOutTimestamps Число посланных ICMP -запросов временных меток. 23
icmpOutTimestampReps Число посланных ICMP -откликов на запросы временных меток. 24
icmpOutAddrMasks Число посланных ICMP -запросов адресных масок. 25
Таблица 9.7. Переменные AT-группы (attable, преобразование адресов).
Переменные at-группы Тип данных Описание atEntry
atIfIndex integer Число интерфейсов. 1
atPhysAddress physaddress Физический адрес. Если эта переменная равна строке нулевой длины, физический адрес отсутствует. 2
atNetAddress networkaddress IP-адрес. 3

Помимо простых переменных, объектами MIB могут быть таблицы. Для каждой таблицы имеется один или несколько индексов.

Каждый протокол (например, IP) имеет свою таблицу преобразования адресов. Для IP — это ipnettomediatable. Способ распечатать эту таблицу с помощью программы SNMPI описан ниже.

MIB II содержит управляемые объекты, принадлежащие к группе SNMP. SNMP -группа предоставляет информацию о SNMP -объектах, информационных потоках, о статистике ошибок ( таблица 9.7а.).

Таблица 9.7а.
Название объекта Описание Код
SnmpInPkts Число пакетов, которые получены от слоя, расположенного ниже SNMP. 1
SnmpOutPkts Число пакетов, доставленных от SNMP к нижележащему слою. 2
SnmpInBadVersions Индицирует число PDU, полученных с ошибкой в поле версия. 3
snmpInBadCommunity-Names Индицирует число PDU, полученных с нечитаемым или нелегальным именем community. 4
snmpInBadCommunity-Uses Полное число SNMP -пакетов, полученных с нечитаемым или нелегальным значение операции для данного имени community. 5
snmpInAsnParsErrs Указывает полное число ошибок ASN.1 или BER, которые не могут быть обработаны во входных SNMP -сообщениях 6
snmpInTooBigs Указывает число полученных PDU со слишком большим значением поля статус ошибки. 8
snmpInNoSuchNames Указывает число PDU, полученных с индикацией ошибки в поле nosuchname. 9
snmpInBadValues Указывает число PDU, полученных с индикацией ошибки в поле badvalue. 10
snmpInReadOnlys Указывает число PDU, полученных с индикацией ошибки в поле readonly. 11
snmpNnGenErrs Указывает число PDU, полученных с generr-полем. 12
snmpInTotalReqVar Указывает число объектов MIB, которые были восстановлены. 13
snmpInTotalSetVars Указывает число объектов MIB, которые были изменены. 14
snmpInGetRequests Указывает число соответствующих pdu, которые были получены. 15
snmpInGetNexts Указывает полное число pdu с запросами GetNext 16
snmpInSetRequests Указывает полное число pdu, полученных с запросами SET 17
snmpInGetResponses Указывает полное число pdu, полученных c откликами на запросы 18
snmpInTraps Указывает полное число, полученных и успешно обработанных TRAP 19
snmpOutTooBig Указывает число посланных PDU с полем toobig. 20
snmpOutNoSuchNames Указывает число посланных PDU с полем nosuchname. 21
snmpOutBadValues Указывает число посланных PDU с полем badvalue. 22
snmpOutGenErrs Указывает число посланных PDU с полем genErrs. 24
snmpOutGetRequests Указывает число посланных PDU Get-Request 25
snmpOutGetNexts Указывает число посланных PDU Get-NEXT 26
snmpOutSetRequests Указывает число посланных PDU SET 27
snmpOutGetResponses Указывает число посланных PDU откликов 28
snmpOutTraps Указывает число посланных PDU TRAP 29
snmpEnableAuthTraps Говорит о том, разрешены или нет ловушки (TRAP). 30

Стандарт на структуру управляющей информации (SMI) требует, чтобы все MIB -переменные были описаны и имели имена в соответствии с ASN.1 (abstract syntax notation 1, формализованный синтаксис). ASN.1 является формальным языком, который обладает двумя основными чертами: используемая в документах нотация легко должна быть читаема и понимаема, а в компактном кодовом представлении информация может применяться коммуникационными протоколами. В SMI не используется полный набор типов объектов, предусмотренный в ASN.1, разрешены только следующие типы примитивов: integer, octet string, object identifier и null.

Практически в протоколе SNMP фигурируют следующие виды данных:

integer. Некоторые переменные объявляются целыми (integer) с указанием начального значения или с заданным допустимым диапазоном значений (в качестве примера можно привести номера UDP- или TCP-портов).

octet string (последовательность байтов). В соответствии с требованиями BER (basic encoding rules, ASN.1) последовательность октетов должна начинаться с числа байт в этой последовательности (от 0 до n).

object identifier (идентификатор объекта). Имя объекта, которое представляет собой последовательность целых чисел, разделенных точками. апример, 192.148.167.129 или 1.3.6.1.2.1.5.

null. Указывает, что соответствующая переменная не имеет значения.

displaystring. Строка из 0 или более байт (но не более 255), которые представляют собой ASCII-символы. Является частным случаем octet string.

physaddress. Последовательность октетов, характеризующая физический адрес объекта (6 байт для Ethernet). Частный случай object identifier.

Сетевой адрес. Допускается выбор семейства сетевых протоколов. В рамках ASN.1 этот тип описан как choice, он позволяет выбрать протокол из семейства протоколов. В настоящее время идентифицировано только семейство протоколов Интернет.

IP-адрес. Этот адрес используется для определения 32-разрядного Интернет адреса. В нотации ASN.1 — это octet string.

time ticks (такты часов). Положительное целое число, которое используется для записи, например, времени последнего изменения параметров управляемого объекта, или времени последней актуализации базы данных. Время измеряется в сотых долях секунды.

gauge (масштаб). Положительное целое число в диапазоне 0 - (232-1), которое может увеличиваться или уменьшаться. Если эта переменная достигнет величины 232-1, она будет оставаться неизменной до тех пор, пока не будет обнулена командой сброс. Примером такой переменной может служить tcpcurresta, которая характеризует число TCP соединений, находящихся в состоянии established или close_wait.

counter (счетчик). Положительное целое число в диапазоне 0 - (232-1), которое может только увеличиваться, допуская переполнение.

sequence. Этот объект аналогичен структуре в языке Си.

Например, MIB определяет sequence с именем udpentry, содержащую информацию об активных UDP-узлах. В этой структуре содержится две записи:

  1. UDPlocaladdress типа ipaddress, содержит местные IP-адреса;
  2. UDPlocalport типа integer, содержит номера местных портов.

SEQUENCE OF. Описание вектора, все элементы которого имеют один и тот же тип. Элементы могут представлять собой простые объекты, например, типа целое. В этом случае мы имеем одномерный список. Но элементами вектора могут быть объекты типа SEQUENCE, тогда этот вектор описывает двумерный массив.

В MIB каждый объект должен иметь имя (object identifier), синтаксис и метод кодировки.

Стандарт ASN.1 определяет форму представления информации и имен. Имена переменных MIB соответствуют, в свою очередь, стандартам ISO и CCITT. Структура имен носит иерархический характер, отображенный на рис. 9.1.

Структура идентификаторов переменных в MIB

Рис. 9.1. Структура идентификаторов переменных в MIB

В приведенной ниже таблице охарактеризованы четыре простые переменные, идентификаторы которых помещены в нижней части рис. 9.1. Все эти переменные допускают только чтение ( таблица 9.7б.).

Таблица 9.7б.
Имя переменной Тип данных Описание Код
udpInDatagrams counter Число UDP-дейтограмм, присланных процессам пользователя. 1
udpNoPorts counter Число полученных UDP-дейтограмм, для которых отсутствует прикладной процесс в порте назначения. 2
udpInErrors counter Число UDP-дейтограмм, не доставленных по причинам, отличающимся от отсутствия процесса со стороны порта назначения (напр., ошибка контрольной суммы). 3
udpOutDatagrams counter Число посланных UDP-дейтограмм. 4
udpTable counter Таблица, содержащая данные о принимающей стороне 5

Ниже приведено описание таблицы (udptable; index = <udplocaladdress>, <udplocalport>), состоящей из двух простых переменных (read-only) ( таблица 9.7в.).

Таблица 9.7в.
Имя переменной Тип данных Описание
udplocaladdress ipaddress Местный IP-адрес для данного приемника;
udplocalport (0 - 65535) Местный номер порта приемника.

Согласно этой иерархии переменные, соответствующие ICMP, должны иметь префикс (идентификатор) 1.3.6.1.2.1.5 или в символьном выражении iso.org.dod.internet.mgmt.mib.icmp. Если вы хотите узнать значение какой-то переменной, следует послать запрос, содержащий соответствующий префикс и суффикс, последний определяет имя конкретной переменной. Для простой переменной суффикс имеет вид .0. Ветвь структуры на рис. 9.1, завершающейся узлом Interfaces (2), имеет продолжение в виде ifTable(2) и ifEntry(1). Таким образом, переменная ifInUcastPkts будет иметь представление 1.3.6.1.2.1.2.2.1.11.

Помимо стандартного набора переменных и таблиц MIB возможно использование индивидуальных расширений этой базы данных. Это можно продемонстрировать на примере MIB маршрутизаторов Cisco ( рис. 9.2).

Расширение базы данных MIB маршрутизаторов Cisco

Рис. 9.2. Расширение базы данных MIB маршрутизаторов Cisco

Префикс 1.3.6.1.4.1. является стандартным, далее следует расширение, индивидуальное для маршрутизаторов компании Cisco. Например, группа IPcheckpoint accounting позволяет контролировать поток байтов с определенных адресов локальной сети, что бывает важно при работе с коммерческими провайдерами услуг.

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

Таблица 9.8. Коды-префиксы производителей
Код префикса Название фирмы
0 Зарезервировано
1 Proteon
2 IBM
3 CMU
4 UNIX
5 ACC
6 TWG
7 Cayman
8 PSI
9 Cisco
10 NSC
11 HP
12 Epilogue
13 U of Tennessee
14 BBN
15 Xylogics, inc.
16 Unisys
17 Canstar
18 Wellfleet
19 TRW
20 MIT
< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Роман Ижванов
Роман Ижванов
Россия, Университет природы, общества и человека «Дубна»
Анастасия Шмакова
Анастасия Шмакова
Россия, Тольятти, ПВГУС, 2013