RFC: 4113
Оригинал: Management Information Base for the User Datagram Protocol (UDP)
Предыдущие версии: RFC 2013, RFC 2454
Категория: Предложенный стандарт
Дата публикации:
Авторы: ,
Перевод: Николай Малых

Статус документа

Этот документ содержит стандарт протокола Internet, предложенного сообществу Internet, и служит приглашением к дискуссии в целях совершенствования и развития протокола. Текущее состояние стандартизации протокола можно узнать из документа "Internet Official Protocol Standards" (STD 1). Документ может распространяться свободно.

Тезисы

В этом документе определяется часть MIB (Management Information Base) для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет управляемые объекты, которые используются для реализации протокола UDP независимо от версии IP. Данный документ отменяет действие RFC 2013 и RFC 2454.

Оглавление

1. Стандартная модель управления Internet

Детальный обзор документов, описывающих стандартную модель управления Internet, содержится в главе 7 RFC 3410 [RFC3410].

Доступ к объектам обеспечивается через виртуальное хранилище информации, называемое MIB. Доступ к объектам MIB обычно обеспечивается с использованием протокола SNMP. Объекты в базе MIB определяются с использованием механизмов, определенных в SMI. В данном документе приводится спецификация модуля MIB, которая соответствует стандарту SMIv2, описанному в STD 58 ([RFC2578], [RFC2579] и [RFC2580]).

2. Обзор

В этом документе определяется часть MIB для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет управляемые объекты, которые используются для реализации протокола UDP независимо от версии IP.

База UDP-MIB, определяемая в этом документе состоит из одной таблицы и группы скаляров:

  • Группа скаляров udp сообщает о параметрах и статистике протокола UDP. В эту группу после публикации RFC 2013 [RFC2013] были добавлены два скаляра udpHCInDatagrams и udpHCOutDatagrams, обеспечивающие возможность поддержки счетчиков для высокоскоростных сетей. Прекращается поддержка счетчиков sysUpTime, определенных в RFC 3418 [RFC3418].
  • Таблица udpEndpointTable обеспечивает доступ к информации о состоянии для всех конечных точек UDP, обслуживаемых данным модулем протокола UDP. Информация в таблице обеспечивается как для традиционных прослушивающих точек с udpTable, так и для «подключенных» точек UDP, которые воспринимают пакеты только от заданной удаленной системы. Таблица также обеспечивает идентификацию процессов уровня операционной системы, которые обслуживают соединения UDP. Адреса и порты конечных точек UDP в этой таблице представлены с использованием текстовых соглашений InetAddressType, InetAddress и InetPortNumber, определенных в RFC 4001 [RFC4001].

2.1. Связь с другими MIB

В этом параграфе обсуждаются связи данного модуля UDP-MIB с другими модулями MIB.

2.1.1. Связь с RFC1213-MIB

Связанные с протоколом UDP объекты MIB были изначально определены как часть RFC1213-MIB в документе RFC 1213 [RFC1213]. Связанные с UDP объекты RFC1213-MIB позднее были скопированы в отдельный модуль MIB и опубликованы в RFC 2013 [RFC2013] с использованием формата SMIv2. Обе предыдущие версии UDP-MIB включают определение udpTable, которое признано устаревшим и отменено по двум причинам:

  1. udpTable поддерживает только IPv4.

    Сейчас IETF предлагает создавать независимые от версии IP базы MIB, а не различные варианты для разных версий протокола IP. Такой подход избавляет от лишних операций при определении новых объектов, поскольку они добавляются только в одну базу. Следовательно, опубликованное в RFC 2454 [RFC2454] предложение о поддержке разных таблиц утратило силу.

  2. Таблица udpTable не позволяет описывать «подключенные» конечные точки UDP.

    «Подключенные» конечные точки отличаются по своему поведению и управлению от прослушивающих конечных точек. Добавление информации об удаленных конечных точках в таблицу udpEndpointTable позволяет добавлять специфические объекты для состояния и статистики «подключенных» конечных точек и соединений.

2.1.2. Связь с IPV6-UDP-MIB

