SNMP
SNMP (англ. Simple Network Management Protocol — простий протокол керування мережею) — це протокол керування мережами зв'язку на основі архітектури TCP/IP.
Історія створення SNMP
Однією з найперших ініціатив з управління мережами була ініціатива ISO Open Systems Interconnection (OSI). Відповідні групи з стандартизації інфраструктури управління OSI (OSI Management Framework) були створені в 1981 році.
До кінця 1980-х років мережа Інтернет стала досить великою і вимагала стандартів управління. Однак група ISO OSI була далека від завершення робіт над сімейством стандартів. Тому в 1987 році спільнотою IETF було прийнято рішення тимчасово створити набір спрощених стандартів управління в Інтернеті на основі напрацювань ISO OSI. Дані стандарти отримали назву Simple Network Management Protocol (SNMP). Надалі передбачалося перейти на стандарти ISO у міру їх готовності. Таким чином, багато ідей SNMP були взяті зі стандартів ISO:
- Концепція «менеджер-агент»;
- Ідея баз керуючої інформації (Management Information Bases, MIBs);
- Використання синтаксису Abstract Syntax Notation One (ASN.1);
- Частина термінології;
Іншими проектом стандарту, на базі якого почалася розробка SNMP, був проект простого протоколу моніторингу шлюзів (Simple Gateway Monitoring Protocol, SGMP) співтовариства IETF.
Надалі в рамках ISO OSI було запропоновано багато нових ідей, зокрема, об'єктно-орієнтований підхід. Однак ці ідеї вже не ввійшли в стандарти SNMP. Один час IETF продовжувала CMIP over TCP (CMOT), яка передбачала використання загального протоколу керуючої інформації (Common Management Information Protocol, CMIP) стека протоколів ISO OSI в стеку IETF TCP / IP. У 1992 році ця ініціатива була припинена у зв'язку з успіхом і поширеністю SNMP.
Після багатьох засідань IAB (Internet Architecture Board) опублікував у квітні 1988 року епохальний RFC 1052: IAB Recommendations for the Development of Internet Network Management Standards, в якому закликав до якнайшвидшого створення елементів Простого Мережевого Управління (Simple Network Management).
Багато ідей, що лежать сьогодні в основі SNMP, були запозичені у попередніх дослідженнях з моніторингу Internet-маршрутизаторів. І вже в серпні 1988 з'явилися три основні документа:
- 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.
Згодом ці документи було перевидано і доповнено до визначення наступного покоління SNMP: RFC 1155, 1156 і 1157, які в свою чергу, також піддалися переробкам.
Зрештою, у травні 1991 року була закінчена робота зі створення першої версії протоколу SNMPv1, яка знайшла своє відображення в зведенні таких документів:
- RFC 1155: Structure and Identification of Management Information for TCP / IP-based internets (Травень, 1990):
- Визначає структуру керуючої інформації у вигляді глобального дерева. - Являє синтаксис визначення імен змінних управління.
- RFC 1212: Concise MIB Definitions (Березень, 1991)
- Доповнює RFC 1155 в частині синтаксису визначення імен змінних.
- RFC 1213: Management Information Base for Network Management of TCP / IP-based internets: MIB-II (Березень, 1991):
- Містить список більше ста найбільш необхідних змінних, що відповідають за конфігурацію, статус і статистику систем, що входять в TCP / IP мережі.
- RFC 1157: A Simple Network Management Protocol (SNMP) (Травень, 1990)
- Визначає повідомлення, якими обмінюються керуюча станція і об'єкт управління для отримання та оновлення значення змінних. - Визначає trap (alarm)-повідомлення, що посилаються системою при значних змінах у її конфігурації.
Опублікування цих стандартів стало поштовхом для виробників мережного обладнання, які розгорнули широкі роботи із забезпечення керованості:
- всього спектра мережного обладнання - мостів, маршрутизаторів, модемів ...
- широкого кола інтерфейсів - Point-to-Point, DS1, DS3, X.25, Frame Relay, Ethernet, Token Ring, FDDI, та ін.
В загальному, стандарти SNMP продовжували розвиватися протягом 1990-х років. Основним напрямком розвитку було вдосконалення питань безпеки. Були розроблені наступні версії SNMP: SNMPv1, SNMPv2, SNMPv2c, SNMPv2u і SNMPv3. Їх обговорення буде продовжено в розділі «Версії SNMP».
Задачі
Сімейство стандартів SNMP створено для вирішення задач обробки помилок і аналізу продуктивності і надійності.
Обробка помилок
Виявлення, визначення і усунення наслідків збоїв і відмов у роботі мережі. На цьому рівні виконується реєстрація повідомлень про помилки, їх фільтрація, маршрутизація і аналіз на основі деякої кореляційної моделі.
Аналіз продуктивності і надійності
Оцінка на основі статистичної інформації таких параметрів, як час реакції системи, пропускна спроможність каналів зв'язку, інтенсивність трафіку в окремих сегментах мережі, імовірність спотворення даних, коефіцієнт готовності служб мережі. Результати такого аналізу дозволяють контролювати угоду про рівень обслуговування (Service Level Agreement, SLA).
Згідно з ідеологією SNMP, управління повинне бути простим, нехай навіть ціною втрати потужності, масштабованості і захищеності. Тому при розробці стандартів SNMP враховувалися наступні умови:
- Повсюдність. Системи під управлінням SNMP можуть бути будь-якими і можуть бути скрізь: від принтерів до мейнфреймів;
- Простота додавання керуючих функцій. Керована система обмежена в функціональності управління, дуже проста і не може контролювати себе. Замість цього всі керовані системи контролює складна керуюча система, функціональність якої можна розширювати;
- Стійкість у критичних ситуаціях. Наприклад, при перевантаженні і проблемах в мережі, тобто при множинних помилках.
Архітектура
Архітектуру розподіленої системи можна описати в термінах обробних елементів (або компонентів), що з'єднують елементів (або з'єднувачів) і елементів даних. Перерахуємо складові елементи системи управління SNMP:
- компоненти:
- агент;
- менеджер;
- з'єднувачі:
- транспортний протокол;
- Протокольні блоки даних (Protocol Data Units, PDU) і повідомлення SNMP;
- дані
- Керуюча інформація MIB;
Опишемо детальніше і проаналізуємо архітектуру SNMP з позиції досягнення поставлених перед SNMP цілей. Для цього використовуємо поняття архітектурного стилю мережевого програмного забезпечення. Архітектурний стиль - це узгоджений набір архітектурних обмежень, накладених на ролі і особливості архітектурних елементів (компонентів, з'єднувачів і даних) і відносин між ними, яка проявляється у будь-якій архітектурі, і яка задовольняє цьому стилю.