SNMP (Simple Network Management Protocol): протокол для управления сетью

В сети объединены устройства всех видов — от компьютеров, серверов, коммутаторов или маршрутизаторов до принтеров и так далее. Чем больше число участников, тем больше усилий и трудностей приходится прилагать администратору для управления ими. По этой причине использование инструментов управления является жизненно важным, если необходимо гарантировать функциональность и безопасность всех систем в долгосрочной перспективе. Одним из протоколов, используемых многими из этих программных решений, является «Простой протокол управления сетью» — или просто SNMP, который является одним из наиболее важных стандартных протоколов, поддерживаемых сегодня почти всеми терминальными устройствами.

Что такое SNMP?

После двух лет разработки первая официальная версия SNMP была опубликована в RFC 1157 в мае 1990 года. Рабочая группа IETF (Internet Engineering Task Force) отвечает за этот сетевой протокол, который входит в семейство интернет-протоколов и в настоящее время также доступен в версиях SNMPv2 и SNMPv3.Основная функция протокола SNMP заключается в обеспечении централизованного мониторинга и управления всеми компонентами компьютерной сети. Для этого он описывает структуру необходимых коммуникационных пакетов и поток связи между центральной станцией и отдельными устройствами.

Для передачи пакетов используется протокол UDP без установления соединения. Передаваемые данные и информация хранятся в древовидной структуре в базе управляющей информации (MIB).

Объяснение SNMP: как работает SNMP

Управление сетью с помощью SNMP основано на модели агент-менеджер. Центральная станция управления — это система, с которой администратор осуществляет мониторинг и управление различными участниками сети. Для этого устанавливается управляющее программное обеспечение, которое позволяет получать данные SNMP и инициировать определенные действия. Агенты, которые также являются приложениями, представляют собой аналог на стороне отдельных сетевых компонентов. Вы вводите соответствующие данные на целевом узле и передаете их на станцию управления, но вы также можете самостоятельно выполнять настройки и инициировать определенные действия. Подобные агентские приложения уже используются по умолчанию в большинстве популярных систем Windows и Linux, например, в виде демона snmpd (только для Linux).

Протокол SNMP определяет семь возможных типов сообщений для связи между менеджером и агентом:

  • GET-запрос: Запросы GET — это стандартные сообщения для получения определенной записи на предполагаемом сетевом устройстве.
  • Запрос GETNEXT: Этот формат сообщения требуется, если необходимо запросить последующие записи данных, например, для таблиц.
  • Запрос GETBULK: Если одним запросом необходимо получить определенное количество записей данных, управляющее приложение может отправить запрос GETBULK (из SNMPv2). Такой запрос можно сравнить с несколькими последовательными запросами GETNEXT.
  • Запрос SET: Запросы SET позволяют менеджеру изменить одну или несколько записей данных предполагаемого сетевого устройства или вызвать определенные действия. Примером ситуации, в которой необходимо несколько изменений, является конфигурирование IP-адреса, которое одновременно требует указания сетевой маски.
  • GET-ответ: Если менеджер запросил одну или несколько записей данных или инициировал изменения или действия, агент отвечает GET-ответами. Эти пакеты ответов содержат либо запрошенные данные, либо подтверждение корректировок, либо сообщение об ошибке, если на запросы не удалось ответить правильно.
  • SNMP-ловушка: SNMP-ловушки — это сообщения агента, отправленные без подсказок со станции менеджера. Это может произойти, если происходит что-то неожиданное. Ловушки SNMP могут сообщать о событии двумя способами. Первый вариант заключается в добавлении уникального идентификационного номера, значение которого менеджер может искать в информационной базе данных (MIB). Если выбран вариант номер два, SNMP-ловушки не только информируют о событии, но и содержат соответствующие данные без отображения конкретного идентификационного номера.
  • Запрос INFORM: Запросы INFORM в основном выполняют ту же функцию, что и ловушки SNMP. Однако, в отличие от них, пакеты INFORM характеризуются тем, что их получение подтверждается менеджером. В результате агент может повторно отправить сообщение, если оно не дошло до менеджера с первой попытки.

Как уже упоминалось, простой протокол управления сетью предписывает использование транспортного протокола UDP без соединений для передачи перечисленных пакетов сообщений. SNMP использует порт UDP 161 для различных GET-запросов к агентам (включая ответы), в то время как автоматически отправляемые SNMP-ловушки передаются через порт UDP 162.

Сравнение различных версий протокола SNMP

Изначально SNMP не предоставлял способа для менеджеров общаться друг с другом, а также для агентов отправлять сообщения, которые подтверждаются. Кроме того, поддержка многих приложений вначале работала лишь частично, несмотря на подход в качестве открытого стандарта. Поэтому пересмотр протокола в последующие годы был, в частности, направлен на интеграцию соответствующих механизмов в Simple Network Management Protocol. Еще одной важной целью ответственной рабочей группы IETF, которая нашла отражение, в частности, в третьей версии протокола, было сделать процедуру администрирования более безопасной. Эти и другие шаги по оптимизации протокола SNMP более подробно рассматриваются в следующих портретах отдельных версий SNMPv1, SNMPv2 и SNMPv3.

SNMPv1

SNMPv1 — это первая версия протокола сетевого управления, обеспечивающая базовую модель «менеджер-агент» и являющаяся основой для связи между станцией менеджера и отдельными агентами. Простой протокол управления сетью описывается как простой протокол, который работает на уровне приложений и может быть основан на UDP (User Datagram Protocol) и Internet Protocol (IP), а также на сопоставимых сетевых протоколах, таких как AppleTalk’s Datagram Delivery Protocol (DDP) или Internet Packet Exchange (IPX). Единственным встроенным механизмом безопасности является обмен так называемой строкой сообщества, которая отправляется вместе с соответствующими запросами.

SNMPv2

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

SNMPv3

После первого, менее масштабного шага во второй версии протокола, IETF полностью сосредоточилась на безопасности в SNMPv3 и заменила строку сообщества на имя пользователя и пароль. Кроме того, третье исполнение протокола содержит функции шифрования передачи SNMP-пакетов, в отличие от предшественников. В целом, SNMPv3 предлагает три различных типа аутентификации и шифрования:

  Аутентификация Шифрование Имя пользователя Пароль
noAuthNoPriv нет нет да нет
authNoPriv да нет да да
authPriv да да да да
Примечание

Если управляющая станция поддерживает третью версию протокола SNMP, ее всегда следует предпочесть более старым версиям протокола. Также имеет смысл использовать максимально возможный уровень безопасности SNMPv3 (authPriv), если устройство это позволяет.

Оцените статью
cdelat.ru
Добавить комментарий