База IPV6-UDP-MIB, определенная в RFC 2454 [RFC2454], была перемещена в число архивных по причине отказа от поддержки различных баз для разных версий протокола IP. Следовательно, реализация RFC 2454 не имеет смысла.

Отметим, что в силу того, что наблюдаемые в сети адреса представлены типами IPv4z и IPv6z, больше не возникает необходимости явного включения ifIndex в параграф index таблицы udpEndpointTable. Это является отличием от использования ipv6UdpIfIndex в RFC 2454.

2.1.3. Связь с HOST-RESOURCES-MIB и SYSAPPL-MIB

Таблица udpEndpointTable содержит идентификаторы процессов уровня операционной системы, которые обслуживают «подключенные» или прослушивающие конечные точки. Значение возвращается как Unsigned32 и предполагается, что это значение совпадает с hrSWRunIndex из HOST-RESOURCES-MIB [RFC2790] (если значение меньше 2147483647) или sysApplElmtRunIndex из SYSAPPL-MIB [RFC2287]. Такой подход позволяет управляющим приложениям идентифицировать соединения UDP, которые относятся к процессам уровня ОС и используют проверенную рабочую среду.

3. Определения

UDP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64,
    Unsigned32, IpAddress, mib-2       FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP    FROM SNMPv2-CONF
    InetAddress, InetAddressType,
    InetPortNumber                     FROM INET-ADDRESS-MIB;
udpMIB MODULE-IDENTITY
    LAST-UPDATED "200505200000Z"  -- May 20, 2005
    ORGANIZATION
           "IETF IPv6 Working Group
            http://www.ietf.org/html.charters/ipv6-charter.html"
    CONTACT-INFO
           "Bill Fenner (editor)
            AT&T Labs -- Research
            75 Willow Rd.
            Menlo Park, CA 94025
            Phone: +1 650 330-7893
            Email: <[email protected]
>
            John Flick (editor)
            Hewlett-Packard Company
            8000 Foothills Blvd. M/S 5557
            Roseville, CA 95747
            Phone: +1 916 785 4018
            Email: <[email protected]
>
            Send comments to <[email protected]
>"
    DESCRIPTION
           "Модуль MIB для управления реализациями протокола UDP.
            Авторские права принадлежать Internet Society (2005).
            Данная версия модуля MIB является частью RFC 4113.
            Полная информация об авторских правах приведена в этом RFC."
    REVISION      "200505200000Z"  -- May 20, 2005
    DESCRIPTION
           "Не привязанный к версии протокола IP вариант,
            включающий следующие изменения:
            - Добавлены udpHCInDatagrams и udpHCOutDatagrams для
              поддержки больших значения счетчиков в скоростных сетях.
            - Добавлен текст в описание всех объектов, связанных со
              счетчиками, для индикации способа обнаружения разрывов
              в счете.
            - Исключена связанная с IPv4 таблица udpTable и взамен
              включена таблица udpEndpointTable. Эта таблица включает
              поддержку подключенных конечных точек UDP и поддержку
              идентификации процессов ОС, связанных с конечной точкой UDP.
            - Исключена группа udpGroup с включением взамен групп,
              представляющих текущий набор объектов.
            - Взамен udpMIBCompliance используется переменная
              udpMIBCompliance2, которая включает информацию о
              соответствии стандарту для новых групп объектов.
            Данная версия опубликована в RFC 4113."
    REVISION      "199411010000Z"    -- November 1, 1994
    DESCRIPTION
           "Изначальная версия SMIv2, опубликованная как RFC 2013."
    REVISION      "199103310000Z"    -- March 31, 1991
    DESCRIPTION
           "Изначальная версия этого модуля MIB являлась частью
            MIB-II, опубликованного как RFC 1213."
    ::= { mib-2 50 }
-- Группа UDP
udp      OBJECT IDENTIFIER ::= { mib-2 7 }
udpInDatagrams OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Общее число дейтаграмм UDP, доставленных пользователям UDP.
            Разрывы в значениях этого счетчика могут происходить в
            момент реинициализации системы управления и другие моменты,
            указываемые разрывами в значении sysUpTime."
    ::= { udp 1 }
