Модель TCP/IP (RFC 1122) |
---|
Прикладний рівень |
Транспортний рівень |
Мережевий рівень |
Канальний рівень |
SNMP (англ. Simple Network Management Protocol — простий протокол керування мережею) — це протокол керування мережами зв'язку на основі архітектури TCP/IP.
На основі концепції TMN в 1980—1990 р. різними органами стандартизації був вироблений ряд протоколів керування мережами передачі даних з різним спектром реалізації функцій TMN. До одного з типів таких протоколів керування належить Simple Network Management Protocol (SNMP).
SNMP — це технологія, покликана забезпечити керування й контроль за пристроями й застосунками в мережі зв'язку шляхом обміну керівною інформацією між агентами, що розташовуються на мережних пристроях, і менеджерами, розташованими на станціях керування. SNMP визначає мережу як сукупність мережних керівних станцій й елементів мережі (головні машини, шлюзи й маршрутизатори, термінальні сервери), які спільно забезпечують адміністративні зв'язки між мережними керівними станціями й мережними агентами. SNMP різних версій присвячений цілий ряд рекомендацій IETF (RFC).
Огляд і базові концепції
Зазвичай при використанні SNMP присутні керовані та керівні системи. До складу керованої системи входить компонент, який називається агентом, який відправляє звіти керівній системі. По суті SNMP агенти передають управлінську інформацію на керівні системи як змінні (такі як «вільна пам'ять», «ім'я системи», «кількість процесів, що працюють» тощо).
Керівна система може отримати достовірну інформацію через операції протоколу GET, GETNEXT і GETBULK. Агент може самостійно без запиту надсилати дані, використовуючи операцію протоколу TRAP або INFORM. Керівні системи можуть також відправляти конфігураційні оновлення або контрольні запити, використовуючи операцію SET для безпосереднього управління системою. Операції конфігурування та управління використовуються тільки тоді, коли потрібні зміни у мережній інфраструктурі. Операції моніторингу зазвичай виконуються на регулярній основі.
Змінні, доступні через SNMP, організовані в ієрархії. Ці ієрархії та інші метадані (такі як тип і опис змінної) описуються Базами Керівної Інформації' (англ. Management Information Bases (MIBs)).
Management Information Base (MIB)
SNMP не визначає, яку інформацію (які змінні) керована система повинна надавати. Навпаки, SNMP використовує розширювану модель, в якій доступна інформація визначається Базами Керівної Інформації (MIB — Management Information Base). Бази Керівної Інформації описують структуру керівної інформації пристроїв. Вони використовують ієрархічний адресний простір імен, що містить унікальний ідентифікатор об'єкта (англ. object identifier (OID)). Грубо кажучи, кожен унікальний ідентифікатор об'єкта визначає змінну, яка може бути прочитана чи встановлена через SNMP. MIB'и використовують нотацію, визначену в ASN.1.
Ієрархія MIB може бути зображена як дерево з безіменним коренем, рівні якого приписані різними організаціями. На найвищому рівні MIB OID'и належать різним організаціям, що займаються стандартизацією, в той час як на нижчих рівнях OID'и виділяються асоційованими організаціями. Ця модель забезпечує управління на всіх шарах мережної моделі OSI, адже MIB'и можуть бути визначені для будь-яких типів даних і операцій.
Керований об'єкт — це одна з будь-якого числа характеристик, специфічних для керованого пристрою. Керований об'єкт містить у собі один або більше екземплярів об'єкта (що ідентіфікуються за OID), які насправді є змінними.
Існує два типи керованих об'єктів:
- Скалярні об'єкти визначають єдиний екземпляр об'єкта.
- Табличні об'єкти визначають множинні, пов'язані екземпляри об'єктів які групуються в таблицях MIB.
Прикладом керованого об'єкта може бути atInput, який є скалярним об'єктом що містить єдиний екземпляр об'єкта, ціле число, яке показує загальну кількість вхідних пакетів AppleTalk на мережний інтерфейс маршрутизатора.
Ідентифікатор об'єкта (OID) унікально ідентифікує керований об'єкт в ієрархії MIB.
Abstract Syntax Notation One (ASN.1)
В телекомунікаціях і комп'ютерних мережах, ASN.1 є стандартною гнучкою нотацією для опису структур даних, що служать для кодування, передачі і декодування даних. ASN.1 являє собою набір правил для опису структури об'єктів, незалежних від специфічних для обладнання методик кодування, і формальну нотацію, яка дозволяє уникнути неоднозначностей.
ASN.1 це єдиний ISO та ITU-T стандарт, спочатку визначений у 1984 році як частина стандарту CCITT X.409: 1984. Пізніше, в 1988 році, завдяки його широкому застосуванню, він був виділений в окремий стандарт X.208. Значно переглянута версія 1995 року описана в X.680.
Адаптована підмножина ASN.1 Структура Керуючої Інформації (SMI) описана в протоколі SNMP для визначення наборів пов'язаних MIB об'єктів, також званих MIB модулями.
Історія виникнення протоколу
До початку 1988 року стало ясно, що необхідний деякий загальний набір засобів керування мережними пристроями різних виробників, які доти створювали власні продукти моніторингу та налаштувань, для своїх же мережних пристроїв, що підтримували унікальні механізми взаємодії з ними.
Після багатьох засідань IAB (англ. Internet Architecture Board) опублікував у квітні 1988 року RFC 1052: IAB Recommendations for the Development of Internet Network Management Standards, в якому закликав до якнайшвидшого створення елементів Простого Мережного Управління (Simple Network Management).
Версія 1
Робота зі створення SNMP закипіла. Багато ідей, що лежать в основі SNMP, були запозичені з попередніх досліджень з моніторингу інтернет-маршрутизаторів (історично званих шлюзів, англ. gateways), що дало світові Simple Gateway Monitoring Protocol (SGMP). І вже в серпні 1988 з'явилися три основні документи, що описують SNMP, зараз відому як SNMPv1:
- RFC 1065: Structure and Identification of Management Information for TCP/IP-based internets.
- RFC 1066: Management Information Base for Network Management of TCP/IP-based internets.
- RFC 1067: A Simple Network Management Protocol.
Ці документи були замінені новішими версіями, коли в травні 1991 року була завершена робота зі створення першої версії протоколу SNMP, і описана в таких документах:
- RFC 1155: Structure and Identification of Management Information for TCP / IP-based internets (Травень, 1990)
- RFC 1156: Management Information Base for Network Management of TCP/IP-based internets.
- RFC 1157: A Simple Network Management Protocol (SNMP) (Травень, 1990)
- Визначає повідомлення, якими обмінюються керуюча станція і об'ект управління для отримання та оновлення значення змінних.
- Визначає trap (alarm)-повідомлення, посилають системою при значних змін в її конфігурації.
Невдовзі по тому RFC 1156 було замінено на:
- RFC 1213: Management Information Base for Network Management of TCP / IP-based internets: MIB-II (Березень, 1991)
- Містить список більше ста найнеобхідніших змінних, що відповідають за конфігурацію, статус і статистику систем, що входять в TCP / IP мережа.
А RFC 1155 доповнено:
- RFC 1212: Concise MIB Definitions (Березень, 1991)
Публікація цих стандартів стала поштовхом для виробників мережного обладнання, які розгорнули широкі роботи із забезпечення керованості:
- всього спектру мережного обладнання — мостів, маршрутизаторів, модемів…
- широкого кола інтерфейсів — Point-to-Point, DS1, DS3, X.25, Frame Relay, Ethernet, Token Ring, FDDI, тощо
Перша версія критикувалась за низький рівень безпеки.[1] Автентифікація клієнтів відбувалась лише через "community string", що, по суті, було паролем, який передавався в незашифрованому вигляді. Проектування версії SNMP V1 в 80-тих роках велось групою, яка розглядала зусилля стандартизації (HEMS/CMIS/CMIP) які були спонсоровані OSI/IETF/NSF (National Science Foundation) як неможливі для створення на обчислювальних платформах того часу.
Версія 2
Посилання
- SNMP FAQ part 1 [Архівовано 1 березня 2021 у Wayback Machine.], part 2 [Архівовано 25 лютого 2021 у Wayback Machine.]
- SNMP products and technical articles [Архівовано 14 травня 2021 у Wayback Machine.]
- Cisco's description of SNMP and how to use in their products [Архівовано 19 липня 2011 у WebCite]
- Articles by SNMP Research [Архівовано 15 січня 2009 у Wayback Machine.]
- SNMP: Simple? Network Management Protocol [Архівовано 24 грудня 2008 у Wayback Machine.]
- Иваненко С. Введение в SNMP [Архівовано 22 січня 2009 у Wayback Machine.]
- SNMP протокол — принципы, безопасность, применение
- Семейство стандартов SNMP [Архівовано 22 січня 2009 у Wayback Machine.]
Реалізації
- Net-SNMP (Net-SNMP: Open source SNMP implementation [Архівовано 15 квітня 2021 у Wayback Machine.])
- Netsnmpj: Open source SNMP for Java [Архівовано 16 червня 2020 у Wayback Machine.]
- OpenSNMP: multi-threaded SNMPv3 engine [Архівовано 8 березня 2021 у Wayback Machine.]
- PySNMP: pure-Python module, BSD license [Архівовано 22 травня 2008 у Wayback Machine.]
- Ruby SNMP: Open source SNMPv1 and v2 for Ruby
- TinySNMP: an easy to configure minimal SNMPv1 agent
- SNMP.NET V3 [Архівовано 20 жовтня 2008 у Wayback Machine.]
- iReasoning MIB Browser / SNMP Manager (Free) [Архівовано 17 грудня 2008 у Wayback Machine.]
- Net::SNMP : a pure Perl module that implements SNMPv1, v2 and v3 on IPv4 and IPv6 [Архівовано 14 жовтня 2008 у Wayback Machine.]
- SNMP4J — Free SNMP API for Java Managers and Agents [Архівовано 27 червня 2020 у Wayback Machine.]
- Synapse: Open source Synchronous TCP/IP Library for Pascal/Delphi [Архівовано 19 листопада 2007 у Wayback Machine.]
- Nstrument Snmp Library for .Net
- Open-source extensible SNMP Agent for Windows 2K/XP/Vista
- SNMP Manager [Архівовано 3 травня 2022 у Wayback Machine.] LoriotPro free edition
- BSNMP [Архівовано 25 грудня 2008 у Wayback Machine.] — mini SNMP daemon
- AGNEKO SNMPc (AGNEKO SNMPC: Система управління і моніторингу [Архівовано 30 березня 2009 у Wayback Machine.])
Примітки
- ↑ Security in SNMPv3 versus SNMPv1 or v2c (PDF). Архів оригіналу (PDF) за 29 квітня 2013. Процитовано 29 листопада 2010.
Це незавершена стаття про Інтернет. Ви можете допомогти проєкту, виправивши або дописавши її. |