Network Working Group                                      M. Daniele
Request for Comments: 2454                Compaq Computer Corporation
Category: Standards Track                               December 1998


               IP Version 6 Management Information Base
                    for the User Datagram Protocol

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

Abstract

   This document is one in the series of documents that define various
   MIB objects for IPv6.  Specifically, this document is the MIB module
   which defines managed objects for implementations of the User
   Datagram Protocol (UDP) over IP Version 6 (IPv6).

   This document also recommends a specific policy with respect to the
   applicability of RFC 2013 for implementations of IPv6.  Namely, that
   most of managed objects defined in RFC 2013 are independent of which
   IP versions underlie UDP, and only the UDP listener information is IP
   version-specific.

   This memo defines an experimental portion of the Management
   Information Base (MIB) for use with network management protocols in
   IPv6-based internets.

1.  Introduction

   A management system contains: several (potentially many) nodes, each
   with a processing entity, termed an agent, which has access to
   management instrumentation; at least one management station; and, a
   management protocol, used to convey management information between
   the agents and management stations.  Operations of the protocol are
   carried out under an administrative framework which defines
   authentication, authorization, access control, and privacy policies.





Daniele                     Standards Track                     [Page 1]


RFC 2454                    UDP MIB for IPv6               December 1998


   Management stations execute management applications which monitor and
   control managed elements.  Managed elements are devices such as
   hosts, routers, terminal servers, etc., which are monitored and
   controlled via access to their management information.

   Management information is viewed as a collection of managed objects,
   residing in a virtual information store, termed the Management
   Information Base (MIB).  Collections of related objects are defined
   in MIB modules.  These modules are written using a subset of OSI's
   Abstract Syntax Notation One (ASN.1) [1], termed the Structure of
   Management Information (SMI) [2].

2.  Overview

   This document is one in the series of documents that define various
   MIB objects, and statements of conformance, for IPv6.  This document
   defines the required instrumentation for implementations of UDP over
   IPv6.

3.  Transparency of IP versions to UDP

   The fact that UDP is carried over IPv6 as opposed to IPv4, is largely
   invisible to a UDP implementation.  A "UDPng" did not need to be
   defined, implementations simply need to support IPv6 addresses.

   As such, the managed objects already defined in [UDP MIB] are
   sufficient for managing UDP in the presence of IPv6.  These objects
   are equally applicable whether the managed node supports IPv4 only,
   IPv6 only, or both IPv4 and IPv6.

   For example, udpInDatagrams counts "The total number of UDP datagrams
   delivered to UDP users", regardless of which version of IP is used to
   deliver any of those datagrams.

   Stated differently, UDP implementations don't need separate counters
   for IPv4 and for IPv6.

4.  Representing UDP Listeners

   The exception to the statements in section 3 is the udpTable.  Since
   IPv6 addresses cannot be represented with the IpAddress syntax, not
   all UDP endpoints can be represented in the udpTable defined in [UDP
   MIB].

   This memo defines a new, separate table to represent only those UDP
   endpoints that utilize an IPv6 address.  UDP endpoints on IPv4
   addresses continue to be represented in udpTable [UDP MIB].




Daniele                     Standards Track                     [Page 2]


RFC 2454                    UDP MIB for IPv6               December 1998


   A different approach would have been to define a new table to
   represent all UDP endpoints regardless of IP version.  This would
   require changes to [UDP MIB] and hence to existing (IPv4-only) UDP
   implementations.  The approach suggested in this memo has the
   advantage of leaving IPv4-only implementations intact.

   It is assumed that the objects defined in this memo will eventually
   be defined in an update to [UDP MIB].  For this reason, the module
   identity is assigned under the experimental portion of the MIB.

5.  Conformance

   This memo contains conformance statements to define conformance to
   this MIB for UDP over IPv6 implementations.

6.  Definitions

IPV6-UDP-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-COMPLIANCE, OBJECT-GROUP      FROM SNMPv2-CONF
   MODULE-IDENTITY, OBJECT-TYPE,
   mib-2, experimental                  FROM SNMPv2-SMI
   Ipv6Address, Ipv6IfIndexOrZero       FROM IPV6-TC;