udpNoPorts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of received UDP datagrams for which
            there was no application at the destination port.
            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by discontinuities in the
            value of sysUpTime."
    ::= { udp 2 }
udpInErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Число полученных дейтаграмм UDP, для которых адресат не
            имел соответствующего приложения.
            Разрывы значений этого счетчика могут происходить в
            моменты реинициализации системы управления другие моменты,
            указываемые разрывами в значении sysUpTime."
    ::= { udp 3 }
udpOutDatagrams OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Общее число дейтаграмм UDP, переданных с данного объекта.
            Разрывы значений этого счетчика могут происходить в моменты
            реинициализации системы управления другие моменты,
            указываемые разрывами в значении sysUpTime."
    ::= { udp 4 }
udpHCInDatagrams OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Общее число дейтаграмм UDP, доставленных пользователям
            UDP для устройств, которые способны принимать более 1
            миллиона дейтаграмм UDP в секунду.
            Разрывы значений этого счетчика могут происходить в моменты
            реинициализации системы управления другие моменты,
            указываемые разрывами в значении sysUpTime."
    ::= { udp 8 }
udpHCOutDatagrams OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Общее число дейтаграмм UDP, переданных от данного объекта
            для устройств, которые могут передавать более 1 миллиона
            дейтаграмм UDP в секунду.
            Разрывы значений этого счетчика могут происходить в моменты
            реинициализации системы управления другие моменты,
            указываемые разрывами в значении sysUpTime."
    ::= { udp 9 }
--
-- { udp 6 } Была определена как ipv6UdpTable в IPV6-UDP-MIB
-- (RFC 2454). Данный документ отменяет RFC 2454 и { udp 6 }
-- более не используется.
--
-- Таблица для конечной точки UDP
udpEndpointTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF UdpEndpointEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Таблица, содержащая информацию о данной конечной точке UDP,
            где локальное приложение принимает или передает дейтаграммы.
            Тип адреса в этой таблице представляет тип адреса,
            используемого для обмена данными безотносительно к абстракции
            вышележащего уровня. Например, приложение, применяющее «сокеты»
            IPv6 для обмена информацией через IPv4 между ::ffff:10.0.0.1 и
            ::ffff:10.0.0.2, будет использовать InetAddressType ipv4(1).
            В отличие от udpTable в RFC 2013 данная таблица также допускает
            представление приложений, которые полностью задают локальные и
            удаленные адреса и номера портов. Прослушивающие приложения
            могут представляться тремя способами:
            1) Приложение, которое готово принимать дейтаграммы IPv4
               и IPv6, представляется udpEndpointLocalAddressType — 
               unknown(0) и udpEndpointLocalAddress — ''h (строка
               октетов нулевой длины).
            2) Приложение, которое готово принимать дейтаграммы только одного
               типа (IPv4 или IPv6), представляется udpEndpointLocalAddressType
               с подходящим типом адреса и udpEndpointLocalAddress — 
               '0.0.0.0' или '::', соответственно.
            3) Приложение, которое прослушивает дейтаграммы только для
               указанного адреса IP, но от любой удаленной системы,
               представляется udpEndpointLocalAddressType с подходящим
               типом адреса и значением udpEndpointLocalAddress,
               задающим локальный адрес.
            Во всех случаях, когда удаленная сторона задается
            шаблоном, udpEndpointRemoteAddressType имеет значение
            unknown(0), udpEndpointRemoteAddress — ''h (строка
            октетов нулевой длины) и udpEndpointRemotePort — 0.
            Если операционная система демультиплексирует пакеты UDP
            по адресам и портам удаленных систем или приложение имеет
            «подключенный» сокет, задающий используемый по умолчанию
            удаленный адрес и порт, значения udpEndpointRemote должны
            отражать это.
    ::= { udp 7 }
