From OpenSCADAWiki
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
|-
 
|-
 
<section begin=info />
 
<section begin=info />
| [[Special:MyLanguage/Modules/SNMP|SNMP]] || SNMP клиент || 0.7 || GPL2 || daq_SNMP.so || en,uk,ru,de || x86,x86_64,ARM
+
| [[Special:MyLanguage/Modules/SNMP|SNMP]] || SNMP клиент || 0.8 || GPL2 || daq_SNMP.so || en,uk,ru,de || x86,x86_64,ARM
 
<section end=info />
 
<section end=info />
 
| DAQ || Роман Савоченко || Предоставляет реализацию клиента SNMP-сервиса.
 
| DAQ || Роман Савоченко || Предоставляет реализацию клиента SNMP-сервиса.
Line 65: Line 65:
 
Для добавления источников данных SNMP в OpenSCADA создаются и конфигурируются объекты контроллера. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 1.
 
Для добавления источников данных SNMP в OpenSCADA создаются и конфигурируются объекты контроллера. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 1.
  
[[File:SNMP_cntr_ru.png|center|frame|Рис.1. Вкладка конфигурации объектов контроллера.]]
+
[[File:SNMP_cntr.png|center|frame|Рис.1. Вкладка конфигурации объектов контроллера.]]
  
С помощью этой вкладки можно установить:
+
From this tab you can set:
* Состояние объекта контроллера, а именно: Статус, "Включен", "Исполняется" и имя БД, содержащей конфигурацию.
+
* State of the controller object, as follows: status, "Enabled", "Running" and the storage name containing the configuration.
* Идентификатор, имя и описание объекта контроллера.
+
* Identifier, name and description of the controller.
* Состояние в которое переводить объект контроллера при загрузке: "Включать" и "Запускать".
+
* The state "Enabled" and "Running", in which the controller object must be translated at start up.
* Имя таблицы для хранения конфигурации параметров объекта контроллера.
+
* Policy of scheduling and priority of the data acquisition task.
* Политика планирования и приоритет задачи сбора данных.
+
* Remote host address of the agent.
* Адрес удалённого хоста агента.  
+
* Number of retries of the requests.
* Количество попыток отправки запросов.
+
* Responds timeout, in seconds.
* Время ожидания ответов, в секундах.
+
* Used SNMP version.
* Используемую версию протокола SNMP.
+
* Community or user for connections establishing.
* Сообщество или пользователя подключения.
+
* Limit of the attributes number per one parameter object.
* Ограничение на количество атрибутов в одном параметре.
+
* Security level for v3 (No auth/No privacy; Auth/No privacy; Auth/Privacy).
* Уровень безопасности для v3 (Нет авториз./Нет приватн.; Авториз./Нет приватн.; Авториз./Приватн.).
+
* Encryption method (MD5, SHA) and user's password of the authentication for v3.
* Метод кодирования (MD5, SHA) и пароль аутентификации для v3.
+
* Encryption method (DES, AES) and privacy of the authentication for v3.
* Метод кодирования (DES, AES) и приватность аутентификации для v3.
+
  
 
=== Параметр объекта контроллера ===
 
=== Параметр объекта контроллера ===
Line 88: Line 87:
 
[[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_ru.png|center|frame|Рис.3. Вкладка атрибутов параметров.]]

Latest revision as of 12:27, 13 February 2024

Other languages:
English • ‎mRussian • ‎Українська
Модуль Имя Версия Лицензия Источник Языки Платформы Тип Автор Описание
SNMP SNMP клиент 0.8 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. Вкладка конфигурации объектов контроллера.

From this tab you can set:

  • State of the controller object, as follows: status, "Enabled", "Running" and the storage name containing the configuration.
  • Identifier, name and description of the controller.
  • The state "Enabled" and "Running", in which the controller object must be translated at start up.
  • Policy of scheduling and priority of the data acquisition task.
  • Remote host address of the agent.
  • Number of retries of the requests.
  • Responds timeout, in seconds.
  • Used SNMP version.
  • Community or user for connections establishing.
  • Limit of the attributes number per one parameter object.
  • Security level for v3 (No auth/No privacy; Auth/No privacy; Auth/Privacy).
  • Encryption method (MD5, SHA) and user's password of the authentication for v3.
  • Encryption method (DES, AES) and privacy of the authentication for v3.

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

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

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

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

Рис.3. Вкладка атрибутов параметров.