ipv6UdpMIB MODULE-IDENTITY
   LAST-UPDATED "9801290000Z"
   ORGANIZATION "IETF IPv6 MIB Working Group"
   CONTACT-INFO
        "               Mike Daniele

                Postal: Compaq Computer Corporation
                        110 Spitbrook Rd
                        Nashua, NH 03062.
                        US

                Phone:  +1 603 884 1423
                Email:  daniele@zk3.dec.com"
   DESCRIPTION
        "The MIB module for entities implementing UDP over IPv6."
   ::= { experimental 87 }

-- objects specific to UDP for IPv6

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

-- the UDP over IPv6 Listener table




Daniele                     Standards Track                     [Page 3]


RFC 2454                    UDP MIB for IPv6               December 1998


-- This table contains information about this entity's
-- UDP/IPv6 endpoints.  Only endpoints utilizing IPv6 addresses
-- are contained in this table.  This entity's UDP/IPv4 endpoints
-- are contained in udpTable.

ipv6UdpTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF Ipv6UdpEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
        "A table containing UDP listener information for
         UDP/IPv6 endpoints."
   ::= { udp 6 }

ipv6UdpEntry OBJECT-TYPE
   SYNTAX      Ipv6UdpEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
        "Information about a particular current UDP listener.

         Note that conceptual rows in this table require an
         additional index object compared to udpTable, since
         IPv6 addresses are not guaranteed to be unique on the
         managed node."
   INDEX   { ipv6UdpLocalAddress,
             ipv6UdpLocalPort,
             ipv6UdpIfIndex }
   ::= { ipv6UdpTable 1 }

Ipv6UdpEntry ::= SEQUENCE {
   ipv6UdpLocalAddress    Ipv6Address,
   ipv6UdpLocalPort       INTEGER (0..65535),
   ipv6UdpIfIndex         Ipv6IfIndexOrZero }

ipv6UdpLocalAddress OBJECT-TYPE
   SYNTAX       Ipv6Address
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
        "The local IPv6 address for this UDP listener.
         In the case of a UDP listener which is willing
         to accept datagrams for any IPv6 address
         associated with the managed node, the value ::0
         is used."
   ::= { ipv6UdpEntry 1 }

ipv6UdpLocalPort OBJECT-TYPE



Daniele                     Standards Track                     [Page 4]