udpEndpointEntry OBJECT-TYPE
    SYNTAX     UdpEndpointEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Информация от отдельной конечной точке UDP.
            Реализация должна быть готова к тому, что общее число элементов
            (октетов и субидентификаторов) в udpEndpointLocalAddress и
            udpEndpointRemoteAddress превышает 111. Тогда OID колонок
            экземпляров этой таблицы будут иметь более 128 субидентификаторов
            и не будут доступны для протоколов SNMPv1, SNMPv2c, SNMPv3"
    INDEX   { udpEndpointLocalAddressType,
              udpEndpointLocalAddress,
              udpEndpointLocalPort,
              udpEndpointRemoteAddressType,
              udpEndpointRemoteAddress,
              udpEndpointRemotePort,
              udpEndpointInstance }
    ::= { udpEndpointTable 1 }
UdpEndpointEntry ::= SEQUENCE {
        udpEndpointLocalAddressType   InetAddressType,
        udpEndpointLocalAddress       InetAddress,
        udpEndpointLocalPort          InetPortNumber,
        udpEndpointRemoteAddressType  InetAddressType,
        udpEndpointRemoteAddress      InetAddress,
        udpEndpointRemotePort         InetPortNumber,
        udpEndpointInstance           Unsigned32,
        udpEndpointProcess            Unsigned32
    }
udpEndpointLocalAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Тип адреса udpEndpointLocalAddress. Ожидаются только
            адреса типов IPv4, IPv4z, IPv6, Ipv6z или unknown(0), если
            принимаются дейтаграммы UDP для всех локальных адресов IP."
    ::= { udpEndpointEntry 1 }
...
...
udpEndpointLocalAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Локальный IP-адрес данной конечной точки UDP.
            Значение этого объекта может быть представлено тремя
            способами в зависимости от характеристик слушающего приложения:
            1. Для приложений, которые готовы принимать дейтаграммы IPv4
               и IPv6, значение этого объекта должно быть''h (строка
               октетов нулевой длины) со значением соответствующего
               экземпляра объекта udpEndpointLocalAddressType — unknown(0).
            2. Для приложений, готовых принимать дейтаграммы только
               одного типа (IPv4 или IPv6), значение этого объекта должно
               быть '0.0.0.0' или '::', соответственно, тогда как
               соответствующий экземпляр объекта udpEndpointLocalAddressType
               представляет подходящий тип адреса.
            3. Для приложений, которые слушают данные, направленные
               только в заданный адрес IP, значением этого объекта
               является этот IP-адрес, а соответствующий экземпляр
               udpEndpointLocalAddressType представляет подходящий
               тип адреса.
            Когда этот объект используется в индексе для udpEndpointTable,
            разработчикам следует быть аккуратными, чтобы не создать
            записей, которые будут приводить к появлению OID с числом
            субидентификаторов, превышающим 128, поскольку в таких
            случаях информация не будет доступна для протоколов SNMPv1,
            SNMPv2c, SNMPv3.
    ::= { udpEndpointEntry 2 }
udpEndpointLocalPort OBJECT-TYPE
    SYNTAX     InetPortNumber
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Локальный номер порта для данной конечной точки UDP."
    ::= { udpEndpointEntry 3 }
udpEndpointRemoteAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Тип адреса udpEndpointRemoteAddress. Ожидаются только
            адреса типов IPv4, IPv4z, IPv6, Ipv6z или unknown(0),
            если принимаются дейтаграммы UDP от всех удаленных
            адресов IP. Отметим также, что комбинации
            udpEndpointLocalAdressType и udpEndpointRemoteAddressType
            не поддерживаются. В частности, если значение этого
            объекта отличается от unknown(0), предполагается, что он
            указывает на ту же версию IP, что и udpEndpointLocalAddressType."
    ::= { udpEndpointEntry 4 }
udpEndpointRemoteAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Удаленный адрес IP для данной конечной точки UDP. Если
            принимаются дейтаграммы от любой удаленной системы, это
            значение должно быть ''h (строка октетов нулевой длины).
            В остальных случаях это значение имеет тип, описанный для
            udpEndpointRemoteAddressType и является адресом удаленной
            точки, из которой принимаются дейтаграммы (или в которую
            они передаются).
            Когда этот объект используется в индексе для udpEndpointTable,
            разработчикам следует быть аккуратными, чтобы не создать
            записей, которые будут приводить к появлению OID с числом
            субидентификаторов, превышающим 128, поскольку в таких
            случаях информация не будет доступна для протоколов SNMPv1,
            SNMPv2c, SNMPv3."
    ::= { udpEndpointEntry 5 }
