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

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

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

3.Address Translation Table – описание соответствия между сетевыми ифизическимиадресами(например, по протоколу ARP).

4.Internet Protocol – данные, относящиеся к протоколу IP (адреса IP-шлюзов, хостов, статистика о IP-пакетах).

5.ICMP – данные, относящиеся к протоколу обмена управляющими сообщениями ICMP.

6.TCP – данные, относящиеся к протоколу TCP (например,

оTCP-соединениях).

7.UDP – данные, относящиеся к протоколу UDP (число переданных, принятых и ошибочных UPD-дейтаграмм).

8.EGP – данные, относящиеся к протоколу обмена маршрутной информацией Exterior Gateway Protocol, используемому в Internet (число принятых с ошибками и без ошибок сообщений).

В качестве примера более подробно рассмотрим переменные группы system. Переменные группы system содержат основную информацию о системе и обязательны для реализации любым агентом SNMP.

sysDescr. Содержит текстовое описание системы. Это значение должно включать полное имя и версию аппаратного и программного обеспечения. Должно содержать только печатаемые символы ASCII.

sysObjectID. Содержит идентификатор производителя подсистемы сетевого управления. Значение должно содержать начало ветки дерева SMI, в которой регистрируется описываемое устройство. Необходимо менеджеру для формирования запросов переменных по объектным идентификаторам.

sysUpTime. Содержит время (в сотых долях секунды) с последней переинициализации системы.

sysContact. Содержит текстовое описание информации для контактов с ответственными за это устройство.

sysName. Содержит административно назначенное имя этого управляемого узла (объекта).

sysLocation. Содержит физическое расположение этого узла (объекта).

sysServices. Содержит значение, которое показывает набор услуг, предоставляемый этим устройством. Значение является

121

суммой цифр, формируемых на основе уровней модели OSI, функционал которых реализуется этим устройством. Начальное значение переменной равно нулю. Для каждого уровня L модели OSI (1–7), на котором функционирует этот узел, значение 2L–1 должно быть добавлено к этой сумме. Например, узел, который выполняет функции маршрутизации, будет иметь значение 4=2(3–1).

Или хост, предоставляющий сервис прикладного уровня, будет иметь значение 72 = 2(4–1) + 2(7–1). Для стека протоколов Internet

значения могут быть определены следующим образом: уровень/функциональность

1)физический уровень (например, повторители),

2)канальный уровень (например, мосты),

3)сетевой (например, IP шлюзы),

4)транспортный (например, IP хосты),

7) прикладной (например, почтовые сервера).

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

Интерфейсы устройства описываются в группе Interfaces. В группе интерфейс определены два объекта:

ifNumber – содержит общее число интерфейсов в системе; ifTable – таблица интерфейсов, содержащая переменные:

ifIndex – номер интерфейса; ifDescr – описание интерфейса; ifType – тип интерфейса;

ifMtu – значение максимального размера блока данных

(MTU);

ifSpeed – скорость интерфейса; ifPhysAddress – физический адрес (MAC);

ifAdminStatus – административное (желаемое) состояние интерфейса (возможные значения: up, down, testing);

ifOperStatus – оперативное (реальное) состояние интерфейса (возможные значения: up, down, testing);

ifLastChange – время с последнего изменения состояния интерфейса.

Две группы переменных-счетчиков входящих и исходящих пакетов, содержащих число принятых/переданных байт, широко-

122

вещательных пакетов, пакетов с ошибками, отклоненных пакетов, пакетов с неизвестным протоколом и т.п.:

ifInOctets, ifInUcastPkts, ifInNUcastPkts, ifInDiscards, ifInErrors, ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, ifOutNUcastPkts, ifOutDiscards, ifOutErrors, ifOutQLen;

ifSpecific – переменная, содержащая ссылку на таблицу с дополнительными уточняющими параметрами интерфейса (если это необходимо).

MIB-II

В версии MIB-II (RFC 1213), принятой в 1992 г., в дополнение к функции чтения переменных добавили возможность изменения или установки значения переменных. Набор стандартных объектов был расширен до 185, а число групп увеличилось до 10. Добавлены группы transmissoin (10) и snmp (11). Группа с номером 9 была использована для описания протокола CMOT (CMIP over TCP/IP – RFC 1066). Протокол CMOT также разрабатывался IETF, поэтому разработчики включили его описание в ветку дерева 1.3.6.1.2.1.9. Однако CMOT не относится к описанию модулей управления технологии SNMP, и во второй версии MIB-II номер 9 просто не используется.

На рис. 4.6 представлено расположение данных групп в дереве регистрации.

iso.org.dod.internet.mgmt.mib-2 1.3.6.1.2.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

system

 

interfaces

 

at

 

ip

 

icmp

 

 

tcp

 

udp

 

egp

 

transmission

 

snmp

1

 

2

 

 

3

 

4

 

5

 

6

 

7

 

8

 

10

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.6. Группы MIB-II в дереве регистрации ISO

Группа snmp (11) используется для сбора статистики о функционировании протокола snmp и содержит счетчики различных параметров или событий протокола snmp (счетчики об-

123

работанных пакетов различных типов, пакетов с ошибками, ошибочных запросов переменных, попыток изменить переменные только для чтения, посланных уведомлений и т.п.).

