В создание протокола SNMP внесли свой вклад разработки по трем направлениям:
Сегодня 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 хочет проконтролировать какое-либо из управляемых устройств,
она делает это путем отправки ему сообщения с указанием об изменении
значения одной из его переменных. В целом управляемые устройства
отвечают на четыре типа команд (или инициируют их):
Различия в представлениии информации
Обмен информацией в управляемой сети находится потенциально под угрозой
срыва из-за различий в технике представления данных, используемой
управляемыми устройствами. Другими словами, компьютеры представляют
информацию по-разному; эту несовместимость необходимо
рационализировать, чтобы обеспечить сообщение между различными
системами. Эту функцию выполняет абстрактный синтаксис. 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 определяет следующие типы информации:
Операции
SNMP является простым протоколом запроса/ответа. Узлы могут отправлять
множество запросов, не получая ответа. Определены следующие 4
операции SNMP:
Сообщения SNMP состоят из 2 частей: имени сообщества (community name) и данных (data). Имя сообщества назначает среду доступа для набора NMS, которые используют это имя. Можно сказать, что NMS, принадлежащие одному сообществу, находятся под одним и тем же административным началом. Т.к. устройства, которые не знают правильного имени сообщества, исключаются из операций SNMP, управляющие сетей также используют имя сообщества в качестве слабой формы опознавания.
Информационная часть сообщения содержит специфичную операцию SNMP (get, set, и т.д.) и связанные с ней операнды. Операнды обозначают реализации об'екта, которые включены в данную транзакцию SNMP.
Сообщения SNMP официально называются протокольными единицами данных (protocol data units - PDU). На Рис. 32-3 изображен формат пакета SNMP.
PDU операций get и set SNMP состоят из следующих частей: