Модуль | Ім'я | Версія | Ліцензія | Джерело | Мови | Платформи | Тип | Автор | Опис |
---|---|---|---|---|---|---|---|---|---|
SNMP | SNMP клієнт | 0.8 | GPL2 | daq_SNMP.so | en,uk,ru,de | x86,x86_64,ARM | DAQ | Роман Савоченко | Надає реалізацію клієнту SNMP-сервісу. |
Протокол SNMP було розроблено з метою перевірки функціонування мережевих маршрутизаторів та мостів у 1988 році. Згодом сфера дії протоколу охопила і інші мережеві пристрої, такі як хаби, шлюзи, термінальні сервери та навіть пристрої, які мають віддалений стосунок до мереж: принтери, джерела безперебійного живлення, ПЛК та інші. Крім того, протокол допускає можливість внесення змін у функціонування вказаних пристроїв. На цей час протокол SNMP стандартизовано як RFC-1157, -1215, -1187, -1089.
Цей модуль надає можливість збирати інформацію та вносити зміни до різних пристроїв за SNMP протоколом та за допомогою бібліотеки NetSNMP. Також модулем реалізується функція горизонтального резервування, а саме спільна робота з віддаленою станцією цього-ж рівня.
Основними дієвими "особами" протоколу є агенти та системи управління. Якщо розглядати ці два поняття на мові "клієнт-сервер", то роль серверу виконують агенти, тобто ті самі пристрої для опитування стану яких й було розроблено протокол. Відповідно роль клієнтів доводиться системам управління – мережевим додаткам, потрібним для збору інформації про функціювання агентів. Окрім цих двох суб'єктів у моделі протоколу можна виокремити також ще два: керуючу інформацію та сам протокол обміну даними.
Вся інформація про об'єкти системи-агенту міститься в так званому MIB (management information base) – базі керуючої інформації, іншими словами MIB представляє собою сукупність об'єктів (MIB-змінні), доступних для операцій запис-читання.
На цей час існує чотири типові бази MIB:
Окрім вищенаведених типових баз MIB можуть довантажуватися у вигляді модулів, згідно із бібліотекою NetSNMP.
Всі імена 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 клієнт взаємодії з сервером за принципом запит-відповідь. Сам по собі агент спроможний ініціювати тільки одну дію, яка називається пасткою переривань. Окрім цього, всі дії агентів зводяться до відповідей на запити, які надсилаються менеджерами.
Існують три основні версії протоколу SNMP (v1 & v2 & v3), які не є сумісними. SNMP v3 підтримує шифрування трафіку, для чого, у залежності від реалізації, використовуються алгоритми DES, MD5. Це веде до того, що при передачі більш важливі дані недоступні для прослуховування. У якості транспортного протоколу у SNMP зазвичай використовується протокол UDP, Хоча насправді SNMP підтримує багато інших транспортних протоколів нижнього рівня.
Одним з ключових понять у SNMP є група (group). Процедура авторизації менеджеру полягає у простій перевірці на приналежність його до визначеної групи, із переліку, що знаходиться у агента. Якщо агент не знаходить групи менеджеру у своєму переліку то їх подальша взаємодія неможлива. По замовченню використовуються групи: public (для читання) та private (для запису). У протоколі SNMP v3 для аутентифікації використовується поняття користувача з паролем аутентифікації та приватності, залежної від рівня секретності.
Цей модуль підтримує роботу з усіма версіями протоколу SNMP (1, 2 та 3) у режимах читання та запису MIB-параметрів, завдяки використанню бібліотеки NetSNMP.
Для додання джерел даних SNMP у OpenSCADA створюються та конфігуруються об'єкти контролеру. Приклад вкладки конфігурації об'єкту контролеру даного типу зображено на рисунку 1.
За допомогою цієї вкладки можна встановити:
Модуль SNMP надає тільки один тип параметрів — "Стандарт". Додатковим конфігураційним полем параметру цього модуля (рис.2) є перелік MIB-параметрів, гілки або окремі елементи (скаляри) яких підлягають зчитуванню.
Згідно до визначеного переліку MIB-параметрів здійснюється опитування їх гілок (або скалярів) та створення атрибутів параметрів. Надалі здійснюється оновлення значень параметрів. Атрибути іменуються згідно до кодової адресації MIB-параметрів, у якості ідентифікатору, та адресації від бази MIB об'єктів, у назві атрибуту (Рис.3).
Modules/SNMP/uk - GFDL | December 2024 | OpenSCADA 1+r3000 |