*

Internetworking Technology Overview.

ГЛАВА 32. SNMP.



Библиографическая справка


В создание протокола SNMP внесли свой вклад разработки по трем направлениям:

High-level Entity Management System (HEMS)
Система управления об'ектами высшего уровня. Определяет систему управления с рядом интересных технических характеристик. К сожалению, HEMS использовалась только в местах ее разработки, что в конечном итоге привело к прекращению ее действия.
Simple Gateway Monitoring Protocol (SGMP)
Протокол управления простым роутером. Разработка была начата группой сетевых инженеров для решения проблем, связанных с управлением быстрорастущей Internet; результатом их усилий стал протокол, предназначенный для управления роутерами Internet. SGMP был реализован во многих региональных ветвях Internet.
CMIP over TCP (CMOT)
CMIP над ТСР. Пропагандирует сетевое управление, базирующееся на OSI, в частности, применение Common Management Information Protocol (CMIP) (Протокол информации общего управления) для облегчения управления об'единенных сетей, базирующихся на ТСР.
Достоинства и недостатки этих трех методов (HEMS, SGMP и CMOT) часто и горячо обсуждались в течение второй половины 1987 г. В начале 1988 г. был образован комитет Internet Activities Board - IAB (IAB - это группа, ответственная за техническую разработку протоколов Internet) для разрешения дебатов по поводу протокола сетевого управления. В конечном итоге комитет IAB пришел к соглашению, что улучшенная версия SGMP, которая должна была называться SNMP, должна стать временным решением; для долгосрочного применения должна быть проанализирована одна из технологий, базирующихся на OSI (либо СМОТ, либо сам СMIP). Для обеспечения легкого пути наращивания была разработана общая структура сетевого управления (которая теперь называется стандартной Структурой Управления Сети - Network Management Framework).

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


Основы технологии


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


Модель управления
Агентами в SNMP являются программные модули, которые работают в управляемых устройствах. Агенты собирают информацию об управляемых устройствах, в которых они работают, и делают эту информацию доступной для систем управления сетями (network management systems - NMS) с помощью протокола SNMP. Эта модель представлена графически на Рис. 32-1.



