Internet Engineering Task Force      Glenn Stump, IBM
INTERNET DRAFT                       Ralph Droms, Bucknell University
Date: June 2000                      Ye Gu, Ramesh Vyaghrapuri,
Expires: November 2000               Ann Demirtjis, Microsoft
                                     Burcak Beser, 3Com
                                     Jerome Privat, BT

                The User Class Option for DHCP

Status of this Memo

The document is an Internet-Draft and is in full conformance with all
of the provisions of Section 10 of RFC 2026.

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 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 Intenet-Drafts as reference
material or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at

The list of Internet-Draft Shadow Directories can be accessed at


This option is used by a DHCP client to optionally identify the
type or category of user or applications it represents. The
information contained in this option is an opaque field
that represents the user class of which the client is a member.
Based on this class, a DHCP server selects the appropriate address
pool to assign an address to the client and the appropriate
configuration parameters.
This option should be configurable by a user.

1. Introduction

It is often desirable to provide different levels of service
to different users of an IP network.
In order for an IP network to implement this service
differentiation, it needs a way to classify users. A simple
solution to this is to use source IP addresses for classification.
Under this scheme, network administrators first configure network
devices such as routers to recognize traffic from a particular
source IP address (or address range) and handle it specially to
meet the desired level of service. Next, they assign the IP
addresses to the hosts of the intended users so that the user will
receive the appropriate level of service. They can configure the
hosts manually with these addresses. However, they cannot use DHCP
for address assignment, even if they are already running a DHCP
server in their network. A current RFC-compliant DHCP server assigns
IP addresses based on the location of the DHCP Client in the network
topology, not the type of user it supports.
This document describes a simple extension of the DHCP protocol
that enables a DHCP server to assign IP addresses from different
address pools depending on the type of users from which it receives
DHCP requests. With this new extension, network administrators will
be able to use DHCP to hand out the appropriate addresses to clients.
An example intended usage is a corporate network subnet consisting
of different departments of users, such as Accounting, Legal, Staff,
etc. It may be desirable to allocate logical address pools to each
of the departments so that network policies may be implemented easily
on IP address ranges; and this would facilitate providing
differential services, such as network reachibility.
A DHCP server can also use the information contained in the User
Class to allocate other configuration parameters than the IP
address. For example, a DHCP server receiving a request from a
client with the User Class set to "accounting auditors" may return
an option with the address of a particular database server.
Indeed a DHCP server may have a single pool of addresses and
only use the user class to select parameters other than IP

2. Requirements Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
document are to be interpreted as described in RFC 2119 [3].

3. DHCP Terminology

o "DHCP client"

  A DHCP client or "client" is an Internet host using DHCP to obtain
  configuration parameters such as a network address.

o "DHCP server"

  A DHCP server of "server"is an Internet host that returns
  configuration parameters to DHCP clients.

o "binding"

  A binding is a collection of configuration parameters, including
  at least an IP address, associated with or "bound to" a DHCP
  client.  Bindings are managed by DHCP servers.

4. User Class option

This option is used by a DHCP client to optionally identify the
type or category of user or applications it represents.
A DHCP server uses the User Class option to choose the address
pool it allocates an address from and/or to select any other
configuration option.

This option is a DHCP option [1, 2].

This option MAY carry multiple User Classes.
Servers may interpret the meanings of multiple class
specifications in an implementation dependent or
configuration dependent manner, and so the use of multiple
classes by a DHCP client should be based on the specific server
implementation and configuration which will be used to process
that User class option.

The format of this option is as follows:

         Code   Len   Value
        +-----+-----+---------------------  . . .  --+
        | 77  |  N  | User Class Data ('Len' octets) |
        +-----+-----+---------------------  . . .  --+

where Value consists of zero or more instances of User Class Data.
Each instance of User Class Data is formatted as follows:

         UC_Len_i     User_Class_Data_i
        +--------+------------------------  . . .  --+
        |  L_i   | Opaque-Data ('UC_Len_i' octets)   |
        +--------+------------------------  . . .  --+

Each User Class value (User_Class_Data_i) is indicated as an opaque
The value in UC_Len_i does not include the length field itself
and MUST be non-zero.
Let m be the number of User Classes carried in the option. The
length of the option as specified in Len must be the sum of the
lengths of each of the class names plus m:
Len= UC_Len_1 + UC_Len_2 + ... + UC_Len_m + m.
If any instances of User Class Data are present, the minimum
value of Len is two (Len = UC_Len_1 + 1 = 1 + 1 = 2).

The Code for this option is 77.

A server that is not equipped to interpret any given user class
specified by a client MUST ignore it (although it may be reported).
If a server recognizes one or more user classes specified by the
client, but does not recognize one or more other user classes
specified by the client, the server MAY use the user classes it

DHCP clients implementing this option SHOULD allow users to enter
one or more user class values.

5. IANA Considerations

Option 77, which IANA has already assigned for this purpose,
should be used as the User Class Option for DHCP.

6. Security Considerations

DHCP currently provides no authentication or security
mechanisms.  Potential exposures to attack are discussed
is section 7 of the protocol specification [1].
This lack of authentication mechanism means that a DHCP server
cannot check if a client or user is authorised to use a
given User Class.
This introduces an obvious vulnerability when using the User
Class option. For example, if the User Class is used to give
out special IP addresses that have better QoS associated with
them (as described in section 1), there is no way to authenticate
a client and it is therefore impossible to check if a client is
authorised to use such an IP address.

7. References

[1] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
    March 1997.

[2] S. Alexander, R. Droms, "DHCP Options and BOOTP Vendor
    Extensions", RFC 2132, March 1997.

[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
    Levels," RFC 2119, March 1997.

8. Acknowledgments

This document is based on earlier drafts by Glenn Stump,
Ralph Droms, Ye Gu, Ramesh Vyaghrapuri and Burcak Beser.
Thanks to Ted Lemon, Steve Gonczi, Kim Kinnear, Bernie Volz,
Richard Jones, Barr Hibbs and Thomas Narten for their comments
and suggestions.

9. Author Information

Glenn Stump
IBM Networking Software
P.O. Box 12195
RTP, NC 27709
Phone: (919) 301-4277

Ralph Droms
Computer Science Department
323 Dana Engineering
Bucknell University
Lewisburg, PA 17837
Phone: (717) 524-1145

Ye Gu
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
Phone: 425 936 8601

Ramesh Vyaghrapuri
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
Phone: 425 703 9581

Burcak Beser
3Com Corporation
3800 Golf Road
Rolling Meadows, IL
Phone: 847 262 2195

Ann Demirtjis
Microsoft Corporation
One Microsoft Way
Redmond WA 98052
Phone: 425-705-2254

Jerome Privat
BT Advanced Communications Technology Centre
Adastral Park, Martlesham Heath, IP5 3RE
Phone: +44 1473 648910

10. Expiration

This document will expire on November 2000.

Copyright Statement

Copyright (c) The Internet Society (1999). 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
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

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