Management Information Base
Management Information Base (MIB, база керуючої інформації) — віртуальна база даних, яка використовується для управління об'єктами в мережі зв'язку. Найчастіше це поняття пов'язують з англ. Simple Network Management Protocol (SNMP), але також воно використовується в ширшому сенсі — в контексті моделі управління мережею Середовище зв'язку відкритих систем/ISO . Хоча термін MIB призначений для позначення всієї доступної інформації про об'єкт, він також часто використовується для позначення конкретної підмножини, яку правильніше називати MIB-модулем.
Об'єкти в MIB, згідно RFC 2578, визначаються за допомогою підмножини «Structure of Management Information Version 2» (SMIv2) стандарту ASN.1. Програмне забезпечення, яке виконує розбір, називається MIB-компілятором.
База даних має ієрархічну (деревоподібну) структуру. До записів можна звернутися через ідентифікатори об'єктів (англ. Object identifier, OID). Бази MIB обговорюються в документациях RFC, зокрема в RFC 1155 і супутніх йому RFC 1213 і RFC 1157.
Abstract Syntax Notation One (ASN.1)
В області телекомунікацій і комп'ютерних мереж Abstract Syntax Notation One — це мова для опису абстрактного синтаксису даних, які використовує OSI. Стандарт запису, що описує структури даних для подання, кодування, передачі і декодування даних. Він забезпечує набір формальних правил для опису структури об'єктів, що не залежать від конкретної машини.
ASN.1 являється ISO- і ITU-T — сумісним стандартом, спочатку був визначений в 1984 році в рамках CCITT X.409: 1984. Через широке застосування ASN.1 в 1988 році перейшов на свій власний стандарт X.208. Починаючи з 1995 року, істотно переглянутий ASN.1 описується стандартом X.680[1].
Адаптована підмножина SMI (англ. Structure of Management Information) зазначена в SNMP для визначення множин пов'язаних об'єктів MIB; такі множини називаються модулями MIB.
Ієрархія MIB
Ієрархію MIB можна представити у вигляді дерева з безіменним коренем, рівні призначаються різними організаціями. OID вищого рівня належать організаціям по стандартизації, в той час як ідентифікатори нижнього рівня виділені пов'язаним організаціям. Ця модель організовує управління на всіх рівнях еталонної моделі OSI, з розширенням в такі додатки, як бази даних, електронна пошта і еталонна модель Java, оскільки бази MIB можуть бути визначені для всіх операцій та інформації в таких заданих областях[1].
Керований об'єкт (також MIB-об'єкт, об'єкт або просто MIB) є однією з конкретних характеристик керованого пристрою. Керовані об'єкти складаються з одного або більше примірника об'єкта (визначається їх OID-ами), які по суті є змінними.
Є два типи керованих об'єктів:
- Скалярні (scalar) об'єкти визначають один екземпляр об'єкта.
- Табличні (tabular) об'єкти визначають кілька пов'язаних примірників об'єктів, згрупованих в таблиці MIB.
Прикладом керованого об'єкта є atInput
— скалярний об'єкт, що містить один екземпляр об'єкта (цілочисельного значення, що показує загальну кількість вхідних пакетів AppleTalk на інтерфейсі маршрутизатора)[1].
Ідентифікатор об'єкта (OID) однозначно визначає керований об'єкт в ієрархії MIB.
SNMPv1 і SMI-специфічні типи даних
Перша версія SMI (SMIv1) визначає використання декількох специфічних для SMI типів даних, які розділені на дві категорії:
- Прості типи даних
- Типи даних Application-wide
Прості типи даних
У SNMPv1 SMI визначені три простих типи даних:
- Цілочисельний тип даних (integer data type) — ціле число зі знаком в діапазоні від -231 до 231-1.
- Рядки октетів (Octet strings) — впорядковані послідовності, що містять від 0 до 65535 октетів.
- OID-и (Object IDs) надходять[Що?] з безлічі всіх виділених ідентифікаторів об'єктів згідно з правилами, зазначеним в ASN.1[1].
Типи даних Application-wide
У SNMPv1 SMI існують такі типи даних application-wide:
- Мережеві адреси (Network addresses) представляють собою адреси з певного сімейства протоколів. SMIv1 підтримує тільки 32-бітові (IPv4) адреси (SMIv2 зазвичай використовує рядок октетів для подання адрес. В SMIv1 тип даних — явні IPv4-адреси.)
- Лічильники (Counters) — невід'ємні цілі числа, що збільшуються до тих пір, поки не досягнуть максимального значення, після чого скидаються до нуля. SNMPv1 задає 32 біта в якості розміру лічильника.
- Датчики (Gauges) — невід'ємні цілі числа, які можуть зменшуватися або збільшуватися між певними значеннями максимуму й мінімуму. Кожного разу, коли системна властивість, представлена датчиком, виходить за ці межі, значення самого датчика буде змінюватися в установлених межах, як зазначено в RFC 2578.
- Відмітка часу (Time ticks) представляє минуле із якоїсь події часу, що вимірюється в сотих частках секунди.
- Opaques — довільне кодування, яке використовується для передачі довільних рядків інформації, які не задовольняють суворої типологізації даних в SMI.
- Цілочисельні (Integers) — надають інформацію у вигляді цілих чисел зі знаком. Цей тип даних перевизначає цілочисельний тип даних, який мав довільну точність в ASN.1, але обмежену точність в SMI.
- Беззнакові цілочисельні (Unsigned integers) — інформація у вигляді беззнакових цілих чисел, корисна якщо всі значення завжди невід'ємні. Цей тип даних перевизначає цілочисельний тип даних, який мав довільну точність в ASN.1, але обмежену точність в SMI[2].
MIB-таблиці SNMPv1
SNMPv1 SMI визначає сильноструктуровані таблиці, які використовуються для угруповання примірників табличного об'єкта (тобто об'єкта, що містить кілька змінних). Таблиці складаються з нуля і більше рядків, які індексуються так, щоб SNMP міг отримати або змінити цілий рядок однією командою Get
, GetNext
або Set
.
SMIv2 і структура керуючої інформації
Друга версія SMI (SMIv2) описана в RFC 2578 і RFC 2579. Вона покращує і доповнює специфічні для SMIv1 типи даних, такі як рядки бітів, мережеві адреси й лічильники. Бітові рядки визначені тільки в SMIv2 і містять нуль та більше бітів, що визначають значення. Мережеві адреси являють собою адресу з певного сімейства протоколів. Лічильники — невід'ємні цілі числа, що збільшуються до тих пір, поки не досягнуть максимального значення, після чого скидаються до нуля. У SMIv1 був визначений розмір лічильника в 32 біта. У SMIv2 визначені і 32, і 64-бітові лічильники.
SMIv2 також визначає модулі інформації, які задають групу пов'язаних визначень. Є три типи модулів інформації: модулі MIB, ті, що декларують відповідність і заяви про можливість.
- MIB-модулі містять визначення взаємопов'язаних керованих об'єктів.
- Заяви про відповідність надають систематичний спосіб опису групи керованих об'єктів, які повинні бути реалізовані відповідно до стандарту.
- Заяви про можливість використовуються для вказівки точного рівня підтримки, який вимагає агент по відношенню до групи MIB. NMS може регулювати його поведінку по відношенню до агента відповідно до заяв про можливості, пов'язані з кожним агентом[1].
Оновлення баз MIB
Бази MIB періодично оновлюються, щоб додати нові функціональні можливості, усунути неясності й виправити недоліки. Ці зміни проводяться відповідно до розділу 10 RFC 2578. Прикладом бази MIB, яка була оновлена багато разів, є важливий набір об'єктів, який був спочатку визначений в RFC 1213 «MIB-II». Ця MIB з тих пір була розділена й тепер може бути знайдена в таких MIB, як RFC 4293 «Management Information Base for the Internet Protocol (IP)», RFC 4022 «Management Information Base for the Transmission Control Protocol (TCP)», RFC 4113 «Management Information Base for the User Datagram Protocol (UDP)», RFC 2863 «The Interfaces Group MIB» і RFC 3418 «Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)».
Індекси баз MIB
Існує велика кількість баз MIB, визначених як організації зі стандартизації (наприклад, IETF) (Міжнародна рада Інтернету), так і приватними підприємствами та іншими організаціями.
Бази MIB від IETF
Бази MIB містяться в 318 RFC з перших 5000 RFC від IETF. Даний список — лише мала частина написаних баз MIB:
- SNMP — SMI: RFC +1155 — Визначає структуру керуючої інформації (SMI)
- MIB-I: RFC 1156 — Історично склалося, що використовується з CMOT, не використовується з SNMP
- SNMPv2-SMI: RFC 2578 — Структура керуючої інформації, версія 2 (SMIv2)
- MIB-II: RFC 1213 — База керуючої інформації для мережевого управління в TCP/IP
- SNMPv2-MIB: RFC 3418 — База керуючої інформації (MIB) для SNMP
- TCP-MIB: RFC 4022 — База керуючої інформації для TCP
- UDP-MIB: RFC 4113 — База керуючої інформації для UDP
- IP-MIB: RFC 4293 — База керуючої інформації для IP
- IF-MIB: RFC 2863 — Група інтерфейсів MIB[3]
Бази MIB від IEEE
IETF і IEEE погодилися передати бази MIB, пов'язані з роботою IEEE (наприклад, Ethernet) відповідним робочим групам в IEEE. Цей процес ще не закінчений і лише мала частина його виконана.
- Мережевий міст
- IEEE 802.1ap-2008 об'єднала пов'язані з мережевими мостами RFC від IEEE і IETF у восім пов'язаних баз MIB.
MIB Browsers
- SnmpB: Графічний браузер MIB з відкритим движком для Windows, MacOSX і Linux.
- mbrowse: Графічний браузер SNMP MIB для Linux, заснований на GTK + і Net-SNMP.
- BlackOwl MIB Browser: Графічний браузер MIB для Windows і Linux, який може витягувати бази MIB з RFC і відображати графіки.
- SMI-Mib Browser: Графічний браузер MIB & nbsp; — активна розробка цього проекту припинилася в 2010 році.
- MBJ: Графічний браузер MIB, написаний на Java.
- JMibBrowser: Графічний браузер MIB, написаний на Java. Може посилати SNMP-запити і динамічно завантажувати дані бази MIB.
- NetDecision MIB Browser: Графічний браузер MIB, написаний на C ++. Повністю підтримує SNMPv1, SNMPv2C і SNMPv3, також дозволяє завантаження будь-якого MIB-файлу, сумісного з SMIv1 або SMIv2, MIB Browsing, обхід дерева MIB, який працює з таблицями MIB tables і виконувач всі інші пов'язані з SNMP операції.
Посилання
- ByteSphere's MIB Database, свободное онлайн-хранилище для тысяч баз SNMP MIB.
- MIBSearch, свободная поисковая система для файлов баз SNMP MIB.
- SimpleWeb MIBs
- MIB index. ICIR..
- MIB Compilers and Loading MIBs. Cisco..
- ipMonitor's SNMP Center
- MIB Depot — обширный список баз MIB
- PEN (Private Enterprise Number) registry
- PEN request authority
- В. Г. Олифер, Н. А. Олифер — Компьютерные сети. Принципы, технологии, протоколы
- MIB Search — Поиск по MIB.