home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1612.txt < prev    next >
Text File  |  1996-05-07  |  62KB  |  634 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         R. Austein Request for Comments: 1612               Epilogue Technology Corporation Category: Standards Track                                     J. Saperia                                            Digital Equipment Corporation                                                                 May 1994 
  8.  
  9.                        DNS Resolver MIB Extensions 
  10.  
  11. Status of this Memo 
  12.  
  13.    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. 
  14.  
  15. Table of Contents 
  16.  
  17.    1. Introduction ..............................................    1    2. The SNMPv2 Network Management Framework ...................    2    2.1 Object Definitions .......................................    2    3. Overview ..................................................    2    3.1 Resolvers ................................................    3    3.2 Name Servers .............................................    3    3.3 Selected Objects .........................................    4    3.4 Textual Conventions ......................................    4    4. Definitions ...............................................    5    5. Acknowledgements ..........................................   30    6. References ................................................   30    7. Security Considerations ...................................   32    8. Authors' Addresses ........................................   32 
  18.  
  19. 1.  Introduction 
  20.  
  21.    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 a set of extensions which instrument DNS    resolver functions.  This memo was produced by the DNS working group. 
  22.  
  23.    With the adoption of the Internet-standard Network Management    Framework [4,5,6,7], and with a large number of vendor    implementations of these standards in commercially available    products, it became possible to provide a higher level of effective    network management in TCP/IP-based internets than was previously    available.  With the growth in the use of these standards, it has    become possible to consider the management of other elements of the    infrastructure beyond the basic TCP/IP protocols.  A key element of 
  24.  
  25.  
  26.  
  27. Austein & Saperia                                               [Page 1] 
  28.  RFC 1612                    DNS Resolver MIB                    May 1994 
  29.  
  30.     the TCP/IP infrastructure is the DNS. 
  31.  
  32.    Up to this point there has been no mechanism to integrate the    management of the DNS with SNMP-based managers.  This memo provides    the mechanisms by which IP-based management stations can effectively    manage DNS resolver software in an integrated fashion. 
  33.  
  34.    We have defined DNS MIB objects to be used in conjunction with the    Internet MIB to allow access to and control of DNS resolver software    via SNMP by the Internet community. 
  35.  
  36. 2.  The SNMPv2 Network Management Framework 
  37.  
  38.    The SNMPv2 Network Management Framework consists of four major    components.  They are: 
  39.  
  40.       o  RFC 1442 which defines the SMI, the mechanisms used for          describing and naming objects for the purpose of management. 
  41.  
  42.       o  STD 17, RFC 1213 defines MIB-II, the core set of managed          objects for the Internet suite of protocols. 
  43.  
  44.       o  RFC 1445 which defines the administrative and other          architectural aspects of the framework. 
  45.  
  46.       o  RFC 1448 which defines the protocol used for network access to          managed objects. 
  47.  
  48.    The Framework permits new objects to be defined for the purpose of    experimentation and evaluation. 
  49.  
  50. 2.1.  Object Definitions 
  51.  
  52.    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. 
  53.  
  54. 3.  Overview 
  55.  
  56.    In theory, the DNS world is pretty simple.  There are two kinds of    entities: resolvers and name servers.  Resolvers ask questions.  Name    servers answer them.  The real world, however, is not so simple. 
  57.  
  58.  
  59.  
  60. Austein & Saperia                                               [Page 2] 
  61.  RFC 1612                    DNS Resolver MIB                    May 1994 
  62.  
  63.     Implementors have made widely differing choices about how to divide    DNS functions between resolvers and servers.  They have also    constructed various sorts of exotic hybrids.  The most difficult task    in defining this MIB was to accommodate this wide range of entities    without having to come up with a separate MIB for each. 
  64.  
  65.    We divided up the various DNS functions into two, non-overlapping    classes, called "resolver functions" and "name server functions."  A    DNS entity that performs what we define as resolver functions    contains a resolver, and therefore must implement the MIB groups    required of all resolvers which are defined in this module.  Some    resolvers also implement "optional" functions such as a cache, in    which case they must also implement the cache group contained in this    MIB.  A DNS entity which implements name server functions is    considered to be a name server, and must implement the MIB groups    required for name servers which are defined in a separate module.  If    the same piece of software performs both resolver and server    functions, we imagine that it contains both a resolver and a server    and would thus implement both the DNS Server and DNS Resolver MIBs. 
  66.  
  67. 3.1.  Resolvers 
  68.  
  69.    In our model, a resolver is a program (or piece thereof) which    obtains resource records from servers.  Normally it does so at the    behest of an application, but may also do so as part of its own    operation.  A resolver sends DNS protocol queries and receives DNS    protocol replies.  A resolver neither receives queries nor sends    replies.  A full service resolver is one that knows how to resolve    queries: it obtains the needed resource records by contacting a    server authoritative for the records desired.  A stub resolver does    not know how to resolve queries: it sends all queries to a local name    server, setting the "recursion desired" flag to indicate that it    hopes that the name server will be willing to resolve the query.  A    resolver may (optionally) have a cache for remembering previously    acquired resource records.  It may also have a negative cache for    remembering names or data that have been determined not to exist. 
  70.  
  71. 3.2.  Name Servers 
  72.  
  73.    A name server is a program (or piece thereof) that provides resource    records to resolvers.  All references in this document to "a name    server" imply "the name server's role"; in some cases the name    server's role and the resolver's role might be combined into a single    program.  A name server receives DNS protocol queries and sends DNS    protocol replies.  A name server neither sends queries nor receives    replies.  As a consequence, name servers do not have caches.    Normally, a name server would expect to receive only those queries to    which it could respond with authoritative information.  However, if a 
  74.  
  75.  
  76.  
  77. Austein & Saperia                                               [Page 3] 
  78.  RFC 1612                    DNS Resolver MIB                    May 1994 
  79.  
  80.     name server receives a query that it cannot respond to with purely    authoritative information, it may choose to try to obtain the    necessary additional information from a resolver which may or may not    be a separate process. 
  81.  
  82. 3.3.  Selected Objects 
  83.  
  84.    Many of the objects included in this memo have been created from    information contained in the DNS specifications [1,2], as amended and    clarified by subsequent host requirements documents [3].  Other    objects have been created based on experience with existing DNS    management tools, expected operational needs, the statistics    generated by existing DNS implementations, and the configuration    files used by existing DNS implementations.  These objects have been    ordered into groups as follows: 
  85.  
  86.          o  Resolver Configuration Group 
  87.  
  88.          o  Resolver Counter Group 
  89.  
  90.          o  Resolver Lame Delegation Group 
  91.  
  92.          o  Resolver Cache Group 
  93.  
  94.          o  Resolver Negative Cache Group 
  95.  
  96.          o  Resolver Optional Counter Group 
  97.  
  98.    This information has been converted into a standard form using the    SNMPv2 SMI defined in [9].  For the most part, the descriptions are    influenced by the DNS related RFCs noted above.  For example, the    descriptions for counters used for the various types of queries of    DNS records are influenced by the definitions used for the various    record types found in [2]. 
  99.  
  100. 3.4.  Textual Conventions 
  101.  
  102.    Several conceptual data types have been introduced as a textual    conventions in the DNS Server MIB document and have been imported    into this MIB module.  These additions will facilitate the common    understanding of information used by the DNS.  No changes to the SMI    or the SNMP are necessary to support these conventions. 
  103.  
  104.    Readers familiar with MIBs designed to manage entities in the lower    layers of the Internet protocol suite may be surprised at the number    of non-enumerated integers used in this MIB to represent values such    as DNS RR class and type numbers.  The reason for this choice is    simple: the DNS itself is designed as an extensible protocol, 
  105.  
  106.  
  107.  
  108. Austein & Saperia                                               [Page 4] 
  109.  RFC 1612                    DNS Resolver MIB                    May 1994 
  110.  
  111.     allowing new classes and types of resource records to be added to the    protocol without recoding the core DNS software.  Using non-    enumerated integers to represent these data types in this MIB allows    the MIB to accommodate these changes as well. 
  112.  
  113. 4.  Definitions 
  114.  
  115.    DNS-RESOLVER-MIB DEFINITIONS ::= BEGIN 
  116.  
  117.    IMPORTS        MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Integer32            FROM SNMPv2-SMI        TEXTUAL-CONVENTION, RowStatus, DisplayString            FROM SNMPv2-TC        MODULE-COMPLIANCE, OBJECT-GROUP            FROM SNMPv2-CONF        dns, DnsName, DnsNameAsIndex, DnsClass, DnsType, DnsQClass,        DnsQType, DnsTime, DnsOpCode, DnsRespCode            FROM DNS-SERVER-MIB; 
  118.  
  119.    -- DNS Resolver MIB 
  120.  
  121.    dnsResMIB MODULE-IDENTITY        LAST-UPDATED "9401282250Z"        ORGANIZATION "IETF DNS Working Group"        CONTACT-INFO                "       Rob Austein                Postal: Epilogue Technology Corporation                        268 Main Street, Suite 283                        North Reading, MA 10864                        US                   Tel: +1 617 245 0804                   Fax: +1 617 245 8122                E-Mail: sra@epilogue.com 
  122.  
  123.                        Jon Saperia                Postal: Digital Equipment Corporation                        110 Spit Brook Road                        ZKO1-3/H18                        Nashua, NH 03062-2698                        US                   Tel: +1 603 881 0480                   Fax: +1 603 881 0120                E-mail: saperia@zko.dec.com"        DESCRIPTION                "The MIB module for entities implementing the client                (resolver) side of the Domain Name System (DNS)                protocol." 
  124.  
  125.  
  126.  
  127. Austein & Saperia                                               [Page 5] 
  128.  RFC 1612                    DNS Resolver MIB                    May 1994 
  129.  
  130.         ::= { dns 2 } 
  131.  
  132.    dnsResMIBObjects        OBJECT IDENTIFIER ::= { dnsResMIB 1 } 
  133.  
  134.    -- (Old-style) groups in the DNS resolver MIB. 
  135.  
  136.    dnsResConfig            OBJECT IDENTIFIER ::= { dnsResMIBObjects 1 }    dnsResCounter           OBJECT IDENTIFIER ::= { dnsResMIBObjects 2 }    dnsResLameDelegation    OBJECT IDENTIFIER ::= { dnsResMIBObjects 3 }    dnsResCache             OBJECT IDENTIFIER ::= { dnsResMIBObjects 4 }    dnsResNCache            OBJECT IDENTIFIER ::= { dnsResMIBObjects 5 }    dnsResOptCounter        OBJECT IDENTIFIER ::= { dnsResMIBObjects 6 } 
  137.  
  138.     -- Resolver Configuration Group 
  139.  
  140.    dnsResConfigImplementIdent OBJECT-TYPE        SYNTAX      DisplayString        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "The implementation identification string for the                resolver software in use on the system, for example;                `RES-2.1'"        ::= { dnsResConfig 1 } 
  141.  
  142.    dnsResConfigService OBJECT-TYPE        SYNTAX      INTEGER { recursiveOnly(1),                              iterativeOnly(2),                              recursiveAndIterative(3) }        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Kind of DNS resolution service provided: 
  143.  
  144.                recursiveOnly(1) indicates a stub resolver. 
  145.  
  146.                iterativeOnly(2) indicates a normal full service                resolver. 
  147.  
  148.                recursiveAndIterative(3) indicates a full-service                resolver which performs a mix of recursive and iterative                queries."         ::= { dnsResConfig 2 } 
  149.  
  150.    dnsResConfigMaxCnames OBJECT-TYPE        SYNTAX      INTEGER (0..2147483647)        MAX-ACCESS  read-write 
  151.  
  152.  
  153.  
  154. Austein & Saperia                                               [Page 6] 
  155.  RFC 1612                    DNS Resolver MIB                    May 1994 
  156.  
  157.         STATUS      current        DESCRIPTION                "Limit on how many CNAMEs the resolver should allow                before deciding that there's a CNAME loop.  Zero means                that resolver has no explicit CNAME limit."        REFERENCE                "RFC-1035 section 7.1."        ::= { dnsResConfig 3 } 
  158.  
  159.    -- DNS Resolver Safety Belt Table 
  160.  
  161.    dnsResConfigSbeltTable OBJECT-TYPE        SYNTAX      SEQUENCE OF DnsResConfigSbeltEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Table of safety belt information used by the resolver                when it hasn't got any better idea of where to send a                query, such as when the resolver is booting or is a stub                resolver."        ::= { dnsResConfig 4 } 
  162.  
  163.    dnsResConfigSbeltEntry OBJECT-TYPE        SYNTAX      DnsResConfigSbeltEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "An entry in the resolver's Sbelt table.                Rows may be created or deleted at any time by the DNS                resolver and by SNMP SET requests.  Whether the values                changed via SNMP are saved in stable storage across                `reset' operations is implementation-specific."        INDEX     { dnsResConfigSbeltAddr,                    dnsResConfigSbeltSubTree,                    dnsResConfigSbeltClass }        ::= { dnsResConfigSbeltTable 1 } 
  164.  
  165.    DnsResConfigSbeltEntry ::=        SEQUENCE {            dnsResConfigSbeltAddr                IpAddress,            dnsResConfigSbeltName                DnsName,            dnsResConfigSbeltRecursion                INTEGER,            dnsResConfigSbeltPref                INTEGER,            dnsResConfigSbeltSubTree 
  166.  
  167.  
  168.  
  169. Austein & Saperia                                               [Page 7] 
  170.  RFC 1612                    DNS Resolver MIB                    May 1994 
  171.  
  172.                 DnsNameAsIndex,            dnsResConfigSbeltClass                DnsClass,            dnsResConfigSbeltStatus                RowStatus        } 
  173.  
  174.    dnsResConfigSbeltAddr OBJECT-TYPE        SYNTAX      IpAddress        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "The IP address of the Sbelt name server identified by                this row of the table."        ::= { dnsResConfigSbeltEntry 1 } 
  175.  
  176.    dnsResConfigSbeltName OBJECT-TYPE        SYNTAX      DnsName        MAX-ACCESS  read-create        STATUS      current        DESCRIPTION                "The DNS name of a Sbelt nameserver identified by this                row of the table.  A zero-length string indicates that                the name is not known by the resolver."        ::= { dnsResConfigSbeltEntry 2 } 
  177.  
  178.    dnsResConfigSbeltRecursion OBJECT-TYPE        SYNTAX      INTEGER { iterative(1),                              recursive(2),                              recursiveAndIterative(3) }        MAX-ACCESS  read-create        STATUS      current        DESCRIPTION                "Kind of queries resolver will be sending to the name                server identified in this row of the table: 
  179.  
  180.                iterative(1) indicates that resolver will be directing                iterative queries to this name server (RD bit turned                off). 
  181.  
  182.                recursive(2) indicates that resolver will be directing                recursive queries to this name server (RD bit turned                on). 
  183.  
  184.                recursiveAndIterative(3) indicates that the resolver                will be directing both recursive and iterative queries                to the server identified in this row of the table."         ::= { dnsResConfigSbeltEntry 3 } 
  185.  
  186.  
  187.  
  188. Austein & Saperia                                               [Page 8] 
  189.  RFC 1612                    DNS Resolver MIB                    May 1994 
  190.  
  191.     dnsResConfigSbeltPref OBJECT-TYPE        SYNTAX      INTEGER (0..2147483647)        MAX-ACCESS  read-create        STATUS      current        DESCRIPTION                "This value identifies the preference for the name server                identified in this row of the table.  The lower the                value, the more desirable the resolver considers this                server."         ::= { dnsResConfigSbeltEntry 4 } 
  192.  
  193.    dnsResConfigSbeltSubTree OBJECT-TYPE        SYNTAX      DnsNameAsIndex        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Queries sent to the name server identified by this row                of the table are limited to those for names in the name                subtree identified by this variable.  If no such                limitation applies, the value of this variable is the                name of the root domain (a DNS name consisting of a                single zero octet)."        ::= { dnsResConfigSbeltEntry 5 } 
  194.  
  195.    dnsResConfigSbeltClass OBJECT-TYPE        SYNTAX      DnsClass        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "The class of DNS queries that will be sent to the server                identified by this row of the table."        ::= { dnsResConfigSbeltEntry 6 } 
  196.  
  197.    dnsResConfigSbeltStatus OBJECT-TYPE        SYNTAX      RowStatus        MAX-ACCESS  read-create        STATUS      current        DESCRIPTION                "Row status column for this row of the Sbelt table."        ::= { dnsResConfigSbeltEntry 7 } 
  198.  
  199.    dnsResConfigUpTime OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "If the resolver has a persistent state (e.g., a                process), this value will be the time elapsed since it 
  200.  
  201.  
  202.  
  203. Austein & Saperia                                               [Page 9] 
  204.  RFC 1612                    DNS Resolver MIB                    May 1994 
  205.  
  206.                 started.  For software without persistant state, this                value will be 0."        ::= { dnsResConfig 5 } 
  207.  
  208.    dnsResConfigResetTime OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "If the resolver has a persistent state (e.g., a process)                and supports a `reset' operation (e.g., can be told to                re-read configuration files), this value will be the                time elapsed since the last time the resolver was                `reset.'  For software that does not have persistence or                does not support a `reset' operation, this value will be                zero."        ::= { dnsResConfig 6 } 
  209.  
  210.    dnsResConfigReset OBJECT-TYPE        SYNTAX      INTEGER { other(1),                              reset(2),                              initializing(3),                              running(4) }        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Status/action object to reinitialize any persistant                resolver state.  When set to reset(2), any persistant                resolver state (such as a process) is reinitialized as if                the resolver had just been started.  This value will                never be returned by a read operation.  When read, one of                the following values will be returned:                    other(1) - resolver in some unknown state;                    initializing(3) - resolver (re)initializing;                    running(4) - resolver currently running."        ::= { dnsResConfig 7 } 
  211.  
  212.     -- Resolver Counters Group 
  213.  
  214.    -- Resolver Counter Table 
  215.  
  216.    dnsResCounterByOpcodeTable OBJECT-TYPE        SYNTAX      SEQUENCE OF DnsResCounterByOpcodeEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Table of the current count of resolver queries and 
  217.  
  218.  
  219.  
  220. Austein & Saperia                                              [Page 10] 
  221.  RFC 1612                    DNS Resolver MIB                    May 1994 
  222.  
  223.                 answers."        ::= { dnsResCounter 3 } 
  224.  
  225.    dnsResCounterByOpcodeEntry OBJECT-TYPE        SYNTAX      DnsResCounterByOpcodeEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Entry in the resolver counter table.  Entries are                indexed by DNS OpCode."        INDEX     { dnsResCounterByOpcodeCode }        ::= { dnsResCounterByOpcodeTable 1 } 
  226.  
  227.    DnsResCounterByOpcodeEntry ::=        SEQUENCE {            dnsResCounterByOpcodeCode                DnsOpCode,            dnsResCounterByOpcodeQueries                Counter32,            dnsResCounterByOpcodeResponses                Counter32        } 
  228.  
  229.    dnsResCounterByOpcodeCode OBJECT-TYPE        SYNTAX      DnsOpCode        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "The index to this table.  The OpCodes that have already                been defined are found in RFC-1035."        REFERENCE                "RFC-1035 section 4.1.1."        ::= { dnsResCounterByOpcodeEntry 1 } 
  230.  
  231.    dnsResCounterByOpcodeQueries OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Total number of queries that have sent out by the                resolver since initialization for the OpCode which is                the index to this row of the table."        ::= { dnsResCounterByOpcodeEntry 2 } 
  232.  
  233.    dnsResCounterByOpcodeResponses OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current 
  234.  
  235.  
  236.  
  237. Austein & Saperia                                              [Page 11] 
  238.  RFC 1612                    DNS Resolver MIB                    May 1994 
  239.  
  240.         DESCRIPTION                "Total number of responses that have been received by the                resolver since initialization for the OpCode which is                the index to this row of the table."        ::= { dnsResCounterByOpcodeEntry 3 } 
  241.  
  242.    -- Resolver Response Code Counter Table 
  243.  
  244.    dnsResCounterByRcodeTable OBJECT-TYPE        SYNTAX      SEQUENCE OF DnsResCounterByRcodeEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Table of the current count of responses to resolver                queries."        ::= { dnsResCounter 4 } 
  245.  
  246.    dnsResCounterByRcodeEntry OBJECT-TYPE        SYNTAX      DnsResCounterByRcodeEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Entry in the resolver response table.  Entries are                indexed by DNS response code."        INDEX     { dnsResCounterByRcodeCode }        ::= { dnsResCounterByRcodeTable 1 } 
  247.  
  248.    DnsResCounterByRcodeEntry ::=        SEQUENCE {            dnsResCounterByRcodeCode                DnsRespCode,            dnsResCounterByRcodeResponses                Counter32        } 
  249.  
  250.    dnsResCounterByRcodeCode OBJECT-TYPE        SYNTAX      DnsRespCode        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "The index to this table.  The Response Codes that have                already been defined are found in RFC-1035."        REFERENCE                "RFC-1035 section 4.1.1."        ::= { dnsResCounterByRcodeEntry 1 } 
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  Austein & Saperia                                              [Page 12] 
  257.  RFC 1612                    DNS Resolver MIB                    May 1994 
  258.  
  259.     dnsResCounterByRcodeResponses OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of responses the resolver has received for the                response code value which identifies this row of the                table."        ::= { dnsResCounterByRcodeEntry 2 } 
  260.  
  261.    -- Additional DNS Resolver Counter Objects 
  262.  
  263.    dnsResCounterNonAuthDataResps OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of requests made by the resolver for which a                non-authoritative answer (cached data) was received."        ::= { dnsResCounter 5 } 
  264.  
  265.    dnsResCounterNonAuthNoDataResps OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of requests made by the resolver for which a                non-authoritative answer - no such data response (empty                answer) was received."        ::= { dnsResCounter 6 } 
  266.  
  267.    dnsResCounterMartians OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of responses received which were received from                servers that the resolver does not think it asked."        ::= { dnsResCounter 7 } 
  268.  
  269.    dnsResCounterRecdResponses OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of responses received to all queries."        ::= { dnsResCounter 8 } 
  270.  
  271.  
  272.  
  273.  Austein & Saperia                                              [Page 13] 
  274.  RFC 1612                    DNS Resolver MIB                    May 1994 
  275.  
  276.     dnsResCounterUnparseResps OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of responses received which were unparseable."        ::= { dnsResCounter 9 } 
  277.  
  278.    dnsResCounterFallbacks OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of times the resolver had to fall back to its                seat belt information."        ::= { dnsResCounter 10 } 
  279.  
  280.     -- Lame Delegation Group 
  281.  
  282.    dnsResLameDelegationOverflows OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of times the resolver attempted to add an entry                to the Lame Delegation table but was unable to for some                reason such as space constraints."        ::= { dnsResLameDelegation 1 } 
  283.  
  284.    -- Lame Delegation Table 
  285.  
  286.    dnsResLameDelegationTable OBJECT-TYPE        SYNTAX      SEQUENCE OF DnsResLameDelegationEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Table of name servers returning lame delegations. 
  287.  
  288.                A lame delegation has occured when a parent zone                delegates authority for a child zone to a server that                appears not to think that it is authoritative for the                child zone in question."        ::= { dnsResLameDelegation 2 } 
  289.  
  290.    dnsResLameDelegationEntry OBJECT-TYPE        SYNTAX      DnsResLameDelegationEntry        MAX-ACCESS  not-accessible 
  291.  
  292.  
  293.  
  294. Austein & Saperia                                              [Page 14] 
  295.  RFC 1612                    DNS Resolver MIB                    May 1994 
  296.  
  297.         STATUS      current        DESCRIPTION                "Entry in lame delegation table.  Only the resolver may                create rows in this table.  SNMP SET requests may be used                to delete rows."        INDEX     { dnsResLameDelegationSource,                    dnsResLameDelegationName,                    dnsResLameDelegationClass }        ::= { dnsResLameDelegationTable 1 } 
  298.  
  299.    DnsResLameDelegationEntry ::=        SEQUENCE {            dnsResLameDelegationSource                IpAddress,            dnsResLameDelegationName                DnsNameAsIndex,            dnsResLameDelegationClass                DnsClass,            dnsResLameDelegationCounts                Counter32,            dnsResLameDelegationStatus                RowStatus        } 
  300.  
  301.    dnsResLameDelegationSource OBJECT-TYPE        SYNTAX      IpAddress        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Source of lame delegation."        ::= { dnsResLameDelegationEntry 1 } 
  302.  
  303.    dnsResLameDelegationName OBJECT-TYPE        SYNTAX      DnsNameAsIndex        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "DNS name for which lame delegation was received."        ::= { dnsResLameDelegationEntry 2 } 
  304.  
  305.    dnsResLameDelegationClass OBJECT-TYPE        SYNTAX      DnsClass        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "DNS class of received lame delegation."        ::= { dnsResLameDelegationEntry 3 } 
  306.  
  307.  
  308.  
  309.  Austein & Saperia                                              [Page 15] 
  310.  RFC 1612                    DNS Resolver MIB                    May 1994 
  311.  
  312.     dnsResLameDelegationCounts OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "How many times this lame delegation has been received."        ::= { dnsResLameDelegationEntry 4 } 
  313.  
  314.    dnsResLameDelegationStatus OBJECT-TYPE        SYNTAX      RowStatus        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Status column for the lame delegation table.  Since only                the agent (DNS resolver) creates rows in this table, the                only values that a manager may write to this variable                are active(1) and destroy(6)."        ::= { dnsResLameDelegationEntry 5 } 
  315.  
  316.     -- Resolver Cache Group 
  317.  
  318.    dnsResCacheStatus OBJECT-TYPE        SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Status/action for the resolver's cache. 
  319.  
  320.                enabled(1) means that the use of the cache is allowed.                Query operations can return this state. 
  321.  
  322.                disabled(2) means that the cache is not being used.                Query operations can return this state. 
  323.  
  324.                Setting this variable to clear(3) deletes the entire                contents of the resolver's cache, but does not otherwise                change the resolver's state.  The status will retain its                previous value from before the clear operation (i.e.,                enabled(1) or disabled(2)).  The value of clear(3) can                NOT be returned by a query operation."        ::= { dnsResCache 1 } 
  325.  
  326.    dnsResCacheMaxTTL OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION 
  327.  
  328.  
  329.  
  330. Austein & Saperia                                              [Page 16] 
  331.  RFC 1612                    DNS Resolver MIB                    May 1994 
  332.  
  333.                 "Maximum Time-To-Live for RRs in this cache.  If the                resolver does not implement a TTL ceiling, the value of                this field should be zero."        ::= { dnsResCache 2 } 
  334.  
  335.    dnsResCacheGoodCaches OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of RRs the resolver has cached successfully."        ::= { dnsResCache 3 } 
  336.  
  337.    dnsResCacheBadCaches OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of RRs the resolver has refused to cache because                they appear to be dangerous or irrelevant.  E.g., RRs                with suspiciously high TTLs, unsolicited root                information, or that just don't appear to be relevant to                the question the resolver asked."        ::= { dnsResCache 4 } 
  338.  
  339.    -- Resolver Cache Table 
  340.  
  341.    dnsResCacheRRTable OBJECT-TYPE        SYNTAX      SEQUENCE OF DnsResCacheRREntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "This table contains information about all the resource                records currently in the resolver's cache."        ::= { dnsResCache 5 } 
  342.  
  343.    dnsResCacheRREntry OBJECT-TYPE        SYNTAX      DnsResCacheRREntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "An entry in the resolvers's cache.  Rows may be created                only by the resolver.  SNMP SET requests may be used to                delete rows."        INDEX     { dnsResCacheRRName,                    dnsResCacheRRClass,                    dnsResCacheRRType,                    dnsResCacheRRIndex } 
  344.  
  345.  
  346.  
  347. Austein & Saperia                                              [Page 17] 
  348.  RFC 1612                    DNS Resolver MIB                    May 1994 
  349.  
  350.         ::= { dnsResCacheRRTable 1 } 
  351.  
  352.    DnsResCacheRREntry ::=        SEQUENCE {            dnsResCacheRRName                DnsNameAsIndex,            dnsResCacheRRClass                DnsClass,            dnsResCacheRRType                DnsType,            dnsResCacheRRTTL                DnsTime,            dnsResCacheRRElapsedTTL                DnsTime,            dnsResCacheRRSource                IpAddress,            dnsResCacheRRData                OCTET STRING,            dnsResCacheRRStatus                RowStatus,            dnsResCacheRRIndex                Integer32,            dnsResCacheRRPrettyName                DnsName        } 
  353.  
  354.    dnsResCacheRRName OBJECT-TYPE        SYNTAX      DnsNameAsIndex        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "Owner name of the Resource Record in the cache which is                identified in this row of the table.  As described in                RFC-1034, the owner of the record is the domain name                were the RR is found."        REFERENCE                "RFC-1034 section 3.6."        ::= { dnsResCacheRREntry 1 } 
  355.  
  356.    dnsResCacheRRClass OBJECT-TYPE        SYNTAX      DnsClass        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "DNS class of the Resource Record in the cache which is                identified in this row of the table."        ::= { dnsResCacheRREntry 2 } 
  357.  
  358.  
  359.  
  360.  Austein & Saperia                                              [Page 18] 
  361.  RFC 1612                    DNS Resolver MIB                    May 1994 
  362.  
  363.     dnsResCacheRRType OBJECT-TYPE        SYNTAX      DnsType        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "DNS type of the Resource Record in the cache which is                identified in this row of the table."        ::= { dnsResCacheRREntry 3 } 
  364.  
  365.    dnsResCacheRRTTL OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Time-To-Live of RR in DNS cache.  This is the initial                TTL value which was received with the RR when it was                originally received."        ::= { dnsResCacheRREntry 4 } 
  366.  
  367.    dnsResCacheRRElapsedTTL OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Elapsed seconds since RR was received."        ::= { dnsResCacheRREntry 5 } 
  368.  
  369.    dnsResCacheRRSource OBJECT-TYPE        SYNTAX      IpAddress        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Host from which RR was received, 0.0.0.0 if unknown."        ::= { dnsResCacheRREntry 6 } 
  370.  
  371.    dnsResCacheRRData OBJECT-TYPE        SYNTAX      OCTET STRING        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "RDATA portion of a cached RR.  The value is in the                format defined for the particular DNS class and type of                the resource record."        REFERENCE                "RFC-1035 section 3.2.1."        ::= { dnsResCacheRREntry 7 } 
  372.  
  373.  
  374.  
  375.  
  376.  
  377. Austein & Saperia                                              [Page 19] 
  378.  RFC 1612                    DNS Resolver MIB                    May 1994 
  379.  
  380.     dnsResCacheRRStatus OBJECT-TYPE        SYNTAX      RowStatus        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Status column for the resolver cache table.  Since only                the agent (DNS resolver) creates rows in this table, the                only values that a manager may write to this variable                are active(1) and destroy(6)."        ::= { dnsResCacheRREntry 8 } 
  381.  
  382.    dnsResCacheRRIndex OBJECT-TYPE        SYNTAX      Integer32        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "A value which makes entries in the table unique when the                other index values (dnsResCacheRRName,                dnsResCacheRRClass, and dnsResCacheRRType) do not                provide a unique index."        ::= { dnsResCacheRREntry 9 } 
  383.  
  384.    dnsResCacheRRPrettyName OBJECT-TYPE        SYNTAX      DnsName        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Name of the RR at this row in the table.  This is                identical to the dnsResCacheRRName variable, except that                character case is preserved in this variable, per DNS                conventions."        REFERENCE                "RFC-1035 section 2.3.3."        ::= { dnsResCacheRREntry 10 } 
  385.  
  386.    -- Resolver Negative Cache Group 
  387.  
  388.    dnsResNCacheStatus OBJECT-TYPE        SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Status/action for the resolver's negative response                cache. 
  389.  
  390.                enabled(1) means that the use of the negative response                cache is allowed.  Query operations can return this                state. 
  391.  
  392.  
  393.  
  394. Austein & Saperia                                              [Page 20] 
  395.  RFC 1612                    DNS Resolver MIB                    May 1994 
  396.  
  397.                 disabled(2) means that the negative response cache is                not being used.  Query operations can return this state. 
  398.  
  399.                Setting this variable to clear(3) deletes the entire                contents of the resolver's negative response cache.  The                status will retain its previous value from before the                clear operation (i.e., enabled(1) or disabled(2)).  The                value of clear(3) can NOT be returned by a query                operation."        ::= { dnsResNCache 1 } 
  400.  
  401.    dnsResNCacheMaxTTL OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Maximum Time-To-Live for cached authoritative errors.                If the resolver does not implement a TTL ceiling, the                value of this field should be zero."        ::= { dnsResNCache 2 } 
  402.  
  403.    dnsResNCacheGoodNCaches OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of authoritative errors the resolver has cached                successfully."        ::= { dnsResNCache 3 } 
  404.  
  405.    dnsResNCacheBadNCaches OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of authoritative errors the resolver would have                liked to cache but was unable to because the appropriate                SOA RR was not supplied or looked suspicious."        REFERENCE                "RFC-1034 section 4.3.4."        ::= { dnsResNCache 4 } 
  406.  
  407.    -- Resolver Negative Cache Table 
  408.  
  409.    dnsResNCacheErrTable OBJECT-TYPE        SYNTAX      SEQUENCE OF DnsResNCacheErrEntry        MAX-ACCESS  not-accessible        STATUS      current 
  410.  
  411.  
  412.  
  413. Austein & Saperia                                              [Page 21] 
  414.  RFC 1612                    DNS Resolver MIB                    May 1994 
  415.  
  416.         DESCRIPTION                "The resolver's negative response cache.  This table                contains information about authoritative errors that                have been cached by the resolver."        ::= { dnsResNCache 5 } 
  417.  
  418.    dnsResNCacheErrEntry OBJECT-TYPE        SYNTAX      DnsResNCacheErrEntry        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "An entry in the resolver's negative response cache                table.  Only the resolver can create rows.  SNMP SET                requests may be used to delete rows."        INDEX     { dnsResNCacheErrQName,                    dnsResNCacheErrQClass,                    dnsResNCacheErrQType,                    dnsResNCacheErrIndex }        ::= { dnsResNCacheErrTable 1 } 
  419.  
  420.    DnsResNCacheErrEntry ::=        SEQUENCE {            dnsResNCacheErrQName                DnsNameAsIndex,            dnsResNCacheErrQClass                DnsQClass,            dnsResNCacheErrQType                DnsQType,            dnsResNCacheErrTTL                DnsTime,            dnsResNCacheErrElapsedTTL                DnsTime,            dnsResNCacheErrSource                IpAddress,            dnsResNCacheErrCode                INTEGER,            dnsResNCacheErrStatus                RowStatus,            dnsResNCacheErrIndex                Integer32,            dnsResNCacheErrPrettyName                DnsName        } 
  421.  
  422.    dnsResNCacheErrQName OBJECT-TYPE        SYNTAX      DnsNameAsIndex        MAX-ACCESS  not-accessible        STATUS      current 
  423.  
  424.  
  425.  
  426. Austein & Saperia                                              [Page 22] 
  427.  RFC 1612                    DNS Resolver MIB                    May 1994 
  428.  
  429.         DESCRIPTION                "QNAME associated with a cached authoritative error."        REFERENCE                "RFC-1034 section 3.7.1."        ::= { dnsResNCacheErrEntry 1 } 
  430.  
  431.    dnsResNCacheErrQClass OBJECT-TYPE        SYNTAX      DnsQClass        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "DNS QCLASS associated with a cached authoritative                error."        ::= { dnsResNCacheErrEntry 2 } 
  432.  
  433.    dnsResNCacheErrQType OBJECT-TYPE        SYNTAX      DnsQType        MAX-ACCESS  not-accessible        STATUS      current        DESCRIPTION                "DNS QTYPE associated with a cached authoritative error."        ::= { dnsResNCacheErrEntry 3 } 
  434.  
  435.    dnsResNCacheErrTTL OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Time-To-Live of a cached authoritative error at the time                of the error, it should not be decremented by the number                of seconds since it was received.  This should be the                TTL as copied from the MINIMUM field of the SOA that                accompanied the authoritative error, or a smaller value                if the resolver implements a ceiling on negative                response cache TTLs."        REFERENCE                "RFC-1034 section 4.3.4."        ::= { dnsResNCacheErrEntry 4 } 
  436.  
  437.    dnsResNCacheErrElapsedTTL OBJECT-TYPE        SYNTAX      DnsTime        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Elapsed seconds since authoritative error was received."        ::= { dnsResNCacheErrEntry 5 } 
  438.  
  439.  
  440.  
  441.  
  442.  
  443. Austein & Saperia                                              [Page 23] 
  444.  RFC 1612                    DNS Resolver MIB                    May 1994 
  445.  
  446.     dnsResNCacheErrSource OBJECT-TYPE        SYNTAX      IpAddress        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Host which sent the authoritative error, 0.0.0.0 if                unknown."        ::= { dnsResNCacheErrEntry 6 } 
  447.  
  448.    dnsResNCacheErrCode OBJECT-TYPE        SYNTAX      INTEGER { nonexistantName(1), noData(2), other(3) }        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "The authoritative error that has been cached: 
  449.  
  450.                nonexistantName(1) indicates an authoritative name error                (RCODE = 3). 
  451.  
  452.                noData(2) indicates an authoritative response with no                error (RCODE = 0) and no relevant data. 
  453.  
  454.                other(3) indicates some other cached authoritative                error.  At present, no such errors are known to exist."        ::= { dnsResNCacheErrEntry 7 } 
  455.  
  456.    dnsResNCacheErrStatus OBJECT-TYPE        SYNTAX      RowStatus        MAX-ACCESS  read-write        STATUS      current        DESCRIPTION                "Status column for the resolver negative response cache                table.  Since only the agent (DNS resolver) creates rows                in this table, the only values that a manager may write                to this variable are active(1) and destroy(6)."        ::= { dnsResNCacheErrEntry 8 } 
  457.  
  458.    dnsResNCacheErrIndex OBJECT-TYPE        SYNTAX      Integer32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "A value which makes entries in the table unique when the                other index values (dnsResNCacheErrQName,                dnsResNCacheErrQClass, and dnsResNCacheErrQType) do not                provide a unique index."        ::= { dnsResNCacheErrEntry 9 } 
  459.  
  460.  
  461.  
  462.  Austein & Saperia                                              [Page 24] 
  463.  RFC 1612                    DNS Resolver MIB                    May 1994 
  464.  
  465.     dnsResNCacheErrPrettyName OBJECT-TYPE        SYNTAX      DnsName        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "QNAME associated with this row in the table.  This is                identical to the dnsResNCacheErrQName variable, except                that character case is preserved in this variable, per                DNS conventions."        REFERENCE                "RFC-1035 section 2.3.3."        ::= { dnsResNCacheErrEntry 10 } 
  466.  
  467.     -- Resolver Optional Counters Group 
  468.  
  469.    dnsResOptCounterReferals OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of responses which were received from servers                redirecting query to another server."        ::= { dnsResOptCounter 1 } 
  470.  
  471.    dnsResOptCounterRetrans OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number requests retransmitted for all reasons."        ::= { dnsResOptCounter 2 } 
  472.  
  473.    dnsResOptCounterNoResponses OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of queries that were retransmitted because of no                response."        ::= { dnsResOptCounter 3 } 
  474.  
  475.    dnsResOptCounterRootRetrans OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of queries that were retransmitted that were to 
  476.  
  477.  
  478.  
  479. Austein & Saperia                                              [Page 25] 
  480.  RFC 1612                    DNS Resolver MIB                    May 1994 
  481.  
  482.                 root servers."        ::= { dnsResOptCounter 4 } 
  483.  
  484.    dnsResOptCounterInternals OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of requests internally generated by the                resolver."        ::= { dnsResOptCounter 5 } 
  485.  
  486.    dnsResOptCounterInternalTimeOuts OBJECT-TYPE        SYNTAX      Counter32        MAX-ACCESS  read-only        STATUS      current        DESCRIPTION                "Number of requests internally generated which timed                out."        ::= { dnsResOptCounter 6 } 
  487.  
  488.     -- SNMPv2 groups. 
  489.  
  490.    dnsResMIBGroups         OBJECT IDENTIFIER ::= { dnsResMIB 2 } 
  491.  
  492.    dnsResConfigGroup OBJECT-GROUP        OBJECTS   { dnsResConfigImplementIdent,                    dnsResConfigService,                    dnsResConfigMaxCnames,                    dnsResConfigSbeltAddr,                    dnsResConfigSbeltName,                    dnsResConfigSbeltRecursion,                    dnsResConfigSbeltPref,                    dnsResConfigSbeltSubTree,                    dnsResConfigSbeltClass,                    dnsResConfigSbeltStatus,                    dnsResConfigUpTime,                    dnsResConfigResetTime }        STATUS      current        DESCRIPTION                "A collection of objects providing basic configuration                information for a DNS resolver implementation."        ::= { dnsResMIBGroups 1 } 
  493.  
  494.    dnsResCounterGroup OBJECT-GROUP        OBJECTS   { dnsResCounterByOpcodeCode,                    dnsResCounterByOpcodeQueries, 
  495.  
  496.  
  497.  
  498. Austein & Saperia                                              [Page 26] 
  499.  RFC 1612                    DNS Resolver MIB                    May 1994 
  500.  
  501.                     dnsResCounterByOpcodeResponses,                    dnsResCounterByRcodeCode,                    dnsResCounterByRcodeResponses,                    dnsResCounterNonAuthDataResps,                    dnsResCounterNonAuthNoDataResps,                    dnsResCounterMartians,                    dnsResCounterRecdResponses,                    dnsResCounterUnparseResps,                    dnsResCounterFallbacks }        STATUS      current        DESCRIPTION                "A collection of objects providing basic instrumentation                of a DNS resolver implementation."        ::= { dnsResMIBGroups 2 } 
  502.  
  503.    dnsResLameDelegationGroup OBJECT-GROUP        OBJECTS   { dnsResLameDelegationOverflows,                    dnsResLameDelegationSource,                    dnsResLameDelegationName,                    dnsResLameDelegationClass,                    dnsResLameDelegationCounts,                    dnsResLameDelegationStatus }        STATUS      current        DESCRIPTION                "A collection of objects providing instrumentation of                `lame delegation' failures."        ::= { dnsResMIBGroups 3 } 
  504.  
  505.     dnsResCacheGroup OBJECT-GROUP        OBJECTS   { dnsResCacheStatus,                    dnsResCacheMaxTTL,                    dnsResCacheGoodCaches,                    dnsResCacheBadCaches,                    dnsResCacheRRName,                    dnsResCacheRRClass,                    dnsResCacheRRType,                    dnsResCacheRRTTL,                    dnsResCacheRRElapsedTTL,                    dnsResCacheRRSource,                    dnsResCacheRRData,                    dnsResCacheRRStatus,                    dnsResCacheRRIndex,                    dnsResCacheRRPrettyName }        STATUS      current        DESCRIPTION                "A collection of objects providing access to and control                of a DNS resolver's cache." 
  506.  
  507.  
  508.  
  509. Austein & Saperia                                              [Page 27] 
  510.  RFC 1612                    DNS Resolver MIB                    May 1994 
  511.  
  512.         ::= { dnsResMIBGroups 4 } 
  513.  
  514.    dnsResNCacheGroup OBJECT-GROUP        OBJECTS   { dnsResNCacheStatus,                    dnsResNCacheMaxTTL,                    dnsResNCacheGoodNCaches,                    dnsResNCacheBadNCaches,                    dnsResNCacheErrQName,                    dnsResNCacheErrQClass,                    dnsResNCacheErrQType,                    dnsResNCacheErrTTL,                    dnsResNCacheErrElapsedTTL,                    dnsResNCacheErrSource,                    dnsResNCacheErrCode,                    dnsResNCacheErrStatus,                    dnsResNCacheErrIndex,                    dnsResNCacheErrPrettyName }        STATUS      current        DESCRIPTION                "A collection of objects providing access to and control                of a DNS resolver's negative response cache."        ::= { dnsResMIBGroups 5 } 
  515.  
  516.    dnsResOptCounterGroup OBJECT-GROUP        OBJECTS   { dnsResOptCounterReferals,                    dnsResOptCounterRetrans,                    dnsResOptCounterNoResponses,                    dnsResOptCounterRootRetrans,                    dnsResOptCounterInternals,                    dnsResOptCounterInternalTimeOuts }        STATUS      current        DESCRIPTION                "A collection of objects providing further                instrumentation applicable to many but not all DNS                resolvers."        ::= { dnsResMIBGroups 6 } 
  517.  
  518.     -- Compliances. 
  519.  
  520.    dnsResMIBCompliances OBJECT IDENTIFIER ::= { dnsResMIB 3 } 
  521.  
  522.    dnsResMIBCompliance MODULE-COMPLIANCE        STATUS      current        DESCRIPTION                "The compliance statement for agents implementing the DNS                resolver MIB extensions."        MODULE -- This MIB module 
  523.  
  524.  
  525.  
  526. Austein & Saperia                                              [Page 28] 
  527.  RFC 1612                    DNS Resolver MIB                    May 1994 
  528.  
  529.             MANDATORY-GROUPS { dnsResConfigGroup, dnsResCounterGroup }            GROUP   dnsResCacheGroup            DESCRIPTION                "The resolver cache group is mandatory for resolvers that                implement a cache."            GROUP   dnsResNCacheGroup            DESCRIPTION                "The resolver negative cache group is mandatory for                resolvers that implement a negative response cache."            GROUP   dnsResLameDelegationGroup            DESCRIPTION                "The lame delegation group is unconditionally optional."            GROUP   dnsResOptCounterGroup            DESCRIPTION                "The optional counters group is unconditionally                optional."            OBJECT  dnsResConfigMaxCnames            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResConfigSbeltName            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResConfigSbeltRecursion            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResConfigSbeltPref            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResConfigReset            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResCacheStatus            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResCacheMaxTTL            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."            OBJECT  dnsResNCacheStatus            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable." 
  530.  
  531.  
  532.  
  533. Austein & Saperia                                              [Page 29] 
  534.  RFC 1612                    DNS Resolver MIB                    May 1994 
  535.  
  536.             OBJECT  dnsResNCacheMaxTTL            MIN-ACCESS      read-only            DESCRIPTION                "This object need not be writable."        ::= { dnsResMIBCompliances 1 } 
  537.  
  538.    END 
  539.  
  540. 5.  Acknowledgements 
  541.  
  542.    This document is the result of work undertaken the by DNS working    group.  The authors would particularly like to thank the following    people for their contributions to this document: Philip Almquist,    Frank Kastenholz (FTP Software), Joe Peck (DEC), Dave Perkins    (SynOptics), Win Treese (DEC), and Mimi Zohar (IBM). 
  543.  
  544. 6.  References 
  545.  
  546.    [1] Mockapetris, P., "Domain Names -- Concepts and Facilities", STD        13, RFC 1034, USC/Information Sciences Institute, November 1987. 
  547.  
  548.    [2] Mockapetris, P., "Domain Names -- Implementation and        Specification", STD 13, RFC 1035, USC/Information Sciences        Institute, November 1987. 
  549.  
  550.    [3] Braden, R., Editor, "Requirements for Internet Hosts --        Application and Support, STD 3, RFC 1123, USC/Information        Sciences Institute, October 1989. 
  551.  
  552.    [4] Rose, M., and K. McCloghrie, "Structure and Identification of        Management Information for TCP/IP-based internets", STD 16, RFC        1155, Performance Systems International, Hughes LAN Systems, May        1990. 
  553.  
  554.    [5] McCloghrie, K., and M. Rose, "Management Information Base for        Network Management of TCP/IP-based internets", RFC 1156, Hughes        LAN Systems, Performance Systems International, May 1990. 
  555.  
  556.    [6] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple        Network Management Protocol", STD 15, RFC 1157, SNMP Research,        Performance Systems International, Performance Systems        International, MIT Laboratory for Computer Science, May 1990. 
  557.  
  558.    [7] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions",        STD 16, RFC 1212, Performance Systems International, Hughes LAN        Systems, March 1991. 
  559.  
  560.  
  561.  
  562.  
  563.  
  564. Austein & Saperia                                              [Page 30] 
  565.  RFC 1612                    DNS Resolver MIB                    May 1994 
  566.  
  567.     [8] McCloghrie, K., and M. Rose, "Management Information Base for        Network Management of TCP/IP-based internets: MIB-II", STD 17,        RFC 1213, Hughes LAN Systems, Performance Systems International,        March 1991. 
  568.  
  569.    [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure        of Management Information for version 2 of the Simple Network        Management Protocol (SNMPv2)", RFC 1442, SNMP Research, Inc.,        Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon        University, April 1993. 
  570.  
  571.   [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual        Conventions for version 2 of the the Simple Network Management        Protocol (SNMPv2)", RFC 1443, SNMP Research, Inc., Hughes LAN        Systems, Dover Beach Consulting, Inc., Carnegie Mellon        University, April 1993. 
  572.  
  573.   [11] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,        "Conformance Statements for version 2 of the the Simple Network        Management Protocol (SNMPv2)", RFC 1444, SNMP Research, Inc.,        Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon        University, April 1993. 
  574.  
  575.   [12] Galvin, J., and K. McCloghrie, "Administrative Model for version        2 of the Simple Network Management Protocol (SNMPv2)", RFC 1445,        Trusted Information Systems, Hughes LAN Systems, April 1993. 
  576.  
  577.   [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol        Operations for version 2 of the Simple Network Management        Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc., Hughes LAN        Systems, Dover Beach Consulting, Inc., Carnegie Mellon        University, April 1993. 
  578.  
  579.   [14] "Information processing systems - Open Systems Interconnection -        Specification of Abstract Syntax Notation One (ASN.1)",        International Organization for Standardization, International        Standard 8824, December 1987. 
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  Austein & Saperia                                              [Page 31] 
  594.  RFC 1612                    DNS Resolver MIB                    May 1994 
  595.  
  596.  7.  Security Considerations 
  597.  
  598.    Security issues are not discussed in this memo. 
  599.  
  600. 8.  Authors' Addresses 
  601.  
  602.    Rob Austein    Epilogue Technology Corporation    268 Main Street, Suite 283    North Reading, MA 01864    USA 
  603.  
  604.    Phone: +1-617-245-0804    Fax:   +1-617-245-8122    EMail: sra@epilogue.com 
  605.  
  606.     Jon Saperia    Digital Equipment Corporation    110 Spit Brook Road    ZKO1-3/H18    Nashua, NH 03062-2698    USA 
  607.  
  608.    Phone: +1-603-881-0480    Fax:   +1-603-881-0120    EMail: saperia@zko.dec.com 
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  Austein & Saperia                                              [Page 32] 
  633.  
  634.