RFC: 1157
Оригинал: A Simple Network Management Protocol (SNMP)
Предыдущие версии: RFC 1067, RFC 1098
Категория: Исторический
Дата публикации:
Авторы: , , ,
Перевод: Николай Малых

RFC 1157, Страница 11 из 22

4. Спецификация протокола

Протокол сетевого управления представляет собой прикладной протокол, посредством которого переменные MIB агента управления проверяются или изменяются.

Предполагается, что обмен данными между объектами протокола осуществляется путем передачи/приема сообщений, каждое из которых передается независимо от других в форме одной дейтаграммы UDP. В сообщениях используются правила представления ASN.1 (см. параграф 3.2.2). Сообщение включает идентификатор версии, имя группы SNMP и модуль данных протокола (PDU — protocol data unit). Объект протокола принимает через порт UDP с номером 161 на хосте, с которым он связан, все сообщения за исключением прерываний (т. е., все сообщения кроме тех, которые содержат Trap-PDU). Сообщения, которые содержат прерывания, следует принимать через порт UDP с номером 162. Реализация протокола не обязана принимать сообщения, размер которых превышает 484 октета. Однако по возможности желательна поддержка дейтаграмм больших размеров.

От всех реализаций протокола SNMP требуется поддержка 5 типов PDU: GetRequest-PDU, GetNextRequest-PDU, GetResponse-PDU, SetRequest-PDU и Trap-PDU.

RFC1157-SNMP DEFINITIONS ::= BEGIN
 IMPORTS
      ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
              FROM RFC1155-SMI;
 -- сообщение верхнего уровня
         Message ::=
                 SEQUENCE {
                      version        -- номер версии (1 для данной спецификации)
                         INTEGER {
                             version-1(0)
                         },
                     community      -- имя группы
                         OCTET STRING,
                     data           -- например, PDU в простейшем случае
                         ANY        -- будет использоваться аутентификация
                 }
 -- модули данных протокола
         PDUs ::=
                 CHOICE {
                     get-request
                         GetRequest-PDU,
                     get-next-request
                         GetNextRequest-PDU,
                     get-response
                         GetResponse-PDU,
                     set-request
                         SetRequest-PDU,
                     trap
                         Trap-PDU
                      }
 -- отдельные PDU и наиболее часто
 -- используемые данные рассматриваются ниже
 END

Страница 11 из 22

2007 - 2022 © Русские переводы RFC, IETF, ISOC.