udpEndpointRemotePort OBJECT-TYPE
    SYNTAX     InetPortNumber
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Номер удаленного порта UDP для данной конечной точки
            UDP. Если принимаются дейтаграммы от любой удаленной
            системы, это значение должно быть нулевым."
    ::= { udpEndpointEntry 6 }
udpEndpointInstance OBJECT-TYPE
    SYNTAX     Unsigned32 (1..'ffffffff'h)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Экземпляр Удаленной точки. Этот объект используется
            для того, чтобы различать множество процессов,
            «подключенных» к одной конечной точке UDP. Например,
            в системах, поддерживающих интерфейс сокетов BSD,
            этот объект может использоваться для поддержки опций
            сокетов SO_REUSEADDR и SO_REUSEPORT."
    ::= { udpEndpointEntry 7 }
udpEndpointProcess OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The system's process ID for the process associated with
            this endpoint, or zero if there is no such process.
            This value is expected to be the same as
            HOST-RESOURCES-MIB::hrSWRunIndex or SYSAPPL-MIB::
            sysApplElmtRunIndex for some row in the appropriate
            tables."
    ::= { udpEndpointEntry 8 }
-- Устаревшая таблица UDP Listener.
-- Эта таблица содержит только информацию конечных точках IPv4
-- данного объекта, на которых локальные приложения принимают
-- дейтаграммы. Более детальной информации или сведений о
-- конечных точках IPv6 таблица не содержала.
udpTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF UdpEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
           "Таблица содержит информацию IPv4 о «слушателях» UDP.
            Эта информация включает все локальные конечные точки
            IPv4, на которых приложения принимают дейтаграммы.
            Эта таблица запрещена в пользу независимой от версии
            IP таблицы udpEndpointTable."
    ::= { udp 5 }
udpEntry OBJECT-TYPE
    SYNTAX     UdpEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
           "Информация об отдельном «слушателе» UDP."
    INDEX   { udpLocalAddress, udpLocalPort }
    ::= { udpTable 1 }
UdpEntry ::= SEQUENCE {
    udpLocalAddress   IpAddress,
    udpLocalPort      Integer32
}
udpLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
           "Локальный IP-адрес «слушателя» UDP. В том случае,
            когда дейтаграммы UDP принимаются для всех IP-адресов
            данного узла, используется значение 0.0.0.0."
    ::= { udpEntry 1 }
udpLocalPort OBJECT-TYPE
    SYNTAX     Integer32 (0..65535)
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
           "Локальный номер порта «слушателя» UDP."
    ::= { udpEntry 2 }
-- Информация о соответствии спецификациям.
udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }
udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
udpMIBGroups      OBJECT IDENTIFIER ::= { udpMIBConformance 2 }
-- Заявления о соответствии.
udpMIBCompliance2 MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
           "Заявление о соответствии для систем, реализующих
            протокол UDP.
            Существует множество объектов INDEX, которые не
            могут быть представлены в форме объектов (OBJECT)
            в SMIv2, но для которых имеются следующие требования
            соответствия, выраженные ниже в форме объектов:
            -- OBJECT      udpEndpointLocalAddressType
            -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
            --                               ipv6(2), ipv4z(3),
            --                               ipv6z(4) }
            -- DESCRIPTION
            --     Поддержка dns(5) не требуется.
            -- OBJECT      udpEndpointLocalAddress
            -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
            -- DESCRIPTION
            --     Поддержка требуется только для строк октетов
            --     нулевой длины и наблюдаемых или ненаблюдаемых
            --     адресов IPv4 и IPv6
            -- OBJECT      udpEndpointRemoteAddressType
            -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
            --                               ipv6(2), ipv4z(3),
            --                               ipv6z(4) }
            -- DESCRIPTION
            --     Поддержка dns(5) не требуется.
            -- OBJECT      udpEndpointRemoteAddress
            -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
            -- DESCRIPTION
            --     Поддержка требуется только для строк октетов
            --     нулевой длины и наблюдаемых или ненаблюдаемых
            --     адресов IPv4 и IPv6
           "
    MODULE  -- this module
         MANDATORY-GROUPS { udpBaseGroup, udpEndpointGroup }
         GROUP       udpHCGroup
         DESCRIPTION
                "Эта группа является обязательной для систем, оторые
                 способны принимать или передавать более 1 миллиона
                 дейтаграмм в секунду. Скорость 1 миллион дейтаграмм
                 в секунду будет приводить к переполнению счетчиков
                 Counter32 в течение времени чуть больше 1 часа."
    ::= { udpMIBCompliances 2 }
