Управляющая база данных MIB
Вся управляющая информация для контроля ЭВМ и маршрутизаторов Интернет концентрируется в базе данных MIB (Management Information Base, RFC-1213 или STD0017). Именно эти данные используются протоколом SNMP. Система SNMP состоит из трех частей: менеджера SNMP, агента SNMP и базы данных MIB. Агент SNMP должен находиться резидентно в памяти объекта управления. SNMP -менеджер может быть частью системы управления сетью NMS (Network Management System), что реализуется, например, в маршрутизаторах компании CISCO (CiscoWorks).
MIB определяет, например, что IP программное обеспечение должно хранить число всех октетов, которые приняты любым из сетевых интерфейсов; управляющие программы могут только читать эту информацию.
Согласно нормативам MIB, управляющая информация делится на восемь категорий (
таблица
9.1).
Таблица
9.1.
| MIB -категория |
Описание |
Код |
| System |
Операционная система ЭВМ или маршрутизатора. |
1 |
| Interfaces |
Сетевой интерфейс. |
2 |
| addr.trans |
Преобразование адреса (напр., с помощью ARP). |
3 |
| IP |
Программная поддержка протоколов Интернет. |
4 |
| ICMP |
Программное обеспечение ICMP -протокола. |
5 |
| TCP |
Программное обеспечение TCP-протокола. |
6 |
| UDP |
Программное обеспечение UDP-протокола. |
7 |
|
EGP
|
Программное обеспечение EGP-протокола. |
8 |
| SNMP |
Программное обеспечение SNMP -протокола. |
11 |
Таблица
9.2.
Системные переменные MIB
| Системная переменная |
Описание |
Код |
| Sysdescr |
Текстовое описание объекта; |
1 |
| Sysobjectid |
Идентификатор производителя в рамках дерева 1.3.6.1.4.1 |
2 |
| Sysuptime |
Время с момента последней загрузки системы (timeticks); |
3 |
| Syscontact |
Имя системного менеджера и способы связи с ним; |
4 |
| Sysname |
Полное имя домена; |
5 |
| Syslocation |
Физическое местоположение системы; |
6 |
| Sysservice |
Величина, которая характеризует услуги, предоставляемые узлом (сумма номеров уровней модели OSI); |
7 |
Таблица
9.3.
Переменные IFtable (интерфейсы)
| Переменная описания интерфейсов (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 |
Число пакетов, доставленных на верхний системный уровень (nonunicast). |
12 |
| IfInDiscads |
counter |
Число полученных, но отвергнутых пакетов. |
13 |
| IfInErrors |
counter |
Число пакетов, полученных с ошибкой; |
14 |
| IfInUnknown-Protos |
counter |
Число пакетов, полученных с ошибочным кодом протокола; |
15 |
| IfOutOctets |
counter |
Число отправленных байтов; |
16 |
| IfOutUcastPkts |
counter |
Число unicast- пакетов, полученных с верхнего системного уровня; |
17 |
| IfOutNucastPkts |
counter |
Число мультикастинг- и широковещательных пакетов, полученных с верхнего системного уровня; |
18 |
| IfOutDiscads |
counter |
Количество отвергнутых пакетов из числа отправленных; |
19 |
| IfOutErrors |
counter |
Число отправленных пакетов, содержащих ошибки; |
20 |
| IfOutQlen |
gauge
|
Число пакетов в очереди на отправку; |
21 |
Ниже представлена
таблица
9.3а. цифро-точечного представления переменных, характеризующих состояние интерфейса. Эта таблица может быть полезной для программистов, занятых проблемами сетевой диагностики.
Таблица
9.3а.
| Название объекта |
Цифра-точечное представление |
| org |
1.3 |
|
dod
|
1.3.6 |
| internet |
1.3.6.1 |
| directory |
1.3.6.1.1 |
| mgmt |
1.3.6.1.2 |
|
experimental
|
1.3.6.1.3 |
| private |
1.3.6.1.4 |
| enterprises |
1.3.6.1.4.1 |
| security |
1.3.6.1.5 |
| snmpV2 |
1.3.6.1.6 |
| snmpDomains |
1.3.6.1.6.1 |
| snmpProxys |
1.3.6.1.6.2 |
| snmpModules |
1.3.6.1.6.3 |
| snmpMIB |
1.3.6.1.6.3.1 |
| snmpMIBObjects |
1.3.6.1.6.3.1.1 |
| snmpTraps |
1.3.6.1.6.3.1.1.5 |
| mib-2 |
1.3.6.1.2.1 |
| ifMIB |
1.3.6.1.2.1.31 |
| interfaces |
1.3.6.1.2.1.2 |
| ifMIBObjects |
1.3.6.1.2.1.31.1 |
| ifConformance |
1.3.6.1.2.1.31.2 |
| ifTableLastChange |
1.3.6.1.2.1.31.1.5 |
| ifXTable |
1.3.6.1.2.1.31.1.1 |
| ifStackTable |
1.3.6.1.2.1.31.1.2 |
| ifStackLastChange |
1.3.6.1.2.1.31.1.6 |
| ifRcvAddressTable |
1.3.6.1.2.1.31.1.4 |
| ifTestTable |
1.3.6.1.2.1.31.1.3 |
| ifXEntry |
1.3.6.1.2.1.31.1.1.1 |
| ifName |
1.3.6.1.2.1.31.1.1.1.1 |
| ifInMulticastPkts |
1.3.6.1.2.1.31.1.1.1.2 |
| ifInBroadcastPkts |
1.3.6.1.2.1.31.1.1.1.3 |
| ifOutMulticastPkts |
1.3.6.1.2.1.31.1.1.1.4 |
| ifOutBroadcastPkts |
1.3.6.1.2.1.31.1.1.1.5 |
| ifLinkUpDownTrapEnable |
1.3.6.1.2.1.31.1.1.1.14 |
| ifHighSpeed |
1.3.6.1.2.1.31.1.1.1.15 |
| ifPromiscuousMode |
1.3.6.1.2.1.31.1.1.1.16 |
| ifConnectorPresent |
1.3.6.1.2.1.31.1.1.1.17 |
| ifAlias |
1.3.6.1.2.1.31.1.1.1.18 |
| ifCounterDiscontinuityTime |
1.3.6.1.2.1.31.1.1.1.19 |
| ifStackEntry |
1.3.6.1.2.1.31.1.2.1 |
| ifStackHigherLayer |
1.3.6.1.2.1.31.1.2.1.1 |
| ifStackLowerLayer |
1.3.6.1.2.1.31.1.2.1.2 |
| ifStackStatus |
1.3.6.1.2.1.31.1.2.1.3 |
| ifRcvAddressEntry |
1.3.6.1.2.1.31.1.4.1 |
| ifRcvAddressAddress |
1.3.6.1.2.1.31.1.4.1.1 |
| ifRcvAddressStatus |
1.3.6.1.2.1.31.1.4.1.2 |
| ifRcvAddressType |
1.3.6.1.2.1.31.1.4.1.3 |
| ifTestEntry |
1.3.6.1.2.1.31.1.3.1 |
| ifTestId |
1.3.6.1.2.1.31.1.3.1.1 |
| ifTestStatus |
1.3.6.1.2.1.31.1.3.1.2 |
| ifTestType |
1.3.6.1.2.1.31.1.3.1.3 |
| ifTestResult |
1.3.6.1.2.1.31.1.3.1.4 |
| ifTestCode |
1.3.6.1.2.1.31.1.3.1.5 |
| ifTestOwner |
1.3.6.1.2.1.31.1.3.1.6 |
| ifGroups |
1.3.6.1.2.1.31.2.1 |
| ifCompliances |
1.3.6.1.2.1.31.2.2 |
| ifGeneralInformationGroup |
1.3.6.1.2.1.31.2.1.10 |
| ifFixedLengthGroup |
1.3.6.1.2.1.31.2.1.2 |
| ifHCFixedLengthGroup |
1.3.6.1.2.1.31.2.1.3 |
| ifPacketGroup |
1.3.6.1.2.1.31.2.1.4 |
| ifHCPacketGroup |
1.3.6.1.2.1.31.2.1.5 |
| ifVHCPacketGroup |
1.3.6.1.2.1.31.2.1.6 |
| ifRcvAddressGroup |
1.3.6.1.2.1.31.2.1.7 |
| ifStackGroup2 |
1.3.6.1.2.1.31.2.1.11 |
| ifCounterDiscontinuityGroup |
1.3.6.1.2.1.31.2.1.13 |
| ifGeneralGroup |
1.3.6.1.2.1.31.2.1.1 |
| ifTestGroup |
1.3.6.1.2.1.31.2.1.8 |
| ifStackGroup |
1.3.6.1.2.1.31.2.1.9 |
| ifOldObjectsGroup |
1.3.6.1.2.1.31.2.1.12 |
| ifCompliance2 |
1.3.6.1.2.1.31.2.2.2 |
| ifCompliance |
1.3.6.1.2.1.31.2.2.1 |
| ifNumber |
1.3.6.1.2.1.2.1 |
| ifTable |
1.3.6.1.2.1.2.2 |
| ifEntry |
1.3.6.1.2.1.2.2.1 |
| ifIndex |
1.3.6.1.2.1.2.2.1.1 |
| ifDescr |
1.3.6.1.2.1.2.2.1.2 |
| ifType |
1.3.6.1.2.1.2.2.1.3 |
| ifMtu |
1.3.6.1.2.1.2.2.1.4 |
| ifSpeed |
1.3.6.1.2.1.2.2.1.5 |
| ifPhysAddress |
1.3.6.1.2.1.2.2.1.6 |
| ifAdminStatus |
1.3.6.1.2.1.2.2.1.7 |
| ifOperStatus |
1.3.6.1.2.1.2.2.1.8 |
| ifLastChange |
1.3.6.1.2.1.2.2.1.9 |
| ifInOctets |
1.3.6.1.2.1.2.2.1.10 |
| ifInUcastPkts |
1.3.6.1.2.1.2.2.1.11 |
| ifInNUcastPkts |
1.3.6.1.2.1.2.2.1.12 |
| ifInDiscards |
1.3.6.1.2.1.2.2.1.13 |
| ifInErrors |
1.3.6.1.2.1.2.2.1.14 |
| ifInUnknownProtos |
1.3.6.1.2.1.2.2.1.15 |
| ifOutOctets |
1.3.6.1.2.1.2.2.1.16 |
| ifOutUcastPkts |
1.3.6.1.2.1.2.2.1.17 |
| ifOutNUcastPkts |
1.3.6.1.2.1.2.2.1.18 |
| ifOutDiscards |
1.3.6.1.2.1.2.2.1.19 |
| ifOutErrors |
1.3.6.1.2.1.2.2.1.20 |
| ifOutQLen |
1.3.6.1.2.1.2.2.1.21 |
| ifSpecific |
1.3.6.1.2.1.2.2.1.22 |
Таблица
9.4.
Переменные IP-группы
| Переменная 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 |
| IPAdEntReasm-Maxsize |
[0...65535] |
Размер наибольшей IP-дейтограммы, полученной интерфейсом, которая может быть собрана. |
5 |
Таблица
9.5.
Переменные TCP-группы
| Переменные 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] |
Местный номер порта. |
| tcpconnlocal address |
ipaddress |
Удаленный ip-адрес. |
| tcpconnrem port |
[0...65535] |
Удаленный номер порта |