Модуль: | SNMP |
Имя: | SNMP клиент |
Тип: | DAQ |
Источник: | daq_SNMP.so |
Версия: | 0.7 |
Автор: | Роман Савоченко |
Описание: | Предоставляет реализацию клиента SNMP-сервиса. |
Лицензия: | GPL |
Протокол SNMP был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов в 1988 году. Впоследствии сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера и даже устройства, имеющие отдалённое отношение к сети: принтеры, источники бесперебойного питания, PLC и т.д. Кроме того, протокол допускает возможность внесения изменений в функционирование указанных устройств. На данное время протокол SNMP стандартизирован как RFC-1157, -1215, -1187, -1089.
Данный модуль предоставляет возможность собирать информацию и вносить изменения у различных устройств по SNMP протоколу. Также модулем реализуются функция горизонтального резервирования, а именно совместная работа с удалённой станцией этого-же уровня.
Основными взаимодействующими "лицами" протокола являются агенты и системы управления. Если рассматривать эти два понятия на языке «клиент-сервер», то роль сервера выполняют агенты, то есть те самые устройства, для опроса состояния которых и был разработан протокол. Соответственно, роль клиентов отводится системам управления – сетевым приложениям, необходимым для сбора информации о функционировании агентов. Помимо этих двух субъектов в модели протокола можно выделить также еще два: управляющую информацию и сам протокол обмена данными.
Вся информация об объектах системы-агента содержится в так называемой MIB (management information base) – базе управляющей информации, другими словами MIB представляет собой совокупность объектов (MIB-переменные), доступных для операций записи-чтения.
На данный момент существует четыре типовых базы MIB:
Кроме вышеуказанных типовых баз, MIB могут дополнительно подгружаться в виде модулей.
Все имена MIB имеют иерархическую структуру. Существует десять корневых алиасов:
Каждый из корневых алиасов представляется в виде дерева, растущего вниз. Например, к адресу администратора можно обратиться посредством пути: system.sysContact.0, ко времени работы системы system.sysUpTime.0, к описанию системы (версия, ядро и другая информация об ОС) : system.sysDescr.0. С другой стороны, те же данные могут задаваться и в точечной нотации. Так system.sysUpTime.0 соответствует значение 1.3.0, так как system имеет индекс “1” в группах MIB II, а sysUpTime – 3 в иерархии группы system. Ноль в конце пути говорит о скалярном типе хранимых данных. В процессе работы символьные имена объектов не используются, то есть если менеджер запрашивает у агента содержимое параметра system.sysDescr.0, то в строке запроса ссылка на объект будет преобразована в “1.1.0”, а не будет передана «как есть».
В целом, существует несколько способов записи адреса к MIB-переменной:
В SNMP клиент взаимодействует с сервером по принципу запрос-ответ. Сам по себе агент способен инициировать только одно действие, называемое ловушкой прерыванием. Помимо этого, все действия агентов сводятся к ответам на запросы, посылаемые менеджерами.
Существует 3 основные версии протокола SNMP (v1 & v2 & v3), которые не являются совместимыми. В SNMP v3 включена поддержка шифрования трафика, для чего, в зависимости от реализации, используются алгоритмы DES, MD5. Это ведет к тому, что при передаче наиболее важные данные недоступны для прослушивания. В качестве транспортного протокола в SNMP обычно используется протокол UDP, Хотя, на самом деле, SNMP поддерживает множество других транспортных протоколов нижнего уровня.
Одним из ключевых понятий в SNMP является группа (group). Процедура авторизации менеджера представляет собой простую проверку на принадлежность его к определенной группе, из списка, находящегося у агента. Если агент не находит группы менеджера в своем списке, их дальнейшее взаимодействие невозможно. По умолчанию используются группы: public (для чтения) и private (для записи). В протоколе SNMP v3 для аутентификации используется понятие пользователя с паролем аутентификации и приватности, в зависимости от уровня секретности.
Данный модуль поддерживает работу со всеми версиями протокола SNMP (1, 2 и 3) в режимах чтения и записи MIB-параметров.
Для добавления источника данных SNMP создаётся и конфигурируется контроллер в системе OpenSCADA. Пример вкладки конфигурации контроллера данного типа изображен на рис.1.
С помощью этой вкладки можно установить:
Модуль SNMP предоставляет только один тип параметров — “Стандарт”. Дополнительным конфигурационным полем параметра данного модуля (рис.2) является список MIB-параметров, ветви или отдельные элементы (скаляры) которых подлежат считыванию.
В соответствии с указанным списком MIB-параметров выполняется опрос их ветвей (или скаляров) и создание атрибутов параметра. В дальнейшем выполняется обновление значений параметров. Атрибуты именуются в соответствии с кодовой адресацией MIB-параметров, в качестве идентификатора, и адресации от базы MIB объектов, в имени атрибута (рис.3).