RFC 2454
IP Version 6 Management Information Base for the User Datagram Protocol
RFC 2454: IP Version 6 Management Information Base for the User Datagram Protocol π
okay bestie, RFC 2454 is giving π¦. It came out of the Network Working Group, written by M. Daniele at Compaq Computer Corporation, dated December 1998. It's on the Standards Track. The header doesn't list any RFC it obsoletes or updates, so it's standing on its own β¨
Status of this Memo πΈ
so this doc specifies an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements π . For the standardization state and status of this protocol, check the current edition of "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited π«Ά
Copyright Notice π
Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract π§
this doc is one in a series that defines different MIB objects for IPv6. specifically, it's the MIB module that defines managed objects for implementations of the User Datagram Protocol (UDP) over IP Version 6 (IPv6) π
it also recommends a specific policy on how RFC 2013 applies to IPv6 implementations. the main idea is that most of the managed objects in RFC 2013 don't depend on which IP version UDP runs over. only the UDP listener information is IP version-specific π₯
and finally, this memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in IPv6-based internets π
1. Introduction β¨
okay so a management system has a few main pieces. you've got several (potentially many) nodes, and each one has a processing entity called an agent, which can access the management instrumentation. then there's at least one management station, plus a management protocol that carries management information between the agents and the stations π¦ The protocol runs under an administrative framework that defines authentication, authorization, access control, and privacy policies π
management stations run management applications that monitor and control managed elements. managed elements are things like hosts, routers, terminal servers, etc., and you monitor and control them by accessing their management information π
the management information is a collection of managed objects that live in a virtual information store called the Management Information Base (MIB). related objects get grouped into MIB modules. these modules are written in a subset of OSI's Abstract Syntax Notation One (ASN.1) [1], which is called the Structure of Management Information (SMI) [2] π§
2. Overview πΈ
this doc is one of the series that defines different MIB objects, plus statements of conformance, for IPv6. specifically, it defines the required instrumentation for implementations of UDP over IPv6 π
3. Transparency of IP versions to UDP π¦
the fact that UDP rides over IPv6 instead of IPv4 is basically invisible to a UDP implementation π A "UDPng" didn't need to be defined. implementations just need to support IPv6 addresses β¨
so the managed objects already defined in [UDP MIB] are enough for managing UDP when IPv6 is in the picture. these objects work the same whether the managed node supports IPv4 only, IPv6 only, or both π
for example, udpInDatagrams counts "The total number of UDP datagrams delivered to UDP users", no matter which version of IP was used to deliver any of those datagrams π
stated differently, UDP implementations don't need separate counters for IPv4 and for IPv6. one set is enough π
4. Representing UDP Listeners π
the one exception to section 3 is the udpTable. IPv6 addresses can't be represented with the IpAddress syntax, so not all UDP endpoints can go in the udpTable defined in [UDP MIB] π
this memo defines a new, separate table just for UDP endpoints that use an IPv6 address. UDP endpoints on IPv4 addresses keep being represented in udpTable [UDP MIB] π«Ά
another approach would have been a new table for all UDP endpoints, no matter the IP version. but that would require changes to [UDP MIB], and therefore to existing IPv4-only UDP implementations. the approach in this memo has the advantage of leaving IPv4-only implementations intact π
it's assumed that the objects defined in this memo will eventually be defined in an update to [UDP MIB]. for that reason, the module identity is assigned under the experimental portion of the MIB π§
5. Conformance π
this memo contains the conformance statements that define conformance to this MIB for UDP over IPv6 implementations π₯
6. Definitions π
here's the actual MIB module, copied exactly as written. don't touch a single character π
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
-- 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
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 }
::= { 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
9. Security Considerations β¨
okay bestie, this section is SERIOUS π so let's be careful π«Ά
There are no management objects in this MIB with a MAX-ACCESS clause of read-write and/or read-create. So if this MIB is implemented correctly, there's no risk that an intruder can alter or create any management objects of this MIB via direct SNMP SET operations π
Some managed objects in this MIB could be considered sensitive in some environments. Like, the MIB tells you which UDP ports processes are listening on π. That could be sensitive, since someone might use it to launch denial-of-service or other attacks π, but there are already other ways to get similar info. For example, sending a random UDP packet to an unused port prompts the generation of an ICMP port unreachable message π.
So it may be important in some environments to control read access to these objects, and maybe even encrypt the values when sending them over the network via SNMP. Not all versions of SNMP have features for a secure environment. SNMPv1 by itself doesn't provide encryption or strong authentication π₯.
It is recommended that implementors consider the security features provided by the SNMPv3 framework. Specifically, using the User-based Security Model [RFC2274] and the View-based Access Control Model [RFC2275] is recommended π.
It is then a customer/user responsibility to make sure the SNMP entity giving access to an instance of this MIB is properly configured, so those objects are only given to the principals (users) who have legitimate rights to access them πΈ.
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
11. Full Copyright Statement π
Copyright (C) The Internet Society (1998). All Rights Reserved.
Okay so the rules for copying this one: anyone can copy and share this document and translations of it, and make derivative works that comment on, explain, or help implement it, and publish and distribute those in whole or in part with no restriction of any kind π¦. The catch is the above copyright notice and this paragraph have to be included on all such copies and derivative works. However, this document itself can't be modified in any way, like removing the copyright notice or references to the Internet Society or other Internet organizations. The exceptions are when it's needed for developing Internet standards (then the copyright procedures in the Internet Standards process must be followed) or when it's required to translate it into languages other than English π.
The limited permissions above are perpetual and won't be revoked by the Internet Society or its successors or assigns π.
This document and the information in it 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 π.
π¦ where this page comes from
- ietf: rfc2454 1998-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms