RFC 4113 Management Information Base for the User Datagram Protocol (UDP)

Network Working Group                                      B. Fenner
Request for Comments: 4113                      AT&T Labs - Research
Obsoletes: 2454, 2013                                       J. Flick
Category: Standards Track                    Hewlett-Packard Company
                                                           June 2005

MIB для протокола UDP

Management Information Base for the User Datagram Protocol (UDP)

PDF

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

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

Аннотация

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

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

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

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

2. Обзор

В этом документе определяется часть MIB для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет управляемые объекты, которые используются для реализации протокола UDP5 независимо от версии 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: <fenner@research.att.com>

               John Flick (editor)

               Hewlett-Packard Company
               8000 Foothills Blvd. M/S 5557
               Roseville, CA 95747

               Phone: +1 916 785 4018
               Email: <john.flick@hp.com>

               Send comments to <ipv6@ietf.org>"

       DESCRIPTION
              "The MIB module for managing UDP implementations.
               Copyright (C) The Internet Society (2005).  This
               version of this MIB module is part of RFC 4113;
               see the RFC itself for full legal notices."
       REVISION      "200505200000Z"  -- May 20, 2005
       DESCRIPTION
              "IP version neutral revision, incorporating the
               following revisions:

               - Added udpHCInDatagrams and udpHCOutDatagrams in order
                 to provide high-capacity counters for fast networks.
               - Added text to the descriptions of all counter objects
                 to indicate how discontinuities are detected.
               - Deprecated the IPv4-specific udpTable and replaced it
                 with the version neutral udpEndpointTable.  This
                 table includes support for connected UDP endpoints
                 and support for identification of the operating
                 system process associated with a UDP endpoint.
               - Deprecated the udpGroup and replaced it with object
                 groups representing the current set of objects.
               - Deprecated udpMIBCompliance and replaced it with
                 udpMIBCompliance2, which includes the compliance
                 information for the new object groups.

               This version published as RFC 4113."
       REVISION      "199411010000Z"    -- November 1, 1994
       DESCRIPTION
              "Initial SMIv2 version, published as RFC 2013."
       REVISION      "199103310000Z"    -- March 31, 1991
       DESCRIPTION
              "The initial revision of this MIB module was part of
               MIB-II, published as RFC 1213."
       ::= { mib-2 50 }

   -- the UDP group

   udp      OBJECT IDENTIFIER ::= { mib-2 7 }

   udpInDatagrams OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
              "The total number of UDP datagrams delivered to UDP
               users.
               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 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
              "The number of received UDP datagrams that could not be
               delivered for reasons other than the lack of an
               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 3 }

   udpOutDatagrams OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
              "The total number of UDP datagrams sent from this
               entity.

               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 4 }

   udpHCInDatagrams OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
              "The total number of UDP datagrams delivered to UDP
               users, for devices that can receive more than 1
               million UDP datagrams per second.

               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 8 }

   udpHCOutDatagrams OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
              "The total number of UDP datagrams sent from this
               entity, for devices that can transmit more than 1
               million UDP datagrams per second.

               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 9 }

   --
   -- { udp 6 } was defined as the ipv6UdpTable in RFC2454's
   -- IPV6-UDP-MIB.  This RFC obsoletes RFC 2454, so { udp 6 } is
   -- obsoleted.
   --

   -- The UDP "Endpoint" table.

   udpEndpointTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF UdpEndpointEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "A table containing information about this entity's UDP
               endpoints on which a local application is currently
               accepting or sending datagrams.
               The address type in this table represents the address
               type used for the communication, irrespective of the
               higher-layer abstraction.  For example, an application
               using IPv6 'sockets' to communicate via IPv4 between
               ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use
               InetAddressType ipv4(1).

               Unlike the udpTable in RFC 2013, this table also allows
               the representation of an application that completely
               specifies both local and remote addresses and ports.  A
               listening application is represented in three possible
               ways:

               1) An application that is willing to accept both IPv4
                  and IPv6 datagrams is represented by a
                  udpEndpointLocalAddressType of unknown(0) and a
                  udpEndpointLocalAddress of ''h (a zero-length
                  octet-string).

               2) An application that is willing to accept only IPv4
                  or only IPv6 datagrams is represented by a
                  udpEndpointLocalAddressType of the appropriate
                  address type and a udpEndpointLocalAddress of
                  '0.0.0.0' or '::' respectively.

               3) An application that is listening for datagrams only
                  for a specific IP address but from any remote
                  system is represented by a
                  udpEndpointLocalAddressType of the appropriate
                  address type, with udpEndpointLocalAddress
                  specifying the local address.

               In all cases where the remote is a wildcard, the
               udpEndpointRemoteAddressType is unknown(0), the
               udpEndpointRemoteAddress is ''h (a zero-length
               octet-string), and the udpEndpointRemotePort is 0.

               If the operating system is demultiplexing UDP packets
               by remote address and port, or if the application has
               'connected' the socket specifying a default remote
               address and port, the udpEndpointRemote* values should
               be used to reflect this."
       ::= { udp 7 }

   udpEndpointEntry OBJECT-TYPE
       SYNTAX     UdpEndpointEntry
       MAX-ACCESS not-accessible
       STATUS     current

       DESCRIPTION
              "Information about a particular current UDP endpoint.

               Implementers need to be aware that if the total number
               of elements (octets or sub-identifiers) in
               udpEndpointLocalAddress and udpEndpointRemoteAddress
               exceeds 111, then OIDs of column instances in this table
               will have more than 128 sub-identifiers and cannot be
               accessed using SNMPv1, SNMPv2c, or 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
              "The address type of udpEndpointLocalAddress.  Only
               IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
               unknown(0) if datagrams for all local IP addresses are
               accepted."
       ::= { udpEndpointEntry 1 }

   udpEndpointLocalAddress OBJECT-TYPE
       SYNTAX     InetAddress
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "The local IP address for this UDP endpoint.

               The value of this object can be represented in three
               possible ways, depending on the characteristics of the
               listening application:

               1. For an application that is willing to accept both
                  IPv4 and IPv6 datagrams, the value of this object
                  must be ''h (a zero-length octet-string), with
                  the value of the corresponding instance of the
                  udpEndpointLocalAddressType object being unknown(0).

               2. For an application that is willing to accept only IPv4
                  or only IPv6 datagrams, the value of this object
                  must be '0.0.0.0' or '::', respectively, while the
                  corresponding instance of the
                  udpEndpointLocalAddressType object represents the
                  appropriate address type.

               3. For an application that is listening for data
                  destined only to a specific IP address, the value
                  of this object is the specific IP address for which
                  this node is receiving packets, with the
                  corresponding instance of the
                  udpEndpointLocalAddressType object representing the
                  appropriate address type.

               As this object is used in the index for the
               udpEndpointTable, implementors of this table should be
               careful not to create entries that would result in OIDs
               with more than 128 subidentifiers; else the information
               cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
       ::= { udpEndpointEntry 2 }

   udpEndpointLocalPort OBJECT-TYPE
       SYNTAX     InetPortNumber
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "The local port number for this UDP endpoint."
       ::= { udpEndpointEntry 3 }

   udpEndpointRemoteAddressType OBJECT-TYPE
       SYNTAX     InetAddressType
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "The address type of udpEndpointRemoteAddress.  Only
               IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
               unknown(0) if datagrams for all remote IP addresses are
               accepted.  Also, note that some combinations of
               udpEndpointLocalAdressType and
               udpEndpointRemoteAddressType are not supported.  In
               particular, if the value of this object is not
               unknown(0), it is expected to always refer to the
               same IP version as udpEndpointLocalAddressType."
       ::= { udpEndpointEntry 4 }

   udpEndpointRemoteAddress OBJECT-TYPE
       SYNTAX     InetAddress
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "The remote IP address for this UDP endpoint.  If
               datagrams from any remote system are to be accepted,
               this value is ''h (a zero-length octet-string).
               Otherwise, it has the type described by
               udpEndpointRemoteAddressType and is the address of the
               remote system from which datagrams are to be accepted
               (or to which all datagrams will be sent).

               As this object is used in the index for the
               udpEndpointTable, implementors of this table should be
               careful not to create entries that would result in OIDs
               with more than 128 subidentifiers; else the information
               cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
       ::= { udpEndpointEntry 5 }

   udpEndpointRemotePort OBJECT-TYPE
       SYNTAX     InetPortNumber
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "The remote port number for this UDP endpoint.  If
               datagrams from any remote system are to be accepted,
               this value is zero."
       ::= { udpEndpointEntry 6 }

   udpEndpointInstance OBJECT-TYPE
       SYNTAX     Unsigned32 (1..'ffffffff'h)
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
              "The instance of this tuple.  This object is used to
               distinguish among multiple processes 'connected' to
               the same UDP endpoint.  For example, on a system
               implementing the BSD sockets interface, this would be
               used to support the SO_REUSEADDR and SO_REUSEPORT
               socket options."

       ::= { 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 }

   -- The deprecated UDP Listener table

   -- The deprecated UDP listener table only contains information
   -- about this entity's IPv4 UDP end-points on which a local
   -- application is currently accepting datagrams.  It does not
   -- provide more detailed connection information, or information
   -- about IPv6 endpoints.

   udpTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF UdpEntry
       MAX-ACCESS not-accessible
       STATUS     deprecated
       DESCRIPTION
              "A table containing IPv4-specific UDP listener
               information.  It contains information about all local
               IPv4 UDP end-points on which an application is
               currently accepting datagrams.  This table has been
               deprecated in favor of the version neutral
               udpEndpointTable."
       ::= { udp 5 }

   udpEntry OBJECT-TYPE
       SYNTAX     UdpEntry
       MAX-ACCESS not-accessible
       STATUS     deprecated
       DESCRIPTION
              "Information about a particular current UDP listener."
       INDEX   { udpLocalAddress, udpLocalPort }
       ::= { udpTable 1 }

   UdpEntry ::= SEQUENCE {
       udpLocalAddress   IpAddress,
       udpLocalPort      Integer32
   }

   udpLocalAddress OBJECT-TYPE
       SYNTAX     IpAddress
       MAX-ACCESS read-only
       STATUS     deprecated
       DESCRIPTION
              "The local IP address for this UDP listener.  In the
               case of a UDP listener that is willing to accept
               datagrams for any IP interface associated with the
               node, the value 0.0.0.0 is used."
       ::= { udpEntry 1 }

   udpLocalPort OBJECT-TYPE
       SYNTAX     Integer32 (0..65535)
       MAX-ACCESS read-only
       STATUS     deprecated
       DESCRIPTION
              "The local port number for this UDP listener."
       ::= { udpEntry 2 }

   -- conformance information

   udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }
   udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
   udpMIBGroups      OBJECT IDENTIFIER ::= { udpMIBConformance 2 }

   -- compliance statements

   udpMIBCompliance2 MODULE-COMPLIANCE
       STATUS     current
       DESCRIPTION
              "The compliance statement for systems that implement
               UDP.

               There are a number of INDEX objects that cannot be
               represented in the form of OBJECT clauses in SMIv2, but
               for which we have the following compliance
               requirements, expressed in OBJECT clause form in this
               description clause:

               -- OBJECT      udpEndpointLocalAddressType
               -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
               --                               ipv6(2), ipv4z(3),
               --                               ipv6z(4) }
               -- DESCRIPTION
               --     Support for dns(5) is not required.
               -- OBJECT      udpEndpointLocalAddress
               -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
               -- DESCRIPTION
               --     Support is only required for zero-length
               --     octet-strings, and for scoped and unscoped
               --     IPv4 and IPv6 addresses.
               -- OBJECT      udpEndpointRemoteAddressType
               -- SYNTAX      InetAddressType { unknown(0), ipv4(1),
               --                               ipv6(2), ipv4z(3),
               --                               ipv6z(4) }
               -- DESCRIPTION
               --     Support for dns(5) is not required.
               -- OBJECT      udpEndpointRemoteAddress
               -- SYNTAX      InetAddress (SIZE(0|4|8|16|20))
               -- DESCRIPTION
               --     Support is only required for zero-length
               --     octet-strings, and for scoped and unscoped
               --     IPv4 and IPv6 addresses.
              "
       MODULE  -- this module
            MANDATORY-GROUPS { udpBaseGroup, udpEndpointGroup }
            GROUP       udpHCGroup
            DESCRIPTION
                   "This group is mandatory for systems that
                    are capable of receiving or transmitting more than
                    1 million UDP datagrams per second.  1 million
                    datagrams per second will cause a Counter32 to
                    wrap in just over an hour."
       ::= { udpMIBCompliances 2 }

   udpMIBCompliance MODULE-COMPLIANCE
       STATUS     deprecated
       DESCRIPTION
              "The compliance statement for IPv4-only systems that
               implement UDP.  For IP version independence, this
               compliance statement is deprecated in favor of
               udpMIBCompliance2.  However, agents are still
               encouraged to implement these objects in order to
               interoperate with the deployed base of managers."
       MODULE  -- this module
           MANDATORY-GROUPS { udpGroup }
       ::= { udpMIBCompliances 1 }

   -- units of conformance

   udpGroup OBJECT-GROUP
       OBJECTS   { udpInDatagrams, udpNoPorts,
                   udpInErrors, udpOutDatagrams,
                   udpLocalAddress, udpLocalPort }
       STATUS     deprecated
       DESCRIPTION
              "The deprecated group of objects providing for
               management of UDP over IPv4."
       ::= { udpMIBGroups 1 }

   udpBaseGroup OBJECT-GROUP
       OBJECTS   { udpInDatagrams, udpNoPorts, udpInErrors,
                   udpOutDatagrams }
       STATUS     current
       DESCRIPTION
              "The group of objects providing for counters of UDP
               statistics."
       ::= { udpMIBGroups 2 }

   udpHCGroup OBJECT-GROUP
       OBJECTS   { udpHCInDatagrams, udpHCOutDatagrams }
       STATUS     current
       DESCRIPTION
              "The group of objects providing for counters of high
               speed UDP implementations."
       ::= { udpMIBGroups 3 }

   udpEndpointGroup OBJECT-GROUP
       OBJECTS    { udpEndpointProcess }
       STATUS     current
       DESCRIPTION
              "The group of objects providing for the IP version
               independent management of UDP 'endpoints'."
       ::= { udpMIBGroups 4 }

   END

 

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

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

