home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2452.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  19.2 KB  |  564 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                      M. Daniele
  8. Request for Comments: 2452                Compaq Computer Corporation
  9. Category: Standards Track                               December 1998
  10.  
  11.  
  12.                IP Version 6 Management Information Base
  13.                  for the Transmission Control Protocol
  14.  
  15. Status of this Memo
  16.  
  17.    This document specifies an Internet standards track protocol for the
  18.    Internet community, and requests discussion and suggestions for
  19.    improvements.  Please refer to the current edition of the "Internet
  20.    Official Protocol Standards" (STD 1) for the standardization state
  21.    and status of this protocol.  Distribution of this memo is unlimited.
  22.  
  23. Copyright Notice
  24.  
  25.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  26.  
  27. Abstract
  28.  
  29.    This document is one in the series of documents that define various
  30.    MIB objects for IPv6.  Specifically, this document is the MIB module
  31.    which defines managed objects for implementations of the Transmission
  32.    Control Protocol (TCP) over IP Version 6 (IPv6).
  33.  
  34.    This document also recommends a specific policy with respect to the
  35.    applicability of RFC 2012 for implementations of IPv6.  Namely, that
  36.    most of managed objects defined in RFC 2012 are independent of which
  37.    IP versions underlie TCP, and only the TCP connection information is
  38.    IP version-specific.
  39.  
  40.    This memo defines an experimental portion of the Management
  41.    Information Base (MIB) for use with network management protocols in
  42.    IPv6-based internets.
  43.  
  44. 1.  Introduction
  45.  
  46.    A management system contains: several (potentially many) nodes, each
  47.    with a processing entity, termed an agent, which has access to
  48.    management instrumentation; at least one management station; and, a
  49.    management protocol, used to convey management information between
  50.    the agents and management stations.  Operations of the protocol are
  51.    carried out under an administrative framework which defines
  52.    authentication, authorization, access control, and privacy policies.
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Daniele                     Standards Track                     [Page 1]
  59.  
  60. RFC 2452                    TCP MIB for IPv6               December 1998
  61.  
  62.  
  63.    Management stations execute management applications which monitor and
  64.    control managed elements.  Managed elements are devices such as
  65.    hosts, routers, terminal servers, etc., which are monitored and
  66.    controlled via access to their management information.
  67.  
  68.    Management information is viewed as a collection of managed objects,
  69.    residing in a virtual information store, termed the Management
  70.    Information Base (MIB).  Collections of related objects are defined
  71.    in MIB modules.  These modules are written using a subset of OSI's
  72.    Abstract Syntax Notation One (ASN.1) [1], termed the Structure of
  73.    Management Information (SMI) [2].
  74.  
  75. 2.  Overview
  76.  
  77.    This document is one in the series of documents that define various
  78.    MIB objects, and statements of conformance, for IPv6.  This document
  79.    defines the required instrumentation for implementations of TCP over
  80.    IPv6.
  81.  
  82. 3.  Transparency of IP versions to TCP
  83.  
  84.    The fact that a particular TCP connection uses IPv6 as opposed to
  85.    IPv4, is largely invisible to a TCP implementation.  A "TCPng" did
  86.    not need to be defined, implementations simply need to support IPv6
  87.    addresses.
  88.  
  89.    As such, the managed objects already defined in [TCP MIB] are
  90.    sufficient for managing TCP in the presence of IPv6.  These objects
  91.    are equally applicable whether the managed node supports IPv4 only,
  92.    IPv6 only, or both IPv4 and IPv6.
  93.  
  94.    For example, tcpActiveOpens counts "The number of times TCP
  95.    connections have made a direct transition to the SYN-SENT state from
  96.    the CLOSED state", regardless of which version of IP is used between
  97.    the connection endpoints.
  98.  
  99.    Stated differently, TCP implementations don't need separate counters
  100.    for IPv4 and for IPv6.
  101.  
  102. 4.  Representing TCP Connections
  103.  
  104.    The exception to the statements in section 3 is the tcpConnTable.
  105.    Since IPv6 addresses cannot be represented with the IpAddress syntax,
  106.    not all TCP connections can be represented in the tcpConnTable
  107.    defined in [TCP MIB].
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Daniele                     Standards Track                     [Page 2]
  115.  
  116. RFC 2452                    TCP MIB for IPv6               December 1998
  117.  
  118.  
  119.    This memo defines a new, separate table to represent only those TCP
  120.    connections between IPv6 endpoints.  TCP connections between IPv4
  121.    endpoints continue to be represented in tcpConnTable [TCP MIB].  (It
  122.    is not possible to establish a TCP connection between an IPv4
  123.     endpoint and an IPv6 endpoint.)
  124.  
  125.    A different approach would have been to define a new table to
  126.    represent all TCP connections regardless of IP version.  This would
  127.    require changes to [TCP MIB] and hence to existing (IPv4-only) TCP
  128.    implementations.  The approach suggested in this memo has the
  129.    advantage of leaving IPv4-only implementations intact.
  130.  
  131.    It is assumed that the objects defined in this memo will eventually
  132.    be defined in an update to [TCP MIB].  For this reason, the module
  133.    identity is assigned under the experimental portion of the MIB.
  134.  
  135. 5.  Conformance
  136.  
  137.    This memo contains conformance statements to define conformance to
  138.    this MIB for TCP over IPv6 implementations.
  139.  
  140. 6.  Definitions
  141.  
  142. IPV6-TCP-MIB DEFINITIONS ::= BEGIN
  143.  
  144. IMPORTS
  145.    MODULE-COMPLIANCE, OBJECT-GROUP      FROM SNMPv2-CONF
  146.    MODULE-IDENTITY, OBJECT-TYPE,
  147.    mib-2, experimental                  FROM SNMPv2-SMI
  148.    Ipv6Address, Ipv6IfIndexOrZero       FROM IPV6-TC;
  149.  
  150. ipv6TcpMIB MODULE-IDENTITY
  151.    LAST-UPDATED "9801290000Z"
  152.    ORGANIZATION "IETF IPv6 MIB Working Group"
  153.    CONTACT-INFO
  154.         "       Mike Daniele
  155.  
  156.                 Postal: Compaq Computer Corporation
  157.                         110 Spitbrook Rd
  158.                         Nashua, NH 03062.
  159.                         US
  160.  
  161.                 Phone:  +1 603 884 1423
  162.                 Email:  daniele@zk3.dec.com"
  163.    DESCRIPTION
  164.         "The MIB module for entities implementing TCP over IPv6."
  165.    ::= { experimental 86 }
  166.  
  167.  
  168.  
  169.  
  170. Daniele                     Standards Track                     [Page 3]
  171.  
  172. RFC 2452                    TCP MIB for IPv6               December 1998
  173.  
  174.  
  175. -- objects specific to TCP for IPv6
  176.  
  177. tcp      OBJECT IDENTIFIER ::= { mib-2 6 }
  178.  
  179. -- the TCP over IPv6 Connection table
  180.  
  181. -- This connection table contains information about this
  182. -- entity's existing TCP connections between IPv6 endpoints.
  183. -- Only connections between IPv6 addresses are contained in
  184. -- this table.  This entity's connections between IPv4
  185. -- endpoints are contained in tcpConnTable.
  186.  
  187. ipv6TcpConnTable OBJECT-TYPE
  188.    SYNTAX      SEQUENCE OF Ipv6TcpConnEntry
  189.    MAX-ACCESS  not-accessible
  190.    STATUS      current
  191.    DESCRIPTION
  192.         "A table containing TCP connection-specific information,
  193.          for only those connections whose endpoints are IPv6 addresses."
  194.    ::= { tcp 16 }
  195.  
  196. ipv6TcpConnEntry OBJECT-TYPE
  197.    SYNTAX      Ipv6TcpConnEntry
  198.    MAX-ACCESS  not-accessible
  199.    STATUS      current
  200.    DESCRIPTION
  201.         "A conceptual row of the ipv6TcpConnTable containing
  202.          information about a particular current TCP connection.
  203.          Each row of this table is transient, in that it ceases to
  204.          exist when (or soon after) the connection makes the transition
  205.          to the CLOSED state.
  206.  
  207.          Note that conceptual rows in this table require an additional
  208.          index object compared to tcpConnTable, since IPv6 addresses
  209.          are not guaranteed to be unique on the managed node."
  210.    INDEX   { ipv6TcpConnLocalAddress,
  211.              ipv6TcpConnLocalPort,
  212.              ipv6TcpConnRemAddress,
  213.              ipv6TcpConnRemPort,
  214.              ipv6TcpConnIfIndex }
  215.    ::= { ipv6TcpConnTable 1 }
  216.  
  217. Ipv6TcpConnEntry ::=
  218.    SEQUENCE { ipv6TcpConnLocalAddress    Ipv6Address,
  219.               ipv6TcpConnLocalPort       INTEGER (0..65535),
  220.               ipv6TcpConnRemAddress      Ipv6Address,
  221.               ipv6TcpConnRemPort         INTEGER (0..65535),
  222.               ipv6TcpConnIfIndex         Ipv6IfIndexOrZero,
  223.  
  224.  
  225.  
  226. Daniele                     Standards Track                     [Page 4]
  227.  
  228. RFC 2452                    TCP MIB for IPv6               December 1998
  229.  
  230.  
  231.               ipv6TcpConnState           INTEGER }
  232.  
  233. ipv6TcpConnLocalAddress OBJECT-TYPE
  234.    SYNTAX     Ipv6Address
  235.    MAX-ACCESS not-accessible
  236.    STATUS     current
  237.    DESCRIPTION
  238.         "The local IPv6 address for this TCP connection. In
  239.          the case of a connection in the listen state which
  240.          is willing to accept connections for any IPv6
  241.          address associated with the managed node, the value
  242.          ::0 is used."
  243.    ::= { ipv6TcpConnEntry 1 }
  244.  
  245. ipv6TcpConnLocalPort OBJECT-TYPE
  246.    SYNTAX     INTEGER (0..65535)
  247.    MAX-ACCESS not-accessible
  248.    STATUS     current
  249.    DESCRIPTION
  250.         "The local port number for this TCP connection."
  251.    ::= { ipv6TcpConnEntry 2 }
  252.  
  253. ipv6TcpConnRemAddress OBJECT-TYPE
  254.    SYNTAX     Ipv6Address
  255.    MAX-ACCESS not-accessible
  256.    STATUS     current
  257.    DESCRIPTION
  258.         "The remote IPv6 address for this TCP connection."
  259.    ::= { ipv6TcpConnEntry 3 }
  260.  
  261. ipv6TcpConnRemPort OBJECT-TYPE
  262.    SYNTAX     INTEGER (0..65535)
  263.    MAX-ACCESS not-accessible
  264.    STATUS     current
  265.    DESCRIPTION
  266.         "The remote port number for this TCP connection."
  267.    ::= { ipv6TcpConnEntry 4 }
  268.  
  269. ipv6TcpConnIfIndex OBJECT-TYPE
  270.    SYNTAX     Ipv6IfIndexOrZero
  271.    MAX-ACCESS not-accessible
  272.    STATUS     current
  273.    DESCRIPTION
  274.         "An index object used to disambiguate conceptual rows in
  275.          the table, since the connection 4-tuple may not be unique.
  276.  
  277.          If the connection's remote address (ipv6TcpConnRemAddress)
  278.          is a link-local address and the connection's local address
  279.  
  280.  
  281.  
  282. Daniele                     Standards Track                     [Page 5]
  283.  
  284. RFC 2452                    TCP MIB for IPv6               December 1998
  285.  
  286.  
  287.          (ipv6TcpConnLocalAddress) is not a link-local address, this
  288.          object identifies a local interface on the same link as
  289.          the connection's remote link-local address.
  290.  
  291.          Otherwise, this object identifies the local interface that
  292.          is associated with the ipv6TcpConnLocalAddress for this
  293.          TCP connection.  If such a local interface cannot be determined,
  294.          this object should take on the value 0.  (A possible example
  295.          of this would be if the value of ipv6TcpConnLocalAddress is ::0.)
  296.  
  297.          The interface identified by a particular non-0 value of this
  298.          index is the same interface as identified by the same value
  299.          of ipv6IfIndex.
  300.  
  301.          The value of this object must remain constant during the life
  302.          of the TCP connection."
  303.    ::= { ipv6TcpConnEntry 5 }
  304.  
  305. ipv6TcpConnState OBJECT-TYPE
  306.    SYNTAX     INTEGER {
  307.         closed(1),
  308.         listen(2),
  309.         synSent(3),
  310.         synReceived(4),
  311.         established(5),
  312.         finWait1(6),
  313.         finWait2(7),
  314.         closeWait(8),
  315.         lastAck(9),
  316.         closing(10),
  317.         timeWait(11),
  318.         deleteTCB(12) }
  319.    MAX-ACCESS read-write
  320.    STATUS     current
  321.    DESCRIPTION
  322.         "The state of this TCP connection.
  323.  
  324.          The only value which may be set by a management station is
  325.          deleteTCB(12).  Accordingly, it is appropriate for an agent
  326.          to return an error response (`badValue' for SNMPv1, 'wrongValue'
  327.          for SNMPv2) if a management station attempts to set this
  328.          object to any other value.
  329.  
  330.          If a management station sets this object to the value
  331.          deleteTCB(12), then this has the effect of deleting the TCB
  332.          (as defined in RFC 793) of the corresponding connection on
  333.          the managed node, resulting in immediate termination of the
  334.          connection.
  335.  
  336.  
  337.  
  338. Daniele                     Standards Track                     [Page 6]
  339.  
  340. RFC 2452                    TCP MIB for IPv6               December 1998
  341.  
  342.  
  343.          As an implementation-specific option, a RST segment may be
  344.          sent from the managed node to the other TCP endpoint (note
  345.          however that RST segments are not sent reliably)."
  346.    ::= { ipv6TcpConnEntry 6 }
  347.  
  348. --
  349. -- conformance information
  350. --
  351.  
  352. ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 }
  353.  
  354. ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 }
  355. ipv6TcpGroups      OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 }
  356.  
  357. -- compliance statements
  358.  
  359. ipv6TcpCompliance MODULE-COMPLIANCE
  360.    STATUS  current
  361.    DESCRIPTION
  362.         "The compliance statement for SNMPv2 entities which
  363.          implement TCP over IPv6."
  364.    MODULE  -- this module
  365.    MANDATORY-GROUPS { ipv6TcpGroup }
  366.    ::= { ipv6TcpCompliances 1 }
  367.  
  368. ipv6TcpGroup OBJECT-GROUP
  369.    OBJECTS   { -- these are defined in this module
  370.                -- ipv6TcpConnLocalAddress (not-accessible)
  371.                -- ipv6TcpConnLocalPort (not-accessible)
  372.                -- ipv6TcpConnRemAddress (not-accessible)
  373.                -- ipv6TcpConnRemPort (not-accessible)
  374.                -- ipv6TcpConnIfIndex (not-accessible)
  375.                ipv6TcpConnState }
  376.    STATUS    current
  377.    DESCRIPTION
  378.         "The group of objects providing management of
  379.          TCP over IPv6."
  380.    ::= { ipv6TcpGroups 1 }
  381.  
  382. END
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Daniele                     Standards Track                     [Page 7]
  395.  
  396. RFC 2452                    TCP MIB for IPv6               December 1998
  397.  
  398.  
  399. 7.  Acknowledgments
  400.  
  401.    This memo is a product of the IPng work group, and benefited
  402.    especially from the contributions of the following working group
  403.    members:
  404.  
  405.       Dimitry Haskin          Bay Networks
  406.       Margaret Forsythe       Epilogue
  407.       Tim Hartrick            Mentat
  408.       Frank Solensky          FTP
  409.       Jack McCann             DEC
  410.  
  411. 8.  References
  412.  
  413.    [1]           Information processing systems - Open Systems
  414.                  Interconnection - Specification of Abstract Syntax
  415.                  Notation One (ASN.1), International Organization for
  416.                  Standardization.  International Standard 8824,
  417.                  (December, 1987).
  418.  
  419.    [2]           McCloghrie, K., Editor, "Structure of Management
  420.                  Information for version 2 of the Simple Network
  421.                  Management Protocol (SNMPv2)", RFC 1902, January 1996.
  422.  
  423.    [TCP MIB]     SNMPv2 Working Group, McCloghrie, K., Editor, "SNMPv2
  424.                  Management Information Base for the Transmission
  425.                  Control Protocol using SMIv2", RFC 2012, November 1996.
  426.  
  427.    [IPV6 MIB TC] Haskin, D., and S. Onishi, "Management Information
  428.                  Base for IP Version 6: Textual Conventions and General
  429.                  Group", RFC 2465, December 1998.
  430.  
  431.    [IPV6]        Deering, S., and R. Hinden, "Internet Protocol, Version
  432.                  6 (IPv6) Specification", RFC 2460, December 1998.
  433.  
  434.    [RFC2274]     Blumenthal, U., and B. Wijnen, "The User-Based Security
  435.                  Model for Version 3 of the Simple Network Management
  436.                  Protocol (SNMPv3)", RFC 2274, January 1998.
  437.  
  438.    [RFC2275]     Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
  439.                  Access Control Model for the Simple Network Management
  440.                  Protocol (SNMP)", RFC 2275, January 1998.
  441.  
  442. 9.  Security Considerations
  443.  
  444.    This MIB contains a management object that has a MAX-ACCESS clause of
  445.    read-write and/or read-create.  In particular, it is possible to
  446.    delete individual TCP control blocks (i.e., connections).
  447.  
  448.  
  449.  
  450. Daniele                     Standards Track                     [Page 8]
  451.  
  452. RFC 2452                    TCP MIB for IPv6               December 1998
  453.  
  454.  
  455.    Consequently, anyone having the ability to issue a SET on this object
  456.    can impact the operation of the node.
  457.  
  458.    There are a number of managed objects in this MIB that may be
  459.    considered to contain sensitive information in some environments.
  460.    For example, the MIB identifies the active TCP connections on the
  461.    node.  Although this information might be considered sensitive in
  462.    some environments (i.e., to identify ports on which to launch
  463.    denial-of-service or other attacks), there are already other ways of
  464.    obtaining similar information.  For example, sending a random TCP
  465.    packet to an unused port prompts the generation of a TCP reset
  466.    message.
  467.  
  468.    Therefore, it may be important in some environments to control read
  469.    and/or write access to these objects and possibly to even encrypt the
  470.    values of these object when sending them over the network via SNMP.
  471.    Not all versions of SNMP provide features for such a secure
  472.    environment.  SNMPv1 by itself does not provide encryption or strong
  473.    authentication.
  474.  
  475.    It is recommended that the implementors consider the security
  476.    features as provided by the SNMPv3 framework.  Specifically, the use
  477.    of the User-based Security Model [RFC2274] and the View-based Access
  478.    Control Model [RFC2275] is recommended.
  479.  
  480.    It is then a customer/user responsibility to ensure that the SNMP
  481.    entity giving access to an instance of this MIB, is properly
  482.    configured to give access to those objects only to those principals
  483.    (users) that have legitimate rights to access them.
  484.  
  485. 10. Author's Address
  486.  
  487.    Mike Daniele
  488.    Compaq Computer Corporation
  489.    110 Spit Brook Rd
  490.    Nashua, NH 03062
  491.  
  492.    Phone: +1-603-884-1423
  493.    EMail: daniele@zk3.dec.com
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Daniele                     Standards Track                     [Page 9]
  507.  
  508. RFC 2452                    TCP MIB for IPv6               December 1998
  509.  
  510.  
  511. 11.  Full Copyright Statement
  512.  
  513.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  514.  
  515.    This document and translations of it may be copied and furnished to
  516.    others, and derivative works that comment on or otherwise explain it
  517.    or assist in its implementation may be prepared, copied, published
  518.    and distributed, in whole or in part, without restriction of any
  519.    kind, provided that the above copyright notice and this paragraph are
  520.    included on all such copies and derivative works.  However, this
  521.    document itself may not be modified in any way, such as by removing
  522.    the copyright notice or references to the Internet Society or other
  523.    Internet organizations, except as needed for the purpose of
  524.    developing Internet standards in which case the procedures for
  525.    copyrights defined in the Internet Standards process must be
  526.    followed, or as required to translate it into languages other than
  527.    English.
  528.  
  529.    The limited permissions granted above are perpetual and will not be
  530.    revoked by the Internet Society or its successors or assigns.
  531.  
  532.    This document and the information contained herein is provided on an
  533.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  534.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  535.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  536.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  537.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Daniele                     Standards Track                    [Page 10]
  563.  
  564.