<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html class="client-nojs" dir="ltr" lang="en">
<head>
<meta charset="UTF-8" />
<title>Модулі/SNMP - OpenSCADAWiki</title>
<meta content="MediaWiki 1.26.4" name="generator" />
<link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" />
<link href="../../en/files/doc.css" rel="stylesheet" /></head>
<body><div class="floatright"><a href="../index.html"><img alt="OpenSCADA" src="../../en/files/index.png" /></a></div><div id="mw_header">
			<div class="mw-indicators">
</div>
			<h1 id="firstHeading" lang="uk">Модулі/SNMP</h1>
		</div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&amp;group=page-Modules%2FSNMP&amp;action=page&amp;filter=&amp;language=uk" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/SNMP" title="Modules/SNMP">Modules/SNMP</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../../en/Modules/SNMP.html" title="Modules/SNMP (100% translated)">English</a>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/SNMP.html" title="Модули/SNMP (95% translated)">mRussian</a>&nbsp;• ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">Українська</span></div></div>
<table class="wikitable">

<tr>
<th> Модуль </th>
<th> Ім'я </th>
<th> Версія </th>
<th> Ліцензія </th>
<th> Джерело </th>
<th> Мови </th>
<th> Платформи </th>
<th> Тип </th>
<th> Автор </th>
<th> Опис
</th></tr>

<tr>
<td> <a href="../Modules/SNMP.html" title="Special:MyLanguage/Modules/SNMP">SNMP</a> </td>
<td> SNMP клієнт </td>
<td> 0.8 </td>
<td> GPL2 </td>
<td> daq_SNMP.so </td>
<td> en,uk,ru,de </td>
<td> x86,x86_64,ARM
</td>
<td> DAQ </td>
<td> Роман Савоченко </td>
<td> Надає реалізацію клієнту SNMP-сервісу.
</td></tr></table>
<div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#SNMP"><span class="tocnumber">1</span> <span class="toctext">SNMP</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#MIB"><span class="tocnumber">1.1</span> <span class="toctext">MIB</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#.D0.90.D0.B4.D1.80.D0.B5.D1.81.D0.B0.D1.86.D1.96.D1.8F"><span class="tocnumber">1.2</span> <span class="toctext">Адресація</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="#.D0.92.D0.B7.D0.B0.D1.94.D0.BC.D0.BE.D0.B4.D1.96.D1.8F"><span class="tocnumber">1.3</span> <span class="toctext">Взаємодія</span></a></li>
<li class="toclevel-2 tocsection-5"><a href="#.D0.90.D0.B2.D1.82.D0.BE.D1.80.D0.B8.D0.B7.D0.B0.D1.86.D1.96.D1.8F"><span class="tocnumber">1.4</span> <span class="toctext">Авторизація</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-6"><a href="#.D0.9C.D0.BE.D0.B4.D1.83.D0.BB.D1.8C"><span class="tocnumber">2</span> <span class="toctext">Модуль</span></a>
<ul>
<li class="toclevel-2 tocsection-7"><a href="#.D0.9E.D0.B1.27.D1.94.D0.BA.D1.82_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.B5.D1.80.D1.83"><span class="tocnumber">2.1</span> <span class="toctext">Об'єкт контролеру</span></a></li>
<li class="toclevel-2 tocsection-8"><a href="#.D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82.D1.83_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.B5.D1.80.D1.83"><span class="tocnumber">2.2</span> <span class="toctext">Параметр об'єкту контролеру</span></a></li>
</ul>
</li>
</ul>
</div>

