Лекции 2010-го года (1130544), страница 86
Текст из файла (страница 86)
В 1990 году была опубликованапервая версия протокола Simple Network Management Protocol (SNMP v.1). Эта версияописана в RFC 1155 и RFC 1157. В этих документах было описано систематическоенаблюдение за сетью (какая информация могла накапливаться, как и где) и управление ею(как и какие параметры работы устройств сети можно было менять).
Этот протоколполучил широкое распространение и был реализован практически во всех устройствах,используемых в сетях.Опыт использования протокола SNMP v.1 выявил ряд недостатков. Например, в первойверсии недостаточно были проработаны вопросы безопасности. При опросе устройствявно указывался пароль, глядя на который, устройство аутентифицировалозапрашивающее устройство. Во второй версии протокола SNMP v.2 (RFC 1441-1452) былавведена криптографическая защита механизма аутентификации.
Далее будет краткоописана именно вторая версия протокола SNMP.7.3.1. Модель управленияПредполагается, что сеть состоит из четырех категорий компонентов:• Станции управления• Управляемые устройства• Управляющая информация• Протокол управленияРисунок 7-29.
Устройство модели управления SNMPМодель управления, принятая в протоколе SNMP, показана на рисунке 7-29. Управлениесетью осуществляют станции управления. Это компьютеры, на которых выполняютсяпроцессы, собирающие и накапливающие информацию об управляемых устройствах всети. Сбор этой информации происходит по запросу от управляющей станцииуправляемому устройству. Запросы, передача и другие действия выполняются с помощьюкоманд протокола SNMP.На управляемых устройствах работают специальные SNMP-агенты (далее для краткостипросто «агенты»), которые выполняют команды, передаваемые с помощью SNMPпротокола, фиксируют определенный набор параметров функционирования управляемогоустройства. Управляемым устройством может быть маршрутизатор, мост, рабочаястанция, устройство печати – любое устройство, где может работать SNMP-агент. Каждыйагент поддерживает локальную базу данных MIB (Management Information Base), гдехранится информация о состоянии агента, история его функционирования и переменные,характеризующие работу устройства, где функционирует агент.7.3.2.
SMI – структура управляющей информацииВ сети используется аппаратура сотен различных производителей. Естественно агентдолжен формировать данные о функционировании управляемого устройства в некоторомунифицированном виде, например, по составу, способу представления независимо от того,кто изготовил это устройство.В соответствии с терминологией, принятой в стандарте протокола SNMP, переменную, вкоторой агент накапливает информацию, будем называть объектом. Все объекты собраныв группы, определяемые стандартом, а группы – в модули. Чтобы все объекты имелиединые правила идентификации, поступают следующим образом.
Строят деревостандарта, в котором отражают иерархию понятий, используемых в стандарте. Это деревостандарта является поддеревом дерева стандартов. На рисунке 7-30 показана часть такогодерева.На первом ярусе этого дерева расположены названия организаций, имеющих правовыпускать международные стандарты – это ISO и МКТТ (теперь МСТ – международныйсоюз телекоммуникаций). Есть в этом дереве и место для Интернета – ярус 4. Напоследнем ярусе указаны группы.
В скобках рядом с именем каждой группы указаноколичество объектов в группе. Объекты имеют тип, определяемый через Object Identifier.Все объекты в этом дереве могут быть заданы указанием пути в дереве.Рисунок 7-30. Подмножество дерева стандартовSMI в определенном смысле представляет собой язык для определения структур данных,представляющих объекты в базе данных MIB. В таблице 7-31 указаны типы данных,используемые для определения объектов, отслеживаемых протоколом SNMP.Таблица 7-31. Типы данных, используемых при мониторинге SNMPИмяТипБайт ЗначениеINTEGERЧисловой 4Целое число (32 бита в текущих реализациях)Counter32Числовой 4Беззнаковый 32-битный счетчик с переносом на новую строкуGauge32Числовой 4Беззнаковое значение без перехода на новую строкуInteger32Числовой 432 бита, даже на 64-битном процессореUInteger32Числовой 4Как у Integer32, но беззнаковыйCounter64Числовой 864-битный счетчикTimeTicksЧисловой 4В сотых долях секунды с определенного начала отсчетаBIT STRINGСтрока4Битовое отображение от 1 до 32 битOCTETSTRINGСтрока≥0Строка бит переменной длиныOpaqueСтрока≥0Устарел; используется только для совместимости с ранними версияOBJECT IDСтрока>0Список целых чиселIpAddressСтрока4Десятичный интернет-адрес с разделительными точкамиNsapAddressСтрока<22 NSAP-адрес OSI7.3.3.
MIB - База управляющей информацииКоллекцию объектов, которыми можно управлять с помощью протокола SNMP,определяет база MIB. Все объекты этой базы сгруппированы в 10 групп, которыесоответствуют 10 узлам, смежных узлу mib-2 в дереве на рисунке 7-30. Эти группыпоказаны в таблице 7-32.Таблица 7-32. Группы объектов базы MIB-IIГруппаКол-во объектовОписаниеSystem7Название, местоположение и описание оборудованияInterfaces23Сетевые интерфейсы и их измеряемый трафикAT3Трансляция адресаIP42Статистика IP-пакетаICMP26Статистика полученных ICMP-сообщенийTCP19Алгоритмы, параметры и статистика ICMPUDP6Статистика трафика UDPEGP20Статистика трафика протокола EGPTransmission0Зарезервировано для обусловленных средой MIBSNMP29Статистика трафика SNMPРамки курса не позволяют подробно описать все 175 объектов, определяемых в MIB-II.Мы кратко охарактеризуем следующие группы: System (идентификация системы), If(интерфейсы), At (трансляция адресов), IP, ICMP и TCP.7.3.3.1.
Группа SystemГруппа System состоит из семи простых переменных (таблиц в этой группе нет). Втаблице 7-33 приведены их имена, типы данных и описания.Таблица 7-33. Простые переменные группы SystemИмяТип данныхОписаниеsysDescrDisplayStringТекстовое описание пункта.sysObjectIDObjectIDИдентификатор поставщика.sysUpTimeTimeTicksВремя (в сотых долях секунды), которое прошло послепоследней перезагрузки системы.sysContactDisplayStringИмя человека и адрес фирмы-производителя, отвечающейза работу данного устройства.sysNameDisplayStringПолное имя домена, где расположен узел (FQDN).sysLocationDisplayStringФизическое расположение узла.sysServices[0..127]Значение, указывающее на то, какие сервисыпредоставляются узлом.7.3.3.2. Группа InterfaceДля этой группы определена только одна простая переменная: количество интерфейсов всистеме.Таблица 7-34.
Простая переменная в группе ifИмяТип данныхifNumberINTEGERR/W ОписаниеКоличество сетевых интерфейсов в системе.В этой группе также определена таблица, состоящая из 22 строк. Каждая строка в таблицеопределяет характеристики каждого интерфейса из числа, указанного в переменнойifNumber, как показано в таблице 7-35.Таблица 7-35. Переменные в таблице интерфейсов: ifTableИмяТип данныхR/W ОписаниеifIndexINTEGERИндекс интерфейса.ifDescrDisplayStringТекстовое описание интерфейса.ifTypeINTEGERТип, например: 6 = Ethernet, 7 = 802.3 Ethernet,9 = 802.5 Token ring, 23 = PPP, 28 = SLIP имногие другие переменные.ifMtuINTEGERMTU интерфейса (максимальный размерблока).ifSpeedGaugeСкорость в битах в секунду.ifPhysAddressPhysAddressФизический адрес или строка нулевой длиныдля интерфейсов без физического адреса(например, последовательные каналы).ifAdminStatus[1..3]ifOperStatus[1..3]Текущее состояние интерфейса: 1 = активен, 2= выключен, 3 = тестируется.ifLastChangeTimeTicksЗначение sysUpTime на момент, когдаинтерфейс вошел в текущее состояниефункционирования.ifInOctetsCounterПолное количество принятых байтов, включаяслужебные байты заголовков.ifInUcastPktsCounterКоличество входящих пакетов, адресованныхиндивидуально этому интерфейсу, идоставленных.ifInNUcastPktsCounterКоличество не персональных(широковещательных или групповых) идоставленных пакетов.ifInDiscardsCounterКоличество принятых и сброшенных пакетов,в том числе если в пакете не была обнаруженаошибка (переполнение буферов).ifInErrorsCounterКоличество пакетов, принятых и сброшенныхпо причине ошибок.ifInUnknownProtos CounterКоличество принятых и сброшенных пакетовпо причине того, что они принадлежалинеизвестному протоколу.ifOutOctetsCounterКоличество переданных байт, включаязаголовки.ifOutUcastPktsCounterКоличество пакетов, переданных конкретныминтерфейсам.ifOutNUcastPktsCounterКоличество не персональных(широковещательных или групповых)переданных пакетов.ifOutDiscardsCounterКоличество исходящих пакетов, которые былисброшены, в том числе если в пакетах не былаобнаружена ошибка (переполнение буферов).ifOutErrorsCounterКоличество исходящих пакетов, сброшенныхпо причине ошибок.ifOutQLenGaugeКоличество пакетов, находящихся в выходнойочереди..Желательное состояние интерфейса: 1 =активен, 2 = выключен, 3 = тестируется.ifSpecificObjectIDСсылка на определение MIB конкретно дляэтого типа среды передачи.Для SLIP-канала тип интерфейса указывается как последовательное соединение точкаточка, а не SLIP.
Также не сообщается скорость SLIP-канала.7.3.3.3. Группа AtГруппа трансляции адресов поддерживается во всех системах, однако ее значимостьзначительно уменьшилась, после того как стала использоваться MIB-II. Теперь каждаягруппа сетевых протоколов (например, IP) содержит свою собственную таблицутрансляции адресов. Для IP это ipNetToMediaTable.В группе At определена только одна таблица из трех строк, как показано в таблице 7-36.Таблица 7-36. Таблица трансляции адресов: atTableИмяТип данныхR/W ОписаниеatIfIndexINTEGER·Номер интерфейса: ifIndex.atPhysAddressPhysAddress·Физический адрес.
Установка этого параметра встроку нулевой длины приводит к тому, чтопункт считается некорректным.atNetAddressNetworkAddress·IP-адрес7.3.3.4. Группа IPГруппа IP определяет большое количество переменных, собранных в три таблицы, гденакапливается подробная статистика о IP-трафике, входящем и исходящем из узла. Втаблице 7-37 приведены простые переменные.Таблица 7-37. Простые переменные группы IPИмяТип данныхR/W ОписаниеipForwarding[1..2]·1 означает, что система перенаправляет IPдейтаграммы, а 2 - не перенаправляет.ipDefaultTTLINTEGER·Значение TTL по умолчанию, когда его непредоставляет транспортный уровень.ipInReceivesCounterПолное количество IP-дейтаграмм,полученных со всех интерфейсов.ipInHdrErrorsCounterКоличество IP-дейтаграмм, отброшенных из-заошибок в заголовке (например, ошибкаконтрольной суммы, несовпадение номераверсии, истечение TTL).ipInAddrErrorsCounterКоличество IP-дейтаграмм, отброшенных из-занеправильного адреса назначения.IpForwDatagramsCounterКоличество IP-дейтаграмм, для которых быласделана попытка перенаправления.ipInUnknownProtos CounterКоличество локально адресованных IPдейтаграмм с неверным полем протокола.ipInDiscardsCounterКоличество принятых IP-дейтаграмм,отброшенных из-за недостаточного размерабуфера.ipInDeliversCounterКоличество IP-дейтаграмм, доставленныхсоответствующему модулю протокола.ipOutRequestsCounterПолное количество IP-дейтаграмм,переданных на IP-уровень для передачи.