RFC 2454                    UDP MIB for IPv6               December 1998


    SYNTAX     INTEGER (0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The local port number for this UDP listener."
    ::= { ipv6UdpEntry 2 }

ipv6UdpIfIndex OBJECT-TYPE
   SYNTAX     Ipv6IfIndexOrZero
   MAX-ACCESS   read-only
   STATUS     current
   DESCRIPTION
        "An index object used to disambiguate conceptual rows in
         the table, since the ipv6UdpLocalAddress/ipv6UdpLocalPort
         pair may not be unique.

         This object identifies the local interface that is
         associated with ipv6UdpLocalAddress for this UDP listener.
         If such a local interface cannot be determined, this object
         should take on the value 0.  (A possible example of this
         would be if the value of ipv6UdpLocalAddress is ::0.)

         The interface identified by a particular non-0 value of
         this index is the same interface as identified by the same
         value of ipv6IfIndex.

         The value of this object must remain constant during
         the life of this UDP endpoint."
   ::= { ipv6UdpEntry 3 }

--
-- conformance information
--

ipv6UdpConformance OBJECT IDENTIFIER ::= { ipv6UdpMIB 2 }

ipv6UdpCompliances OBJECT IDENTIFIER ::= { ipv6UdpConformance 1 }
ipv6UdpGroups      OBJECT IDENTIFIER ::= { ipv6UdpConformance 2 }

-- compliance statements

ipv6UdpCompliance MODULE-COMPLIANCE
   STATUS  current
   DESCRIPTION
        "The compliance statement for SNMPv2 entities which
         implement UDP over IPv6."
   MODULE  -- this module
   MANDATORY-GROUPS { ipv6UdpGroup }



Daniele                     Standards Track                     [Page 5]


RFC 2454                    UDP MIB for IPv6               December 1998


   ::= { ipv6UdpCompliances 1 }

ipv6UdpGroup OBJECT-GROUP
   OBJECTS   { -- these are defined in this module
               -- ipv6UdpLocalAddress (not-accessible)
               -- ipv6UdpLocalPort (not-accessible)
               ipv6UdpIfIndex }
   STATUS    current
   DESCRIPTION
        "The group of objects providing management of
         UDP over IPv6."
   ::= { ipv6UdpGroups 1 }

END

7.  Acknowledgments

   This memo is a product of the IPng work group, and benefited
   especially from the contributions of the following working group
   members:

      Dimitry Haskin          Bay Networks
      Margaret Forsythe       Epilogue
      Tim Hartrick            Mentat
      Frank Solensky          FTP
      Jack McCann             DEC

8.  References

   [1]           Information processing systems - Open Systems
                 Interconnection - Specification of Abstract Syntax
                 Notation One (ASN.1), International Organization for
                 Standardization.  International Standard 8824,
                 (December, 1987).

   [2]           McCloghrie, K., Editor, "Structure of Management
                 Information for version 2 of the Simple Network
                 Management Protocol (SNMPv2)", RFC 1902, January 1996.

   [UDP MIB]     SNMPv2 Working Group, McCloghrie, K., Editor, "SNMPv2
                 Management Information Base for the User Datagram
                 Protocol using SMIv2", RFC 2013, November 1996.

   [IPV6 MIB TC] Haskin, D., and S. Onishi, "Management Information Base
                 for IP Version 6: Textual Conventions and General
                 Group", RFC 2465, December 1998.





Daniele                     Standards Track                     [Page 6]


RFC 2454                    UDP MIB for IPv6               December 1998


   [IPV6]        Deering, S., and R. Hinden, "Internet Protocol, Version
                 6 (IPv6) Specification", RFC 2460, December 1998.

   [RFC2274]     Blumenthal, U., and B. Wijnen, "The User-Based Security
                 Model for Version 3 of the Simple Network Management
                 Protocol (SNMPv3)", RFC 2274, January 1998.

   [RFC2275]     Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
                 Access Control Model for the Simple Network Management
                 Protocol (SNMP)", RFC 2275, January 1998.

9.  Security Considerations

   There are no management objects defined in this MIB that have a MAX-
   ACCESS clause of read-write and/or read-create.  So, if this MIB is
   implemented correctly, then there is no risk that an intruder can
   alter or create any management objects of this MIB via direct SNMP
   SET operations.

   There are a number of managed objects in this MIB that may be
   considered to contain sensitive information in some environments.
   For example, the MIB identifies UDP ports on which processes are
   listening.  Although this information might be considered sensitive
   in some environments (i.e., to identify ports on which to launch
   denial-of-service or other attacks), there are already other ways of
   obtaining similar information.  For example, sending a random UDP
   packet to an unused port prompts the generation of an ICMP port
   unreachable message.

   Therefore, it may be important in some environments to control read
   access to these objects and possibly to even encrypt the values of
   these object when sending them over the network via SNMP.  Not all
   versions of SNMP provide features for such a secure environment.
   SNMPv1 by itself does not provide encryption or strong
   authentication.

   It is recommended that the implementors consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model [RFC2274] and the View-based Access
   Control Model [RFC2275] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to those objects only to those principals
   (users) that have legitimate rights to access them.






Daniele                     Standards Track                     [Page 7]


RFC 2454                    UDP MIB for IPv6               December 1998


10. Author's Address

   Mike Daniele
   Compaq Computer Corporation
   110 Spit Brook Rd
   Nashua, NH 03062

   Phone: +1-603-884-1423
   EMail: daniele@zk3.dec.com










































Daniele                     Standards Track                     [Page 8]


RFC 2454                    UDP MIB for IPv6               December 1998


11.  Full Copyright Statement

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
























Daniele                     Standards Track                     [Page 9]