home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipngwg-ipv6-tcp-mib-00.txt < prev    next >
Text File  |  1997-06-10  |  16KB  |  424 lines

  1.  
  2. Internet-Draft          TCP MIB for IPv6           June 1997
  3. Expires December 1997
  4.  
  5.  
  6.         IP Version 6 Management Information Base 
  7.               for the Transmission Control Protocol 
  8.  
  9.                  <draft-ietf-ipngwg-ipv6-tcp-mib-00.txt>
  10.  
  11.                              Mike Daniele
  12.                     Digital Equipment Corporation
  13.  
  14.  
  15. Status of this Memo
  16.  
  17.    This document is an Internet-Draft.  Internet-Drafts are working
  18.    documents of the Internet Engineering Task Force (IETF), its
  19.    areas, and its working groups.  Note that other groups may also
  20.    distribute working documents as Internet-Drafts.
  21.  
  22.    Internet-Drafts are draft documents valid for a maximum of six
  23.    months and may be updated, replaced, or obsoleted by other
  24.    documents at any time.  It is inappropriate to use Internet-
  25.    Drafts as reference material or to cite them other than as
  26.    "work in progress."
  27.  
  28.    To view the entire list of current Internet-Drafts, please check
  29.    the "1id-abstracts.txt" listing contained in the Internet-Drafts
  30.    Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
  31.    (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
  32.    Coast), or ftp.isi.edu (US West Coast).
  33.  
  34. Abstract
  35.  
  36.    This document is one in the series of documents that define
  37.    various MIB objects for IPv6.  Specifically, this document
  38.    is the MIB module which defines managed objects for 
  39.    implementations of the Transmission Control Protocol (TCP) 
  40.    over IP Version 6 (IPv6).
  41.  
  42.    This document also recommends a specific policy with respect to
  43.    the applicability of RFC 2012 for implementations of IPv6.
  44.    Namely, the most of managed objects defined in RFC 2012 are 
  45.    independent of which IP versions underly TCP, and only the 
  46.    TCP connection information is IP version-specific.  
  47.  
  48.    This memo defines an experimental portion of the Management
  49.    Information Base (MIB) for use with network management
  50.    protocols in the IPv6-based internets.
  51.  
  52. 1.  Introduction
  53.  
  54.    A management system contains: several (potentially many) nodes, each
  55.    with a processing entity, termed an agent, which has access to
  56.    management instrumentation; at least one management station; and, a
  57.    management protocol, used to convey management information between
  58.    the agents and management stations.  Operations of the protocol are
  59.    carried out under an administrative framework which defines
  60.    authentication, authorization, access control, and privacy policies.
  61.  
  62.    Management stations execute management applications which monitor and
  63.    control managed elements.  Managed elements are devices such as
  64.    hosts, routers, terminal servers, etc., which are monitored and
  65.    controlled via access to their management information.
  66.  
  67.    Management information is viewed as a collection of managed objects,
  68.    residing in a virtual information store, termed the Management
  69.    Information Base (MIB).  Collections of related objects are defined
  70.    in MIB modules.  These modules are written using a subset of OSI's
  71.    Abstract Syntax Notation One (ASN.1) [1], termed the Structure of
  72.    Management Information (SMI) [2].
  73.  
  74. 2.  Overview
  75.  
  76.    This document is one in the series of documents that define various
  77.    MIB objects, and statements of conformance, for IPv6.  This document 
  78.    defines the required instrumentation for implementations of TCP over
  79.    IPv6.
  80.  
  81. 3.  Transparency of IP versions to TCP
  82.  
  83.    The fact that a particular TCP connection uses IPv6 as opposed to 
  84.    IPv4, is largely invisible to a TCP implementation.  A "TCPng" did 
  85.    not need to be defined, implementations simply need to support 
  86.    IPv6 addresses.
  87.  
  88.    As such, the managed objects already defined in [TCP MIB] are 
  89.    sufficient for managing TCP in the presence of IPv6.  These objects
  90.    are equally applicable whether the managed node supports IPv4 only,
  91.    IPv6 only, or both IPv4 and IPv6.
  92.  
  93.    For example, tcpActiveOpens counts "The number of times TCP 
  94.    connections have made a direct transition to the SYN-SENT state from 
  95.    the CLOSED state", regardless of which version of IP is used between
  96.    the connection endpoints.  
  97.  
  98.    Stated differently, TCP implementations don't need separate counters
  99.    for IPv4 and for IPv6.
  100.  
  101. 4.  Representing TCP Connections
  102.  
  103.    The exception to the statements in section 3 is the tcpConnTable.
  104.    Since IPv6 addresses cannot be represented with the IpAddress syntax,
  105.    not all TCP connections can be represented in the tcpConnTable
  106.    defined in [TCP MIB].
  107.  
  108.    This memo defines a new, separate table to represent only those
  109.    TCP connections between IPv6 endpoints.  TCP connections between
  110.    IPv4 endpoints continue to be represented in tcpConnTable [TCP MIB].
  111.  
  112.    A different approach would have been to define a new table to
  113.    represent all TCP connections regardless of IP version.  This would
  114.    require changes to [TCP MIB] and hence to existing (IPv4-only)
  115.    TCP implementations.  The approach suggested in this memo has the 
  116.    advantage of leaving [TCP MIB] intact.
  117.  
  118. 5.  Conformance
  119.  
  120.    This memo contains conformance statements to define conformance
  121.    to this MIB for TCP over IPv6 implementations.  Conformance is
  122.    defined in terms of both the new TCP connection table defined here,
  123.    and the objects defined in [TCP MIB].
  124.  
  125. 6.  Definitions
  126.  
  127.         IPV6-TCP-MIB DEFINITIONS ::= BEGIN
  128.  
  129.         IMPORTS
  130.              MODULE-IDENTITY, OBJECT-TYPE,
  131.              MODULE-COMPLIANCE, OBJECT-GROUP    FROM SNMPv2-CONF
  132.              Unsigned32, Gauge32, Counter32,
  133.              Integer32                          FROM SNMPv2-SMI
  134.              Ipv6, Ipv6Address,
  135.          Ipv6IfIndex, Ipv6IfIndexOrZero     FROM IPV6-TC
  136.          tcpRtoAlgorithm, tcpRtoMin,
  137.          tcpRtoMax, tcpMaxConn, tcpActiveOpens,
  138.          tcpPassiveOpens, tcpAttemptFails,
  139.          tcpEstabResets, tcpCurrEstab, tcpInSegs,
  140.          tcpOutSegs, tcpRetransSegs, 
  141.          tcpInErrs, tcpOutRsts        FROM TCP-MIB;
  142.  
  143.         ipv6TcpMIB MODULE-IDENTITY
  144.              LAST-UPDATED "9706090000Z"
  145.              ORGANIZATION "IETF IPv6 MIB Working Group"
  146.              CONTACT-INFO
  147.                "        Mike Daniele
  148.  
  149.                 Postal: Digital Equipment Corporation
  150.                         110 Spitbrook Rd
  151.                         Nashua, NH 03062.
  152.                         US
  153.  
  154.                 Phone:  +1 603 881 1423
  155.                 Email:  daniele@zk3.dec.com"
  156.              DESCRIPTION
  157.                "The MIB module for entities implementing TCP
  158.                 over IPv6."
  159.              ::= { ipv6  4}
  160.  
  161.  
  162.           -- objects specific to TCP for IPv6 
  163.  
  164.           ipv6TcpMIBObjects OBJECT IDENTIFIER ::= { ipv6TcpMIB 1 }
  165.  
  166.  
  167.           -- the TCP over IPv6 Connection table 
  168.  
  169.           -- This connection table contains information about this 
  170.       -- entity's existing TCP connections between IPv6 endpoints.
  171.       -- Only connections between IPv6 addresses are contained in 
  172.       -- this table.  This entity's connections between IPv4 
  173.       -- endpoints are contained in tcpConnTable.
  174.  
  175.           ipv6TcpConnTable OBJECT-TYPE
  176.              SYNTAX      SEQUENCE OF Ipv6TcpConnEntry
  177.              MAX-ACCESS  not-accessible
  178.              STATUS      current
  179.              DESCRIPTION
  180.               "A table containing TCP connection-specific
  181.               information, for only those connections whose endpoints 
  182.            are IPv6 addresses."
  183.              ::= { ipv6TcpMIBObjects 1 } -- eventually to be { tcp 16 }?
  184.  
  185.           ipv6TcpConnEntry OBJECT-TYPE
  186.              SYNTAX      Ipv6TcpConnEntry
  187.              MAX-ACCESS  not-accessible
  188.              STATUS      current
  189.              DESCRIPTION
  190.               "A conceptual row of the ipv6TcpConnTable containing 
  191.            information about a particular current TCP connection.  
  192.            Each row of this table is transient, in that it ceases to 
  193.            exist when (or soon after) the connection makes the transition 
  194.            to the CLOSED state.
  195.  
  196.            Note that conceptual rows in this table require an additional
  197.            index object compared to tcpConnTable, since IPv6 addresses 
  198.            are not guaranteed to be unique on the managed node."
  199.              INDEX   { ipv6TcpConnLocalAddress,
  200.                        ipv6TcpConnLocalPort,
  201.                        ipv6TcpConnRemAddress,
  202.                        ipv6TcpConnRemPort,
  203.                ipv6TcpConnIfIndex }
  204.              ::= { ipv6TcpConnTable 1 }
  205.  
  206.           Ipv6TcpConnEntry ::=
  207.              SEQUENCE {
  208.                  ipv6TcpConnLocalAddress    Ipv6Address,
  209.                  ipv6TcpConnLocalPort       INTEGER (0..65535),
  210.                  ipv6TcpConnRemAddress      Ipv6Address,
  211.                  ipv6TcpConnRemPort         INTEGER (0..65535),
  212.          ipv6TcpConnIfIndex        Ipv6IfIndexOrZero,
  213.                  ipv6TcpConnState           INTEGER
  214.               }
  215.  
  216.           ipv6TcpConnLocalAddress OBJECT-TYPE
  217.              SYNTAX     Ipv6Address
  218.              MAX-ACCESS not-accessible
  219.              STATUS     current
  220.              DESCRIPTION
  221.               "The local IPv6 address for this TCP connection. In
  222.               the case of a connection in the listen state which
  223.               is willing to accept connections for any IPv6
  224.               address associated with the managed node, the value
  225.               ::0 is used."
  226.              ::= { ipv6TcpConnEntry 1 }
  227.  
  228.           ipv6TcpConnLocalPort OBJECT-TYPE
  229.              SYNTAX  INTEGER (0..65535)
  230.              MAX-ACCESS not-accessible
  231.              STATUS     current
  232.              DESCRIPTION
  233.               "The local port number for this TCP connection."
  234.              ::= { ipv6TcpConnEntry 2 }
  235.  
  236.           ipv6TcpConnRemAddress OBJECT-TYPE
  237.              SYNTAX     Ipv6Address
  238.              MAX-ACCESS not-accessible
  239.              STATUS     current
  240.              DESCRIPTION
  241.               "The remote IPv6 address for this TCP connection."
  242.              ::= { ipv6TcpConnEntry 3 }
  243.  
  244.           ipv6TcpConnRemPort OBJECT-TYPE
  245.              SYNTAX  INTEGER (0..65535)
  246.              MAX-ACCESS not-accessible
  247.              STATUS     current
  248.              DESCRIPTION
  249.               "The remote port number for this TCP connection."
  250.              ::= { ipv6TcpConnEntry 4 }
  251.  
  252.       ipv6TcpConnIfIndex OBJECT-TYPE
  253.              SYNTAX     Ipv6IfIndexOrZero
  254.              MAX-ACCESS not-accessible
  255.              STATUS     current
  256.              DESCRIPTION
  257.           "An index object used to disambiguate conceptual rows in
  258.            the table, since the connection 4-tuple may not be unique.
  259.  
  260.            If the connection's remote address (ipv6TcpConnRemAddress) 
  261.            is a link-local address and the connection's local address 
  262.            (ipv6TcpConnLocalAddress) is not a link-local address, this
  263.                object identifies a local interface on the same link as
  264.                the connection's remote link-local address. 
  265.  
  266.            Otherwise, this object identifies the local interface that 
  267.            is associated with the ipv6TcpConnLocalAddress for this 
  268.            TCP connection.  If such a local interface cannot be determined,
  269.            this object should take on the value 0.  (A possible example 
  270.            of this would be if the value of ipv6TcpConnLocalAddress is ::0.)
  271.  
  272.            The interface identified by a particular non-0 value of this 
  273.            index is the same interface as identified by the same value 
  274.            of ipv6IfIndex.
  275.  
  276.            The value of this object must remain constant during the life
  277.            of the TCP connection."
  278.              ::= { ipv6TcpConnEntry 5 }
  279.  
  280.           ipv6TcpConnState OBJECT-TYPE
  281.              SYNTAX  INTEGER {
  282.                   closed(1),
  283.                   listen(2),
  284.                   synSent(3),
  285.                   synReceived(4),
  286.                   established(5),
  287.                   finWait1(6),
  288.                   finWait2(7),
  289.                   closeWait(8),
  290.                   lastAck(9),
  291.                   closing(10),
  292.                   timeWait(11),
  293.                   deleteTCB(12)
  294.               }
  295.              MAX-ACCESS  read-write
  296.              STATUS      current
  297.              DESCRIPTION
  298.               "The state of this TCP connection.
  299.  
  300.                The only value which may be set by a management station is
  301.                deleteTCB(12).  Accordingly, it is appropriate for an agent
  302.                to return a `badValue' response if a management station
  303.                attempts to set this object to any other value.
  304.  
  305.                If a management station sets this object to the value
  306.                deleteTCB(12), then this has the effect of deleting the TCB
  307.                (as defined in RFC 793) of the corresponding connection on
  308.                the managed node, resulting in immediate termination of the
  309.                connection.
  310.  
  311.                As an implementation-specific option, a RST segment may be
  312.                sent from the managed node to the other TCP endpoint (note
  313.                however that RST segments are not sent reliably)."
  314.              ::= { ipv6TcpConnEntry 6 }
  315.  
  316.     --
  317.         -- conformance information
  318.     --
  319.  
  320.         ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 }
  321.  
  322.         ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 }
  323.         ipv6TcpGroups      OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 }
  324.  
  325.         -- compliance statements
  326.  
  327.         ipv6TcpCompliance MODULE-COMPLIANCE
  328.             STATUS  current
  329.             DESCRIPTION
  330.               "The compliance statement for SNMPv2 entities which
  331.               implement TCP over IPv6."
  332.             MODULE  -- this module
  333.                 MANDATORY-GROUPS { ipv6TcpGroup }
  334.             ::= { ipv6TcpCompliances 1 }
  335.  
  336.         ipv6TcpGroup OBJECT-GROUP
  337.             OBJECTS   { -- these are defined in TCP-MIB
  338.             tcpRtoAlgorithm,
  339.             tcpRtoMin,
  340.             tcpRtoMax,
  341.             tcpMaxConn,
  342.             tcpActiveOpens,
  343.             tcpPassiveOpens,
  344.             tcpAttemptFails,
  345.             tcpEstabResets,
  346.             tcpCurrEstab,
  347.             tcpInSegs,
  348.             tcpOutSegs,
  349.             tcpRetransSegs,
  350.             tcpInErrs,
  351.             tcpOutRsts,
  352.  
  353.             -- these are defined in this module
  354.                         ipv6TcpConnState
  355.                       }
  356.             STATUS    current
  357.             DESCRIPTION
  358.                  "The group of objects providing management of 
  359.                   TCP over IPv6."
  360.             ::= { ipv6TcpGroups 1 }
  361.  
  362.          END
  363.  
  364. 7.  Acknowledgments
  365.  
  366.    This memo is a product of the IPng work group, and benefited especially 
  367.    from the contributions of the following working group members:
  368.  
  369.     Dimitry Haskin         Bay Networks
  370.     Margaret Forsythe    Epilogue
  371.     Tim Hartrick        Mentat
  372.      Frank Solensky        FTP
  373.     Jack Mccann        DEC
  374.     
  375. 8.  References
  376.  
  377.    [1]  Information processing systems - Open Systems Interconnection -
  378.         Specification of Abstract Syntax Notation One (ASN.1),
  379.         International Organization for Standardization.  International
  380.         Standard 8824, (December, 1987).
  381.  
  382.    [2]  McCloghrie, K., Editor, "Structure of Management Information
  383.         for version 2 of the Simple Network Management Protocol
  384.         (SNMPv2)", RFC 1902, Cisco Systems, January 1996.
  385.  
  386.    [TCP MIB] 
  387.  
  388.        SNMPv2 Working Group, McCloghrie, K., Editor,
  389.        "SNMPv2 Management Information Base for the Transmission 
  390.        Control Protocol using SMIv2", RFC 2012, November 1996.
  391.  
  392.    [IPV6 MIB TC]
  393.  
  394.        Haskin, D.,  and S. Onishi, "Management Information  Base
  395.        for IP Version 6: Textual Conventions and General Group",
  396.        Work in progress.
  397.  
  398.    [IPV6]
  399.  
  400.        Deering, S., and R. Hinden, "Internet Protocol, Version 6
  401.        (IPv6) Specification", RFC 1883, December 1995.
  402.  
  403. 9.  Security Considerations
  404.  
  405.    Certain management information defined  in  this  MIB  may  be
  406.    considered sensitive in some network environments.
  407.  
  408.    Therefore,  authentication  of  received  SNMP  requests   and
  409.    controlled access to management information should be employed
  410.    in such environments.
  411.  
  412. 10. Author's Address
  413.  
  414.       Mike Daniele
  415.       Digital Equipment Corporation
  416.       110 Spit Brook Rd
  417.       Nashua, NH 03062
  418.  
  419.       Phone: +1-603-881-1423
  420.       EMail: daniele@zk3.dec.com
  421.  
  422. Expires December 1997
  423.  
  424.