1 (1131253), страница 55
Текст из файла (страница 55)
Модель управления, принятая в протоколе SNMP, показана на рисунке 7-29. Управление сетью осуществляют станции управления. Это компьютеры, на которых выполняются процессы, собирающие и накапливающие информацию об управляемых устройствах в сети. Сбор этой информации происходит по запросу от управляющей станции управляемому устройству. Запросы, передача и другие действия выполняются с помощью команд протокола SNMP.
На управляемых устройствах работают специальные SNMP-агенты (далее для краткости просто «агенты»), которые выполняют команды, передаваемые с помощью SNMP-протокола, фиксируют определенный набор параметров функционирования управляемого устройства. Управляемым устройством может быть маршрутизатор, мост, рабочая станция, устройство печати – любое устройство, где может работать SNMP-агент. Каждый агент поддерживает локальную базу данных MIB (Management Information Base), где хранится информация о состоянии агента, история его функционирования и переменные, характеризующие работу устройства, где функционирует агент.
SMI – структура управляющей информации.
В сети используется аппаратура сотен различных производителей. Естественно агент должен формировать данные о функционировании управляемого устройства в некотором унифицированном виде, например, по составу, способу представления независимо от того, кто изготовил это устройство.
В соответствии с терминологией, принятой в стандарте протокола SNMP, переменную, в которой агент накапливает информацию, будем называть объектом. Все объекты собраны в группы, определяемые стандартом, а группы – в модули. Чтобы все объекты имели единые правила идентификации, поступают следующим образом. Строят дерево стандарта, в котором отражают иерархию понятий, используемых в стандарте. Это дерево стандарта является поддеревом дерева стандартов.
На первом ярусе этого дерева расположены названия организаций, имеющих право выпускать международные стандарты – это ISO и МКТТ (теперь МСТ – международный союз телекоммуникаций). Есть в этом дереве и место для Интернета – ярус 4. На последнем ярусе указаны группы. В скобках рядом с именем каждой группы указано количество объектов в группе. Объекты имеют тип, определяемый через Object Identifier. Все объекты в этом дереве могут быть заданы указанием пути в дереве.
SMI в определенном смысле представляет собой язык для определения структур данных, представляющих объекты в базе данных MIB. В таблице 7-31 указаны типы данных, используемые для определения объектов, отслеживаемых протоколом SNMP.
Таблица 7-31. Типы данных, используемых при мониторинге SNMP
| Имя | Тип | Байт | Значение |
| INTEGER | Числовой | 4 | Целое число (32 бита в текущих реализациях) |
| Counter32 | Числовой | 4 | Беззнаковый 32-битный счетчик с переносом на новую строку |
| Gauge32 | Числовой | 4 | Беззнаковое значение без перехода на новую строку |
| Integer32 | Числовой | 4 | 32 бита, даже на 64-битном процессоре |
| UInteger32 | Числовой | 4 | Как у Integer32, но беззнаковый |
| Counter64 | Числовой | 8 | 64-битный счетчик |
| TimeTicks | Числовой | 4 | В сотых долях секунды с определенного начала отсчета |
| BIT STRING | Строка | 4 | Битовое отображение от 1 до 32 бит |
| OCTET STRING | Строка | ≥0 | Строка бит переменной длины |
| Opaque | Строка | ≥0 | Устарел; используется только для совместимости с ранними версиями |
| OBJECT ID | Строка | >0 | Список целых чисел |
| IpAddress | Строка | 4 | Десятичный интернет-адрес с разделительными точками |
| NsapAddress | Строка | <22 | NSAP-адрес OSI |
MIB - База управляющей информации.
Коллекцию объектов, которыми можно управлять с помощью протокола SNMP, определяет база MIB. Все объекты этой базы сгруппированы в 10 групп, которые соответствуют 10 узлам, смежных узлу mib-2 в дереве на рисунке 7-30. Эти группы показаны в таблице 7-32.
Таблица 7-32. Группы объектов базы MIB-II
| Группа | Кол-во объектов | Описание |
| System | 7 | Название, местоположение и описание оборудования |
| Interfaces | 23 | Сетевые интерфейсы и их измеряемый трафик |
| AT | 3 | Трансляция адреса |
| IP | 42 | Статистика IP-пакета |
| ICMP | 26 | Статистика полученных ICMP-сообщений |
| TCP | 19 | Алгоритмы, параметры и статистика ICMP |
| UDP | 6 | Статистика трафика UDP |
| EGP | 20 | Статистика трафика протокола EGP |
| Transmission | 0 | Зарезервировано для обусловленных средой MIB |
| SNMP | 29 | Статистика трафика SNMP |
Группа System состоит из семи простых переменных (таблиц в этой группе нет). В таблице 7-33 приведены их имена, типы данных и описания.
Таблица 7-33. Простые переменные группы System
| Имя | Тип данных | Описание |
| sysDescr | DisplayString | Текстовое описание пункта. |
| sysObjectID | ObjectID | Идентификатор поставщика. |
| sysUpTime | TimeTicks | Время (в сотых долях секунды), которое прошло после последней перезагрузки системы. |
| sysContact | DisplayString | Имя человека и адрес фирмы-производителя, отвечающей за работу данного устройства. |
| sysName | DisplayString | Полное имя домена, где расположен узел (FQDN). |
| sysLocation | DisplayString | Физическое расположение узла. |
| sysServices | [0..127] | Значение, указывающее на то, какие сервисы предоставляются узлом. |
Для группы Interface определена только одна простая переменная: количество интерфейсов в системе.
Таблица 7-34. Простая переменная в группе if
| Имя | Тип данных | R/W | Описание |
| ifNumber | INTEGER |
| Количество сетевых интерфейсов в системе. |
В этой группе также определена таблица, состоящая из 22 строк. Каждая строка в таблице определяет характеристики каждого интерфейса из числа, указанного в переменной ifNumber, как показано в таблице 7-35.
Таблица 7-35. Переменные в таблице интерфейсов: ifTable
| Имя | Тип данных | R/W | Описание |
| ifIndex | INTEGER |
| Индекс интерфейса. |
| ifDescr | DisplayString |
| Текстовое описание интерфейса. |
| ifType | INTEGER |
| Тип, например: 6 = Ethernet, 7 = 802.3 Ethernet, 9 = 802.5 Token ring, 23 = PPP, 28 = SLIP и многие другие переменные. |
| ifMtu | INTEGER |
| MTU интерфейса (максимальный размер блока). |
| ifSpeed | Gauge |
| Скорость в битах в секунду. |
| ifPhysAddress | PhysAddress |
| Физический адрес или строка нулевой длины для интерфейсов без физического адреса (например, последовательные каналы). |
| ifAdminStatus | [1..3] | . | Желательное состояние интерфейса: 1 = активен, 2 = выключен, 3 = тестируется. |
| ifOperStatus | [1..3] |
| Текущее состояние интерфейса: 1 = активен, 2 = выключен, 3 = тестируется. |
| ifLastChange | TimeTicks |
| Значение sysUpTime на момент, когда интерфейс вошел в текущее состояние функционирования. |
| ifInOctets | Counter |
| Полное количество принятых байтов, включая служебные байты заголовков. |
| ifInUcastPkts | Counter |
| Количество входящих пакетов, адресованных индивидуально этому интерфейсу, и доставленных. |
| ifInNUcastPkts | Counter |
| Количество не персональных (широковещательных или групповых) и доставленных пакетов. |
| ifInDiscards | Counter |
| Количество принятых и сброшенных пакетов, в том числе если в пакете не была обнаружена ошибка (переполнение буферов). |
| ifInErrors | Counter |
| Количество пакетов, принятых и сброшенных по причине ошибок. |
| ifInUnknownProtos | Counter |
| Количество принятых и сброшенных пакетов по причине того, что они принадлежали неизвестному протоколу. |
| ifOutOctets | Counter |
| Количество переданных байт, включая заголовки. |
| ifOutUcastPkts | Counter |
| Количество пакетов, переданных конкретным интерфейсам. |
| ifOutNUcastPkts | Counter |
| Количество не персональных (широковещательных или групповых) переданных пакетов. |
| ifOutDiscards | Counter |
| Количество исходящих пакетов, которые были сброшены, в том числе если в пакетах не была обнаружена ошибка (переполнение буферов). |
| ifOutErrors | Counter |
| Количество исходящих пакетов, сброшенных по причине ошибок. |
| ifOutQLen | Gauge |
| Количество пакетов, находящихся в выходной очереди. |
| ifSpecific | ObjectID |
| Ссылка на определение MIB конкретно для этого типа среды передачи. |
Для SLIP-канала тип интерфейса указывается как последовательное соединение точка-точка, а не SLIP. Также не сообщается скорость SLIP-канала.
Группа трансляции адресов поддерживается во всех системах, однако ее значимость значительно уменьшилась, после того как стала использоваться MIB-II. Теперь каждая группа сетевых протоколов (например, IP) содержит свою собственную таблицу трансляции адресов. Для IP это ipNetToMediaTable.
В группе At определена только одна таблица из трех строк, как показано в таблице 7-36.
Таблица 7-36. Таблица трансляции адресов: atTable
| Имя | Тип данных | R/W | Описание |
| atIfIndex | INTEGER | · | Номер интерфейса: ifIndex. |
| atPhysAddress | PhysAddress | · | Физический адрес. Установка этого параметра в строку нулевой длины приводит к тому, что пункт считается некорректным. |
| atNetAddress | NetworkAddress | · | IP-адрес |
Группа IP определяет большое количество переменных, собранных в три таблицы, где накапливается подробная статистика о IP-трафике, входящем и исходящем из узла. В таблице 7-37 приведены простые переменные.
Таблица 7-37. Простые переменные группы IP
| Имя | Тип данных | R/W | Описание |
| ipForwarding | [1..2] | · | 1 означает, что система перенаправляет IP-дейтаграммы, а 2 - не перенаправляет. |
| ipDefaultTTL | INTEGER | · | Значение TTL по умолчанию, когда его не предоставляет транспортный уровень. |
| ipInReceives | Counter |
| Полное количество IP-дейтаграмм, полученных со всех интерфейсов. |
| ipInHdrErrors | Counter |
| Количество IP-дейтаграмм, отброшенных из-за ошибок в заголовке (например, ошибка контрольной суммы, несовпадение номера версии, истечение TTL). |
| ipInAddrErrors | Counter |
| Количество IP-дейтаграмм, отброшенных из-за неправильного адреса назначения. |
| IpForwDatagrams | Counter |
| Количество IP-дейтаграмм, для которых была сделана попытка перенаправления. |
| ipInUnknownProtos | Counter |
| Количество локально адресованных IP-дейтаграмм с неверным полем протокола. |
| ipInDiscards | Counter |
| Количество принятых IP-дейтаграмм, отброшенных из-за недостаточного размера буфера. |
| ipInDelivers | Counter |
| Количество IP-дейтаграмм, доставленных соответствующему модулю протокола. |
| ipOutRequests | Counter |
| Полное количество IP-дейтаграмм, переданных на IP-уровень для передачи. Сюда не включены те, которые были посчитаны в ipForwDatagrams. |
| ipOutDiscards | Counter |
| Количество исходящих IP-дейтаграмм, которые были отброшены из-за отсутствия места в буфере. |
| ipOutNoRoutes | Counter |
| Количество IP-дейтаграмм, которые были отброшены из-за того, что не был найден маршрут. |
| ipReasmTimeout | INTEGER |
| Максимальное количество секунд, в течение которого принятые фрагменты ждали повторной сборки. |
| ipReasmReqds | Counter |
| Количество принятых IP-фрагментов, которые должны быть собраны. |
| ipReasmOKs | Counter |
| Количество успешно собранных IP-дейтаграмм. |
| ipReasmFails | Counter |
| Количество сбоев в алгоритме повторной сборки IP. |
| ipFragOKs | Counter |
| Количество успешно фрагментированных IP-дейтаграмм. |
| ipFragFails | Counter |
| Количество IP-дейтаграмм, которые необходимо фрагментировать, чего не было сделано из-за установленного флага «не фрагментировать». |
| ipFragCreates | Counter |
| Количество IP-фрагментов, которые были получены при фрагментации. |
| ipRoutingDiscards | Counter |
| Количество пунктов маршрутизации, которые были проигнорированы, даже если они существовали и были верны. |
Первая таблица в группе IP - это таблица IP-адресов. Она содержит по одной строке для каждого IP-адреса в системе. Каждая строка содержит пять переменных (таблица 7-38).