Модули технологий передачи данных (ветка дерева transmission).

Создано множество модулей, описывающих технологии локальных и глобальных сетей. Несколько поддеревьев создано от узла transmission (рис. 4.7).

iso.org.dod.internet.mgmt.mib-2.transmission 1.3.6.1.2.1.10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x.25

 

dot3

 

dot5

 

fddi

 

 

lapb

 

ds1

 

ds3

 

 

sip

5

 

 

7

 

9

 

15

 

 

16

 

18

 

30

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.7. Модули технологий передачи данных

RMON MIB

Использование протокола SNMP для мониторинга крупных корпоративных сетей приводит к росту служебного трафика вследствие большого количества посылаемых сообщений, что может вызвать проблемы при наличии каналов с ограниченной пропускной способностью. Например, когда кроме основной сети организации необходимо контролировать подсети в филиалах, каналы до которых имеют небольшую скорость. В этом случае трафик мониторинга способен вызвать задержки пользовательского трафика. Для устранения этих недостатков был разработан модуль удаленного мониторинга MIB RMON (Remote Network Monitoring – удаленный мониторинг сети) (рис. 4.8).

RMON (RFC 1757) предполагает использование зондов, расположенных в различных частях сети. Зонды собирают и обрабатывают информацию с оборудования своей подсети или выполняют пассивный мониторинг трафика сети в соответствии с шабло-

124

нами и фильтрами. После чего информация с зондов передается на центральный менеджер сети (см. рис. 4.8). Это позволяет сократить трафик SNMP в сети и нагрузку на центральный менеджер. Объекту RMON MIB присвоен номер 16 в наборе объектов MIB, а сам объект RMON объединяет около 200 объектов в 10 группах.

 

Центральный

 

менеджер

 

Основная сеть

Зонд

Зонд

RMON

RMON

Сеть филиала 1

Сеть филиала 2

Рис. 4.8. Мониторинг удаленных подсетей

Реализация MIB от разработчиков оборудования

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

регистрируется в поддереве iso.org.dod.internet.private.enterprises.

На текущий момент в ветке enterprises зарегистрировано около 45 тысяч организаций со всего мира.

4.3. ПРОТОКОЛ SNMP

4.3.1. SNMPv1

Команды протокола SNMPv1

SNMP является протоколом прикладного уровня и используется для обмена управляющей информацией между агентом и менеджером. В первой версии протокола (SNMPv1 – RFC 1157) определено всего пять типов сообщений, которыми обмениваются менеджер и агент (рис. 4.9).

125

 

 

SNMP менеджер

 

 

 

Порт для опроса

Порт 162

 

 

 

 

 

 

 

 

get get-next set

 

get-response

 

trap

 

 

 

 

 

 

 

 

 

 

 

Порт 161

 

 

Порт для

 

 

 

SNMP агент

уведомлений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.9. Сообщения SNMP v1

Сообщения, передаваемые от менеджера к агенту: get-request – запрос на получение значения одной или не-

скольких переменных. В параметрах запроса указывается объектный идентификатор запрашиваемой переменной.

get-next-request – запрос на получение значения следующей или нескольких переменных после указанной в запросе. В параметрах запроса указывается объектный идентификатор переменной. Агент в ответе должен передать объектный идентификатор и значение переменной, которая является следующей по порядку при обходе дерева за идентификатором, указанном в запросе.

set-request – команда на установку значения одной или нескольких переменных. В параметрах команды указывается объектный идентификатор переменной, значение которой следует изменить.

Сообщения, передаваемые от агента к менеджеру: get-response – передать значение одной или нескольких пе-

ременных. Сообщение возвращается агентом менеджеру в ответ на команды get-request, get-next-request, set-request и содержит идентификатор и значение запрашиваемой переменной.

trap – уведомление от агента менеджеру о произошедшем событии.

Взаимодействие между агентом и менеджером реализуется простой последовательностью запрос-ответ. Использование на транспортном уровне протокола UDP не гарантирует доставку

126

сообщений протокола SNMP. Это означает, что запрос от менеджера может не дойти до агента, а ответ от агента может не прибыть к менеджеру. В этом случае менеджер может подождать определенное время и выполнить повторный запрос.

Менеджер отправляет три запроса (get, get-next и set) на UDP порт 161 агента. Агент отправляет уведомления (trap) на UDP порт 162 менеджера. На рис. 4.10 показан формат четырех ко-

манд SNMP (запросы get, get-next, set и ответ get-response).

переменные, которые можно

Рис. 4.10. Формат SNMP сообщений первой версии протокола

Значение поля version (версия) равно номеру версии SNMP протокола минус единица.

Возможные значения поля «тип PDU» и соответствующие им типы пакетов: 0 – get-request, 1 – get-next-request, 2 – setrequest, 3 – get-response, 4 – trap.

Сообщество (community) – это строка символов, в которой содержится пароль в открытом виде. Пароль используется при общении между менеджером и агентом. Обычное значение – 6-символьная строка public.

