From OpenSCADAWiki
Jump to: navigation, search
Line 88: Line 88:
 
[[File:SNMP_prm_ru.png|center|frame|Рис.2. Вкладка конфигурации параметров.]]
 
[[File:SNMP_prm_ru.png|center|frame|Рис.2. Вкладка конфигурации параметров.]]
  
In accordance with a specified list of MIB-parameters is carried out a survey of their branches (or scalars) and creation of attributes of parameters. Further, updating of values of parameters is carried out. Attributes are named in accordance with the code addressing of MIB-parameters, as the ID, and the addressing from the base of MIB objects in the name of the attribute(Figure 3).
+
В соответствии с указанным списком MIB-параметров выполняется опрос их ветвей (или скаляров) и создание атрибутов параметров. В дальнейшем выполняется обновление значений параметров. Атрибуты именуются в соответствии с кодовой адресацией MIB-параметров, в качестве идентификатора, и адресации от базы MIB объектов, в имени атрибута (рис.3).
  
 
[[File:SNMP_prm_atr.png|center|frame|Fig.3. Tab of attributes of parameters.]]
 
[[File:SNMP_prm_atr.png|center|frame|Fig.3. Tab of attributes of parameters.]]

Revision as of 14:06, 8 November 2017

Other languages:
English • ‎mRussian • ‎Українська
Модуль Имя Версия Лицензия Источник Языки Платформы Тип Автор Описание
SNMP SNMP клиент 0.7 GPL2 daq_SNMP.so en,uk,ru,de x86,x86_64,ARM DAQ Роман Савоченко Предоставляет реализацию клиента SNMP-сервиса.

Протокол SNMP был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов в 1988 году. Впоследствии сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера и даже устройства, имеющие отдалённое отношение к сети: принтеры, источники бесперебойного питания, PLC и т.д. Кроме того, протокол допускает возможность внесения изменений в функционирование указанных устройств. На данное время протокол SNMP стандартизирован как RFC-1157, -1215, -1187, -1089.

Данный модуль предоставляет возможность собирать информацию и вносить изменения у различных устройств по SNMP протоколу и с помощью библиотеки NetSNMP. Также модулем реализуются функция горизонтального резервирования, а именно совместная работа с удалённой станцией этого-же уровня.

1 SNMP

Основными взаимодействующими "лицами" протокола являются агенты и системы управления. Если рассматривать эти два понятия на языке "клиент-сервер", то роль сервера выполняют агенты, то есть те самые устройства для опроса состояния которых и был разработан протокол. Соответственно, роль клиентов отводится системам управления – сетевым приложениям, необходимым для сбора информации о функционировании агентов. Помимо этих двух субъектов в модели протокола можно выделить также еще два: управляющую информацию и сам протокол обмена данными.

Вся информация об объектах системы-агента содержится в так называемой MIB (management information base) – базе управляющей информации, другими словами MIB представляет собой совокупность объектов (MIB-переменные), доступных для операций записи-чтения.

На данный момент существует четыре типовых базы MIB:

1. Internet MIB – база объектов для обеспечения диагностики ошибок и конфигураций. Включает в себя 171 объект (в том числе и объекты MIB I).
2. LAN manager MIB – база из 90 объектов – пароли, сессии, пользователи, общие ресурсы.
3. WINS MIB – база объектов, необходимых для функционирования WINS сервера.
4. DHCP MIB – база объектов, необходимых для функционирования DHCP сервера, служащего для динамического выделения IP адресов в сети.

Кроме вышеуказанных типовых баз MIB могут догружаться в виде модулей, в соответствии с библиотекой NetSNMP.

1.1 MIB

Все имена MIB имеют иерархическую структуру. Существует десять корневых синонимов:

1. System — данная группа MIB II содержит в себе семь объектов, каждый из которых служит для хранения информации о системе (версия ОС, время работы и т.д.).
2. Interfaces — содержит 23 объекта, необходимых для ведения статистики сетевых интерфейсов агентов (количество интерфейсов, размер MTU, скорость передачи, физические адреса и т.д.).
3. AT (3 объекта) — отвечают за трансляцию адресов. Более не используется. Была включена в MIB I. В SNMP v2 эта информация была перенесена в MIB для соответствующих протоколов.
4. IP (42 объекта) — данные о проходящих IP пакетах (количество запросов, ответов, отброшенных пакетов).
5. ICMP (26 объектов) — информация о контрольных сообщениях (входящие/исходящие сообщения, ошибки и т.д.).
6. TCP (19) — все, что касается одноименного транспортного протокола (алгоритмы, константы, соединения, открытые порты и т.п.).
7. UDP (6) — аналогично, только для UDP протокола (входящие/исходящие датаграммы, порты, ошибки).
8. EGP (20) — данные о трафике Exterior Gateway Protocol (используется маршрутизаторами, объекты хранят информацию о принятых/отосланных/отброшенных кадрах).
9. Transmission — зарезервирована для специфических MIB.
10. SNMP (29) — статистика по SNMP – входящие/исходящие пакеты, ограничения пакетов по размеру, ошибки, данные об обработанных запросах и многое другое.

