|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Network Working Group M. Daniele |
|
|
Request for Comments: 2452 Compaq Computer Corporation |
|
|
Category: Standards Track December 1998 |
|
|
|
|
|
|
|
|
IP Version 6 Management Information Base |
|
|
for the Transmission Control 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 Transmission |
|
|
Control Protocol (TCP) over IP Version 6 (IPv6). |
|
|
|
|
|
This document also recommends a specific policy with respect to the |
|
|
applicability of RFC 2012 for implementations of IPv6. Namely, that |
|
|
most of managed objects defined in RFC 2012 are independent of which |
|
|
IP versions underlie TCP, and only the TCP connection 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 2452 TCP 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 TCP over |
|
|
IPv6. |
|
|
|
|
|
3. Transparency of IP versions to TCP |
|
|
|
|
|
The fact that a particular TCP connection uses IPv6 as opposed to |
|
|
IPv4, is largely invisible to a TCP implementation. A "TCPng" did |
|
|
not need to be defined, implementations simply need to support IPv6 |
|
|
addresses. |
|
|
|
|
|
As such, the managed objects already defined in [TCP MIB] are |
|
|
sufficient for managing TCP 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, tcpActiveOpens counts "The number of times TCP |
|
|
connections have made a direct transition to the SYN-SENT state from |
|
|
the CLOSED state", regardless of which version of IP is used between |
|
|
the connection endpoints. |
|
|
|
|
|
Stated differently, TCP implementations don't need separate counters |
|
|
for IPv4 and for IPv6. |
|
|
|
|
|
4. Representing TCP Connections |
|
|
|
|
|
The exception to the statements in section 3 is the tcpConnTable. |
|
|
Since IPv6 addresses cannot be represented with the IpAddress syntax, |
|
|
not all TCP connections can be represented in the tcpConnTable |
|
|
defined in [TCP MIB]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 2] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
This memo defines a new, separate table to represent only those TCP |
|
|
connections between IPv6 endpoints. TCP connections between IPv4 |
|
|
endpoints continue to be represented in tcpConnTable [TCP MIB]. (It |
|
|
is not possible to establish a TCP connection between an IPv4 |
|
|
endpoint and an IPv6 endpoint.) |
|
|
|
|
|
A different approach would have been to define a new table to |
|
|
represent all TCP connections regardless of IP version. This would |
|
|
require changes to [TCP MIB] and hence to existing (IPv4-only) TCP |
|
|
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 [TCP 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 TCP over IPv6 implementations. |
|
|
|
|
|
6. Definitions |
|
|
|
|
|
IPV6-TCP-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; |
|
|
|
|
|
ipv6TcpMIB 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 TCP over IPv6." |
|
|
::= { experimental 86 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 3] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
-- objects specific to TCP for IPv6 |
|
|
|
|
|
tcp OBJECT IDENTIFIER ::= { mib-2 6 } |
|
|
|
|
|
-- the TCP over IPv6 Connection table |
|
|
|
|
|
-- This connection table contains information about this |
|
|
-- entity's existing TCP connections between IPv6 endpoints. |
|
|
-- Only connections between IPv6 addresses are contained in |
|
|
-- this table. This entity's connections between IPv4 |
|
|
-- endpoints are contained in tcpConnTable. |
|
|
|
|
|
ipv6TcpConnTable OBJECT-TYPE |
|
|
SYNTAX SEQUENCE OF Ipv6TcpConnEntry |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"A table containing TCP connection-specific information, |
|
|
for only those connections whose endpoints are IPv6 addresses." |
|
|
::= { tcp 16 } |
|
|
|
|
|
ipv6TcpConnEntry OBJECT-TYPE |
|
|
SYNTAX Ipv6TcpConnEntry |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"A conceptual row of the ipv6TcpConnTable containing |
|
|
information about a particular current TCP connection. |
|
|
Each row of this table is transient, in that it ceases to |
|
|
exist when (or soon after) the connection makes the transition |
|
|
to the CLOSED state. |
|
|
|
|
|
Note that conceptual rows in this table require an additional |
|
|
index object compared to tcpConnTable, since IPv6 addresses |
|
|
are not guaranteed to be unique on the managed node." |
|
|
INDEX { ipv6TcpConnLocalAddress, |
|
|
ipv6TcpConnLocalPort, |
|
|
ipv6TcpConnRemAddress, |
|
|
ipv6TcpConnRemPort, |
|
|
ipv6TcpConnIfIndex } |
|
|
::= { ipv6TcpConnTable 1 } |
|
|
|
|
|
Ipv6TcpConnEntry ::= |
|
|
SEQUENCE { ipv6TcpConnLocalAddress Ipv6Address, |
|
|
ipv6TcpConnLocalPort INTEGER (0..65535), |
|
|
ipv6TcpConnRemAddress Ipv6Address, |
|
|
ipv6TcpConnRemPort INTEGER (0..65535), |
|
|
ipv6TcpConnIfIndex Ipv6IfIndexOrZero, |
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 4] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
ipv6TcpConnState INTEGER } |
|
|
|
|
|
ipv6TcpConnLocalAddress OBJECT-TYPE |
|
|
SYNTAX Ipv6Address |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The local IPv6 address for this TCP connection. In |
|
|
the case of a connection in the listen state which |
|
|
is willing to accept connections for any IPv6 |
|
|
address associated with the managed node, the value |
|
|
::0 is used." |
|
|
::= { ipv6TcpConnEntry 1 } |
|
|
|
|
|
ipv6TcpConnLocalPort OBJECT-TYPE |
|
|
SYNTAX INTEGER (0..65535) |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The local port number for this TCP connection." |
|
|
::= { ipv6TcpConnEntry 2 } |
|
|
|
|
|
ipv6TcpConnRemAddress OBJECT-TYPE |
|
|
SYNTAX Ipv6Address |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The remote IPv6 address for this TCP connection." |
|
|
::= { ipv6TcpConnEntry 3 } |
|
|
|
|
|
ipv6TcpConnRemPort OBJECT-TYPE |
|
|
SYNTAX INTEGER (0..65535) |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The remote port number for this TCP connection." |
|
|
::= { ipv6TcpConnEntry 4 } |
|
|
|
|
|
ipv6TcpConnIfIndex OBJECT-TYPE |
|
|
SYNTAX Ipv6IfIndexOrZero |
|
|
MAX-ACCESS not-accessible |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"An index object used to disambiguate conceptual rows in |
|
|
the table, since the connection 4-tuple may not be unique. |
|
|
|
|
|
If the connection's remote address (ipv6TcpConnRemAddress) |
|
|
is a link-local address and the connection's local address |
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 5] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
(ipv6TcpConnLocalAddress) is not a link-local address, this |
|
|
object identifies a local interface on the same link as |
|
|
the connection's remote link-local address. |
|
|
|
|
|
Otherwise, this object identifies the local interface that |
|
|
is associated with the ipv6TcpConnLocalAddress for this |
|
|
TCP connection. 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 ipv6TcpConnLocalAddress 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 the TCP connection." |
|
|
::= { ipv6TcpConnEntry 5 } |
|
|
|
|
|
ipv6TcpConnState OBJECT-TYPE |
|
|
SYNTAX INTEGER { |
|
|
closed(1), |
|
|
listen(2), |
|
|
synSent(3), |
|
|
synReceived(4), |
|
|
established(5), |
|
|
finWait1(6), |
|
|
finWait2(7), |
|
|
closeWait(8), |
|
|
lastAck(9), |
|
|
closing(10), |
|
|
timeWait(11), |
|
|
deleteTCB(12) } |
|
|
MAX-ACCESS read-write |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The state of this TCP connection. |
|
|
|
|
|
The only value which may be set by a management station is |
|
|
deleteTCB(12). Accordingly, it is appropriate for an agent |
|
|
to return an error response (`badValue' for SNMPv1, 'wrongValue' |
|
|
for SNMPv2) if a management station attempts to set this |
|
|
object to any other value. |
|
|
|
|
|
If a management station sets this object to the value |
|
|
deleteTCB(12), then this has the effect of deleting the TCB |
|
|
(as defined in RFC 793) of the corresponding connection on |
|
|
the managed node, resulting in immediate termination of the |
|
|
connection. |
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 6] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
As an implementation-specific option, a RST segment may be |
|
|
sent from the managed node to the other TCP endpoint (note |
|
|
however that RST segments are not sent reliably)." |
|
|
::= { ipv6TcpConnEntry 6 } |
|
|
|
|
|
-- |
|
|
-- conformance information |
|
|
-- |
|
|
|
|
|
ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 } |
|
|
|
|
|
ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 } |
|
|
ipv6TcpGroups OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 } |
|
|
|
|
|
-- compliance statements |
|
|
|
|
|
ipv6TcpCompliance MODULE-COMPLIANCE |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The compliance statement for SNMPv2 entities which |
|
|
implement TCP over IPv6." |
|
|
MODULE -- this module |
|
|
MANDATORY-GROUPS { ipv6TcpGroup } |
|
|
::= { ipv6TcpCompliances 1 } |
|
|
|
|
|
ipv6TcpGroup OBJECT-GROUP |
|
|
OBJECTS { -- these are defined in this module |
|
|
-- ipv6TcpConnLocalAddress (not-accessible) |
|
|
-- ipv6TcpConnLocalPort (not-accessible) |
|
|
-- ipv6TcpConnRemAddress (not-accessible) |
|
|
-- ipv6TcpConnRemPort (not-accessible) |
|
|
-- ipv6TcpConnIfIndex (not-accessible) |
|
|
ipv6TcpConnState } |
|
|
STATUS current |
|
|
DESCRIPTION |
|
|
"The group of objects providing management of |
|
|
TCP over IPv6." |
|
|
::= { ipv6TcpGroups 1 } |
|
|
|
|
|
END |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 7] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
[TCP MIB] SNMPv2 Working Group, McCloghrie, K., Editor, "SNMPv2 |
|
|
Management Information Base for the Transmission |
|
|
Control Protocol using SMIv2", RFC 2012, 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. |
|
|
|
|
|
[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 |
|
|
|
|
|
This MIB contains a management object that has a MAX-ACCESS clause of |
|
|
read-write and/or read-create. In particular, it is possible to |
|
|
delete individual TCP control blocks (i.e., connections). |
|
|
|
|
|
|
|
|
|
|
|
Daniele Standards Track [Page 8] |
|
|
|
|
|
RFC 2452 TCP MIB for IPv6 December 1998 |
|
|
|
|
|
|
|
|
Consequently, anyone having the ability to issue a SET on this object |
|
|
can impact the operation of the node. |
|
|
|
|
|
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 the active TCP connections on the |
|
|
node. 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 TCP |
|
|
packet to an unused port prompts the generation of a TCP reset |
|
|
message. |
|
|
|
|
|
Therefore, it may be important in some environments to control read |
|
|
and/or write 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. |
|
|
|
|
|
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 9] |
|
|
|
|
|
RFC 2452 TCP 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 10] |
|
|
|
|
|
|