Простой протокол управления сетью (SNMP — Simple
SNMP использует концепцию менеджера и агента. То есть менеджер, обычно хост, управляет и контролирует набор агентов, обычно это – маршрутизаторы. SNMP — протокол прикладного уровня, в котором несколько станций менеджера управляют набором агентов. Протокол разработан для прикладного уровня так, чтобы он мог управлять устройствами, выпущенными различными изготовителями и установленными на различных физических сетях. Другими словами, SNMP освобождает задачи управления и от физических характеристик
Станция управления, названная менеджером, является хостом, который выполняет SNMP-программу клиента. Управляемая станция, названная агентом, является маршрутизатором (или хостом), который выполняет SNMP-программу сервера. Управление достигается с помощью простого взаимодействия между менеджером и агентом.
Агент сохраняет характеристики информации в базе данных. Менеджер имеет доступ к содержимому базы данных. Например, маршрутизатор может хранить число полученных и отправленных пакетов. Менеджер может вызвать и сравнить значения этих двух переменных, чтобы увидеть, переполнен ли маршрутизатор или нет.
Менеджер может также заставить маршрутизатор выполнить некоторые действия. Например, маршрутизатор периодически проверяет значение счетчика перезапуска, чтобы увидеть, когда он должен перезапуститься сам. Маршрутизатор может перезапуститься сам, например, когда значение счетчика равно нулю. Менеджер может использовать это свойство, чтобы перезапустить агента дистанционно в любое время. Он просто посылает пакет для принудительной установки нуля в счетчике.
Агенты могут также внести вклад в процесс управления. Управляемая программа сервера, выполняемая агентом, может проверить внешнюю среду, и если она замечает что-то необычное, она может послать сообщение предупреждения (названное ловушкой) менеджеру.
Другими словами, управление с SNMP базируется на трех основных идеях:
Чтобы выполнить задачи управления, SNMP использует другие два протокола: структура управляющей информации (
Другими словами, управление сетью Интернет осуществляется при взаимодействии трех протоколов: SNMP,
Рассмотрим взаимодействие между этими протоколами.
SNMP выполняет некоторые конкретные задачи в управлении сетью. Он определяет состояния устройств сети и сетевого трафика, содержание
Чтобы использовать SNMP, нам нужны правила описания объектов управления и правила присвоения имен объектам. Это особенно важно, потому что объекты в SNMP формируют иерархическую структуру (объект может иметь объект-родителя и некоторые объекты-детей), и часть имени может быть унаследована от родителя. Нам также нужны правила для того, чтобы определить тип объектов. Какие типы объектов обрабатываются SNMP? SNMP может обрабатывать простые или
Так как неизвестна архитектура компьютеров, которые посылают, получают или хранят эти значения, нам нужны некие универсальные правила. Отправитель может быть мощным компьютером, в котором целое число сохраняется как 8-байтовые данные; приемник может быть маленьким компьютером, который хранит целое число как 4-байтовые данные.
Представляет информационную базу для SNMP об управляемых и контролируемых объектах сети, в которой информация об объектах сформирована по категориям. Для каждого управляемого объекта протокол
Перед обсуждением каждого из этих протоколов более подробно проведем аналогию. Три компонента управления сетью подобны тем трем компонентам, что необходимы для написания программы на компьютерном языке.
Прежде чем составлять программу, должен быть предопределен синтаксис языка (типа C или C++). Язык также определяет структуру переменных (простой, структурированный, указатель и так далее) и имена переменных. Например, имя переменной должно быть представлено символами от 1 до N по длине и начинаться с буквы, сопровождаемой алфавитно-цифровыми символами. Язык также определяет тип используемых данных (целое
Большинство компьютерных языков требует, чтобы переменные были объявлены в каждой программе. Декларация называет каждую переменную и определяет предопределенный тип. Например, если программа имеет две переменные (целое число, названное счетчик, и массив, названный степень типа символ), они должны быть объявлены в начале программы:
int счетчик; char степень [40];
Заметим, что декларации называют переменные (счетчик и степень) и определяют тип каждой переменной. Поскольку типы предопределены в языке, программа знает диапазон и размер каждой переменной.
В программировании после декларации программа должна написать операторы, чтобы сохранить значения переменных и изменять их, если необходимо. SNMP решает ту же задачу при управлении сетью. SNMP накапливает, изменяет и интерпретирует значения объектов, уже объявленных
Мы можем сравнить задачу управления сетью и задачу написания программы:
Прежде чем обсуждать детально каждый компонент, рассмотрим простой общий сценарий их совместной работы, а затем развернем более детально это сценарий. Менеджер станции (SNMP-клиент) посылает сообщение к агенту (SNMP-серверу), чтобы получить от агента число UDP-дейтаграмм. Рис 15.1. показывает в общем виде шаги этого процесса.
(рис 15.1) Общий процесс управленияСтруктура управляющей информации, версия 2 (SMIv2) — компонент для управления сетью. Его функции:
(рис 15.2) Атрибуты объектов
(рис 15.3) Идентификация объектаСтруктура дерева начинается с корня, не имеющего имени. Каждый объект может быть определен, используя последовательность целых чисел, разделенных точками. Структура дерева может также определить объект с использованием текстуальных имен, отделенных точками. Представление в целых числах с точками применяется в SNMP. Обозначение имя-точка принято людьми. Например, ниже показаны одни и те же объекты в двух нотациях:

Объекты, которые используются в SNMP, расположены в адресе после объекта 1.3.6.1.2.1.
Второй атрибут объекта — тип сохраняемых в нем данных. Определяя тип данных,
(рис 15.4) Тип данных Простой тип – это частичка типа данных, некоторые из них прямо поступают в
| Тип | Размер | Описание |
|---|---|---|
| INTEGER | 4 байта | Целое со значением между 0 и 231-1 |
| Integer 32 | 4 байта | То же самое, что и INTEGER |
| Unsigned32 | 4 байта | Значения без знака между 0 и 231 |
| Переменный | Строка байтов не более 65 535 байтов длины | |
| Переменный | ||
| IPAdress | 4 байта | IP-адрес, состоящий из четырех байтов |
| Counter32 | 4 байта | Целое, значение которого может быть увеличено от 0 до 232; когда оно достигает максимального значения, оно свертывается назад в нуль |
| Counter64 | 8 байтов | 64-битовый счетчик |
| Gauge32 | 4 байта | Тот же самый 32-битовый счетчик (counter32), но он достигает максимального значения и не сворачивается в ноль; он остается там, пока не сбрасывается |
| 4 байта | Считает значение, в котором записано время в 1/100 секунды | |
| BITS | Строка бит | |
| Opaque | Переменный | Неинтерпретируемая строка |
Комбинируя простой и
Рисунок 15.5. показывает концептуальный обзор типов данных.
(рис 15.5) Концептуальные типы данных
(рис 15.6) Формат длиныПодполе "Формат" указывает, являются ли данные простыми (0) или структурированными (1). Далее подполе "номера" делит простые или структурированные данные на подгруппы. Например, в
| Тип данных | Класс | Формат | Номер | Тег (двоичный) | Тег (шестнад.) |
|---|---|---|---|---|---|
| INTEGER (Целый) | 00 | 0 | 00010 | 00000010 | 02 |
| 00 | 0 | 00100 | 00000100 | 04 | |
| 00 | 0 | 00110 | 00000110 | 06 | |
| NULL (ПУСТОЙ УКАЗАТЕЛЬ) | 00 | 0 | 00101 | 00000101 | 05 |
| Последовательность, последовательность из | 00 | 1 | 10000 | 00110000 | 30 |
| IPAddress (IP-адрес) | 01 | 0 | 00000 | 01000000 | 40 |
| Counter (Счетчик) | 01 | 0 | 00001 | 01000001 | 41 |
| 01 | 0 | 00010 | 01000010 | 42 | |
| TimeTicks (Сигналы времени) | 01 | 0 | 00011 | 01000011 | 43 |
Для того чтобы показать, как эти три поля — тег, длина и значение – могут определить объект, мы приведем несколько примеров.
Рисунок 15.8. показывает, как определяется INTEGER 14:
(рис 15.8) Пример 1 INTEGER 14
Рисунок 15.9. показывает, как определяется :
(рис 15.9) Пример 2 OCTET STRING "H1"
Рисунок 15.10. показывает, как определяется :
(рис 15.10) Пример 3 ObjectIdentifier 1.3.6.1
Рисунок 15.11. показывает, как определить IPAddress 131.21.14.8:
(рис 15.11) Пример 4 IPAdress 131.21.14.8
База управляющей информации (MIB2 — Management Information Base 2) – это второй компонент, используемый в сетевом управлении. Каждый агент имеет свой собственный MIB2, являющийся отображением всех объектов, которыми может управлять менеджер. Объекты в MIB2 разбиты по категориям на 10 групп: система (sys), интерфейс (if), адрес трансляции (at), ip, icmp, tcp, udp,
(рис 15.12) MIB-2Чтобы показать доступность различных переменных, мы используем как пример udp-группы. Имеются четыре простых переменных в группах и одна последовательность записей (таблица). Рисунок 15.13. показывает переменные и таблицу.
(рис 15.13) udp-группаМы покажем, как иметь доступ к каждому объекту.
Чтобы организовать доступ любой простой переменной, мы используем групповой id ( 1.3.6.1.2.1.7 ), сопровождаемый id переменной. Ниже показано, как организовать доступ к каждой переменной:

Однако эти объекты-идентификаторы определяют переменные, но не представителя (содержимое). Чтобы описать представителя или содержимое каждой переменной, мы должны добавить суффикс экземпляра. Суффикс экземпляра для простой переменной – это просто ноль. Другими словами, чтобы показать экземпляр переменной, мы используем нижеследующее:
Чтобы идентифицировать таблицу, мы сначала используем id. Группа udp имеет только одну таблицу (с id 5), как это показано на рисунке 15.14.
(рис 15.14) udp-переменные и таблицыДля организации таблицы мы должны использовать следующие адреса:

Однако таблица в этом дереве не на уровне листа. Мы не можем иметь доступ к таблице, пока не определим вход (последовательность) в таблице (с id 1), как это показано ниже:

Этот вход также не имеет листов, и нам он недоступен. Нам нужно определить каждый объект входа. Это две переменные в
(рис 15.15) Индексы для udpTableЧтобы обратиться к образцу местного адреса для первой строки, мы используем идентификатор, увеличенный на индекс образца:

Обратите внимание, что не все таблицы индексированы тем же самым методом. Некоторые таблицы индексированы с использованием значения одного поля, некоторые используют значение двух полей, и так далее.
Одна интересная точка зрения о
(рис 15.16) Лексикографическое упорядочениеGet Next Request в следующих разделах.
SNMP использует и
SNMPv3 определяет восемь типов пакетов (или PDUs): GetRequest, GetNextRequest, GetBulkRequest, SetRequest, Response, , InformRequest и Report ( Рис. 15.17.).
(рис 15.17) SNMP PDUs
GetRequest
GetNextRequest Objectid в GetNextRequest и определить Objectid таблицы. Поскольку первый вход имеет Objectid непосредственно после Objectid таблицы, значение первого входа возвращается менеджеру. Менеджер может использовать этот Objectid, чтобы получить значение следующего, и так далее.
GetBulkRequest GetRequest и GetNextRequest PDUs.
SetRequest
Ответ GetRequest или GetNextRequest. Он содержит значение(я) переменной(ых), которую запрашивает менеджер.
Ловушку (также ее называют ловушкой SNMPv2, чтобы отличить от ловушки SNMPvl)
Inform Request
Формат для восьми SNMP PDUs показан на рисунке 15.18. GetBulkRequest
(рис 15.18) Формат SNMP PDUПоля перечислены ниже.
| Состояние | Название | Значение |
|---|---|---|
| 0 | noError | Нет ошибки |
| 1 | TooBig | Слишком большой ответ для размещения в одном сообщении |
| 2 | NoSuchName | Переменная не существует |
| 3 | BadValue | Значение, которое должно быть сохранено, недопустимо |
| 4 | readOnly | Значение не может быть изменено |
| 5 | genErr | Другие ошибки |
GetBulkRequest и удаляет ошибку поля состояния, которая является пустой в запросе PDUs.GetBulkRequest и заменяет поле индекса ошибки, которое является пустым в PDUs-запросе.GetRequest и GetNextRequest. В SNMP не посылает отдельные
(рис 15.19) SNMP-сообщениеПоскольку длина этих элементов отличается от сообщения к сообщению, SNMP применяет основные правила кодирования — , где каждый бит определяет тип защиты, тип секретности или идентификации либо другую информацию) и модели обеспечения безопасности (определение протокола защиты). Параметр защиты сообщения используется для создания
Чтобы определять тип
Обратите внимание, что SNMPv 1 определяет A4 для "ловушки", которая на сегодняшний день является устаревшей.
| Данные | Класс | Номер | Полный тег (двоичный) | Полный тег (шестнадцатеричный) | |
|---|---|---|---|---|---|
| GetRequest | 10 | 1 | 00000 | 10100000 | A0 |
| GetNextRequest | 10 | 1 | 00001 | 10100001 | A1 |
| Response | 10 | 1 | 00010 | 10100010 | A2 |
| SetRequest | 10 | 1 | 00011 | 10100011 | A3 |
| GetBulkRequest | 10 | 1 | 00101 | 10100101 | A5 |
| InformRequest | 10 | 1 | 00110 | 10100110 | A6 |
| 10 | 00111 | 10100111 | A7 | ||
| Report | 10 | 1 | 01000 | 10101000 | A8 |
В этом примере менеджер станции (SNMP-клиент) использует сообщение GetRequest, чтобы извлечь номер UDP-дейтаграммы, которую получил маршрутизатор.
Есть только один объект VarBind (переменная – связка). Соответствующий udpInDatagram, с 1.3.6.1.2.1.7.1.0. Менеджер хочет извлечь значение. Рис.15.20. показывает в общем виде пакет с иерархической структурой. На рисунке используются белые и цветные участки для последовательностей и серые для .
(рис 15.20) Пример 1Список VarBind (см. рис.15.20.) имеет длину 0F (15) и состоит только из одной последовательности VarBind, длиной OD (13). В начале списка переменная указывает тип 06 и длину списка 09. Длина дальнейшего сообщения 00.). Сообщение GetRequest
Имеются три
Рисунок 15.21. показывает реальное сообщение, посылаемое менеджером станции (клиентом) к агенту (серверу).
(рис 15.21) GetRequest сообщение
SNMP использует услуги UDP на двух заданных портах, 161 и 162. Заданный порт 161 задействован сервером (агентом), и заданный порт 162 отведен клиенту (менеджеру).
Агент (сервер) производит пассивное открытие порта 161. Затем он ждет подключения от менеджера (клиента). Менеджер (клиент) производит активное открытие, используя кратковременный порт. Сообщение запроса посылается от клиента серверу, задействуя кратковременный порт как исходный порт и заданный порт 161 как порт пункта назначения. Сообщение ответа посылают от сервера к клиенту, использующему заданный порт 161 как исходный порт и кратковременный порт как порт пункта назначения.
Менеджер (клиент) производит пассивное открытие порта 162. Затем он ждет подключения от агента (сервера). Агент (сервер) производит активное открытие, используя кратковременный порт, всякий раз, когда посылает сообщение-ловушку (
(рис 15.22) Номер портов для SMNPМеханизм клиент-сервер в SNMP отличается от других протоколов. Здесь и клиент, и сервер используют заданные порты. Кроме того, и клиент, и сервер должны функционировать бесконечно. Причина в том, что сообщения запроса инициируются менеджером (клиентом), но сообщения-ловушки (
INTEGER 1456.OCTET STRING "Hello Grey".OCTET STRING длиною 1000.| INTEGER | IP Адрес | |
|---|---|---|
| 2345 | "COMPUTER" | 185.32.1.5 |
| Time Tick | INTEGER | Object Id |
|---|---|---|
| 12000 | 14564 | 1.3.6.1.2.1.7 |
| INTEGER | Счетчик | |
|---|---|---|
| 2345 | "COMPUTER" | 345 |
| 1123 | "DISK" | 1430 |
| 3456 | "MONITOR" | 2313 |
02 04 01 02 14 32;30 06 02 01 11 02 01 14 ;30 09 04 03 41 43 42 02 02 14 14 ;30 0A 40 04 23 51 62 71 02 14 12.Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.
Простой протокол управления сетью (SNMP — Simple
SNMP использует концепцию менеджера и агента. То есть менеджер, обычно хост, управляет и контролирует набор агентов, обычно это – маршрутизаторы. SNMP — протокол прикладного уровня, в котором несколько станций менеджера управляют набором агентов. Протокол разработан для прикладного уровня так, чтобы он мог управлять устройствами, выпущенными различными изготовителями и установленными на различных физических сетях. Другими словами, SNMP освобождает задачи управления и от физических характеристик
Станция управления, названная менеджером, является хостом, который выполняет SNMP-программу клиента. Управляемая станция, названная агентом, является маршрутизатором (или хостом), который выполняет SNMP-программу сервера. Управление достигается с помощью простого взаимодействия между менеджером и агентом.
Агент сохраняет характеристики информации в базе данных. Менеджер имеет доступ к содержимому базы данных. Например, маршрутизатор может хранить число полученных и отправленных пакетов. Менеджер может вызвать и сравнить значения этих двух переменных, чтобы увидеть, переполнен ли маршрутизатор или нет.
Менеджер может также заставить маршрутизатор выполнить некоторые действия. Например, маршрутизатор периодически проверяет значение счетчика перезапуска, чтобы увидеть, когда он должен перезапуститься сам. Маршрутизатор может перезапуститься сам, например, когда значение счетчика равно нулю. Менеджер может использовать это свойство, чтобы перезапустить агента дистанционно в любое время. Он просто посылает пакет для принудительной установки нуля в счетчике.
Агенты могут также внести вклад в процесс управления. Управляемая программа сервера, выполняемая агентом, может проверить внешнюю среду, и если она замечает что-то необычное, она может послать сообщение предупреждения (названное ловушкой) менеджеру.
Другими словами, управление с SNMP базируется на трех основных идеях:
Чтобы выполнить задачи управления, SNMP использует другие два протокола: структура управляющей информации (
Другими словами, управление сетью Интернет осуществляется при взаимодействии трех протоколов: SNMP,
Рассмотрим взаимодействие между этими протоколами.
SNMP выполняет некоторые конкретные задачи в управлении сетью. Он определяет состояния устройств сети и сетевого трафика, содержание
Чтобы использовать SNMP, нам нужны правила описания объектов управления и правила присвоения имен объектам. Это особенно важно, потому что объекты в SNMP формируют иерархическую структуру (объект может иметь объект-родителя и некоторые объекты-детей), и часть имени может быть унаследована от родителя. Нам также нужны правила для того, чтобы определить тип объектов. Какие типы объектов обрабатываются SNMP? SNMP может обрабатывать простые или
Так как неизвестна архитектура компьютеров, которые посылают, получают или хранят эти значения, нам нужны некие универсальные правила. Отправитель может быть мощным компьютером, в котором целое число сохраняется как 8-байтовые данные; приемник может быть маленьким компьютером, который хранит целое число как 4-байтовые данные.
Представляет информационную базу для SNMP об управляемых и контролируемых объектах сети, в которой информация об объектах сформирована по категориям. Для каждого управляемого объекта протокол
Перед обсуждением каждого из этих протоколов более подробно проведем аналогию. Три компонента управления сетью подобны тем трем компонентам, что необходимы для написания программы на компьютерном языке.
Прежде чем составлять программу, должен быть предопределен синтаксис языка (типа C или C++). Язык также определяет структуру переменных (простой, структурированный, указатель и так далее) и имена переменных. Например, имя переменной должно быть представлено символами от 1 до N по длине и начинаться с буквы, сопровождаемой алфавитно-цифровыми символами. Язык также определяет тип используемых данных (целое
Большинство компьютерных языков требует, чтобы переменные были объявлены в каждой программе. Декларация называет каждую переменную и определяет предопределенный тип. Например, если программа имеет две переменные (целое число, названное счетчик, и массив, названный степень типа символ), они должны быть объявлены в начале программы:
int счетчик; char степень [40];
Заметим, что декларации называют переменные (счетчик и степень) и определяют тип каждой переменной. Поскольку типы предопределены в языке, программа знает диапазон и размер каждой переменной.
В программировании после декларации программа должна написать операторы, чтобы сохранить значения переменных и изменять их, если необходимо. SNMP решает ту же задачу при управлении сетью. SNMP накапливает, изменяет и интерпретирует значения объектов, уже объявленных
Мы можем сравнить задачу управления сетью и задачу написания программы:
Прежде чем обсуждать детально каждый компонент, рассмотрим простой общий сценарий их совместной работы, а затем развернем более детально это сценарий. Менеджер станции (SNMP-клиент) посылает сообщение к агенту (SNMP-серверу), чтобы получить от агента число UDP-дейтаграмм. Рис 15.1. показывает в общем виде шаги этого процесса.
(рис 15.1) Общий процесс управленияСтруктура управляющей информации, версия 2 (SMIv2) — компонент для управления сетью. Его функции:
(рис 15.2) Атрибуты объектов
(рис 15.3) Идентификация объектаСтруктура дерева начинается с корня, не имеющего имени. Каждый объект может быть определен, используя последовательность целых чисел, разделенных точками. Структура дерева может также определить объект с использованием текстуальных имен, отделенных точками. Представление в целых числах с точками применяется в SNMP. Обозначение имя-точка принято людьми. Например, ниже показаны одни и те же объекты в двух нотациях:

Объекты, которые используются в SNMP, расположены в адресе после объекта 1.3.6.1.2.1.
Второй атрибут объекта — тип сохраняемых в нем данных. Определяя тип данных,
(рис 15.4) Тип данныхПростой тип – это частичка типа данных, некоторые из них прямо поступают в
| Тип | Размер | Описание |
|---|---|---|
| INTEGER | 4 байта | Целое со значением между 0 и 231-1 |
| Integer 32 | 4 байта | То же самое, что и INTEGER |
| Unsigned32 | 4 байта | Значения без знака между 0 и 231 |
| Переменный | Строка байтов не более 65 535 байтов длины | |
| Переменный | ||
| IPAdress | 4 байта | IP-адрес, состоящий из четырех байтов |
| Counter32 | 4 байта | Целое, значение которого может быть увеличено от 0 до 232; когда оно достигает максимального значения, оно свертывается назад в нуль |
| Counter64 | 8 байтов | 64-битовый счетчик |
| Gauge32 | 4 байта | Тот же самый 32-битовый счетчик (counter32), но он достигает максимального значения и не сворачивается в ноль; он остается там, пока не сбрасывается |
| 4 байта | Считает значение, в котором записано время в 1/100 секунды | |
| BITS | Строка бит | |
| Opaque | Переменный | Неинтерпретируемая строка |
Комбинируя простой и
Рисунок 15.5. показывает концептуальный обзор типов данных.
(рис 15.5) Концептуальные типы данных
(рис 15.6) Формат длиныПодполе "Формат" указывает, являются ли данные простыми (0) или структурированными (1). Далее подполе "номера" делит простые или структурированные данные на подгруппы. Например, в
| Тип данных | Класс | Формат | Номер | Тег (двоичный) | Тег (шестнад.) |
|---|---|---|---|---|---|
| INTEGER (Целый) | 00 | 0 | 00010 | 00000010 | 02 |
| 00 | 0 | 00100 | 00000100 | 04 | |
| 00 | 0 | 00110 | 00000110 | 06 | |
| NULL (ПУСТОЙ УКАЗАТЕЛЬ) | 00 | 0 | 00101 | 00000101 | 05 |
| Последовательность, последовательность из | 00 | 1 | 10000 | 00110000 | 30 |
| IPAddress (IP-адрес) | 01 | 0 | 00000 | 01000000 | 40 |
| Counter (Счетчик) | 01 | 0 | 00001 | 01000001 | 41 |
| 01 | 0 | 00010 | 01000010 | 42 | |
| TimeTicks (Сигналы времени) | 01 | 0 | 00011 | 01000011 | 43 |
Для того чтобы показать, как эти три поля — тег, длина и значение – могут определить объект, мы приведем несколько примеров.
Рисунок 15.8. показывает, как определяется INTEGER 14:
(рис 15.8) Пример 1 INTEGER 14
Рисунок 15.9. показывает, как определяется :
(рис 15.9) Пример 2 OCTET STRING "H1"
Рисунок 15.10. показывает, как определяется :
(рис 15.10) Пример 3 ObjectIdentifier 1.3.6.1
Рисунок 15.11. показывает, как определить IPAddress 131.21.14.8:
(рис 15.11) Пример 4 IPAdress 131.21.14.8
База управляющей информации (MIB2 — Management Information Base 2) – это второй компонент, используемый в сетевом управлении. Каждый агент имеет свой собственный MIB2, являющийся отображением всех объектов, которыми может управлять менеджер. Объекты в MIB2 разбиты по категориям на 10 групп: система (sys), интерфейс (if), адрес трансляции (at), ip, icmp, tcp, udp,
(рис 15.12) MIB-2Чтобы показать доступность различных переменных, мы используем как пример udp-группы. Имеются четыре простых переменных в группах и одна последовательность записей (таблица). Рисунок 15.13. показывает переменные и таблицу.
(рис 15.13) udp-группаМы покажем, как иметь доступ к каждому объекту.
Чтобы организовать доступ любой простой переменной, мы используем групповой id ( 1.3.6.1.2.1.7 ), сопровождаемый id переменной. Ниже показано, как организовать доступ к каждой переменной:

Однако эти объекты-идентификаторы определяют переменные, но не представителя (содержимое). Чтобы описать представителя или содержимое каждой переменной, мы должны добавить суффикс экземпляра. Суффикс экземпляра для простой переменной – это просто ноль. Другими словами, чтобы показать экземпляр переменной, мы используем нижеследующее:
Чтобы идентифицировать таблицу, мы сначала используем id. Группа udp имеет только одну таблицу (с id 5), как это показано на рисунке 15.14.
(рис 15.14) udp-переменные и таблицыДля организации таблицы мы должны использовать следующие адреса:

Однако таблица в этом дереве не на уровне листа. Мы не можем иметь доступ к таблице, пока не определим вход (последовательность) в таблице (с id 1), как это показано ниже:

Этот вход также не имеет листов, и нам он недоступен. Нам нужно определить каждый объект входа. Это две переменные в
(рис 15.15) Индексы для udpTableЧтобы обратиться к образцу местного адреса для первой строки, мы используем идентификатор, увеличенный на индекс образца:

Обратите внимание, что не все таблицы индексированы тем же самым методом. Некоторые таблицы индексированы с использованием значения одного поля, некоторые используют значение двух полей, и так далее.
Одна интересная точка зрения о
(рис 15.16) Лексикографическое упорядочениеGet Next Request в следующих разделах.
SNMP использует и
SNMPv3 определяет восемь типов пакетов (или PDUs): GetRequest, GetNextRequest, GetBulkRequest, SetRequest, Response, , InformRequest и Report ( Рис. 15.17.).
(рис 15.17) SNMP PDUs
GetRequest
GetNextRequest Objectid в GetNextRequest и определить Objectid таблицы. Поскольку первый вход имеет Objectid непосредственно после Objectid таблицы, значение первого входа возвращается менеджеру. Менеджер может использовать этот Objectid, чтобы получить значение следующего, и так далее.
GetBulkRequest GetRequest и GetNextRequest PDUs.
SetRequest
Ответ GetRequest или GetNextRequest. Он содержит значение(я) переменной(ых), которую запрашивает менеджер.
Ловушку (также ее называют ловушкой SNMPv2, чтобы отличить от ловушки SNMPvl)
Inform Request
Формат для восьми SNMP PDUs показан на рисунке 15.18. GetBulkRequest
(рис 15.18) Формат SNMP PDUПоля перечислены ниже.
| Состояние | Название | Значение |
|---|---|---|
| 0 | noError | Нет ошибки |
| 1 | TooBig | Слишком большой ответ для размещения в одном сообщении |
| 2 | NoSuchName | Переменная не существует |
| 3 | BadValue | Значение, которое должно быть сохранено, недопустимо |
| 4 | readOnly | Значение не может быть изменено |
| 5 | genErr | Другие ошибки |
GetBulkRequest и удаляет ошибку поля состояния, которая является пустой в запросе PDUs.GetBulkRequest и заменяет поле индекса ошибки, которое является пустым в PDUs-запросе.GetRequest и GetNextRequest. В SNMP не посылает отдельные
(рис 15.19) SNMP-сообщениеПоскольку длина этих элементов отличается от сообщения к сообщению, SNMP применяет основные правила кодирования — , где каждый бит определяет тип защиты, тип секретности или идентификации либо другую информацию) и модели обеспечения безопасности (определение протокола защиты). Параметр защиты сообщения используется для создания
Чтобы определять тип
Обратите внимание, что SNMPv 1 определяет A4 для "ловушки", которая на сегодняшний день является устаревшей.
| Данные | Класс | Номер | Полный тег (двоичный) | Полный тег (шестнадцатеричный) | |
|---|---|---|---|---|---|
| GetRequest | 10 | 1 | 00000 | 10100000 | A0 |
| GetNextRequest | 10 | 1 | 00001 | 10100001 | A1 |
| Response | 10 | 1 | 00010 | 10100010 | A2 |
| SetRequest | 10 | 1 | 00011 | 10100011 | A3 |
| GetBulkRequest | 10 | 1 | 00101 | 10100101 | A5 |
| InformRequest | 10 | 1 | 00110 | 10100110 | A6 |
| 10 | 00111 | 10100111 | A7 | ||
| Report | 10 | 1 | 01000 | 10101000 | A8 |
В этом примере менеджер станции (SNMP-клиент) использует сообщение GetRequest, чтобы извлечь номер UDP-дейтаграммы, которую получил маршрутизатор.
Есть только один объект VarBind (переменная – связка). Соответствующий udpInDatagram, с 1.3.6.1.2.1.7.1.0. Менеджер хочет извлечь значение. Рис.15.20. показывает в общем виде пакет с иерархической структурой. На рисунке используются белые и цветные участки для последовательностей и серые для .
(рис 15.20) Пример 1Список VarBind (см. рис.15.20.) имеет длину 0F (15) и состоит только из одной последовательности VarBind, длиной OD (13). В начале списка переменная указывает тип 06 и длину списка 09. Длина дальнейшего сообщения 00.). Сообщение GetRequest
Имеются три
Рисунок 15.21. показывает реальное сообщение, посылаемое менеджером станции (клиентом) к агенту (серверу).
(рис 15.21) GetRequest сообщение
SNMP использует услуги UDP на двух заданных портах, 161 и 162. Заданный порт 161 задействован сервером (агентом), и заданный порт 162 отведен клиенту (менеджеру).
Агент (сервер) производит пассивное открытие порта 161. Затем он ждет подключения от менеджера (клиента). Менеджер (клиент) производит активное открытие, используя кратковременный порт. Сообщение запроса посылается от клиента серверу, задействуя кратковременный порт как исходный порт и заданный порт 161 как порт пункта назначения. Сообщение ответа посылают от сервера к клиенту, использующему заданный порт 161 как исходный порт и кратковременный порт как порт пункта назначения.
Менеджер (клиент) производит пассивное открытие порта 162. Затем он ждет подключения от агента (сервера). Агент (сервер) производит активное открытие, используя кратковременный порт, всякий раз, когда посылает сообщение-ловушку (
(рис 15.22) Номер портов для SMNPМеханизм клиент-сервер в SNMP отличается от других протоколов. Здесь и клиент, и сервер используют заданные порты. Кроме того, и клиент, и сервер должны функционировать бесконечно. Причина в том, что сообщения запроса инициируются менеджером (клиентом), но сообщения-ловушки (
INTEGER 1456.OCTET STRING "Hello Grey".OCTET STRING длиною 1000.| INTEGER | IP Адрес | |
|---|---|---|
| 2345 | "COMPUTER" | 185.32.1.5 |
| Time Tick | INTEGER | Object Id |
|---|---|---|
| 12000 | 14564 | 1.3.6.1.2.1.7 |
| INTEGER | Счетчик | |
|---|---|---|
| 2345 | "COMPUTER" | 345 |
| 1123 | "DISK" | 1430 |
| 3456 | "MONITOR" | 2313 |
02 04 01 02 14 32;30 06 02 01 11 02 01 14 ;30 09 04 03 41 43 42 02 02 14 14 ;30 0A 40 04 23 51 62 71 02 14 12.Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.