Management Information Bases (MIBs) 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.

MIB-категори

Согласно нормативам MIB управляющая информация делится на 11 категорий
MIB-категория Описание
1SystemОперационная система ЭВМ или маршрутизация
2InterfacesСетевой интерфейс
3Addr. trans.Преобразование адреса (напр., с помощью ARP)
4IpПрограммная поддержка протоколов Internet
5IcmpПрограммное обеспечение протокола ICMP
6TcpПрограммное обеспечение протокола TCP
7UdpПрограммное обеспечение протокола UDP
8egpПрограммное обеспечение протокола EGP
9cmot(группа в настоящее время не используется)
10TransTransmission
11SNMPПрограммное обеспечение SNMP-протокола.

Системные переменные MIB** (префикс=1.3.6.1.2.1.1)

Системная переменнаяОписаниеКод
SysdescrТекстовое описание объекта
  sysDescr OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..255))
   ACCESS  read-only
   STATUS  mandatory
    DESCRIPTION
          "A textual description of the entity.  This value
          should include the full name and version
          identification of the system's hardware type,
          software operating-system, and networking
          software.  It is mandatory that this only contain
          printable ASCII characters."
  ::= { system 1 }
1
SysobjectidИдентификатор производителя в рамках дерева 1.3.6.1.4.1
 sysObjectID OBJECT-TYPE
  SYNTAX  OBJECT IDENTIFIER
  ACCESS  read-only
  STATUS  mandatory
  DESCRIPTION
          "The vendor's authoritative identification of the
          network management subsystem contained in the
          entity.  This value is allocated within the SMI
          enterprises subtree (1.3.6.1.4.1) and provides an
          easy and unambiguous means for determining `what
          kind of box' is being managed.  For example, if
          vendor `Flintstones, Inc.' was assigned the
          subtree 1.3.6.1.4.1.4242, it could assign the
          identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
          Router'."
  ::= { system 2 }
2
SysuptimeВремя с момента последней загрузки системы (timeticks)
 sysUpTime OBJECT-TYPE
  SYNTAX  TimeTicks
  ACCESS  read-only
  STATUS  mandatory
  DESCRIPTION
          "The time (in hundredths of a second) since the
          network management portion of the system was last
          re-initialized."
  ::= { system 3 }
3
SyscontactИмя системного менеджера и способы связи с ним
 sysContact OBJECT-TYPE
  SYNTAX  DisplayString (SIZE (0..255))
  ACCESS  read-write
  STATUS  mandatory
  DESCRIPTION
          "The textual identification of the contact person
          for this managed node, together with information
          on how to contact this person."
  ::= { system 4 }
4
SysnameПолное имя домена
sysName OBJECT-TYPE
  SYNTAX  DisplayString (SIZE (0..255))
  ACCESS  read-write
  STATUS  mandatory
  DESCRIPTION
          "An administratively-assigned name for this
          managed node.  By convention, this is the node's
          fully-qualified domain name."
  ::= { system 5 }
