Network Working Group R. B. Hibbs
INTERNET-DRAFT UltraDNS Corp.
Category: Standards Track G. Waters
Nortel Networks
November 2000
Dynamic Host Configuration Protocol (DHCP) Server MIB
<draft-ietf-dhc-server-mib-05.txt>
Monday, November 13, 2000, 3:50 PM
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working 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 material or to cite them other than as "work in progress.
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
"
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).
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
This memo defines an experimental portion of the Management
Information Base (MIB) for use with network management protocols in
the Internet Community. In particular, it defines objects used for
the management of Dynamic Host Configuration Protocol (DHCP) and
Bootstrap Protocol (BOOTP) servers.
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 1]
Internet Draft DHCP Server MIB November 2000
Table of Contents
1. Introduction......................................................2
2. Overview..........................................................2
2.1. BOOTP and DHCP Counter Groups.................................3
2.2. BOOTP and DHCP Statistics Group...............................3
2.3. Server Configuration Group....................................3
2.4. Response Times and ICMP Echo..................................5
3. Definitions.......................................................5
4. Intellectual Property............................................31
5. Notes............................................................31
5.1. Issues.......................................................31
5.2. Changes from Prior Drafts....................................32
6. Acknowledgements.................................................33
7. Security Considerations..........................................33
8. References.......................................................33
9. Editors' Addresses...............................................34
10. Full Copyright Statement........................................34
1. Introduction
This memo was produced by the DHCP Working Group and 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 that DHCP and Bootstrap
Protocol (BOOTP) servers implement. Many implementations support
both DHCP and BOOTP within a single server and hence this memo
describes the MIB for both DHCP and BOOTP servers.
This memo does not cover DHCP/BOOTP client nor relay agent MIB
extensions: these are possibly the subjects of future investigation.
This memo is based on the Internet-standard Network Management
Framework as defined by documents [RFC1902, RFC1903, RFC1904].
Objects defined in this MIB allow access to and control of DHCP
Server Software. Servers MAY also provide additional management
capabilities through the use of the Applications MIB [RFC2287].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in document
[RFC2119].
2. Overview
In the tradition of the Simple Network Management Protocol (SNMP)
the minimum number of objects possible are defined in this MIB,
while still providing as rich a set of management information as
possible. An object is left out of this MIB when it can be derived
from other objects that are provided. Further to the tradition of
the SNMP, computationally intense operations are left to the domain
of the management station. Thus, this MIB provides a set of objects
from which other management information may be derived.
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 2]
Internet Draft DHCP Server MIB November 2000
The examples provided in the following sections are not meant to be
comprehensive, they are merely illustrative of the potential uses of
the objects defined by this MIB.
2.1. BOOTP and DHCP Counter Groups
This section describes some of the management information that may
be derived from the objects provided in the counter groups.
The total number of valid DHCP packets received by the server is
computed as the sum of the dhcpCountDiscovers, dhcpCountRequests,
dhcpCountReleases, dhcpCountDeclines, and dhcpCountInforms objects.
The total number of valid packets (BOOTP and DHCP) received is
computed as the total number of valid DHCP packets plus the value of
the bootpCountRequests object. The total number of packets received
is computed as the total number of valid packets plus
bootpCountInvalids and dhcpCountInvalids.
Similar to the received computations, the total number of DHCP
packets sent by the server is computed as the sum of the
dhcpCountOffers, dhcpCountAcks, and dhcpCountNacks objects. The
number of packets (BOOTP and DHCP) sent by the server is computed as
the total number of DHCP packets sent plus the value of the
bootpCountReplies object.
2.2. BOOTP and DHCP Statistics Group
This section describes some of the management information that may
be derived from the objects provided in the statistics group.
Given time 1 (t1) and time 2 (t2) greater than t1, the mean inter-
arrival time of valid DHCP messages for the interval t1 to t2 can be
computed as (dhcpStatLastArrivalTime at t2 minus
dhcpStatLastArrivalTime at t1) divided by (valid DHCP received
packet count at t2 minus valid DHCP received packet count at t1).
Under the simplifying assumption that the capture of packet counts
and times is discontinuous (that is, for the measurement interval
the captured data represents the complete set for the server) the
variance of the mean may be computed as
(dhcpStatSumSquaresArrivalTime at t2 less
dhcpStatSumSquaresArrivalTime at t1) divided by (valid DHCP received
packet count at t2 less valid DHCP received packet count at t1).
Standard deviation of the mean is the square root of the variance.
Calculation of statistics for message response time is entirely
similar to the calculations for inter-arrival time, except that the
response time objects are used for the calculations.
Calculation of statistics for BOOTP is similar to the calculations
for DHCP, except that the similar objects from the bootStatistics
group are used instead of the objects from dhcpStatistics group.
2.3. Server Configuration Group
The server configuration group contains objects that describe the
configuration information that is contained in the server. Some of
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 3]
Internet Draft DHCP Server MIB November 2000
the configuration information is static (e.g.: a statically
configured IP address) and some of the configuration is dynamic
(e.g.: an assigned DHCP lease). The intent of the server
configuration group is to be able to read the server's
configuration. Mechanisms outside of the SNMP are currently in use
(e.g.: vendor defined solutions) and are being standardized (e.g.:
the Directory Enabled Networks [DEN] initiative) to update a
server's configuration.
The configuration information provides a minimal set of information
that most servers should be able to provide. Each row of the
serverSubnetTable lists the subnet, the subnet mask, and the subnet
that is equivalent to this subnet. Equivalence is defined as more
than one subnet being present on the same physical media as some
other subnet.
The serverRangeTable lists the start and end IP addresses of the
ranges and the subnet which the range is a member of. The
serverRangeInUse object indicates the amount of the range that is
currently in use, either through dynamic allocation or being
reserved. The range size can be computed by taking the difference
of the serverRangeStart and serverRangeEnd objects.
The serverAddressTable provides information about the static and
dynamic addresses that the server contains in its configuration.
Addresses may be:
o Static, in which case they are predefined though the server's
configuration. Static addresses may or may not have been
previously served by the server;
o Dynamic, in which case the server has served the addresses at
least once. Leases which have expired MAY appear in the address
list;
o Configuration-reserved, in which case the address is not
available for the server to allocate to a client. A
configuration-reserved address is one that has been reserved by
the administrator. An example of a configuration-reserved address
is an address that is assigned to a client, not through DHCP
(e.g.: statically assigned), and the address is within a DHCP
range; and,
o Server-reserved, in which case the server has taken the address
out of use. Examples of server-reserved addresses are those
which have been declined (i.e.: through a DHCPDECLINE) by a
client or those which have responded to an ICMP echo before they
were assigned.
The protocol used to allocate the address may be determined from the
serverAddressServedProtocol object. This object indicates whether
the address has never been served (value of none(1)), or, whether
BOOTP or DHCP was used to allocate the address.
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 4]
Internet Draft DHCP Server MIB November 2000
2.4. Response Times and ICMP Echo
According to [RFC2131], servers SHOULD try to determine if an
address is in use before assigning it. Some servers choose not to
perform this check, letting the client determine for itself if the
address is in use. Other servers perform an ICMP echo (Ping) just
prior to assigning an address. Servers that perform a Ping before
responding to a DHCPDISCOVER should not include in the response time
the time from when the Ping was transmitted until the time that
either a response was received or that the server timed out waiting
for a response.
3. Definitions
-- definitions for a DHCP (Dynamic Host Configuration Protocol)
server
DHCP-SERVER-MIB DEFINITIONS ::= BEGIN
IMPORTS
Counter64, Counter32, Gauge32, Unsigned32, mib-2,
MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, IpAddress
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue,
DateAndTime
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP #
/*modified*/
FROM SNMPv2-CONF;
dhcp OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The dhcp branch in the standard network management
framework."
::= { mib-2 99 } -- IANA will make official assignment
dhcpServerMIB MODULE-IDENTITY # /*renamed*/
LAST-UPDATED "9910060000Z"
ORGANIZATION "IETF DHCP Working Group"
CONTACT-INFO
" Richard Barr Hibbs
Postal: UltraDNS Corporation
800 North San Mateo Drive
San Mateo, CA 94401-2261
USA
Tel: +1 650-227-2678
Fax: +1 650-227-2662
Email: rbhibbs@ultraDNS.com
Glenn Waters
Postal: Nortel Networks, Inc.
310-875 Carling Avenue
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 5]
Internet Draft DHCP Server MIB November 2000
Ottawa, Ontario K1S 5P1
Canada
Tel: +1 613-765-0249
Email: gww@nortelnetworks.com"
DESCRIPTION
"The MIB module for entities implementing the server side of
the
Bootstrap Protocol (BOOTP) and the Dynamic Host Configuration
protocol (DHCP) for Internet Protocol version 4(IPv4). This
MIB
does not include support for Dynamic DNS (DDNS) updating nor
for
the DHCP Failover Protocol."
::= { dhcp 1 }
dhcpServerMIBObjects OBJECT-IDENTITY
STATUS current
DESCRIPTION
"DHCP Server MIB objects are all defined in this branch."
::= { dhcpServerMIB 1 }
serverSystem OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Group of objects that are related to the overall system."
::= { dhcpServerMIBObjects 1 }
bootpCounters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Group of objects that count various BOOTP events."
::= { dhcpServerMIBObjects 2 }
dhcpCounters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Group of objects that count various DHCP events."
::= { dhcpServerMIBObjects 3 }
bootpStatistics OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Group of objects that measure various BOOTP statistics."
::= { dhcpServerMIBObjects 4 }
dhcpStatistics OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Group of objects that measure various DHCP statistics."
::= { dhcpServerMIBObjects 5 }
serverConfiguration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Objects that contain pre-configured and dynamic
configuration
information."
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 6]
Internet Draft DHCP Server MIB November 2000
::= { dhcpServerMIBObjects 6 }
clientGroup OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Objects that map DHCP and BOOTP clients to IP addresses."
::= { dhcpServerMIBObjects 7 }
-- Textual conventions defined by this memo
DhcpTimeInterval ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The number of milli-seconds that has elapsed since some
epoch.
Systems that cannot measure events to the milli-second
resolution SHOULD round this value to the next available
resolution that the system supports."
SYNTAX Unsigned32
PhysicalAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "t,xx[:xx...]"
STATUS current
REFERENCE "RFC 2131"
DESCRIPTION
"A harware type and hardware address. This object is
encoded as
<type ><address>
where
<type> is the value of the hardware type space
field, as used in ARP (e.g., 1 for Ethernet,
6 for token ring). IANA maintains the list of
registered numbers for this field. The value for
this field comes from the 'htype' field in the
BOOTP
packet header.
<address> is the hardware address of the MAC (Media
Adapter Card) interface. The value for this field
comes from the 'chaddr' field in the BOOTP packet
header."
SYNTAX OCTET STRING (SIZE (0 | 2..17))
-- serverSystem Group
serverSystemDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the server. This value should
include the full name and version identification of the
server.
This string MUST contain only printable NVT ASCII
characters."
::= { serverSystem 1 }
serverSystemObjectID OBJECT-TYPE
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 7]
Internet Draft DHCP Server MIB November 2000
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor's authoritative identification of the network
management subsystem contained in this entity. This value is
allocated within the SMI enterprise subtree (1.3.6.1.4.1) and
provides an easy and unambiguous means for determining 'what
kind of server' is being managed. For example, if vendor
'VeryBigServers, Inc.' is assigned the subtree
1.3.6.1.4.1.4242, it may assign the identifier
1.3.6.1.4.1.4242.1.1 to its `Hercules DHCP Server'."
::= { serverSystem 2 }
-- bootpCounters Group
bootpCountRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received that contain a Message Type
of
1 (BOOTREQUEST) in the first octet and do not contain option
number 53 (DHCP Message Type) in the options."
::= { bootpCounters 1 }
bootpCountInvalids OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received that do not contain a Message
Type of 1 (BOOTREQUEST) in the first octet or are not valid
BOOTP packets (e.g., too short, invalid field in packet
header)."
::= { bootpCounters 2 }
bootpCountReplies OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets sent that contain a Message Type of 1
(BOOTREQUEST) in the first octet and do not contain option
number 53 (DHCP Message Type) in the options."
::= { bootpCounters 3 }
bootpCountDroppedUnknownClients OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of BOOTP packets dropped due to the server not
recognizing or not providing service to the hardware address
received in the incoming packet."
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 8]
Internet Draft DHCP Server MIB November 2000
::= { bootpCounters 4 }
bootpCountDroppedNotServingSubnet OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of BOOTP packets dropped due to the server not
being configured or not otherwise able to serve addresses on
the subnet from which this message was received."
::= { bootpCounters 5 }
-- dhcpCounters Group
dhcpCountDiscovers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPDISCOVER (option 53 with value 1) packets
received."
::= { dhcpCounters 1 }
dhcpCountRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPREQUEST (option 53 with value 3) packets
received."
::= { dhcpCounters 2 }
dhcpCountReleases OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPRELEASE (option 53 with value 7) packets
received."
::= { dhcpCounters 3 }
dhcpCountDeclines OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPDECLINE (option 53 with value 4) packets
received."
::= { dhcpCounters 4 }
dhcpCountInforms OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPINFORM (option 53 with value 8) packets
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 9]
Internet Draft DHCP Server MIB November 2000
received."
::= { dhcpCounters 5 }
dhcpCountInvalids OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCP packets received whose DHCP message type
(i.e., option number 53) is not understood or handled by the
server."
::= { dhcpCounters 6 }
dhcpCountOffers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPOFFER (option 53 with value 2) packets
sent."
::= { dhcpCounters 7 }
dhcpCountAcks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPACK (option 53 with value 5) packets
sent."
::= { dhcpCounters 8 }
dhcpCountNacks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCPNACK (option 53 with value 6) packets
sent."
::= { dhcpCounters 9 }
dhcpCountDroppedUnknownClient OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCP packets dropped due to the server not
recognizing or not providing service to the client-id and/or
hardware address received in the incoming packet."
::= { dhcpCounters 10 }
dhcpCountDroppedNotServingSubnet OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DHCP packets dropped due to the server not
being
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 10]
Internet Draft DHCP Server MIB November 2000
configured or not otherwise able to serve addresses on the
subnet from which this message was received."
::= { dhcpCounters 11 }
-- bootpStatistics group
bootpStatMinArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The minimum amount of time between receiving two BOOTP
messages. A message is received at the server when the
server
is able to begin processing the message. This typically
occurs
immediately after the message is read into server memory. If
no messages have been received, then this object contains a
zero value."
::= { bootpStatistics 1 }
bootpStatMaxArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum amount of time between receiving two BOOTP
messages. A message is received at the server when the
server
is able to begin processing the message. This typically
occurs
immediately after the message is read into server memory. If
no messages have been received, then this object contains a
zero value."
::= { bootpStatistics 2 }
bootpStatLastArrivalTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The date and time that the last valid BOOTP message was
received by the server. Invalid messages do not cause this
value to change. If valid no messages have been received,
then
this object contains a date and time that is all zero."
::= { bootpStatistics 3 }
bootpStatSumSquaresArrivalTime OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the squared BOOTP packet inter-arrival times in
micro-seconds. This value may be used to compute the
variance
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 11]
Internet Draft DHCP Server MIB November 2000
and standard deviation of the BOOTP arrival times. Note that
a
micro-second resolution of this object requires a clock
resolution to the milli-second since the square of a milli-
second value produces a value with micro-second resolution."
::= { bootpStatistics 4 }
bootpStatMinResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The smallest time interval measured as the difference
between
the arrival of a BOOTP message at the server and the
successful
transmission of the response to that message. A message is
received at the server when the server is able to begin
processing the message. A message is transmitted after the
server has no further use for the message. Note that the
operating system may still have the message queued
internally.
The operating system queue time is not to be considered as
part
of the response time. Invalid messages do not cause this
value
to change. If no valid messages have been received, then
this
object contains a zero value."
::= { bootpStatistics 5 }
bootpStatMaxResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The largest time interval measured as the difference between
the arrival of a BOOTP message at the server and the
successful
transmission of the response to that message. A message is
received at the server when the server is able to begin
processing the message. A message is transmitted after the
server has no further use for the message. Note that the
operating system may still have the message queued
internally.
The operating system queue time is not to be considered as
part
of the response time. Invalid messages do not cause this
value
to change. If no valid messages have been received, then
this
object contains a zero value."
::= { bootpStatistics 6 }
bootpStatSumResponseTime OBJECT-TYPE
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 12]
Internet Draft DHCP Server MIB November 2000
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the response time intervals in milli-seconds
where
a response time interval is measured as the difference
between
the arrival of a BOOTP message at the server and the
successful
transmission of the response to that message. A message is
received at the server when the server is able to begin
processing the message. A message is transmitted after the
server has no further use for the message. Note that the
operating system may still have the message queued
internally.
The operating system queue time is not to be considered as
part
of the response time. Invalid messages do not cause this
value
to change. If no valid messages have been received, then
this
object contains a zero value."
::= { bootpStatistics 7 }
bootpStatSumSquaresResponseTime OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the squared BOOTP packet response times in micro-
seconds. This value may be used to compute the variance and
standard deviation of the BOOTP response times. Note that a
micro-second resolution of this object requires a clock
resolution to the milli-second since the square of a milli-
second value produces a value with micro-second resolution."
::= { bootpStatistics 8 }
-- dhcpStatistics group
dhcpStatMinArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The minimum amount of time between receiving two DHCP
messages. A message is received at the server when the
server
is able to begin processing the message. This typically
occurs
immediately after the message is read into server memory. If
no messages have been received, then this object contains a
zero value."
::= { dhcpStatistics 1 }
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 13]
Internet Draft DHCP Server MIB November 2000
dhcpStatMaxArrivalInterval OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum amount of time between receiving two DHCP
messages. A message is received at the server when the
server
is able to begin processing the message. This typically
occurs
immediately after the message is read into server memory. If
no messages have been received, then this object contains a
zero value."
::= { dhcpStatistics 2 }
dhcpStatLastArrivalTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The date and time that the last valid DHCP message was
received by the server. Invalid messages do not cause this
value to change. If no valid messages have been received,
then
this object contains a date and time that is all zero."
::= { dhcpStatistics 3 }
dhcpStatSumSquaresArrivalTime OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the squared DHCP packet inter-arrival times in
micro-seconds. This value may be used to compute the
variance
and standard deviation of the DHCP arrival times. Note that
a
micro-second resolution of this object requires a clock
resolution to the milli-second since the square of a milli-
second value produces a value with micro-second resolution."
::= { dhcpStatistics 4 }
dhcpStatMinResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The smallest time interval measured as the difference
between
the arrival of a DHCP message at the server and the
successful
transmission of the response to that message. A message is
received at the server when the server is able to begin
processing the message. A message is transmitted after the
server has no further use for the message. Note that the
operating system may still have the message queued
internally.
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 14]
Internet Draft DHCP Server MIB November 2000
The operating system queue time is not to be considered as
part
of the response time. Invalid messages do not cause this
value
to change. If no valid messages have been received, then
this
object contains a zero value."
::= { dhcpStatistics 5 }
dhcpStatMaxResponseTime OBJECT-TYPE
SYNTAX DhcpTimeInterval
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The largest time interval measured as the difference between
the arrival of a DHCP message at the server and the
successful
transmission of the response to that message. A message is
received at the server when the server is able to begin
processing the message. A message is transmitted after the
server has no further use for the message. Note that the
operating system may still have the message queued
internally.
The operating system queue time is not to be considered as
part
of the response time. Invalid messages do not cause this
value
to change. If no valid messages have been received, then
this
object contains a zero value."
::= { dhcpStatistics 6 }
dhcpStatSumResponseTime OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the response time intervals in milli-seconds
where
a response time interval is measured as the difference
between
the arrival of a DHCP message at the server and the
successful
transmission of the response to that message. A message is
received at the server when the server is able to begin
processing the message. A message is transmitted after the
server has no further use for the message. Note that the
operating system may still have the message queued
internally.
The operating system queue time is not to be considered as
part
of the response time. Invalid messages do not cause this
value
to change. If no valid messages have been received, then
this
object contains a zero value."
::= { dhcpStatistics 7 }
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 15]
Internet Draft DHCP Server MIB November 2000
dhcpStatSumSquaresResponseTime OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the squared DHCP packet response times in micro-
seconds. This value may be used to compute the variance and
standard deviation of the DHCP response times. Note that
a
micro-second resolution of this object requires a clock
resolution to the milli-second since the square of a milli-
second value produces a value with micro-second resolution."
::= { dhcpStatistics 8 }
-- serverConfiguration group
serverSubnetTable OBJECT-TYPE
SYNTAX SEQUENCE OF ServerSubnetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of subnets that are configured in this server."
::= { serverConfiguration 1 }
serverSubnetEntry OBJECT-TYPE
SYNTAX ServerSubnetEntry
MAX-ACCESS not-accessible
STATUS current
INDEX { serverSubnet }
DESCRIPTION
"A logical row in the serverSubnetTable."
::= { serverSubnetTable 1 }
ServerSubnetEntry ::= SEQUENCE {
serverSubnet IpAddress,
serverSubnetMask IpAddress,
serverSubnetSharedNet IpAddress,
serverSubnetConfiguredAddresses Unsigned32,
serverSubnetAvailableAddresses Unsigned32,
serverSubnetFreeAddressLowThreshold Unsigned32,
serverSubnetFreeAddressHighThreshold Unsigned32
}
serverSubnet OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP address of the subnet."
::= { serverSubnetEntry 1 }
serverSubnetMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 16]
Internet Draft DHCP Server MIB November 2000
DESCRIPTION
"The subnet mask of the subnet. This MUST be the same as the
value of DHCP option 1 offered to clients on this subnet."
::= { serverSubnetEntry 2 }
serverSubnetSharedNet OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The IP address of another subnet that is on the same shared
media as this subnet. The address of the shared subnet MUST
also be configured on this server. The address 0.0.0.0
should
be used if this subnet is not shared."
::= { serverSubnetEntry 3 }
serverSubnetConfiguredAddresses OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP addresses that are configured to be served
on this subnet."
::= { serverSubnetEntry 4 }
serverSubnetAvailableAddresses OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP addresses on this subnet that are not
currently assigned to a client."
::= { serverSubnetEntry 5 }
serverSubnetFreeAddressLowThreshold OBJECT-TYPE # /*new*/
SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The low threshold for available free addresses in this
subnet.
If the value for available free addresses in this subnet
becomes equal to or less than this value, a
serverSubnetFreeAddressLowThreshold event is generated
for this shared network. No more
serverSubnetFreeAddressLowThreshold events will
be generated for this subnet during this execution of
the DHCP server until the value for available free addresses
has
exceeded the value of serverSubnetFreeAddressHighThreshold.
This value may be expressed as either an absolute value or a
percentage; the units are specified by the value of
serverSubnetFreeAddressUnits."
::= { serverSubnetEntry 6 }
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 17]
Internet Draft DHCP Server MIB November 2000
serverSubnetFreeAddressHighThreshold OBJECT-TYPE # /*new*/
SYNTAX Unsigned32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The high threshold for available free addresses in this
subnet.
If a serverSubnetFreeAddressLowThreshold event
has been generated for this subnet, and the value for
available free addresses has exceeded the value of
serverSubnetFreeAddressHighThreshold, then a
serverFreeAddressessHigh event will be generated. No more
serverFreeAddressessHigh events will be generated for this
subnet during this execution of the DHCP server until
the value for available free addresses becomes equal to or
less
than the value of serverSubnetFreeAddressHighThreshold.
This value may be expressed as either an absolute value or a
percentage; the units are specified by the value of
serverSubnetFreeAddressUnits."
::= { serverSubnetEntry 7 }
serverRangeTable OBJECT-TYPE
SYNTAX SEQUENCE OF ServerRangeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of ranges that are configured on this server."
::= { serverConfiguration 2 }
serverRangeEntry OBJECT-TYPE
SYNTAX ServerRangeEntry
MAX-ACCESS not-accessible
STATUS current
INDEX { serverRangeStart }
DESCRIPTION
"A logical row in the serverRangeTable."
::= { serverRangeTable 1 }
ServerRangeEntry ::= SEQUENCE {
serverRangeStart IpAddress,
serverRangeEnd IpAddress,
serverRangeSubnetMask IpAddress,
serverRangeInUse Gauge32,
serverRangeOutstandingOffers Gauge32
}
serverRangeStart OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP address of the first address in the range. The value
of
range start must be less than or equal to the value of range
end."
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 18]
Internet Draft DHCP Server MIB November 2000
::= { serverRangeEntry 1 }
serverRangeEnd OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The IP address of the last address in the range. The value
of
range end must be greater than or equal to the value of range
start."
::= { serverRangeEntry 2 }
serverRangeSubnetAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The subnet address
for this range."
::= { serverRangeEntry 3 }
serverRangeInUse OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of addresses in this range that are currently in
use. This number includes those addresses whose lease has
not
expired and addresses which have been reserved (either by the
server or through configuration)."
::= { serverRangeEntry 4 }
serverRangeOutstandingOffers OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outstanding DHCPOFFER messages for this range
is
reported with this value. An offer is outstanding if the
server has sent a DHCPOFFER message to a client, but has not
yet received a DHCPREQUEST message from the client nor has
the
server-specific timeout (limiting the time in which a client
can respond to the offer message) for the offer message
expired."
::= { serverRangeEntry 5 }
serverAddressTable OBJECT-TYPE
SYNTAX SEQUENCE OF ServerAddressEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of addresses that are known by this server. The list
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 19]
Internet Draft DHCP Server MIB November 2000
MUST contain addresses that have not expired. The list MUST
NOT contain addresses that have never been assigned by the
server UNLESS the lease is pre-configured in the server
(e.g.,
a static lease on a subnet)."
::= { serverConfiguration 3 }
serverAddressEntry OBJECT-TYPE
SYNTAX ServerAddressEntry
MAX-ACCESS not-accessible
STATUS current
INDEX { serverAddress }
DESCRIPTION
"A logical row in the serverAddressTable."
::= { serverAddressTable 1 }
ServerAddressEntry ::= SEQUENCE {
serverAddress IpAddress,
serverAddressSubnetMask IpAddress,
serverAddressRange IpAddress,
serverAddressType INTEGER,
serverAddressTimeRemaining Unsigned32,
serverAddressAllowedProtocol INTEGER,
serverAddressServedProtocol INTEGER,
serverAddressHardwareAddress PhysicalAddress,
serverAddressClientId OCTET STRING,
serverAddressHostName DisplayString,
serverAddressDomainName DisplayString
}
serverAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP address of the entry."
::= { serverAddressEntry 1 }
serverAddressSubnetMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The subnet mask (DHCP option 1) provided to the client
offered
this address. The subnet, resulting from logically ANDing
the
subnet mask with the entry's IP address, must be configured
on
this server and appear as a row in the dhcpSubnetTable."
::= { serverAddressEntry 2 }
serverAddressRange OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 20]
Internet Draft DHCP Server MIB November 2000
"The starting IP address (serverRangeStart object) of the
range
to which this address belongs. If the address does not fall
into one of the configured ranges (e.g., a statically
configured address on a subnet) the range may be 0.0.0.0."
::= { serverAddressEntry 3 }
serverAddressType OBJECT-TYPE
SYNTAX INTEGER {
static(1),
dynamic(2),
configuration-reserved(3),
server-reserved(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of this address."
::= { serverAddressEntry 4 }
serverAddressTimeRemaining OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds until the lease expires. A value of
4294967295 (i.e., 0xFFFFFFFF) should be used for leases that
have a lease time which is 'infinite' and for BOOTP leases."
::= { serverAddressEntry 5 }
serverAddressAllowedProtocol OBJECT-TYPE
SYNTAX INTEGER {
none(1),
bootp(2),
dhcp(3),
bootp-or-dhcp(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of protocol that is allowed to be used to serve
this
address. A type of none(1) indicates that the address is not
available to be served (e.g., a reserved address)."
::= { serverAddressEntry 6 }
serverAddressServedProtocol OBJECT-TYPE
SYNTAX INTEGER {
none(1),
bootp(2),
dhcp(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of protocol that was used when this address was
assigned. This object will have the value of none(1) if the
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 21]
Internet Draft DHCP Server MIB November 2000
address has not been served."
::= { serverAddressEntry 7 }
serverAddressHardwareAddress OBJECT-TYPE
SYNTAX PhysicalAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The hardware type and hardware address of the client that
has
been assigned this lease. The first octet of this object
contains the hardware type from the 'htype' field of the
BOOTP
packet and the remaining octets contain the hardware address
from the 'chaddr' field of the BOOTP packet. This object may
be empty if the address has not been previously served."
::= { serverAddressEntry 8 }
serverAddressClientId OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The client-id of the client that has been assigned this
lease.
The client-id is the value specified in option 61 (client-id
option) when the lease was assigned. This object may be
empty
if the lease has not been previously assigned or if the
client-
id option was not specified when the address was assigned."
::= { serverAddressEntry 9 }
serverAddressHostName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The host name (DHCP option 12) the client is configured to
use,
or if no host name was configured then the host name that the
client supplied when requesting an address. While this
object
has a maximum size of 255 octets, a Fully-Qualified Domain
Name
(FQDN) consisting of a Host Name part and a Domain Name part
is
currently limited to 255 octets. Therefore, the sum of the
string lengths for this object and the
serverAddressDomainName
must, in practice, be less than 256 octets."
::= { serverAddressEntry 10 }
serverAddressDomainName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 22]
Internet Draft DHCP Server MIB November 2000
DESCRIPTION
"The domain name (DHCP option 15) assigned to the client.
While
this object has a maximum size of 255 octets, a Fully-
Qualified
Domain Name (FQDN) consisting of a Host Name part and a
Domain
Name part is currently limited to 255 octets, less the
separator
('.') character. Therefore, the sum of the string
lengths for this object and the serverAddressHostName must,
in practice, be less than 256 octets."
::= { serverAddressEntry 11 }
serverClientTable OBJECT-TYPE
SYNTAX SEQUENCE OF ServerClientEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of clients that are known by this server. Details
about
the clients may be found by indexing into the
serverAddressTable
using the serverClientAddress object. This table is indexed
first by the physical address of the client and then by the
subnet
address on which the client resides. The subnet is included
as
an index since the physical address is only guaranteed to be
unique
within a subnet (i.e., a physical address is not globally
unique)."
::= { clientConfiguration 1 }
serverClientEntry OBJECT-TYPE
SYNTAX ServerClientEntry
MAX-ACCESS not-accessible
STATUS current
INDEX {
serverClientHardwareAddress,
serverClientSubnetMask
}
DESCRIPTION
"A logical row in the serverClientTable. An entry in this
table
may be a client that requested an address but was refused
(e.g., not authorized). Servers MAY track these types of
clients if desired and may choose to remove such client
entries
using a server defined algorithm. As an example, a server
may
choose to keep client request that does not map to an address
for a one hour time period before removing that entry from
this
table."
::= { serverClientTable 1 }
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 23]
Internet Draft DHCP Server MIB November 2000
ServerClientEntry ::= SEQUENCE {
serverClientHardwareAddress PhsicalAddress
serverClientSubnetMask IpAddress,
serverClientAddress IpAddress,
serverClientLastRequestTime DateAndTime,
serverClientLastRequestType INTEGER,
serverClientLastResponseType INTEGER
}
serverClientHardwareAddress OBJECT-TYPE
SYNTAX PhysicalAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The hardware type and hardware address of the client that
has
been assigned this lease. The first octet of this object
contains the hardware type from the 'htype' field of the
BOOTP
packet and the remaining octets contain the hardware address
from the 'chaddr' field of the BOOTP packet. This value of
this object MUST NOT be zero length."
::= { serverClientEntry 1 }
serverClientSubnetMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The subnet mask (DHCP option 1) applied to
serverClientAddress."
::= { serverClientEntry 2 }
serverClientAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The IP address of the entry. May be used to index into the
serverAddressTable. May be 0.0.0.0 if an address is not
associated with this client."
::= { serverClientEntry 3 }
serverClientLastRequestTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time when the last request was received."
::= { serverClientEntry 4 }
serverClientLastRequestType OBJECT-TYPE
SYNTAX INTEGER {
dhcpdiscover(1),
bootp(2),
dhcprequest(3),
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 24]
Internet Draft DHCP Server MIB November 2000
dhcpdecline(4),
unknown(5),
dhcprelease(7),
dhcpinform(8)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the last request that was received for this
client."
::= { serverClientEntry 5 }
serverClientLastResponseType OBJECT-TYPE
SYNTAX INTEGER {
bootp(1),
dhcpoffer(2),
unknown(3),
dhcpack(5),
dhcpnak(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the last response that was sent to this client."
::= { serverClientEntry 6 }
-- serverNotifyObjects: Objects which are used only in
notifications
serverNotifyDuplicateIPAddress OBJECT-TYPE # /*new*/
SYNTAX IpAddress
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The IP address which was found to be a duplicate."
::= { serverNotifyObjects 1 }
serverNotifyMACAddress OBJECT-TYPE # /*new*/
SYNTAX PhysicalAddress
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The offending MAC address which caused a duplicate IP
address to be detected."
::= { serverNotifyObjects 2 }
serverNotifyServer OBJECT-TYPE # /*new*/
SYNTAX IpAddress
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The IP Address of a server with which the DHCP server
is attempting to communicate."
::= { serverNotifyObjects 3 }
serverNotifyDuplicateIPAddressDetectedBy OBJECT-TYPE # /*new*/
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 25]
Internet Draft DHCP Server MIB November 2000
SYNTAX INTEGER {dhcpClient(1), dhcpServer(2)}
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"For a serverDuplicateAddress notification, this
object indicates whether the client or server detected
the condition. DHCP servers detect a duplicate address
by an unexpected reply to an ICMPECHOREQUEST (ææpingÆÆ)
message, while DHCP clients detect duplicates by an
unexpected reply to a gratuitous ARP message, and report
this condition to a DHCP server through a DHCPDECLINE
message."
::= { serverNotifyObjects 5 }
serverNotifyContestedIpAddress OBJECT-TYPE # /*new*/
SYNTAX IpAddress
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The IP address for which ownership is claimed by two or
more DHCP servers."
::= { serverNotifyObjects 6 }
-- Notifications
dhcpServerMIBNotificationPrefix OBJECT IDENTIFIER # /*new*/
::= { dhcpServerMIB 2 } # /*renamed*/
dhcpServerMIBNotifications OBJECT IDENTIFIER # /*new*/
::= { dhcpServerMIBNotificationPrefix 0 }
serverFreeAddressLow NOTIFICATION-TYPE # /*new*/
OBJECTS {
serverSharedNetworkFreeAddressLowThreshold,
serverSharedNetworkFreeAddressValue,
serverSharedNetworkFreeAddressUnits
}
STATUS current
DESCRIPTION
"This notification signifies that the number of available IP
addresses for a particular shared network has fallen below
the
value of serverSharedNetworkFreeAddressLowThreshold for that
shared
network."
::= { dhcpServerMIBNotifications 1 }
serverFreeAddressHigh NOTIFICATION-TYPE # /*new*/
OBJECTS {
serverSharedNetworkFreeAddressHighThreshold,
serverSharedNetworkFreeAddressValue,
serverSharedNetworkFreeAddressUnits
}
STATUS current
DESCRIPTION
"This notification signifies that the number of available IP
addresses for a particular shared network has risen above the
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 26]
Internet Draft DHCP Server MIB November 2000
value of serverSharedNetworkFreeAddressHighThreshold for that
shared network."
::= { dhcpServerMIBNotifications 2 }
serverServerStart NOTIFICATION-TYPE # /*new*/
OBJECTS { serverNotifyServerType }
STATUS current
DESCRIPTION
"This notification signifies that the server of the specified
type has started on the host from which this notification has
been sent."
::= { dhcpServerMIBNotifications 3 }
serverServerStop NOTIFICATION-TYPE # /*new*/
OBJECTS { serverNotifyServerType }
STATUS current
DESCRIPTION
"This notification signifies that the server of the specified
type has stopped normally on the host from which this
notification has been sent."
::= { dhcpServerMIBNotifications 4 }
serverDuplicateAddress NOTIFICATION-TYPE # /*new*/
OBJECTS {
serverNotifyDuplicateIPAddress,
serverNotifyMACAddress,
serverNotifyDuplicateIPAddressDetectedBy
}
STATUS current
DESCRIPTION
"This notification signifies that a duplicate IP address has
been detected. The DHCP server can detect this condition
through the ping-before-offer mechanism. Alternatively, the
client may have sent a DHCPDECLINE back to the server; this
is
assumed to be the result of the client detecting that the
address was in use. In either case, the DHCP server marks
the
IP address as unavailable for leasing to clients. The
serverNotifyDuplicateIPAddressDetectedBy object indicates
whether the client or server detected this condition."
::= { dhcpServerMIBNotifications 7 }
-- Conformance
dhcpServerMIBConformance OBJECT-IDENTITY # /*renamed*/
STATUS current
DESCRIPTION
"DHCP Server MIB objects are all defined in this branch."
::= { dhcpServerMIB 3 } # /*renamed*/
dhcpServerMIBCompliances OBJECT IDENTIFIER
::= { dhcpServerMIBConformance 1 } # /*renamed*/
dhcpServerMIBGroups OBJECT IDENTIFIER
::= { dhcpServerMIBConformance 2 } # /*renamed*/
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 27]
Internet Draft DHCP Server MIB November 2000
-- Compliance groups
dhcpServerMIBCompliance MODULE-COMPLIANCE
MODULE -- this module
MANDATORY-GROUPS {
serverSystemGroup,
bootpCountersGroup,
dhcpCountersGroup,
bootpStatisticsGroup,
dhcpStatisticsGroup,
serverConfigurationGroup,
serverClientsGroup
}
STATUS current
DESCRIPTION
"Describes the requirements for conformance to the DCHP
Server MIB"
::= { dhcpServerMIBCompliances 1 }
serverSystemGroup OBJECT-GROUP
OBJECTS {
serverSystemDescr,
serverSystemObjectID
}
STATUS current
DESCRIPTION
"Objects belonging to the serverSystemGroup."
::= { dhcpServerMIBGroups 1 }
bootpCountersGroup OBJECT-GROUP
OBJECTS {
bootpCountRequests,
bootpCountInvalids,
bootpCountReplies,
bootpCountDroppedUnknownClients,
bootpCountDroppedNotServingSubnet
}
STATUS current
DESCRIPTION
"Objects belonging to the bootpBountersGroup."
::= { dhcpServerMIBGroups 2 }
dhcpCountersGroup OBJECT-GROUP
OBJECTS {
dhcpCountDiscovers,
dhcpCountRequests,
dhcpCountReleases,
dhcpCountDeclines,
dhcpCountInforms,
dhcpCountInvalids,
dhcpCountOffers,
dhcpCountAcks,
dhcpCountNacks,
dhcpCountDroppedUnknownClient,
dhcpCountDroppedNotServingSubnet
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 28]
Internet Draft DHCP Server MIB November 2000
}
STATUS current
DESCRIPTION
"Objects belonging to the dhcpCountersGroup."
::= { dhcpServerMIBGroups 3 }
bootpStatisticsGroup OBJECT-GROUP
OBJECTS {
bootpStatMinArrivalInterval,
bootpStatMaxArrivalInterval,
bootpStatLastArrivalTime,
bootpStatSunSquaresArrivalTime,
bootpStatMinResponseTime,
bootpStatMaxResponseTime,
bootpStatSumReponseTime,
bootpStatSumSquaresResponseTime
}
STATUS current
DESCRIPTION
"Objects belonging to the bootpStatisticsGroup."
::= { dhcpServerMIBGroups 4 }
dhcpStatisticsGroup OBJECT-GROUP
OBJECTS {
dhcpStatMinArrivalInterval,
dhcpStatMaxArrivalInterval,
dhcpStatLastArrivalTime,
dhcpStatSumSquaresArrivalTime,
dhcpStatMinResponseTime,
dhcpStatMaxResponseTime,
dhcpStatSumResponseTime,
dhcpStatSumSquaresResponseTime
}
STATUS current
DESCRIPTION
"Objects belonging to the dhcpStatisticsGroup."
::= { dhcpServerMIBGroups 5 }
serverConfigurationGroup OBJECT-GROUP
OBJECTS {
serverSubnet,
serverSubnetMask,
serverSubnetSharedNet,
serverRangeStart,
serverRangeEnd,
serverRangeSubnet,
serverRangeInUse,
serverRangeOutstandingOffers,
serverAddress,
serverAddressSubnet,
-- serverAddressRange, # /*duplicate*/
serverAddressRange,
serverAddressType,
serverAddressTimeRemaining,
serverAddressAllowedProtocol,
serverAddressServedProtocol,
serverAddressHardwareAddress, # /*renamed*/
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 29]
Internet Draft DHCP Server MIB November 2000
serverAddressClientId,
serverAddressHostName,
serverAddressDomainName
}
STATUS current
DESCRIPTION
"Objects belonging to the serverConfigurationGroup."
::= { dhcpServerMIBGroups 6 }
serverClientsGroup OBJECT-GROUP
OBJECTS {
serverClientHardwareAddress, # /*renamed*/
serverClientSubnet,
serverClientAddress,
serverClientLastRequestTime,
serverClientLastRequestType,
serverClientLastResponseType
}
STATUS current
DESCRIPTION
"Objects belonging to the serverClientsGroup."
::= { dhcpServerMIBGroups 7 }
serverSharedNetworkObjectsGroup OBJECT-GROUP # /*new*/
OBJECTS {
serverSharedNetworkFreeAddrLowThreshold,
serverSharedNetworkFreeAddrHighThreshold,
serverSharedNetworkFreeAddrValue,
serverSharedNetworkFreeAddrUnits
}
STATUS current
DESCRIPTION
"DHCP Server MIB objects used in shared networks."
::= { dhcpServerMIBGroups 8 }
serverNotifyObjectsGroup OBJECT-GROUP # /*new*/
OBJECTS {
serverNotifyDuplicateIPAddress,
serverNotifyMACAddress,
serverNotifyDuplicateIPAddressDetectedBy,
serverNotifyServer,
serverNotifyServerType,
serverNotifyContestedIpAddress
}
STATUS current
DESCRIPTION
"DHCP Server MIB objects used in notifications."
::= { dhcpServerMIBGroups 9 }
serverNotifyicationsGroup NOTIFICATION-GROUP # /*new*/
NOTIFICATIONS {
serverFreeAddressLow,
serverFreeAddressHigh,
serverServerStart,
serverServerStop,
serverDNSQueueTooBig,
serverOtherServerNotResponding,
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 30]
Internet Draft DHCP Server MIB November 2000
serverDuplicateAddress,
serverAddressConflict,
serverOtherServerResponding,
serverFailoverConfigMismatch
}
STATUS current
DESCRIPTION
"Notifyications which are implemented by the DHCP Server
agent."
::= { dhcpServerMIBGroups 10 }
END
4. Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11.
Copies of claims of rights made available for publication and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use
of such proprietary rights by implementers or users of this
specification can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
5. Notes
This section will be removed when this memo is published as an RFC.
5.1. Issues
o Ryan Troll proposed four or five traps that Nathan Lane
enthusiastically supported. If traps are to be included, that
should be done soon.
o what is the best way to reset statistics?
o do we need to reset them individually, as groups, or as a
whole?
o we need a timestamp of when they were reset
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 31]
Internet Draft DHCP Server MIB November 2000
o should all invalid packets received be collapsed into a single
counter for each protocol type (BOOTP and DHCP), or broken out by
type of error?
o if counted by error type, what is the set of errors that we
should use?
o perhaps we should develop a common vocabulary (and glossary) for
terms such as "abandoned" so that the objects defined and their
descriptions aren't misinterpreted by implementers.
o do we need to be concerned about the potential size of some of
the configuration data tables? Wouldn't it be better to maintain
counters for things like number of leases assigned than to expect
the management station to calculate the values by reading very
large tables to count the number of leases in that state?
5.2. Changes from Prior Drafts
The "-01" revision removed the Server Identity section from the
proposed MIB, relying on the Application MIB to accomplish the same
result.
The min/max (inter-arrival and response times) were changed to
Unsigned32 so that they could be reset. Sum of inter-arrival and
response times was deleted since the management station can easily
calculate them. The last arrival time objects were added.
The "-03" version incorporated the proposed configuration tables
suggested by Ryan Troll of CMU. The "01" revision of this version
added three elements to the server subnet table, number of
outstanding offers, number of addresses in use, and number of free
addresses, as well as changing subnet address to subnet mask in the
server address, server range, and client address tables. The client
MAC address element of the client address table was separated into a
1-octet hardware type and a 16-octet client hardware address,
causing a renumbering of the elements in this table. Clarifying
text was added to several element descriptions, and limitations on
values, and the reported value when the server did not support the
data element were also specified.
The "-03b" version incorporated an address change for one of the
authors, revisions to standard text required by the IETF, and some
editorial clarifications.
The "-04" version changed the maximum size of the object
serverAddressHostName from 64 to 255 octets, and added clarifying
text to both that object and to serverAddressDomainName regarding
the practical values for the length of both objects.
The "-05" version added a number of traps suggested by Kim Kinnear,
made a number of small renaming and renumbering changes (annotated
in the MIB itself) and added the Shared Network concept to describe
shared network segments: several subnetworks that coexist on one
medium. This was done partly because the Address Range concept did
not adequately describe the "scoping" of address pools as is common
with many current server implementations. Also updated the authorÆs
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 32]
Internet Draft DHCP Server MIB November 2000
address and contact information, and incorporated a number of
corrections and amplifications suggested by various readers of the
ææ-04ö draft, including a missing OID for serverNotifyObjects and a
syntax error for PhysicalAddress.
The "-05" draft closes several issues raised during peer review
discussions on the DHC mailing list, incorporates several new
elements, and makes a number of small revisions based on comments
from reviewers.
6. Acknowledgements
This document is the result of work undertaken the by DHCP working
group. The authors would like to particularly acknowledge the
development team from Carnegie-Mellon University whose work creating
a private MIB for their DHCP server inspired the development of this
proposal. In particular, many thanks to Ryan Troll who provided a
great deal of useful feedback during the development of this MIB.
Thanks to Kim Kinnear, Yannick Koehler, and Nathan Lane for their
review, comments, and contributions.
7. Security Considerations
There are a number of management objects defined in this MIB that
have a MAX-ACCESS clause of read-write and/or read-create. Such
objects may be considered sensitive or vulnerable in some
environments. The support for SET operations in a non-secure
environment without proper protection can have a negative effect on
network operations.
SNMPv1 by itself is not a secure environment. Even if the network
itself is secure (for example by using IPSec), even then, there is
no control as to who on the secure network is allowed to access and
GET/SET (read/change/create/delete) the objects in this MIB.
It is recommended that the implementers consider the security
features as provided by the SNMPv3 framework. Specifically, the use
of the User-based Security Model RFC 2274 [RFC2274] and the View-
based Access Control Model RFC 2275 [RFC2275] is recommended.
It is then a customer/user responsibility to ensure that the SNMP
entity giving access to an instance of this MIB, is properly
configured to give access to the objects only to those principals
(users) that have legitimate rights to indeed GET or SET
(change/create/delete) them.
8. References
[DEN] Directory Enabled Networks Working Group,
http://www.universe.digex.net/~murchiso/den.
[RFC1902] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Structure of Management Information for Version 2 of the
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 33]
Internet Draft DHCP Server MIB November 2000
Simple Network Management Protocol (SNMPv2)", RFC 1902, January
1996.
[RFC1903] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Textual Conventions for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1903, January 1996.
[RFC1904] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Conformance Statements for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1904, January 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, BCP 14, March 1997.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC
2131, March 1997.
[RFC2132] Alexander, S. and Droms, R., "DHCP Options and BOOTP
Vendor Extensions", RFC 2132, March 1997.
[RFC2287] Krupczak, C. and Saperia, J., "Definitions of System-
Level Managed Objects for Applications", RFC 2287, February
1998.
9. Editors' Addresses
Richard Barr Hibbs
UltraDNS Corporation
800 North San Mateo Drive
San Mateo, CA 94401-2261
USA
Phone: +1 650-227-2678
Fax: +1 650-227-2662
Email: rbhibbs@ultraDNS.com
Glenn Waters
Nortel Networks
310-875 Carling Avenue,
Ottawa, Ontario K1S 5P1
Canada
Phone: +1 613-765-0249
Email: gww@nortelnetworks.com
10. Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 34]
Internet Draft DHCP Server MIB November 2000
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Hibbs & Waters Expires: Nov 2000 + 6 months [Page 35]