Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сетевые протоколы в инфокоммуникациях (ПЗ).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.51 Mб
Скачать

Ответ (Response)

Ответ PDU посылают от агента к менеджеру в ответ на GetRequest или GetNextRequest. Он содержит значение(я) переменной(ых), которую запрашивает менеджер.

Ловушка (Trap)

Ловушку (также ее называют ловушкой SNMPv2, чтобы отличить от ловушки SNMPvl) PDU посылают от агента к менеджеру, чтобы сообщить о событии. Например, если агент перезагружен, он информирует менеджера и сообщает время перезагрузки.

InformRequest

Inform Request PDU посылают от одного менеджера другому удаленному менеджеру, чтобы получить значение некоторых переменных от агентов, которые управляются удаленным менеджером. Удаленный менеджер отвечает Ответом PDU.

PDU-рапорт (Report)

PDU-рапорт разработан, чтобы сообщить о некоторых типах ошибок между менеджерами.

5.9. Формат

Формат для восьми SNMP PDUs показан на рисунке 5.18. GetBulkRequest PDU отличается от других PDU двумя областями, как показано на рисунке.

Рис. 5.18. Формат SNMP PDU

Поля перечислены ниже.

PDU-тип (PDU type). Это поле определяет тип PDU (см. таблицу 5.4).

Запрос ID (Request ID). Это поле — порядковый номер, используется менеджером в запросе PDU и повторяется агентом в ответе. Он нужен, чтобы сравнить запрос и ответ.

Состояние ошибки (Error Status). Это целое число, которое используется только в ответе PDUs, чтобы показать типы ошибок, о которых сообщает агент. Его значение — 0 в запросе PDUs. Таблица 5.3. содержит список типов ошибок, которые могут произойти.

  • Состояние

  • Название

  • Значение

  • 0

  • noError

  • Нет ошибки

  • 1

  • TooBig

  • Слишком большой ответ для размещения в одном сообщении

  • 2

  • NoSuchName

  • Переменная не существует

  • 3

  • BadValue

  • Значение, которое должно быть сохранено, недопустимо

  • 4

  • readOnly

  • Значение не может быть изменено

  • 5

  • genErr

  • Другие ошибки

Не ретранслируемая (Non-repeaters). Это поле используется только в GetBulkRequest и удаляет ошибку поля состояния, которая является пустой в запросе PDUs.

Индекс ошибки (Error index). Индекс ошибки — смещение, которое говорит менеджеру, какая переменная вызвала ошибку.

Максимальное повторение (Max-repetition). Это поле также используется только в GetBulkRequest и заменяет поле индекса ошибки, которое является пустым в PDUs-запросе.

VarBindList. Это набор переменных с соответствующими значениями, которые менеджер хочет извлечь или установить. Значения являются нулевыми в GetRequest и GetNextRequest. В PDU-ловушке он показывает переменные и значения, связанные с определенным PDU.

5.10. Сообщения

SNMP не посылает отдельные PDU, он включает PDU в сообщение. Сообщение в SNMPv3 состоит из четырех элементов: версия, заголовок, параметры защиты и данные (которые включает кодируемый PDU), как показано в рисунке 5.19.

Рис. 5.19. SNMP-сообщение

Поскольку длина этих элементов отличается от сообщения к сообщению, SNMP применяет основные правила кодирования — BER, чтобы кодировать каждый элемент. (Напомним, что BER использует метку и длину для определения значения.) Версия определяет текущую версию (3). Заголовок содержит значения для идентификации сообщения, максимальный размер сообщения (максимальный размер ответа), флажок сообщения (один октет типа данных OCTET STRING, где каждый бит определяет тип защиты, тип секретности или идентификации либо другую информацию) и модели обеспечения безопасности (определение протокола защиты). Параметр защиты сообщения используется для создания дайджеста сообщения. Данные содержат PDU. Если данные зашифрованы, есть информация об источнике шифровки (программе-менеджере, которая зашифровала сообщение) и контекст шифровки (тип кодирования), сопровождаемый зашифрованным PDU. Если данные не зашифрованы, то они состоят только из PDU.

Чтобы определять тип PDU, SNMP использует метку. Класс контекстно-зависим (10), формат структурирован (1), и числа — 0, 1, 2, 3, 5, 6, 7, 8 ( табл. 5.4.).

Обратите внимание, что 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

Trap (SNMPv2)

10

00111

10100111

A7

Report

10

1

01000

10101000

A8