5. Участники

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

Bill Fenner, AT&T Labs — Research

Email: fenner@research.at.com

 

Brian Haberman

Email: brian@innovationslab.net

 

Shawn A. Routhier, Wind River

Email: sar@epilogue.com

 

Juergen Schoenwalder, TU Braunschweig

Email: schoenw@ibr.cs.tu-bs.de

 

Dave Thaler, Microsoft

Email: dthaler@windows.microsoft.com

 

В документ включено много текста из 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 отличается от not-accessible), которые могут рассматриваться как уязвимые или чувствительные к атакам в некоторых сетевых средах. Следовательно, важно контролировать доступ к таким объектам с помощью 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., «User Datagram Protocol», STD 6, RFC 768, August 1980.

[RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, «Structure of Management Information Version 2 (SMIv2)», STD 58, RFC 2578, April 1999.

[RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, «Textual Conventions for SMIv2», STD 58, RFC 2579, April 1999.

[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, «Conformance Statements for SMIv2», STD 58, RFC 2580, April 1999.

[RFC3418] Presuhn, R., «Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)», STD 62, RFC 3418, December 2002.

[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, «Textual Conventions for Internet Network Addresses», RFC 4001, February 2005.

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

[RFC1213] McCloghrie, K. and M. Rose, «Management Information Base for Network Management of TCP/IP-based internets:MIB-II», STD 17, RFC 1213, March 1991.

[RFC2013] McCloghrie, K., «SNMPv2 Management Information Base for the User Datagram Protocol using SMIv2», RFC 2013, November 1996.

[RFC2287] Krupczak, C. and J. Saperia, «Definitions of System-Level Managed Objects for Applications», RFC 2287, February 1998.

[RFC2454] Daniele, M., «IP Version 6 Management Information Base for the User Datagram Protocol», RFC 2454, December 1998.

[RFC2790] Waldbusser, S. and P. Grillo, «Host Resources MIB», RFC 2790, March 2000.

[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, «Introduction and Applicability Statements for Internet-Standard Management Framework», RFC 3410, December 2002.

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

Bill Fenner

AT&T Labs — Research

75 Willow Rd

Menlo Park, CA 94025

USA

EMail: fenner@research.att.com

 

John Flick

Hewlett-Packard Company

8000 Foothills Blvd. M/S 5557

Roseville, CA 95747-5557

USA

EMail: john.flick@hp.com


Перевод на русский язык

Николай Малых

nmalykh@gmail.com

Полное заявление авторских прав

Copyright (C) The Internet Society (2005).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.

Подтверждение

Финансирование функций RFC Editor обеспечивается Internet Society.


1Management Information Base

2User Datagram Protocol

3Simple Network Management Protocol – простой протокол сетевого управления.

4Structure of Management Information – структура данных управления.

5User Datagram Protocol

 

Запись опубликована в рубрике RFC. Добавьте в закладки постоянную ссылку.