5
SyslocationФизическое местоположение системы
sysLocation OBJECT-TYPE
  SYNTAX  DisplayString (SIZE (0..255))
  ACCESS  read-write
  STATUS  mandatory
  DESCRIPTION
          "The physical location of this node (e.g.,
          `telephone closet, 3rd floor')."
  ::= { system 6 }
6
SysserviceВеличина, которая характеризует услуги, предоставляемые узлом (сумма номеров уровней модели OSI)
sysServices OBJECT-TYPE
  SYNTAX  INTEGER (0..127)
  ACCESS  read-only
  STATUS  mandatory
  DESCRIPTION
          "A value which indicates the set of services that
          this entity primarily offers.
          The value is a sum.  This sum initially takes the
          value zero, Then, for each layer, L, in the range
          1 through 7, that this node performs transactions
          for, 2 raised to (L - 1) is added to the sum.  For
          example, a node which performs primarily routing
          functions would have a value of 4 (2^(3-1)).  In
          contrast, a node which is a host offering
          application services would have a value of 72
          (2^(4-1) + 2^(7-1)).  Note that in the context of
          the Internet suite of protocols, values should be
          calculated accordingly:
               layer  functionality
                   1  physical (e.g., repeaters)
                   2  datalink/subnetwork (e.g., bridges)
                   3  internet (e.g., IP gateways)
                   4  end-to-end  (e.g., IP hosts)
                   7  applications (e.g., mail relays)
          For systems including OSI protocols, layers 5 and
          6 may also be counted."
  ::= { system 7 }
7

Переменные интерфейсов

Переменные IFtable (интерфейсы; префикс=1.3.6.1.2.1.2)

Переменная описания интерфейсов (iftable) Тип данных Описание ifEntry
IFindex integer Список интерфейсов от 1 до ifnumber. 1
IfDescr displaystring Текстовое описание интерфейса. 2
IfType integer Тип интерфейса, например, 6 - ethernet; 9 - 802.5 маркерное кольцо; 23 - PPP; 28 - SLIP. 3
IfNumber integer Число сетевых интерфейсов.
IfMTU integer mtu для конкретного интерфейса; 4
IfSpeed gauge Скорость в бит/с. 5
IfPhysaddress physaddress Физический адрес или строка нулевой длины для интерфейсов без физического адреса (напр. последовательный). 6
IfAdminStatus [1…3] Требуемое состояние интерфейса: 1 - включен; 2 - выключен; 3 - тестируется. 7
IfOperStatus [1…3] Текущее состояние интерфейса: 1 - включен; 2 - выключен; 3 - тестируется. 8
IfLastchange timeticks Sysuptime, когда интерфейс оказался в данном состоянии. 9
IfInOctets counter Полное число полученных байтов. 10
IfInUcastpkts counter Число пакетов, доставленных на верхний системный уровень (unicast). 11
IfInNUcastpkts counter Число пакетов, доставленных на верхний системный уровень (unicast). 12
IfInDiscads counter Число полученных но отвергнутых пакетов. 13
IfInErrors counter Число пакетов, полученных с ошибкой; 14
IfInUnknownProtos counter Число пакетов, полученных с ошибочным кодом протокола; 15
IfOutOctets counter Число отправленных байтов; 16
IfOutUcastPkts counter Число unicast- пакетов, полученных с верхнего системного уровня; 17
IfOutNucastPkts counter Число мультикастинг- и широковещательных пакетов, полученных с верхнего системного уровня; 18
IfOutDiscads counter Количество отвергнутых пакетов из числа отправленных; 19
IfOutErrors counter Число отправленных пакетов, содержащих ошибки; 20
IfOutQlen gauge Число пакетов в очереди на отправку; 21

IP-группа

Переменные IP-группы (префикс=1.3.6.1.2.1.4)

Переменная IP-группы Тип данных Описание Код
ipForwarding integer Указание на то, что данный объект осуществляет переадресацию (работает как маршрутизатор). 1
IPdefaultTTL integer Значение, которое использует IP в поле TTL. 2
IPinreceives counter Число полученных дейтограмм. 3
ipInHdrErrors counter Число дейтограмм, отвергнутых из-за ошибок формата или неверных адресов или опций, из-за истекшего TTL. 4
ipInHdrErrors counter Число дейтограмм, отвергнутых из-за неверного IP-адреса, например, 0.0.0.0, или неподдерживаемого класса, например Е. 5
ipForwDatagrams counter Число дейтограмм, для которых данный объект не является местом назначения (маршрутизация отправителя). 6
ipInUnknownProtos counter Число дейтограмм с неподдерживаемым кодом протокола. 7
ipInDiscards counter Число дейтограмм, отвергнутых из-за переполнения буфера. 8
ipInDelivers counter Полное число входных дейтограмм, успешно обработанных на IP-уровне. 9
ipOutRequests counter Полное число IP и ICMP дейтограмм, переданных для отправки. 10
ipOutRequests counter Полное число IP и ICMP дейтограмм, переданных для отправки. 11
IPoutNoroutes counter Число неудач при маршрутизации. 12
ipReasmTimeout counter Максимальное число секунд ожидания сборки фрагментов. 13
ipReasmReqds counter Число полученных фрагментов 14
ipReasmOKs counter Число полученных и успешно собранных IP-дейтограмм 15
ipReasmFails counter Число полученных IP-дейтограмм, которые по тем или иным причинам не удалось собрать 16
IPFragOKs counter Число успешно фрагментированных IP- дейтограмм. 17
ipFragFails counter Число IP- дейтограмм, которые нужно фрагментировать, но сделать это нельзя (например, из-за флага). 18
ipFragCreates counter Число IP-дейтограмм фрагментов, сформированных данным объектом. 19
ipAddrTable counter Таблица адресной информации данного объекта. 20
ipRouteTable Последовательность записей маршрутной таблицы Запись в маршрутной таблице 21
ipAddrEntry
IPAdEntAddr IPaddress IP-адрес для данного ряда 1
IPadentifindex integer Число интерфейсов. 2
IPadentnetmask IPaddress Маска субсети для данного IP-адреса; 3
IPAdEntBcastAddr [0…1] Значение младшего бита широковещательного адреса (обычно 1); 4
IPAdEntReasmMaxsize [0…65535] Размер наибольшей IP-дейтограммы, полученной интерфейсом, которая может быть собрана. 5

TCP-группа

Переменные TCP-группы (префикс=1.3.6.1.2.1.6)

Переменные TCP-группы |Тип данных| Описание |Код |

tcpRtoAlgorithm integer Алгоритм выявления таймаута для повторной передачи TCP-пакетов: 1 - ни один из следующих; 2 - постоянное RTO; 3 - стандарт MIL-std-1778; 4 - алгоритм Ван Джакобсона 1
tcpRtoMin integer Минимальное допустимое время повторной передачи tcp- пакетов. 2
tcpRtoMax integer Максимальное значение тайм-аута в миллисек. 3
tcpMaxConn integer Максимальное допустимое число tcp-соединений. 4
tcpActiveOpens integer Число TCP-соединений Active-Open 5
tcpPassiveOpens integer Число TCP-соединений Passive-Open (из состояния LISTEN) 6
tcpAttemptFails integer Число неудачных TCP-соединений 7
tcpEstabResets integer Число разрывов TCP-соединений из состояний ESTABLISHED или CLOSE-WAIT 8
tcpCurrEstab Gauge Число TCP-соединений, для которых текущее состояние ESTABLISHED или CLOSE-WAIT 9
tcpInSegs counter Полное число полученных tcp-сегментов. 10
tcpOutSegs counter Полное число посланных сегментов, исключая повторно пересылаемые. 11
tcpRetransSegs counter Полное число повторно пересланных сегментов. 12
tcpConnTable counter Таблица данных специфичных для соединения 13
tcpInErrs counter Полное число сегментов, полученных с ошибкой. 14
tcpOutRsts counter Полное число посланных сегментов с флагом rst=1. 15
tcpconntable. tcp-таблица связей
tcpconnstate [1…12]Состояние соединения:
1 - closed;
2 - listen;
3 - syn_sent;
4 - syn_rcvd;
5 - established;
6 - fin_wait_1;
7 - fin_wait_2;
8 - close_wait;
9 - last_ack;
10 - closing;
11 - time_wait;
12 - delete TCB.
Только последняя переменная может устанавливаться менеджером, немедленно прерывая связь.
tcpconnlocaladdress ipaddress Местный IP-адрес. 0.0.0.0 означает, что приемник готов установить связь через любой из интерфейсов.
tcpconnlocal port [0…65535] Местный номер порта.
tcpconnlocaladdress ipaddress Удаленный ip-адрес.
tcpconnrem port [0…65535] Удаленный номер порта.

ICMP-группа

Переменные ICMP-группы (тип данных - counter; префикс=1.3.6.1.2.1.5)

Переменная icmp-группы Описание Код
icmpInMsgs Полное Число полученных ICMP-сообщений. 1
icmpInErrors Число ICMP-сообщений, полученных с ошибками. 2
icmpInDestUnreach Число ICMP-сообщений о недостижимости адресата. 3
icmpintimeexcds Число ICMP-сообщений об истечении времени. 4
icmpInParmProbs Число полученных ICMP-сообщений о проблемах с параметрами. 5
icmpInSrcQuench Число ICMP-сообщений с требованием сократить или прервать посылку пакетов из-за перегрузки. 6
icmpInRedirects Число ICMP-сообщений о переадресации. 7
icmpInEchos Число полученных ICMP-запросов отклика. 8
icmpInEchoReps Число полученных ICMP-эхо- откликов. 9
icmpInTimestamps Число ICMP-запросов временных меток. 10
icmpInTimestampReps Число ICMP-откликов временных меток. 11
icmpInAddrMasks Число ICMP-запросов адресных масок. 12
icmpInAddrMaskReps Число ICMP-откликов на запросы адресных масок. 13
icmpOutMsgs Число отправленных ICMP- сообщений. 14
icmpOutErrors Число не отправленных ICMP- сообщений из-за проблем в ICMP (напр. нехватка буферов). 15
icmpOutDestUnreachs Число ICMP-сообщений о недоступности адресата. 16
icmpOutTimesExcds Число посланных ICMP-сообщений об истечении времени. 17
icmpOutParmProbs Число посланных ICMP-сообщений о проблемах с параметрами. 18
icmpOutSrcQuench Число посланных ICMP-сообщений об уменьшении потока пакетов. 19
icmpOutRedirects Число посланных ICMP-сообщений о переадресации. 20
icmpOutEchos Число посланных ICMP-эхо-запросов. 21
icmpOutEchoReps Число посланных ICMP-эхо-откликов. 22
icmpOutTimestamps Число посланных ICMP-запросов временных меток. 23
icmpOutTimestampReps Число посланных ICMP-откликов на запросы временных меток. 24
icmpOutAddrMasks Число посланных ICMP-запросов адресных масок. 25

АТ-группа (преобразование адресов)

Переменные AT-группы (attable, преобразование адресов; префикс=1.3.6.1.2.1.3).

еременные at-группыТип данных Описание atEntry
atIfIndex integer Число интерфейсов. 1
atPhysAddress physaddress Физический адрес. Если эта переменная равна строке нулевой длины, физический адрес отсутствует. 2
atNetAddress networkaddress IP-адрес. 3

UDP-группа

Переменные UDP-группы (тип данных - counter; префикс=1.3.6.1.2.1.7)

Имя переменной Тип данных Описание Код
udpInDatagrams counter Число UDP-дейтограмм, присланных процессам пользователя. 1
udpNoPorts counter Число полученных UDP-дейтограмм, для которых отсутствует прикладной процесс в порте назначения. 2
udpInErrors counter Число не доставленных UDP-дейтограмм по причинам, отличающимся от отсутствия процесса со стороны порта назначения (напр., ошибка контрольной суммы). 3
udpOutDatagrams counter Число посланных UDP-дейтограмм. 4
udpTable counter Таблица, содержащая данные о принимающей стороне 5

SNMP-группа

Переменные SNMP-группы (тип данных - counter; префикс=1.3.6.1.2.1.11)

Название объекта Описание Код
snmpInPkts Число пакетов, полученных от слоя, расположенного ниже SNMP. 1
snmpOutPkts Число пакетов доставленных от SNMP к нижележащему слою. 2
snmpInBadVersions Индицирует число PDU, полученных с ошибкой в поле версия. 3
snmpInBadCommunityNames Индицирует число PDU, полученных с нечитаемым или нелегальным именем community. 4
snmpInBadCommunityUses Полное число SNMP-пакетов, полученных с нечитаемым или нелегальным значение операции для данного имени community. 5
snmpInAsnParsErrs Указывает полное число ошибок ASN.1 или BER, которые не могут быть обработаны во входных SNMP-сообщениях 6
snmpInTooBigs Указывает число полученных PDU со слишком большим значением поля статус ошибки. 8
snmpInNoSuchNames Указывает число PDU, полученных с индикацией ошибки в поле nosuchname. 9
snmpInBadValues Указывает число PDU, полученных с индикацией ошибки в поле badvalue. 10
snmpInReadOnlys Указывает число PDU, полученных с индикацией ошибки в поле readonly. 11
snmpNnGenErrs Указывает число PDU, полученных с generr-полем. 12
snmpInTotalReqVar Указывает число объектов MIB, которые были восстановлены. 13
snmpInTotalSetVars Указывает число объектов MIB, которые были изменены. 14
snmpInGetRequests Указывает число соответствующих pdu, которые были получены. 15
snmpInGetNexts Указывает полное число pdu с запросами GetNext 16
snmpInSetRequests Указывает полное число pdu, полученных с запросами SET 17
snmpInGetResponses Указывает полное число pdu, полученных c откликами на запросы 18
snmpInTraps Указывает полное число, полученных и успешно обработанныз TRAP 19
snmpOutTooBig Указывает число посланных PDU с полем toobig. 20
snmpOutNoSuchNames Указывает число посланных PDU с полем nosuchname. 21
snmpOutBadValues Указывает число посланных PDU с полем badvalue. 22
snmpOutGenErrs Указывает число посланных PDU с полем genErrs. 24
snmpOutGetRequests Указывает число посланных PDU Get-Request 25
snmpOutGetNexts Указывает число посланных PDU Get-NEXT 26
snmpOutSetRequests Указывает число посланных PDU SET 27
snmpOutGetResponses Указывает число посланных PDU откликов 28
snmpOutTraps Указывает число посланных PDU TRAPs 29
snmpEnableAuthTraps Говорит о том, разрешены или нет ловушки (TRAPS). 30

Виды данных

  • INTEGER (целое число). Некоторые переменные объявляются как целые без ограничений (например, MTU для интерфейса), некоторые определены с конкретными значениями (например, флаг IP о перенаправлении установлен в 1, если перенаправление включено, или в 2, если перенаправление выключено), а другие определены с их минимальными и максимальными значениями (например, номера портов TCP и UDP находятся в диапазоне от 0 до 65535).
  • OCTET STRING (восьмеричная строка). Строка из 0 или нескольких 8-битных байт. Каждый байт имеет значение от 0 до 255. В кодировании BER, используемом для этих типов данных и для следующего, счетчик количества байт в строке находится перед самой строкой. Эти строки не заканчиваются нулевыми значениями.
  • DisplayString. Строка из 0 или нескольких 8-битных байт, причем каждый байт должен быть символом из набора ASCII NVT (глава 26, раздел «Протокол Telnet»). Все переменные этого типа в MIB-II должны содержать не больше чем 255 символов. (Строка нулевой длины допустима.)
  • OBJECT IDENTIFIER (идентификатор объекта). Мы опишем их в следующем разделе.
  • NULL (ноль). Означает, что у соответствующей переменной нет значения. Используется, например, в качестве всех значений для переменных в запросах get или get-next, пока эти переменные запрашиваются, а не устанавливаются.
  • IpAddress (IP адрес). OCTET STRING (восьмеричная строка) длиной 4, с 1 байтом на каждый байт IP адреса.
  • PhysAddress (физический адрес). OCTET STRING (восьмеричная строка), содержит физический адрес (например, 6-байтный Ethernet адрес).
  • Counter (счетчик). Неотрицательное целое число, значение которого увеличивается монотонно от 0 до значения 232 -1 (4.294.967.295) и затем вновь возвращается в 0.
  • Gauge (критерий). Неотрицательное целое число в диапазоне от 0 до 232 -1, значение которого может увеличиваться или уменьшаться, однако изменения прекращаются по достижении максимального значения. Это означает, что если значение достигнет величины 232 -1, критерий будет оставаться в этом значении до тех пор, пока не будет сброшен. Примером может служить переменная MIB tcpCurrEstab: это количество TCP соединений, находящихся в настоящий момент в состоянии ESTABLISHED (установлено) или CLOSE_WAIT (ожидание закрытия).
  • TimeTicks (тики времени). Счетчик, который считает время в сотых долях секунды с какой-либо исходной точки. Различные переменные могут указывать начало счета с различных исходных точек, исходная точка используемая для каждой переменной этого типа и указывается, когда переменная объявляется в MIB. Например, переменная sysUpTime это количество сотых долей секунды, в течение которых агент был включен.
    • timeticks / 100 = seconds
    • timeticks / 6000 = minutes
    • timeticks / 360000 = hours
    • timeticks / 8640000 = days
  • SEQUENCE (последовательность). Напоминает структуру в языке программирования С. Например, мы рассмотрим, как в MIB определяется последовательность (SEQUENCE), которая называется UdpEntry и которая содержит информацию об активности конечных точек UDP агента. (Под словом «активность» мы подразумеваем порты, которые используются в настоящее время приложением.) В этой структуре есть две записи:
    • udpLocalAddress, типа IpAddress, содержащая локальный IP адрес.
    • udpLocalPort, типа INTEGER, в диапазоне от 0 до 65535, которая содержит локальный номер порта.
  • SEQUENCE OF (последовательность чего). Это определение вектора со всеми элементами, которые имеют тот же самый тип данных. Если каждый элемент имеет простой тип данных, такой как целое, мы имеем простой вектор (одномерный массив). Однако мы увидим, что SNMP использует эти типы данных с каждым элементом вектора, который является последовательностью (SEQUENCE) (структура). Поэтому мы можем считать их двумерными массивами или таблицей. Например, таблица слушающих процессов (listener) UDP называется udpTable, и является последовательностью (SEQUENCE OF) 2-элементной структуры (SEQUENCE) UdpEntry.
 
snmp/mib.txt · Последние изменения: 2022/07/14 22:29 — adm