Management Information Base

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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 бита. В MIv2 определены и 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] SnmpB: Графический браузер MIB с открытым движком для Windows, MacOSX и Linux.
  • [2] mbrowse: Графический браузер SNMP MIB для Linux, основанный на GTK+ и Net-SNMP.
  • [3] BlackOwl MIB Browser: Графический браузер MIB для Windows и Linux, который может извлекать базы MIB из RFC и отображать графики.
  • [4] SMI-Mib Browser: Графический браузер MIB — активная разработка этого проекта прекратилась в 2010 году.
  • [5] MBJ: Графический браузер MIB, написан на Java.
  • [6] JMibBrowser: Графический браузер MIB, написан на Java. Может посылать SNMP-запросы и динамически загружать данные базы MIB.
  • [7] NetDecision MIB Browser: Графический браузер MIB, написан на C++. Полностью поддерживает SNMPv1,SNMPv2C и SNMPv3, также позволяет загрузку любого MIB-файла, совместимого с SMIv1 или SMIv2, MIB Browsing, обход дерева MIB, работающий с таблицами MIB tables и исполняющий все прочие связанные с SNMP операции.