RADIUS Working Group                                     Bernard Aboba
     INTERNET-DRAFT                                               Microsoft
     Category: Informational                                      Glen Zorn
     <draft-ietf-radius-acc-clientmib-01.txt>                     Microsoft
     12 February 1998
     
     
                          RADIUS Accounting Client MIB
     
     
     1.  Status of this Memo
     
     This document is an Internet-Draft.  Internet-Drafts are working docu-
     ments of the Internet Engineering Task Force (IETF),  its  areas,  and
     its  working groups.  Note that other groups may also distribute work-
     ing documents as Internet-Drafts.
     
     Internet-Drafts are draft documents valid for a maximum of six  months
     and  may  be updated, replaced, or obsoleted by other documents at any
     time.  It is inappropriate to use Internet-Drafts as  reference  mate-
     rial or to cite them other than as ``work in progress.''
     
     To  learn  the  current status of any Internet-Draft, please check the
     ``1id-abstracts.txt'' listing contained in the Internet-Drafts  Shadow
     Directories   on   ds.internic.net   (US  East  Coast),  nic.nordu.net
     (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
     
     The  distribution  of  this memo is unlimited.  It is filed as <draft-
     ietf-radius-acc-clientmib-01.txt>, and  expires August 1, 1998. Please
     send comments to the authors.
     
     
     2.  Abstract
     
     This memo defines a set of extensions which instrument RADIUS account-
     ing client functions. These extensions represent a portion of the Man-
     agement  Information Base (MIB) for use with network management proto-
     cols in the Internet community.  Using these extensions IP-based  man-
     agement stations can manage RADIUS accounting clients.
     
     
     3.  Introduction
     
     This  memo  defines a portion of the Management Information Base (MIB)
     for use with network management protocols in the  Internet  community.
     In  particular,  it describes managed objects used for managing RADIUS
     accounting clients.
     
     Today a wide range of network devices, including  routers  and  NASes,
     act  as  RADIUS accounting clients in order to provide accounting ser-
     vices. As a result, the  effective  management  of  RADIUS  accounting
     clients is of considerable importance.
     
     
     
     
     
     Aboba & Zorn                                                  [Page 1]


     INTERNET-DRAFT                                        12 February 1998
     
     
     4.  The SNMPv2 Network Management Framework
     
     The  SNMPv2 Network Management Framework consists of four major compo-
     nents.  They are:
     
           o  RFC 1902 which defines the SMI, the mechanisms used for
              describing and naming objects for the purpose of management.
     
           o  RFC 1905 which defines the protocol used for network access to
              managed objects.
     
           o  RFC 1907 defines the core set of managed objects for the
              Internet suite of protocols.
     
           o  RFC 1909 which defines the administrative aspects of the
              framework.
     
     The Framework permits new objects to be defined  for  the  purpose  of
     experimentation and evaluation.
     
     
     4.1.  Object Definitions
     
     Managed  objects  are accessed via a virtual information store, termed
     the Management Information Base  or  MIB.   Objects  in  the  MIB  are
     defined  using  the  subset  of  Abstract  Syntax Notation One (ASN.1)
     defined in the SMI. In particular, each object object type is named by
     an  OBJECT  IDENTIFIER, an administratively assigned name.  The object
     type together with an object instance serves to  uniquely  identify  a
     specific  instantiation of the object. For human convenience, we often
     use a textual string, termed the descriptor, to refer  to  the  object
     type.
     
     
     5.  Overview
     
     The  RADIUS  accounting  protocol,  described  in  [2],  distinguishes
     between the  client  function  and  the  server  function.  In  RADIUS
     accounting,  clients  send Accounting-Requests, and servers reply with
     Accounting-Responses. Typically NAS devices implement the client func-
     tion,  and  thus  would be expected to implement the RADIUS accounting
     client MIB, while RADIUS accounting servers implement the server func-
     tion,  and  thus  would be expected to implement the RADIUS accounting
     server MIB.
     
     However, it is possible for a RADIUS accounting entity to perform both
     client  and server functions. For example, a RADIUS proxy may act as a
     server to one or more RADIUS accounting clients, while  simultaneously
     acting  as  an accounting client to one or more accounting servers. In
     such situations, it is expected that RADIUS entities combining  client
     and server functionality will support both the client and server MIBs.
     
     
     
     
     
     
     Aboba & Zorn                                                  [Page 2]


     INTERNET-DRAFT                                        12 February 1998
     
     
     5.1.  Selected objects
     This MIB module contains two scalars as well as a single table:
     
     (1)  the RADIUS Accounting Server Table contains one row for each
          RADIUS server that the client shares a secret with.
     
     Each entry in the  RADIUS  Accounting  Server  Table  includes  eleven
     entries presenting a view of the activity of the RADIUS client.
     
     
     6.  Definitions
     
     RADIUS-ACC-CLIENT-MIB DEFINITIONS ::= BEGIN
     
     IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE,
            OBJECT-IDENTITY, experimental,
            Counter32, Integer32, Gauge32,
            IpAddress, TimeTicks             FROM SNMPv2-SMI
            DisplayString                    FROM SNMPv2-TC
            MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;
     
     radiusAccClientMIB MODULE-IDENTITY
            LAST-UPDATED "9802121659Z"
            ORGANIZATION "IETF RADIUS Working Group."
            CONTACT-INFO
                " Bernard Aboba
               Microsoft
               One Microsoft Way
               Redmond, WA  98052
               US
     
               Phone: +1 425 936 6605
               EMail: bernarda@microsoft.com"
            DESCRIPTION
               "The MIB module for entities implementing the client side of
                the Remote Access Dialin User Service (RADIUS) accounting
                protocol."
            ::= { radiusAccounting 2 }
     
     radius OBJECT-IDENTITY
            STATUS  current
            DESCRIPTION
               "The OID assigned to RADIUS MIB work by the IANA."
            ::= { experimental 79 }
     
     radiusAccounting  OBJECT IDENTIFIER ::= {radius 2}
     
     radiusAccClientMIBObjects     OBJECT IDENTIFIER ::= { radiusAccClientMIB 1 }
     
     radiusAccClient  OBJECT IDENTIFIER ::= { radiusAccClientMIBObjects 1 }
     
     radiusAccClientInvalidServerAddresses OBJECT-TYPE
           SYNTAX Counter32
     
     
     
     Aboba & Zorn                                                  [Page 3]


     INTERNET-DRAFT                                        12 February 1998
     
     
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of RADIUS Accounting-Response packets
               received from unknown addresses since client start-up."
           ::= { radiusAccClient 1 }
     
     radiusAccClientIdentifier OBJECT-TYPE
           SYNTAX DisplayString
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The NAS-Identifier of the RADIUS accounting client. This
                is not necessarily the same as sysName in MIB II."
           ::= { radiusAccClient 2 }
     
     radiusAccServerTable OBJECT-TYPE
           SYNTAX     SEQUENCE OF RadiusAccServerEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "The (conceptual) table listing the RADIUS accounting
               servers with which the client shares a secret."
           ::= { radiusAccClient 3 }
     
     radiusAccServerEntry OBJECT-TYPE
           SYNTAX     RadiusAccServerEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
              "An entry (conceptual row) representing a RADIUS
               accounting server with which the client shares a secret."
           INDEX      { radiusAccServerIndex }
           ::= { radiusAccServerTable 1 }
     
     RadiusAccServerEntry ::= SEQUENCE {
           radiusAccServerIndex                           Integer32,
           radiusAccServerAddress                         IpAddress,
           radiusAccClientServerPortNumber                Integer32,
           radiusAccClientRoundTripTime                   TimeTicks,
           radiusAccClientRequests                        Counter32,
           radiusAccClientRetransmissions                 Counter32,
           radiusAccClientResponses                       Counter32,
           radiusAccClientMalformedResponses              Counter32,
           radiusAccClientBadAuthenticators               Counter32,
           radiusAccClientPendingRequests                   Gauge32,
           radiusAccClientTimeouts                        Counter32,
           radiusAccClientUnknownType                     Counter32
     }
     
     radiusAccServerIndex OBJECT-TYPE
           SYNTAX     Integer32 (0..MAX)
           MAX-ACCESS not-accessible
           STATUS     current
     
     
     
     Aboba & Zorn                                                  [Page 4]


     INTERNET-DRAFT                                        12 February 1998
     
     
           DESCRIPTION
              "A number uniquely identifying each RADIUS
                Accounting server with which this client
                communicates."
           ::= { radiusAccServerEntry 1 }
     
     radiusAccServerAddress OBJECT-TYPE
           SYNTAX     IpAddress
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
              "The IP address of the RADIUS accounting server
              referred to in this table entry."
           ::= { radiusAccServerEntry 2 }
     
     radiusAccClientServerPortNumber  OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The UDP port the client is using to send requests to
               this server."
           ::= { radiusAccServerEntry 3 }
     
     radiusAccClientRoundTripTime  OBJECT-TYPE
           SYNTAX TimeTicks
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The time interval between the most recent
                Accounting-Response and the Accounting-Request that
                matched it from this RADIUS accounting server."
           ::= { radiusAccServerEntry 4 }
     
     -- Request/Response statistics
     -- Ignoring Unknown Types, then
     -- AccountingRequests + Retransmissions = AccountingResponses+
     -- PendingRequests + Timeouts
     
     radiusAccClientRequests OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of RADIUS Accounting-Request packets
               sent since client start-up. This does not include
               retransmissions."
           ::= { radiusAccServerEntry 5 }
     
     radiusAccClientRetransmissions OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
     
     
     
     Aboba & Zorn                                                  [Page 5]


     INTERNET-DRAFT                                        12 February 1998
     
     
              "The total number of RADIUS Accounting-Request packets
               retransmitted to this RADIUS accounting server since
                client start-up. Retransmissions include retries where
                the Identifier and Acct-Delay have been updated, as
                well as those in which they remain the same."
           ::= { radiusAccServerEntry 6 }
     
     radiusAccClientResponses OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of RADIUS Accounting-Response
              packets received from this server since client start-up."
           ::= { radiusAccServerEntry 7 }
     
     radiusAccClientMalformedResponses OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of malformed RADIUS Accounting-Response
              packets received from this server since client start-up.
              Malformed packets include packets with an
               invalid length. Bad authenticators are not included as
               malformed accounting responses."
           ::= { radiusAccServerEntry 8 }
     
     radiusAccClientBadAuthenticators OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of RADIUS Accounting-Response
               packets which contained invalid authenticators
               received from this server since client start-up."
           ::= { radiusAccServerEntry 9 }
     
     radiusAccClientPendingRequests OBJECT-TYPE
           SYNTAX Gauge32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of RADIUS Accounting-Request packets
               sent to this server that have not yet timed out or
               received a response. This variable is incremented when an
               Accounting-Request is sent and decremented due to
                receipt of an Accounting-Response, a timeout or
                a retransmission."
           ::= { radiusAccServerEntry 10 }
     
     radiusAccClientTimeouts OBJECT-TYPE
          SYNTAX Counter32
          MAX-ACCESS read-only
     
     
     
     Aboba & Zorn                                                  [Page 6]


     INTERNET-DRAFT                                        12 February 1998
     
     
          STATUS current
          DESCRIPTION
              "The total number of accounting timeouts to this server
              since client startup. After a timeout the client may
              retry to the same server, send to a different server, or
              give up. A retry to the same server is counted as a
              retransmit as well as a timeout. A send to a different
              server is counted as an Accounting-Request as well as a timeout."
           ::= { radiusAccServerEntry  11 }
     
     radiusAccClientUnknownType OBJECT-TYPE
           SYNTAX Counter32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
              "The total number of RADIUS packets of unknown type which
               were received from this server on the accounting port
               since client start-up."
           ::= { radiusAccServerEntry  12 }
     
     -- conformance information
     
     radiusAccClientMIBConformance
               OBJECT IDENTIFIER ::= { radiusAccClientMIB 2 }
     radiusAccClientMIBCompliances
               OBJECT IDENTIFIER ::= { radiusAccClientMIBConformance 1 }
     radiusAccClientMIBGroups
               OBJECT IDENTIFIER ::= { radiusAccClientMIBConformance 2 }
     
     
     -- compliance statements
     
     radiusAccClientMIBCompliance MODULE-COMPLIANCE
          STATUS  current
          DESCRIPTION
             "The compliance statement for accounting clients
              implementing the RADIUS Accounting Client MIB."
          MODULE  -- this module
              MANDATORY-GROUPS { radiusAccClientMIBGroup }
     
          ::= { radiusAccClientMIBCompliances 1 }
     
     
     -- units of conformance
     
     radiusAccClientMIBGroup OBJECT-GROUP
          OBJECTS { radiusAccClientIdentifier,
                  radiusAccClientInvalidServerAddresses,
                 radiusAccServerAddress,
                  radiusAccClientServerPortNumber,
                 radiusAccClientRoundTripTime,
                 radiusAccClientRequests,
                 radiusAccClientRetransmissions,
                 radiusAccClientResponses,
     
     
     
     Aboba & Zorn                                                  [Page 7]


     INTERNET-DRAFT                                        12 February 1998
     
     
                 radiusAccClientMalformedResponses,
                 radiusAccClientBadAuthenticators,
                 radiusAccClientPendingRequests,
                 radiusAccClientTimeouts,
                 radiusAccClientUnknownType
              }
          STATUS  current
          DESCRIPTION
             "The basic collection of objects providing management of
              RADIUS Accounting Clients."
          ::= { radiusAccClientMIBGroups 1 }
     
     END
     
     
     7.  Security considerations
     
     All MIB variables described in this document are read-only.
     
     
     8.  Acknowledgments
     
     Thanks  to  Narendra  Gidwani  of Microsoft, Allan C. Rubens of MERIT,
     Carl Rigney of Livingston and Peter Heitman of American Internet  Cor-
     poration for useful discussions of this problem space.
     
     
     9.  References
     
     [1]   C. Rigney, A. Rubens, W. Simpson, S. Willens.  "Remote Authenti-
     cation Dial In User Service (RADIUS)." RFC  2138,  Livingston,  Merit,
     Daydreamer, April, 1997.
     
     [2]   C.  Rigney.   "RADIUS  Accounting." RFC 2139, Livingston, April,
     1997.
     
     [3] C. Rigney, W. Willats.   "RADIUS  Extensions."  draft-ietf-radius-
     ext-00.txt, Livingston, January, 1997.
     
     [4]  "Information  processing systems - Open Systems Interconnection -
     Specification of Abstract Syntax Notation One (ASN.1)",  International
     Organization  for Standardization, International Standard 8824, Decem-
     ber 1987.
     
     [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,  "Introduc-
     tion  to Community-based SNMPv2", RFC 1901, SNMP Research, Inc., Cisco
     Systems, Dover Beach Consulting, Inc., International Network Services,
     January, 1996.
     
     [6]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
     of Management Information for Version 2 of the Simple Network  Manage-
     ment Protocol (SNMPv2)", RFC 1902, SNMP Research, Inc., Cisco Systems,
     Dover Beach Consulting, Inc., International Network Services, January,
     1996.
     
     
     
     Aboba & Zorn                                                  [Page 8]


     INTERNET-DRAFT                                        12 February 1998
     
     
     [7]  Case,  J.,  McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
     Conventions for version 2 of the the Simple Network Management  Proto-
     col  (SNMPv2)",  RFC  1903,  SNMP Research, Inc., Cisco Systems, Dover
     Beach Consulting, Inc., International Network Services, January, 1996.
     
     [8]  Case,  J.,  McCloghrie, K., Rose, M., and S. Waldbusser, "Confor-
     mance Statements for version 2 of the the  Simple  Network  Management
     Protocol  (SNMPv2)",  RFC  1904,  SNMP  Research, Inc., Cisco Systems,
     Dover Beach Consulting, Inc., International Network Services, January,
     1996.
     
     [9]  Case,  J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
     Operations for Version 2 of the  Simple  Network  Management  Protocol
     (SNMPv2)",  RFC  1905, SNMP Research, Inc., Cisco Systems, Dover Beach
     Consulting, Inc., International Network Services, January, 1996.
     
     [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport
     Mappings  for  Version  2  of  the  Simple Network Management Protocol
     (SNMPv2)", RFC 1906, SNMP Research, Inc., Cisco Systems,  Dover  Beach
     Consulting, Inc., International Network Services, January, 1996.
     
     [11]  Case,  J., McCloghrie, K., Rose, M., and S. Waldbusser, "Manage-
     ment Information Base for Version 2 of the Simple  Network  Management
     Protocol  (SNMPv2)",  RFC  1907,  SNMP  Research, Inc., Cisco Systems,
     Dover Beach Consulting, Inc., International Network Services, January,
     1996.
     
     [12]  Case,  J., McCloghrie, K., Rose, M., and S. Waldbusser, "Coexis-
     tence between Version 1 and Version 2 of the Internet-standard Network
     Management  Framework",  RFC 1908, SNMP Research, Inc., Cisco Systems,
     Dover Beach Consulting, Inc., International Network Services, January,
     1996.
     
     [13]  McCloghrie,  K.,  "An Administrative Infrastructure for SNMPv2",
     RFC 1909, Cisco Systems, February, 1996.
     
     
     10.  Authors' Addresses
     
     Bernard Aboba
     Microsoft Corporation
     One Microsoft Way
     Redmond, WA 98052
     
     Phone: 425-936-6605
     EMail: bernarda@microsoft.com
     
     Glen Zorn
     Microsoft Corporation
     One Microsoft Way
     Redmond, WA 98052
     
     Phone: 425-703-1559
     EMail: glennz@microsoft.com
     
     
     
     Aboba & Zorn                                                  [Page 9]


     INTERNET-DRAFT                                        12 February 1998
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     Aboba & Zorn                                                 [Page 10]