1.2 Адресация

Каждый из корневых псевдонимов представляется в виде дерева, растущего вниз. Например, к адресу администратора можно обратиться посредством пути: "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-переменной:

1. ".1.3.6.1.2.1.1" — прямая кодовая адресация для объекта "System" (корневой псевдоним System). При такой адресации каждая MIB переменная кодируется идентификатором, а полный адрес записывается в виде последовательности идентификаторов, разделённых точкой слева на право. Данная запись адреса является основной и все другие способы записи приводятся к ней.
2. ".iso.org.dod.internet.mgmt.mib-2.system" — полная символьная к прямой кодовой адресации для объекта "System".
3. "system.sysDescr.0" — простая, не полным путём, адресация относительно корневого псевдонима (объект "System").
4. "SNMPv2-MIB::sysDescr.0" — адресация из MIB базы от имени модуля, для "system.sysDescr.0".

1.3 Взаимодействие

SNMP клиент взаимодействует с сервером по принципу запрос-ответ. Сам по себе агент способен инициировать только одно действие, называемое ловушкой прерыванием. Помимо этого, все действия агентов сводятся к ответам на запросы, посылаемые менеджерами.

Существует три основные версии протокола SNMP (v1 & v2 & v3), которые не являются совместимыми. В SNMP v3 включена поддержка шифрования трафика, для чего, в зависимости от реализации, используются алгоритмы DES, MD5. Это ведет к тому, что при передаче наиболее важные данные недоступны для прослушивания. В качестве транспортного протокола в SNMP обычно используется протокол UDP, Хотя на самом деле SNMP поддерживает множество других транспортных протоколов нижнего уровня.

1.4 Авторизация

Одним из ключевых понятий в SNMP является группа (group). Процедура авторизации менеджера представляет собой простую проверку на принадлежность его к определенной группе, из списка, находящегося у агента. Если агент не находит группы менеджера в своем списке то их дальнейшее взаимодействие невозможно. По умолчанию используются группы: public (для чтения) и private (для записи). В протоколе SNMP v3 для аутентификации используется понятие пользователя с паролем аутентификации и приватности, в зависимости от уровня секретности.

2 Модуль

Данный модуль поддерживает работу со всеми версиями протокола SNMP (1, 2 и 3) в режимах чтения и записи MIB-параметров, благодаря использованию библиотеки NetSNMP.

2.1 Объект контроллера

Для добавления источников данных SNMP в OpenSCADA создаются и конфигурируются объекты контроллера. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 1.

Рис.1. Вкладка конфигурации объектов контроллера.

С помощью этой вкладки можно установить:

  • Состояние объекта контроллера, а именно: Статус, "Включен", "Исполняется" и имя БД, содержащей конфигурацию.
  • Идентификатор, имя и описание объекта контроллера.
  • Состояние в которое переводить объект контроллера при загрузке: "Включать" и "Запускать".
  • Имя таблицы для хранения конфигурации параметров объекта контроллера.
  • Политика планирования и приоритет задачи сбора данных.
  • Адрес удалённого хоста агента.
  • Количество попыток отправки запросов.
  • Время ожидания ответов, в секундах.
  • Используемую версию протокола SNMP.
  • Сообщество или пользователя подключения.
  • Ограничение на количество атрибутов в одном параметре.
  • Уровень безопасности для v3 (Нет авториз./Нет приватн.; Авториз./Нет приватн.; Авториз./Приватн.).
  • Метод кодирования (MD5, SHA) и пароль аутентификации для v3.
  • Метод кодирования (DES, AES) и приватность аутентификации для v3.

2.2 Параметр объекта контроллера

Модуль SNMP предоставляет только один тип параметров — "Стандарт". Дополнительным конфигурационным полем параметра данного модуля (рис.2) является список MIB-параметров, ветви или отдельные элементы (скаляры) которых подлежат считыванию.

Рис.2. Вкладка конфигурации параметров.

В соответствии с указанным списком MIB-параметров выполняется опрос их ветвей (или скаляров) и создание атрибутов параметров. В дальнейшем выполняется обновление значений параметров. Атрибуты именуются в соответствии с кодовой адресацией MIB-параметров, в качестве идентификатора, и адресации от базы MIB объектов, в имени атрибута (рис.3).

Fig.3. Tab of attributes of parameters.