udpMIBCompliance MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
           "Это заявление о соответствии для систем, поддерживающих
            только IPv4 и реализующих UDP. В целях обеспечения
            независимости от версии протокола IP это заявление о
            совместимости отклонено в пользу независимого от версии
            udpMIBCompliance2. Однако агенты по-прежнему поддерживают
            это заявление для обеспечения совместимости с
            установленными программами сетевого управления."
    MODULE  -- this module
        MANDATORY-GROUPS { udpGroup }
    ::= { udpMIBCompliances 1 }
-- Элементы соответствия
udpGroup OBJECT-GROUP
    OBJECTS   { udpInDatagrams, udpNoPorts,
                udpInErrors, udpOutDatagrams,
                udpLocalAddress, udpLocalPort }
    STATUS     deprecated
    DESCRIPTION
           "Устаревшая группа объектов, обеспечивавшая
            управление UDP по протоколу IPv4."
    ::= { udpMIBGroups 1 }
udpBaseGroup OBJECT-GROUP
    OBJECTS   { udpInDatagrams, udpNoPorts, udpInErrors,
                udpOutDatagrams }
    STATUS     current
    DESCRIPTION
           "Группа объектов, обеспечивающая счетчики статистики
            UDP."
    ::= { udpMIBGroups 2 }
udpHCGroup OBJECT-GROUP
    OBJECTS   { udpHCInDatagrams, udpHCOutDatagrams }
    STATUS     current
    DESCRIPTION
           "Группа объектов, обеспечивающая счетчики для
            высокоскоростных реализаций UDP."
    ::= { udpMIBGroups 3 }
udpEndpointGroup OBJECT-GROUP
    OBJECTS    { udpEndpointProcess }
    STATUS     current
    DESCRIPTION
           "Группа объектов, обеспечивающая независимое от
            версии IP управление конечными точками UDP."
    ::= { udpMIBGroups 4 }
END

4. Благодарности

Этот документ содержит обновленные фрагменты RFC 1213 и заменяет собой RFC 2013 и 2454. Благодарим авторов и редакторов этих документов за прекрасно выполненную работу.

5. Участники

Этот документ является результатом работы команды по пересмотру IPv6 MIB и авторов предыдущих версий документа:

  • Bill Fenner, AT&T Labs — Research, Email: moc.ta.hcraeser@rennef
  • Brian Haberman, Email: ten.balsnoitavonni@nairb
  • Shawn A. Routhier, Wind River, Email: moc.eugolipe@ras
  • Juergen Schoenwalder, TU Braunschweig, Email: ed.sb-ut.sc.rbi@wneohcs
  • Dave Thaler, Microsoft, Email: moc.tfosorcim.swodniw@relahtd

В документ включено много текста из RFC1213/RFC2013, подготовленных Keith McCloghrie, и структура MIB следует указанным документам.

Mike Daniele написал исходный документ IPv6 UDP MIB (RFC2454).

Juergen Schoenwalder подготовил много текста для раздела 2.

6. Вопросы безопасности

В данной базе MIB не определено объектов, которые имеют в MAX-ACCESS значение read-write и/или read-create. Следовательно, при корректной реализации MIB не возникает риска создания или изменения злоумышленником объектов в данном модуле MIB с помощью прямых операций SNMP SET.