В сообщениях get, get-next и set менеджер устанавливает идентификатор запроса (request ID), который возвращается агентом в сообщении get-response. Это позволяет менеджеру сопоставить ответы от агента с запросами, которые были ранее отправлены агенту. Это поле также позволяет менеджеру выдать несколько запросов одному или нескольким агентам, а затем отсортировать полученные ответы.

Статус ошибки (error status) – это целое число, которое возвращается агентом и указывает на ошибку. В табл. 4.1 показаны значения, имена и описания ошибок.

127

Таблица 4.1

 

 

Статусы ошибок

 

 

 

Статус

Имя

Описание

ошибки

 

 

0

noError

Все в порядке

1

tooBig

Клиент не может поместить ответ в одно SNMP со-

 

 

общение

2

noSuchName

Операторуказываетнанесуществующуюпеременную

3

badValue

В команде set использовано недопустимое значение

 

 

или сделана ошибка в синтаксисе

4

readOnly

Менеджер попытался изменить переменную, которая

 

 

помечена как «только для чтения»

5

genErr

Неопознанная ошибка

Если при обработке запроса агентом возникла ошибка, то поле error index (индекс ошибки) содержит смещение, указывающее на переменную, в которой произошла ошибка. Это значение устанавливается агентом только для ошибок noSuchName (нет такого имени), badValue (неверноезначение) иreadOnly (только длячтения).

Список имен переменных и значений задается в командах get, get-next и set. Поля значений в операторах get и get-next яв-

ляются пустыми (в этом поле при запросе указывается null). Формат уведомления, передаваемого от агента к менеджеру,

имеет аналогичный общий заголовок. В общем заголовке пакета SNMP поле «тип PDU» должно иметь значение 4 – trap.

временная метка

Рис. 4.11. Формат уведомления trap

Уведомление посылается агентом менеджеру в случае возникновения какого-либо события, требующего внимания менеджера сети. В заголовке уведомления содержится информация о

128

произошедшем событии. К событиям, требующим особого внимания, относятся перезагрузка устройства, исчезновение связи и некоторые другие. Определены семь таких событий, которые называются «тип ловушки» (табл. 4.2).

 

 

Таблица 4.2.

 

 

Типы событий

 

 

 

Код

Имя

Описание

0

ColdStart

Агент инициализировал себя сам

1

WarmStart

Агент повторно инициализировал себя сам

2

LinkDown

Состояние интерфейса изменилось с «активи-

 

 

зировано» на «выключено». Первая переменная

 

 

в сообщении указывает на номер интерфейса

3

LinkUp

Состояние интерфейса изменилось с состояния

 

 

«выключено» на состояние «активизировано».

 

 

Первая переменная в сообщении указывает на

 

 

номер интерфейса

4

AuthenticationFailure

Агентом было получена команда от SNMP ме-

 

 

неджера с неправильным значением поля

 

 

community

5

EgpNeighborLoss

EGP узел изменил свое состояние на «выклю-

 

 

чено». Первая переменная в сообщении содер-

 

 

жит IP адрес узла

6

EnterpriseSpecific

Ошибка, специфичная для данного типа обору-

 

 

дования. Дополнительная информация указыва-

 

 

ется в поле «специальный код»

При пересылке сообщения типа trap, помимо кода ошибки, передается адрес агента, пославшего сообщение, время посылки сообщения (поле «временная метка»), код производителя аппаратуры (поле Enterprise) и дополнительная информация, уточняющая произошедшее событие (поле «специальный код»). Также в пакете могут быть переданы значения переменных (пары «имя объекта (Name) – значение объекта (Value)»). Таким образом, может быть передана дополнительная информация о событии, например, при аварийном отключении интерфейса маршрутизатора можно передать номер интерфейса, на котором возникла неисправность.

Описание протокола SNMP выполнено на языке ASN.1. Ниже приведено описание структуры сообщения протокола SNMP:

129

Общая структура сообщения

Message:: = SEQUENCE {

version INTEGER {version-1(0)}, -- версия протокола community OCTET STRING, -- строка сообщество data ANY} -- остальная часть пакета

Задание типов пакетов протокола

PDUs:: = CHOICE {

get-request GetRequest-PDU, get-next-request GetNextRequest-PDU, get-response GetResponse-PDU, set-request SetRequest-PDU,

trap Trap-PDU} GetRequest-PDU:: = [0] IMPLICIT PDU GetNextRequest-PDU:: = [1] IMPLICIT PDU GetResponse-PDU:: = [2] IMPLICIT PDU SetRequest-PDU:: = [3] IMPLICIT PDU

Структура информационной части пакета

PDU:: = SEQUENCE {

request-id INTEGER, -- идентификатор запроса error-status INTEGER { -- коды ошибки

noError (0), tooBig (1), noSuchName (2), badValue (3), readOnly (4), genErr (5)},

error-index INTEGER, -- индекс ошибки variable-bindings VarBindList} -- список пар перемен-

ная/значение Описание списка пар переменная/значение

VarBind:: = SEQUENCE { name ObjectName, value ObjectSyntax}

VarBindList:: = SEQUENCE OF VarBind

130

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