Управляемое устройство может быть узлом любого типа, находящимся в какой-нибудь сети: это хосты, служебные устройства связи, принтеры, роутеры, мосты и концентраторы. Т.к. некоторые из этих систем могут иметь ограниченные способности управления программным обеспечением (например, они могут иметь центральные процессоры с относительно малым быстродействием или ограниченный об'ем памяти), программное обеспечение управления должно сделать допущение о наименьшем общем знаменателе. Другими словами, программы управления должны быть построены таким образом, чтобы минимизировать воздействие своей производительности на управляемое устройство.

Т.к. управляемые устройства содержат наименьший общий знаменатель программного обеспечения управления, тяжесть управления ложится на NMS. Поэтому NMS обычно являются компьютерами калибра АРМ проектировщика, которые имеют быстродействующие центральные процессоры, мегапиксельные цветные устройства отображения, значительный об'ем памяти и достаточный об'ем диска. В любой управляемой сети может иметься одна или более NMS. NMS прогоняют прикладные программы сетевого управления, которые представляют информацию управления пользователям. Интерфейс пользователя обычно базируется на стандартизированном графическом интерфейсе пользователя (graphical user interface - GUI).

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

Число и состояние своих виртуальных цепей
Число определенных видов полученных сообщений о неисправности
Число байтов и пакетов, входящих и исходящих из данного устройства
Максимальная длина очереди на выходе (для роутеров и других устройств об'единения сетей)
Отправленные и принятые широковещательные сообщения
Отказавшие и вновь появившиеся сетевые интерфейсы


Типы команд
Если NMS хочет проконтролировать какое-либо из управляемых устройств, она делает это путем отправки ему сообщения с указанием об изменении значения одной из его переменных. В целом управляемые устройства отвечают на четыре типа команд (или инициируют их):

Reads
Для контролирования управляемых устройств NMS считывают переменные, поддерживаемые этими устройствами.
Writes
Для контролирования управляемых устройств NMS записывают переменные, накопленные в управляемых устройствах
Traversal operations
NMS используют операции прослеживания, чтобы определить, какие переменные поддерживает управляемое устройство, а затем собрать информацию в таблицы переменных (такие, как таблица маршрутизации IP)
Traps
Управляемые устройства используют ловушки для асинхронных сообщений в NMS о некоторых событиях.


Различия в представлениии информации
Обмен информацией в управляемой сети находится потенциально под угрозой срыва из-за различий в технике представления данных, используемой управляемыми устройствами. Другими словами, компьютеры представляют информацию по-разному; эту несовместимость необходимо рационализировать, чтобы обеспечить сообщение между различными системами. Эту функцию выполняет абстрактный синтаксис. SNMP использует для этой цели подмножество абстрактного синтаксиса, созданного для OSI - Abstract Syntax Notation One (ASN.1) (Система обозначений для описания абстрактного синтаксиса). ASN.1 определяет как форматы пакетов, так и управляемые об'екты. Управляемый об'ект-это просто характеристика чего-либо, которой можно управлять. Управляемый об'ект отличается от переменной, которая является конкретной реализацией об'екта. Управляемые об'екты могут быть скалярными (определяя отдельную реализацию) или табулярными величинами (определяя несколько связанных друг с другом реализаций).


Базы данных управления
Все управляемые об'екты содержатся в Информационной базе управления (Management Information Base - MIB), которая фактически является базой данных об'ектов. Логически MIB можно изобразить в виде абстрактного дерева, листьями которого являются отдельные информационные элементы. Идентификаторы об'ектов уникальным образом идентифицируют об'екты MIB этого дерева. Идентификаторы об'ектов похожи на телефонные номера тем, что они организованы иерархически и их отдельные части назначаются различными организациями. Например, международные телефонные номера состоят из кода страны (назначаемого международной организацией) и телефонного номера в том виде, в каком он определен в данной стране. Телефонные номера в США далее делятся на код области, номер центральной телефонной станции (СО) и номер станции, связанной с этой СО. Аналогично, идентификаторы об'ектов высшего уровня MIB назначаются Международной Электротехнической Комиссией ISO (ISO IEC). ID об'ектов низшего уровня назначаются относящимися к ним организациями. На Рис. 32-2 изображены корневая и несколько наиболее крупных ветвей дерева MIB.



Дерево MIB расширяемо благодаря экспериментальным и частным ветвям. Например, поставщики могут определять свои собственные ветви для включения реализаций своих изделий. В настоящее время вся работа по стандартизации ведется на экспериментальной ветви.

Структуру MIB определяет документ, называемый Структура Информации Управления (Structure of Management Information - SMI). SMI определяет следующие типы информации:

Network addresses (Сетевые адреса)
Предсталяют какой-нибудь адрес из конкретного семейства протоколов. В настоящее время единственным примером сетевых адресов являются 32-битовые адреса IP.
Counters (Счетчики)
Неотрицательные целые числа, которые монотонно увеличиваются до тех пор, пока не достигнут максимального значения, после чего они сбрасываются до нуля. Примером счетчика является общее число байтов, принятых интерфейсом.
Gauges (Измерительный прибор, мера, размер)
Неотрицательные целые числа, которые могут увеличиваться или уменьшаться, но запираются при максимальном значении. Примером измерительного прибора является длина очереди, состоящей из выходных пакетов (в пакетах).
Ticks (Тики)
Сотые доли секунды, прошедшие после какого-нибудь события. Примером tick является время, прошедшее после вхождения интерфейса в свое текущее состояние.
Opaque (Мутный)
Произвольное кодирование. Используется для передачи произвольных информационных последовательностей, находящихся вне пределов точного печатания данных, которое использует SMI.


Операции
SNMP является простым протоколом запроса/ответа. Узлы могут отправлять множество запросов, не получая ответа. Определены следующие 4 операции SNMP:

Get (достань).
Извлекает какую-нибудь реализацию об'екта из агента.
Get-next (достань следующий).
Операция прослеживания, которая извлекает следущую реализацию об'екта из таблицы или перечня, находящихся в каком-нибудь агенте.
Set (установи).
Устанавливает реализации об'екта в пределах какого-нибудь агента.
Trap (ловушка).
Используется агентом для асинхронного информирования NMS о каком-нибудь событии.


Формат сообщений


Сообщения SNMP состоят из 2 частей: имени сообщества (community name) и данных (data). Имя сообщества назначает среду доступа для набора NMS, которые используют это имя. Можно сказать, что NMS, принадлежащие одному сообществу, находятся под одним и тем же административным началом. Т.к. устройства, которые не знают правильного имени сообщества, исключаются из операций SNMP, управляющие сетей также используют имя сообщества в качестве слабой формы опознавания.

Информационная часть сообщения содержит специфичную операцию SNMP (get, set, и т.д.) и связанные с ней операнды. Операнды обозначают реализации об'екта, которые включены в данную транзакцию SNMP.

Сообщения SNMP официально называются протокольными единицами данных (protocol data units - PDU). На Рис. 32-3 изображен формат пакета SNMP.



PDU операций get и set SNMP состоят из следующих частей:

Request-ID (идентификатор запроса).
Устанавливает связь между командами и ответами.
Error-status (состояние сбоя).
Указывает ошибку и ее тип.
Error-index (индекс ошибки).
Устанавливвает связь между ошибкой и конкретной реализацией об'екта.
Variable bindings (переменные привязки).
Состоят из данных SNMP PDU. Пепеменные привязки устанавливают связь между конкретными переменными и их текущими значениями.
PDU ловушки несколько отличаются от PDU других операций. Они состоят из следующих частей:
Enterprise (предметная область).
Идентифицирует тип об'екта, генерирующего данную ловушку.
Agent address (адрес агента).
Обеспечивает адрес об'екта, генерирующего данную ловушку.
Generic trap type (групповой тип ловушки).
Обеспечивает групповой тип ловушки.
Specific trap code (специфичный код ловушки).
Обеспечивет специфичный код ловушки.
Time stamp (временной ярлык).
Обеспечивает величину времени, прошедшего между последней повторной инициализацией сети и генерацией данной ловушки.
Variable bindings (переменные привязки).
Обеспечивает перечень переменных, содержащих интересную информацию о ловушке.


Данный документ подготовлен для HTML версии Владимиром Плешаковым.
Версия: 0.1

Vladimir V. Pleshakov , pvv@quorus.ru.