Релиз Net-SNMP 5.7

Net-SNMP 5.7 has been released! Get it from http://download.htmlwww.net-snmp.org/download.html

Релиз Net-SNMP 5.7.1

A bug fix release containing:

libnetsnmp:

  • Исправлена mib-parsing-bug появившаяся в версии 5.7

agent:

  • Исправлена ошибка округления процента дисковых операций

openbsd:

  • Улучшена поддержка последних релизов openbsd

features:

  • исправлена ошибка обратной связи после добавления пользователя (feedback)

Много других незначительных ошибок.

SNMP

Протокол SNMP работает на базе протокола UDP и предназначен для использования сетевыми управляющими станциями. Он позволяет управляющим станциям собирать информацию. Протокол определяет формат данных, их обработка и интерпретация остаются на усмотрение управляющих станций или менеджера сети. SNMP-сообщения не имеют фиксированного формата и фиксированных полей. При работе протокол SNMP использует управляющую базу данных (MIB — Management Information Base, RFC-1213,-1212).

Программирование для SNMP базируется на ASN.1:1988 (кодирования BER) и базе MIB в которой описаны переменные как стандартные, так и производителей устройств и программного обеспечения. Переменные MIB делятся на 2 типа скалярные и табличные(одномерный массив).

SNMP не совсем соответствует стандарту ASN.1 и есть отличия в типах данных:

Data type identifier in SNMP
   Data type                 Identifier      Note
   Integer                      0x02         Primitive ASN.1 types
   Octet String                 0x04         Primitive ASN.1 types  
   Null                         0x05         Primitive ASN.1 types
   Object identifier            0x06         Primitive ASN.1 types
   Sequence                     0x30         Constructed ASN.1 types
   IpAddress                    0x40         Primitive SNMP application types
   Counter                      0x41         Primitive SNMP application types
   Gauge                        0x42         Primitive SNMP application types
   TimeTicks                    0x43         Primitive SNMP application types 
   Opaque                       0x44         Primitive SNMP application types
   NsapAddress                  0x45         Primitive SNMP application types
   GetRequest PDU               0xA0         Context-specific Constructed SNMP types
   GetNextRequest PDU           0xA1         Context-specific Constructed SNMP types
   GetResponse PDU              0xA2         Context-specific Constructed SNMP types
   SetRequest PDU               0xA3         Context-specific Constructed SNMP types
   Trap PDU                     0xA4         Context-specific Constructed SNMP types

Объекты MIB создаются макросами ASN.1. Макрос OBJECT-TYPE имеет формат:

data type value name OBJECT-TYPE

SYNTAX data type identifier

UNITS

ACCESS

STATUS

DESCRIPTION

REFERENCE

INDEX

DEFVAL

::= {data value}

  • SYNTAX - определяет тип данных (простой, структурированный и т.д)
  • ACCESS - задает уровень доступа к объекту (read only, read & write)
  • STATUS - определяет статус описания объекта (текущий, устаревший и пр.)
  • DESCRIPTION - описывает роль или функцию управляемого объекта и способы его применения
  • REFERENCE - опционное описание, характеризующее наследование объекта (указывает на родительский объект)
  • INDEX - работает в случае, когда объект содержит список или таблицу и позволяет указать позицию в списке или таблице
  • DEFVAL - опционная характеристика, указывающая значение объекта по умолчанию

После кодирования BER в компактном кодовом представлении информация может использоваться коммуникационными протоколами. Кодирование BER является неотъемлемой частью ASN.1, позволяет определить большое разнообразие типов данных. BER описывает то, как представить или закодировать любую величину в рамках стандарта ASN.1. Все величины здесь представляются в виде последовательности 8-битных октетов. Восьмой бит октета всегда считается самым старшим. BER позволяет закодировать величину более чем одним способом. Имеется также поднабор правил кодирования DER (Distinguished Encoding Rules, описаны в документе Х.509 он же сертификат или цифровая подпись), которые определяют однозначные способы кодирования величин ASN.1. Так для примера в BER логическое значение можно закодировать 255 способами, в то время как DER только одним.

Алгоритмы SNMP

Алгоритмы управления в Internet обычно описывают в нотации ASN.1 (Abstract Syntax Notation). Все объекты в Internet разделены на 10 групп и описаны в MIB:

  1. система
  2. интерфейсы
  3. обмены
  4. трансляция адресов
  5. IP
  6. ICMP
  7. TCP
  8. UDP
  9. EGP
  10. SNMP.
  • В группу «система» входит название и версия оборудования, операционной системы, сетевого программного обеспечения и пр.
  • В группу «интерфейсы» входит число поддерживаемых интерфейсов, тип интерфейса, работающего под управлением IP (Ethernet, LAPB и т.д.), размер дейтограмм, скорость обмена, адрес интерфейса. IP-группа включает время жизни дейтограмм, информацию о фрагментации, маски субсетей и т.д. В TCP-группу входит алгоритм повторной пересылки, максимальное число повторных пересылок и пр. Команды SNMP приведены в табл. В таблице PDU (Protocol Data Unit) - это тип протокольного сообщения.
Команда SNMP
Команда SNMP Тип PDU Назначение
get_request 0 Получить значение указанной переменной или информацию о состоянии сетевого элемента
get_next_request1 Получить значение переменной, не зная точного ее имени (следующий логический идентификатор на дереве MIB)
set_request2Присвоить переменной соответствующее значения. Используется для описания действие, которое должно быть выполнено
get response 3 Отклик на get_request, get_next_request и set_request, Содержит также информацию о состоянии (коды ошибок и другие данные)
trap 4 Отклик сетевого объекта на событие или на изменение состояния

Схема запросов/откликов SNMP

Клиент - серверная архитектура

SNMP Менеджер - клиент

Объект управления - сервер

Формат SNMP-сообщений, вкладываемых в UDP-дейтограмм

Поле Версия содержит значение, равное номеру версии SNMP минус один. Поле Пароль (community - определяет группу доступа) содержит последовательность символов, которая является пропуском при взаимодействии менеджера и объекта управления. Обычно это поле содержит 6-байтовую строку public. Для запросов get, get-next и set значение поля Идентификатора запроса устанавливается менеджером и возвращается объектом управления в отклике get, что позволяет связывать в пары запросы и отклики. Поле Фирма (enterprise) = sysObjectlD объекта. Поле Статус ошибки характеризуется целым числом, присланным объектом управления .

Статус ошибки
Статус ошибки Имя ошибки Описание
0noErrorВсе в порядке
1tooBig Объект не может уложить отклик в одно сообщен
2 noSuchNameВ операции указана неизвестная переменная
3badValueв команде set использована недопустимая величина или неправильный синтаксис
4readOnlyменеджер попытался изменить константу
5genErr

Протокол 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

Trap

Если произошла ошибка, поле Индекс ошибки характеризует к какой из переменных это относится; индекс ошибки является указателем переменной и устанавливается объектом управления не равным нулю для ошибок 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 служит примером системы управления, в которой для достижения нужного результата не выдается команда, а осуществляется обмен информацией, решение принимается «на месте» в соответствии с полученными данными.


Установка на Acer Aspire One Windows 7 и Moblin

Обсуждение

Введите ваш комментарий
Если вы не можете прочитать символы на изображении, загрузите и воспроизведите wav-файл.
 
 
snmp.ru.txt · Последние изменения: 2011/11/13 23:52 — adm