- []
- []
Формат SNMP-сообщений, вкладываемых в UDP-дейтограмм
Поле Версия содержит значение, равное номеру версии SNMP минус один. Поле Пароль (community - определяет группу доступа) содержит последовательность символов, которая является пропуском при взаимодействии менеджера и объекта управления. Обычно это поле содержит 6-байтовую строку public. Для запросов get, get-next и set значение поля Идентификатора запроса устанавливается менеджером и возвращается объектом управления в отклике get, что позволяет связывать в пары запросы и отклики. Поле Фирма (enterprise) = sysObjectlD объекта. Поле Статус ошибки характеризуется целым числом, присланным объектом управления .
Статус ошибки | ||
---|---|---|
Статус ошибки | Имя ошибки | Описание |
0 | noError | Все в порядке |
1 | tooBig | Объект не может уложить отклик в одно сообщен |
2 | noSuchObject (noSuchName ) | В операции указана неизвестная переменная |
3 | badValue | в команде set использована недопустимая величина или неправильный синтаксис |
4 | readOnly | менеджер попытался изменить константу |
5 | genErr |
Протокол SNMP обслуживает передачу данных между агентами и станцией, управляющей сетью. SNMP использует дейтаграммный транспортный протокол UDP, не обеспечивающий надежной доставки сообщений. Протокол, организующий надежную передачу дейтаграмм на основе соединений TCP, весьма загружает управляемые устройства, которые на момент разработки протокола SNMP были не очень мощные, поэтому от услуг протокола TCP решили отказаться.
Но в последнее время широкое распространение получила идеология распределенного протокольного интерфейса DPI (Distributed Protocol Interface) это дополнение к snmp agent позволяет конечному пользователю динамически добавлять , изменять и удалять управляющие переменные в локальной базе MIB без необходимости перекомпиляции snmp agent. Это устраняет необходимость занание ANS1(2) или PDU (Protocol Data Unit) encoding/decoding. Запрос к переменным получаемый snmp agent-ом выполняется как sub-agent возвращяющй соответствующй ответ от SNMP agent-а. Управляющая станция ничего не знает о процессах (sub-agent) и получает только ответ от SNMP agent. Для транспортировки SNMP-запросов используется не только UDP-, но и TCP-протокол. Это дает возможность применять SNMP-протокол не только в локальных сетях. Форматы SNMP-DPI-запросов (версия 2.0) описаны в документе RFC-1592. Пример заголовка SNMP-запроса (изображенные поля образуют единый массив):
1.3.6.1.4.1.2.2.1.1.0 dpiPort.0 (old DPI 1.x form) 1.3.6.1.4.1.2.2.1.1.1.0 dpiPortForTCP.0 1.3.6.1.4.1.2.2.1.1.2.0 dpiPortForUDP.0