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 управляющая информация делится на 11 категорий | ||
---|---|---|
MIB-категория | Описание | |
1 | System | Операционная система ЭВМ или маршрутизация |
2 | Interfaces | Сетевой интерфейс |
3 | Addr. trans. | Преобразование адреса (напр., с помощью ARP) |
4 | Ip | Программная поддержка протоколов Internet |
5 | Icmp | Программное обеспечение протокола ICMP |
6 | Tcp | Программное обеспечение протокола TCP |
7 | Udp | Программное обеспечение протокола UDP |
8 | egp | Программное обеспечение протокола EGP |
9 | cmot | (группа в настоящее время не используется) |
10 | Trans | Transmission |
11 | SNMP | Программное обеспечение SNMP-протокола. |
Системная переменная | Описание | Код |
---|---|---|
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.1sysObjectID 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-группы (префикс=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-группы (префикс=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. | ||
Только последняя переменная может устанавливаться менеджером, немедленно прерывая связь. | |||
tcpconnlocal | address | ipaddress Местный IP-адрес. 0.0.0.0 означает, что приемник готов установить связь через любой из интерфейсов. | |
tcpconnlocal port | [0…65535] | Местный номер порта. | |
tcpconnlocaladdress | ipaddress | Удаленный ip-адрес. | |
tcpconnrem port | [0…65535] | Удаленный номер порта. |
Переменные 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-группы (тип данных - 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-группы (тип данных - 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 |