Некоторые из доступных для чтения объектов в MIB (т.е., объектов, для которых значение MAX-ACCESS отличается от notaccessible), которые могут рассматриваться как уязвимые или чувствительные к атакам в некоторых сетевых средах. Следовательно, важно контролировать доступ к таким объектам с помощью GET и/или NOTIFY и может быть даже шифровать значения этих объектов при передаче данных через сеть по протоколу SNMP. Ниже перечислены таблицы и объекты с указанием их «слабых» мест.

Индексы таблиц udpEndpointTable и udpTable содержат информацию о «слушателях». В частности, объекты udpEndpointLocalPort и udpLocalPort можно использовать для идентификации открытых портов и организации атаки на эти порты без использования сканера портов.

Версии SNMP до SNMPv3 не обеспечивают требуемого уровня безопасности. Даже если сеть обеспечивает безопасность (например, с помощью IPSec), не существует способа контроля доступа для операций GET/SET (чтение/изменение/создание/удаление) по отношению к объектам данного модуля MIB.

Разработчикам рекомендуется рассмотреть средства безопасности, обеспечиваемые протоколом SNMPv3 (см. [RFC3410], глава 8), включая полную поддержку криптографических механизмов SNMPv3 для аутентификации и приватности.

Более того, не рекомендуется развертывать системы SNMP с версиями до SNMPv3. Рекомендуется использовать SNMPv3 и включать криптографические механизмы. В этом случае ответственность за доступ к объектам данного модуля MIB ложится на пользователя/оператора, которому следует настроить конфигурацию таким образом, чтобы соответствующий доступ получали лишь уполномоченные пользователи с четким разделением прав доступа к операциям GET и SET (изменение/создание/удаление).

7. Согласование с IANA

Модуль MIB, описанный в данном документе, использует следующие значения идентификаторов объекта, выделенные IANA и внесенные в реестр SMI Numbers:

Дескриптор Значение OBJECT IDENTIFIER
udp { mib-2 7}
udpMIB { mib-2 50 }

8. Литература

8.1. Нормативные документы

[RFC0768] Postel, J., «Протокол UDP», STD 6, RFC 768, Август 1980.
[RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, «Structure of Management Information Version 2 (SMIv2)», STD 58, RFC 2578, Апрель 1999.
[RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, «Textual Conventions for SMIv2», STD 58, RFC 2579, Апрель 1999.
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, «Conformance Statements for SMIv2», STD 58, RFC 2580, Апрель 1999.
[RFC3418] Presuhn, R., «Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)», STD 62, RFC 3418, Декабрь 2002.
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, «Textual Conventions for Internet Network Addresses», RFC 4001, Февраль 2005.

8.2. Дополнительная литература

[RFC1213] McCloghrie, K. и M. Rose, «Management Information Base for Network Management of TCP/IP-based internets:MIB-II», STD 17, RFC 1213, Март 1991.
[RFC2013] McCloghrie, K., «SNMPv2 Management Information Base for the User Datagram Protocol using SMIv2», RFC 2013, Ноябрь 1996.
[RFC2287] Krupczak, C. и J. Saperia, «Definitions of System-Level Managed Objects for Applications», RFC 2287, Февраль 1998.
[RFC2454] Daniele, M., «IP Version 6 Management Information Base for the User Datagram Protocol», RFC 2454, Декабрь 1998.
[RFC2790] Waldbusser, S. и P. Grillo, «Host Resources MIB», RFC 2790, Март 2000.
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, «Introduction and Applicability Statements for Internet-Standard Management Framework», RFC 3410, Декабрь 2002.

Адреса авторов

Bill Fenner
AT&T Labs — Research

75 Willow Rd
Menlo Park, CA 94025 USA
EMail: moc.tta.hcraeser@rennef

John Flick
Hewlett-Packard Company
8000 Foothills Blvd. M/S 5557
Roseville, CA 95747-5557 USA
EMail: moc.ph@kcilf.nhoj

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