Internet Engineering Task Force                                G. Stump
Dynamic Host Configuration Working Group                            IBM
Internet Draft                                                 R. Droms
Expires: December 2000                              Bucknell University
draft-ietf-dhc-userclass-09.txt                                   Y. Gu
                                                         R. Vyaghrapuri
                                                           A. Demirtjis
                                                              Microsoft
                                                               B. Beser
                                                                   3Com
                                                              J. Privat
                                                                     BT
                                                              July 2000


                     The User Class Option for DHCP
                     <draft-ietf-dhc-userclass-09.txt>



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.




Abstract

   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.
                    The User Class Option for DHCP           July 2000


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 reachability.
   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 addresses.



2. Requirements Terminology

   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 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.
                    The User Class Option for DHCP           July 2000


   o "DHCP server"
   A DHCP server or "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 one 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
   field.
   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 User Class Option for DHCP           July 2000



   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
   recognizes.

   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] Alexander, S., and Droms R., "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
                    The User Class Option for DHCP           July 2000



   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
   Email: stumpga@us.ibm.com

   Ralph Droms
   Computer Science Department
   323 Dana Engineering
   Bucknell University
   Lewisburg, PA 17837
   Phone: (717) 524-1145
   Email: droms@bucknell.edu

   Ye Gu
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052
   Phone: 425 936 8601
   Email: yegu@microsoft.com

   Ramesh Vyaghrapuri
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052
   Phone: 425 703 9581
   Email: rameshv@microsoft.com

   Burcak Beser
   3Com Corporation
   3800 Golf Road
   Rolling Meadows, IL
   Phone: 847 262 2195
   Email: Burcak_Beser@3com.com

   Ann Demirtjis
   Microsoft Corporation
   One Microsoft Way
   Redmond WA 98052
   Phone: 425-705-2254
   Email: annd@microsoft.com
                    The User Class Option for DHCP           July 2000



   Jerome Privat
   BT Advanced Communications Technology Centre
   Adastral Park, Martlesham Heath, IP5 3RE
   UK
   Phone: +44 1473 606304
   Email: jerome.privat@bt.com
                    The User Class Option for DHCP           July 2000



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 implmentation 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
   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."