Протокол SNMP работает на базе протокола UDP и предназначен для использования сетевыми управляющими станциями. Он позволяет управляющим станциям собирать информацию,измененять,посылать trap на сервер сбора событий. Протокол определяет формат данных, их обработка и интерпретация остаются на усмотрение управляющих станций или менеджера сети. SNMP-сообщения не имеют фиксированного формата и фиксированных полей.
SNMP регламентирован документами организации Internet Engineering Task Force (IETF®) SNMPv1-snmp v1 и в настоящее время может использоваться, но считается устаревшим. Самый распространенный SNMPv2 и его разновидности. Так же есть SNMPv3.
При работе протокол SNMP использует управляющую базу данных (MIB — Management Information Base, RFC-1213,-1212).
Можно утверждать что поддержка использования SNMP принята всеми производителями оборудования с 1991 года и регламентирована основополагающими документами в версии SNMPv1
SMI - Structure of Management Information . Определяет объекты MIB как подмножество ANS.1. Для преобразования используется MIB компилятор. Но ничего не мешает использовать в SNMP ANS.1 без SMI.
SNMP базируется на ASN.1:1988 (кодирования BER) и базе MIB в которой описаны переменные как стандартные, так и производителей устройств и программного обеспечения. Переменные MIB делятся на 2 типа скалярные и табличные(одномерный массив).
В работе по SNMP участвуют следующие компоненты:
Трапы может принимать и manager ,а источником быть агент. Например для Linux в качестве агента может быть процесс snmpd c файлом конфигурации snmpd.conf , а в качестве manager комманды snmpwalk , snmpget c параметрами.( snmpget -c public host system.sysDescr.0) Для Windows это сервис устанавливается как дополнительный компонент.
На основе SNMP существует большое множество систем мониторинга (HP openview, cacti, icinga (nagios), zabbix….. ).
Упрощенная схема взаимодействия представлена ниже.
Если произошла ошибка, поле Индекс ошибки характеризует к какой из переменных это относится; индекс ошибки является указателем переменной и устанавливается объектом управления не равным нулю для ошибок badValue. Для команды trap (тип PDU-4 ) формат сообщения меняется . Значения поля Тип trap приведены в табл.
Trap | ||
---|---|---|
Тип trap | Имя trap | Описание |
0 | coldStart | Установление начального состояния объекта |
1 | wannStart | Восстановление начального состояния объекта |
2 | linkDown | |
3 | linkUp | Интерфейс включился. Первая переменная в сообщении идентифицирует интерфейс |
4 | authenticationFailure | От менеджера получено SNMP-сообщение с Неверным паролем (community) |
5 | egpNeighborLoss | EGP-партнер отключился. Первая переменная в сообщении определяет IP-адрес партнера |
6 | entrpriseSpeclfic | Информация о trap содержится в поле Специальный код |
Для поля Тип trap 0…4 поле Специальный код должно быть равно нулю. Поле Временная метка содержит число сотых долей секунды (число тиков) с момента инициации объекта управления. Так, прерывание coldStart выдается объектом через 200 мс после инициализации.
Протокол SNMP служит примером системы управления, в которой для достижения нужного результата не выдается команда, а осуществляется обмен информацией, решение принимается «на месте» в соответствии с полученными данными.