Management Information Base (MIB, база управляющей информации) - виртуальная база данных, используемая для управления объектами в сети связи. Наиболее часто это понятие связывают с Simple Network Management Protocol (SNMP), но также оно используется в более широком смысле - в контексте модели управления сети OSI/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.

Адаптированное подмножество SMI (Structure of Management Information) указано в SNMP для определения множества связанных объектов MIB; такие множества называются модулями MIB.

В России ASN.1 стандартизирован по ГОСТ Р ИСО/МЭК 8824-1-2001 и ГОСТ Р ИСО/МЭК 8825-93.

Иерархия MIB править

Иерархию MIB можно представить в виде дерева с безымянным корнем, уровни назначаются различными организациями. OID-ы высшего уровня принадлежат организациям по стандартизации, в то время как идентификаторы нижнего уровня выделены связанным организациям. Эта модель организовывает управление на всех уровнях эталонной модели OSI, с расширением в такие приложения, как базы данных, электронная почта и эталонная модель Java, поскольку базы MIB могут быть определены для всех операций и информации в таких заданных областях.

Управляемый объект (также MIB-объект, объект или просто MIB) является одной из конкретных характеристик управляемого устройства. Управляемые объекты состоят из одного или более экземпляра объекта (определяется их OID-ами), которые по существу являются переменными.

Есть два типа управляемых объектов:

  • Скалярные (scalar) объекты определяют один экземпляр объекта.
  • Табличные (tabular) объекты определяют несколько связанных экземпляров объектов, сгруппированных в таблицы MIB.

Примером управляемого объекта является atInput - скалярный объект, содержащий один экземпляр объекта (целочисленное значение, показывающее общее количество входных пакетов AppleTalk на интерфейсе маршрутизатора).

Идентификатор объекта (OID) однозначно определяет управляемый объект в иерархии MIB.

SNMPv1 и SMI-специфичные типы данных править

Первая версия SMI (SMIv1) определяет использование нескольких специфичных для SMI типов данных, которые разделены на две категории:

  • Простые типы данных
  • Типы данных Application-wide

Простые типы данных править

В SNMPv1 SMI определены три простых типа данных:

  • Целочисленный тип данных (integer data type) - целое число со знаком в диапазоне от -2^31 до 2^31-1.
  • Строки октетов (Octet strings) - упорядоченные последовательности, содержащие от 0 до 65535 октетов.
  • OID-ы (Object IDs) поступают из множества всех выделенных идентификаторов объектов согласно правилам, указанным в ASN.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.

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 может регулировать его поведение по отношению к агентам в соответствии с заявлениями о возможностях, связанными с каждым агентом.

Обновление баз 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

Базы MIB от IEEE править

IETF и IEEE согласились передать базы MIB, связанные с работой IEEE (например, Ethernet) соответствующим рабочим группам в IEEE. Это процесс ещё не закончен и лишь малая часть его выполнена.

  • Сетевой мост
    • IEEE 802.1ap-2008 объединила связанные с сетевыми мостами RFC от IEEE и IETF в восемь связанных баз MIB.

Внешние ссылки править

MIB Browsers править

  • [1] Архивная копия от 19 августа 2012 на Wayback Machine SnmpB: Графический браузер MIB с открытым движком для Windows, MacOSX и Linux.
  • [2] Архивная копия от 29 августа 2012 на Wayback Machine mbrowse: Графический браузер SNMP MIB для Linux, основанный на GTK+ и Net-SNMP.
  • [3] Архивная копия от 26 апреля 2012 на Wayback Machine BlackOwl MIB Browser: Графический браузер MIB для Windows и Linux, который может извлекать базы MIB из RFC и отображать графики.
  • [4] Архивная копия от 11 ноября 2012 на Wayback Machine SMI-Mib Browser: Графический браузер MIB — активная разработка этого проекта прекратилась в 2010 году.
  • [5] Архивная копия от 17 июня 2012 на Wayback Machine MBJ: Графический браузер MIB, написан на Java.
  • [6] Архивная копия от 20 марта 2012 на Wayback Machine JMibBrowser: Графический браузер MIB, написан на Java. Может посылать SNMP-запросы и динамически загружать данные базы MIB.
  • [7] NetDecision MIB Browser: Графический браузер MIB, написан на C++. Полностью поддерживает SNMPv1,SNMPv2C и SNMPv3, также позволяет загрузку любого MIB-файла, совместимого с SMIv1 или SMIv2, MIB Browsing, обход дерева MIB, работающий с таблицами MIB tables и исполняющий все прочие связанные с SNMP операции.