<p>Протокол SNMP було розроблено з метою перевірки функціонування мережевих маршрутизаторів та мостів у 1988 році. Згодом сфера дії протоколу охопила і інші мережеві пристрої, такі як хаби, шлюзи, термінальні сервери та навіть пристрої, які мають віддалений стосунок до мереж: принтери, джерела безперебійного живлення, ПЛК та інші. Крім того, протокол допускає можливість внесення змін у функціонування вказаних пристроїв. На цей час протокол SNMP стандартизовано як RFC-1157, -1215, -1187, -1089.
</p><p>Цей модуль надає можливість збирати інформацію та вносити зміни до різних пристроїв за SNMP протоколом та за допомогою бібліотеки <a class="external text" href="http://net-snmp.sourceforge.net" rel="nofollow noreferrer noopener" target="_blank">NetSNMP</a>. Також модулем реалізується функція горизонтального резервування, а саме спільна робота з віддаленою станцією цього-ж рівня.
</p>
<h2><span class="mw-headline" id="SNMP"><span class="mw-headline-number">1</span> SNMP</span></h2>
<p>Основними дієвими "особами" протоколу є агенти та системи управління. Якщо розглядати ці два поняття на мові "клієнт-сервер", то роль серверу виконують агенти, тобто ті самі пристрої для опитування стану яких й було розроблено протокол. Відповідно роль клієнтів доводиться системам управління – мережевим додаткам, потрібним для збору інформації про функціювання агентів. Окрім цих двох суб'єктів у моделі протоколу можна виокремити також ще два: керуючу інформацію та сам протокол обміну даними.
</p><p>Вся інформація про об'єкти системи-агенту міститься в так званому MIB (management information base) – базі керуючої інформації, іншими словами MIB представляє собою сукупність об'єктів (MIB-змінні), доступних для операцій запис-читання.
</p><p>На цей час існує чотири типові бази MIB:
</p>
<dl><dd>1. Internet MIB – база об'єктів для забезпечення діагностики помилок та конфігурацій. Включає у себе 171 об'єкти (у тому числі і об'єкти MIB I).</dd>
<dd>2. LAN manager MIB – база з 90 об'єктів – паролі, сесії, користувачі, загальні ресурси.</dd>
<dd>3. WINS MIB – база об'єктів, потрібних для функціювання WINS серверу.</dd>
<dd>4. DHCP MIB – база об'єктів, потрібних для функціювання DHCP сервера, що слугує для динамічного виділення IP адрес у мережі.</dd></dl>
<p>Окрім вищенаведених типових баз MIB можуть довантажуватися у вигляді модулів, згідно із бібліотекою <a class="external text" href="http://net-snmp.sourceforge.net" rel="nofollow noreferrer noopener" target="_blank">NetSNMP</a>.
</p>
<h3><span class="mw-headline" id="MIB"><span class="mw-headline-number">1.1</span> MIB</span></h3>
<p>Всі імена MIB мають ієрархічну структуру. Існують десять кореневих псевдонімів:
</p>
<dl><dd>1. System — ця група MIB II містить у собі сім об'єктів, кожний з яких слугує для зберігання інформації про систему (версія ОС, час роботи та інше).</dd>
<dd>2. Interfaces — містить 23 об'єкти, потрібні для ведення статистики мережевих інтерфейсів агентів (кількість інтерфейсів, розмір MTU, швидкість передачі, фізичні адреси та інше).</dd>
<dd>3. AT (3 об'єкти) — відповідають за трансляцію адрес. Більш не використовуються. Була включена до MIB I. У SNMP v2 цю інформацію було перенесено до MIB для відповідних протоколів.</dd>
<dd>4. IP (42 об'єкти) — дані про IP пакети, що проходять (кількість запитів, відповідей, відкинутих пакетів).</dd>
<dd>5. ICMP (26 об'єктів) — інформація про контрольні повідомлення (вхідні/вихідні повідомлення, помилки та інше).</dd>
<dd>6. TCP (19) — все, що стосується однойменного транспортного протоколу (алгоритми, константи, підключення, відкриті порти та інше).</dd>
<dd>7. UDP (6) — аналогічно, тільки для UDP протоколу (вхідні/вихідні датаграми, порти, помилки).</dd>
<dd>8. EGP (20) — дані про трафік Exterior Gateway Protocol (використовується маршрутизаторами, об'єкти зберігають інформацію про прийняті/відіслані/відкинуті кадри).</dd>
<dd>9. Transmission — зарезервовано для специфічних MIB.</dd>
<dd>10. SNMP (29) — статистика по SNMP – вхідні/вихідні пакети, обмеження пакетів за розміром, помилки, дані про оброблені запити та багато іншого.</dd></dl>
<h3><span class="mw-headline" id=".D0.90.D0.B4.D1.80.D0.B5.D1.81.D0.B0.D1.86.D1.96.D1.8F"><span class="mw-headline-number">1.2</span> Адресація</span></h3>
<p>Кожний з кореневих псевдонімів представляється у вигляді дерева, що росте донизу. Наприклад, до адреси адміністратору можна звернутися за посередництвом шляху: "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", а не передано "як є".
</p><p>В цілому існує декілька способів запису адреси до MIB-змінної:
</p>
<dl><dd>1. ".1.3.6.1.2.1.1" — пряма кодова адресація для об'єкту "System" (кореневий псевдонім System). При такій адресації кожна MIB змінна кодується ідентифікатором, а повна адреса записується у вигляді послідовності ідентифікаторів, поділених крапкою зліва на право. Такий запис адреси є основним та всі інші способи запису приводяться до нього.</dd>
<dd>2. ".iso.org.dod.internet.mgmt.mib-2.system" — повна символьна до прямої кодової адресації для об'єкту "System".</dd>
<dd>3. "system.sysDescr.0" — проста, не повним шляхом, адресація відносно кореневого псевдоніма (об'єкт "System").</dd>
<dd>4. "SNMPv2-MIB::sysDescr.0" — адресація із MIB бази та від ім'я модуля, для "system.sysDescr.0".</dd></dl>
<h3><span class="mw-headline" id=".D0.92.D0.B7.D0.B0.D1.94.D0.BC.D0.BE.D0.B4.D1.96.D1.8F"><span class="mw-headline-number">1.3</span> Взаємодія</span></h3>
<p>SNMP клієнт взаємодії з сервером за принципом запит-відповідь. Сам по собі агент спроможний ініціювати тільки одну дію, яка називається пасткою переривань. Окрім цього, всі дії агентів зводяться до відповідей на запити, які надсилаються менеджерами.
</p><p>Існують три основні версії протоколу SNMP (v1 &amp; v2 &amp; v3), які не є сумісними. SNMP v3 підтримує шифрування трафіку, для чого, у залежності від реалізації, використовуються алгоритми DES, MD5. Це веде до того, що при передачі більш важливі дані недоступні для прослуховування. У якості транспортного протоколу у SNMP зазвичай використовується протокол UDP, Хоча насправді SNMP підтримує багато інших транспортних протоколів нижнього рівня.
</p>
<h3><span class="mw-headline" id=".D0.90.D0.B2.D1.82.D0.BE.D1.80.D0.B8.D0.B7.D0.B0.D1.86.D1.96.D1.8F"><span class="mw-headline-number">1.4</span> Авторизація</span></h3>
<p>Одним з ключових понять у SNMP є група (group). Процедура авторизації менеджеру полягає у простій перевірці на приналежність його до визначеної групи, із переліку, що знаходиться у агента. Якщо агент не знаходить групи менеджеру у своєму переліку то їх подальша взаємодія неможлива. По замовченню використовуються групи: public (для читання) та private (для запису). У протоколі SNMP v3 для аутентифікації використовується поняття користувача з паролем аутентифікації та приватності, залежної від рівня секретності.
</p>
<h2><span class="mw-headline" id=".D0.9C.D0.BE.D0.B4.D1.83.D0.BB.D1.8C"><span class="mw-headline-number">2</span> Модуль</span></h2>
<p>Цей модуль підтримує роботу з усіма версіями протоколу SNMP (1, 2 та 3) у режимах читання та запису MIB-параметрів, завдяки використанню бібліотеки <a class="external text" href="http://net-snmp.sourceforge.net" rel="nofollow noreferrer noopener" target="_blank">NetSNMP</a>.
</p>
<h3><span class="mw-headline" id=".D0.9E.D0.B1.27.D1.94.D0.BA.D1.82_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.B5.D1.80.D1.83"><span class="mw-headline-number">2.1</span> Об'єкт контролеру</span></h3>
<p>Для додання джерел даних SNMP у OpenSCADA створюються та конфігуруються об'єкти контролеру. Приклад вкладки конфігурації об'єкту контролеру даного типу зображено на рисунку 1.
</p>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:776px;"><a class="image" href="http://oscada.org/wiki/File:SNMP_cntr_uk.png"><img class="thumbimage" height="714" src="../files/SNMP_cntr_uk.png" width="774" /></a>  <div class="thumbcaption">Рис.1. Вкладка конфігурації об'єктів контролеру.</div></div></div></div>
<p>За допомогою цієї вкладки можна встановити:
</p>
<ul><li> Стан об'єкту контролеру, а саме: статус, "Ввімкнено", "Виконується" та ім'я сховища, яке містить конфігурацію.</li>
<li> Ідентифікатор, ім'я та опис контролеру.</li>
<li> Стан "Ввімкнено" та "Виконується", у який переводити об'єкт контролеру при запуску.</li>
<li> Планування обчислення та пріоритет задачі опитування джерел даних.</li>
<li> Адреса віддаленого хосту агенту. </li>
<li> Кількість спроб відправки запитів.</li>
<li> Час очікування відповідей, у секундах.</li>
<li> Використану версію протоколу SNMP.</li>
<li> Спільноту або користувача підключення.</li>
<li> Обмеження на кількість атрибутів у одному параметрі.</li>
<li> Рівень безпеки для v3 (Немає автент./Немає приватн.; Автент./Немає приватн.; Автент./Приватн.).</li>
<li> Метод кодування (MD5, SHA) та пароль автентифікації для v3.</li>
<li> Метод кодування (DES, AES) та приватність автентифікації для v3.</li></ul>
<h3><span class="mw-headline" id=".D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82.D1.83_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.B5.D1.80.D1.83"><span class="mw-headline-number">2.2</span> Параметр об'єкту контролеру</span></h3>
<p>Модуль <i>SNMP</i> надає тільки один тип параметрів — "Стандарт". Додатковим конфігураційним полем параметру цього модуля (рис.2) є перелік MIB-параметрів, гілки або окремі елементи (скаляри) яких підлягають зчитуванню.
</p>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:892px;"><a class="image" href="http://oscada.org/wiki/File:SNMP_prm_uk.png"><img class="thumbimage" height="720" src="../files/SNMP_prm_uk.png" width="890" /></a>  <div class="thumbcaption">Рис.2. Вкладка конфігурації параметрів.</div></div></div></div>
<p>Згідно до визначеного переліку MIB-параметрів здійснюється опитування їх гілок (або скалярів) та створення атрибутів параметрів. Надалі здійснюється оновлення значень параметрів. Атрибути іменуються згідно до кодової адресації MIB-параметрів, у якості ідентифікатору, та адресації від бази MIB об'єктів, у назві атрибуту (Рис.3).
</p>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:948px;"><a class="image" href="http://oscada.org/wiki/File:SNMP_prm_atr_uk.png"><img class="thumbimage" height="808" src="../files/SNMP_prm_atr_uk.png" width="946" /></a>  <div class="thumbcaption">Рис.3. Вкладка атрибутів параметрів.</div></div></div></div>






</div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Modules/SNMP/uk">Modules/SNMP/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body>
</html>