Network Working Group                                   Glenn Stump, IBM
INTERNET DRAFT                                         Pratik Gupta, IBM
                                                              March 1997
                                                  Expires September 1997


               The Server Identification Option for DHCP
                      <draft-ietf-dhc-sio-00.txt>

Status of this Memo

   This document is an Internet-Draft.  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.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

1.0  Abstract

   This option is provided by DHCP servers to DHCP clients to identify
   the origin of a DHCPOFFER -- on a basis other than a server's IP
   address -- so that a DHCP client may optionally select from among
   multiple offers based on a client's preference to a particular DHCP
   server(s).  The information contained in this option is a hex value
   indicating the assigned identification of the server originating the
   DHCPOFFER in which this option is contained.

2.0  Definitions

   Throughout this document, the words that are used to define the
   significance of the particular requirements are capitalized.  These
   words are:

      MUST

           This word or the adjective "REQUIRED" means that the item is
           an absolute requirement of this specification.




draft-ietf-dhc-sio-00.txt                                       [Page 1]


DRAFT              DHCP Server Identification Option          March 1997


      MUST NOT

           This phrase means the item is an absolute prohibition of this
           specification.

      SHOULD

           This word or the adjective "RECOMMENDED" means that there may
           exist valid reasons in particular circumstances to ignore
           this item, but the full implications should be understood and
           the case carefully weighed before choosing a different
           course.

      SHOULD NOT

           This phrase means that there may exist valid reasons in
           particular circumstances when the listed behavior is
           acceptable or even useful, but the full implications should
           be understood and the case carefully weighted before
           implementing any behavior described with this label.

      MAY

           This word or the adjective "OPTIONAL" means that this item is
           truly optional.  One vendor may choose to include the item
           because a particular marketplace requires it or because it
           enhances the product, for example, another vendor may omit
           the same item.

   This document also uses the following terms:

      o "DHCP client"

           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.




draft-ietf-dhc-sio-00.txt                                       [Page 2]


DRAFT              DHCP Server Identification Option          March 1997


3.0  The DHCP Server Identification Option

   DHCP provides a powerful mechanism for automating and centralizing
   the administration of IP host configuration and has become a critical
   service in many large IP networks.  Because of its importance in
   networks and because it can create a single point of failure for
   network operations (from a DHCP client's perspective), many network
   administrators choose to deploy many DHCP servers in order to enhance
   availability and/or performance of DHCP services.

   However, for networks with multiple DHCP servers, the DHCP protocol
   does not provide a means by which a DHCP client may "pre-specify" a
   preference for offers from a particular DHCP server -- or set of
   servers -- on the network.  Such a means would allow, for example,
   clients on a large, switched LAN subnet to choose DHCPOFFERs from a
   preferred, "local" DHCP server (e.g.,one located on the same floor of
   the building and adminstered by the client host user's department).

   The DHCP protocol specification [see RFC1541 or current internet
   draft] currently states that:

      "DHCP clients are free to use any strategy in selecting a DHCP server
      among those from which the client receives a DHCPOFFER message."


   Thus, currently, client "policy" -- of which there is essentially no
   standardization -- determines which of many offers is selected.  In
   practice, most vendors' implementation of "policy" here is very basic
   (e.g., first offer received) and is "hard-coded" (i.e., non-
   configurable).

   In order for a client to choose a DHCPOFFER from a particular DHCP
   server, it must have a means of identifying the server.  That is,
   unless a DHCP client can identify an individual server, the client
   has no means by which to select it.

   Thus, the problem of a client specifying a preference for a
   particular server is simply that of identifying DHCP servers to the
   client so that the client can select a DHCPOFFER from a particular
   server (e.g., by matching a pre-configured, preferred server identity
   against the set of server identities contained in DHCPOFFERs
   received).


   This document specifies an option that can be specified at DHCP
   servers by network administrators to identify particular DHCP server
   (or servers) to DHCP clients in order to enable the DHCP clients to
   select from available identities.  The option, known as the DHCP



draft-ietf-dhc-sio-00.txt                                       [Page 3]


DRAFT              DHCP Server Identification Option          March 1997


   Server Identification Option, specifies a simple DHCP server
   identification value to be included in DHCPOFFERs so that DHCP
   clients can distinguish among DHCP servers when making an offer
   selection decision.

4.0  DHCP Server Identification Option Format

   The code for this option is TBD, and its length is 4 bytes.

          Code     Len       DHCP Server ID
           +-------+-------+---------+----------+
           |  TBD  |   2   |     server_id      |
           +-------+-------+---------+----------+

   where:
           server_id is an unsigned integer (x'00' thru x'FF',
           inclusive)which identifies the DHCP server originating
           the DHCPOFFER packet in which the option is contained.

5.0  DHCP Server Behavior

   A DHCP Server which supports the DHCP Server Identification Option
   MUST include the option in (and only in?) DHCPOFFER packets to
   requesting clients.  Note that there is no requirement for the
   server_id values to be unique in a subnet or across the network. That
   is, two or more DHCP servers may share the same server_id value and
   therefore be considered equivalent from the perspective of the DHCP
   client's selection decision.

   In the case where a DHCP Server Identification Option with server_id
   value is included in a client's DHCPDISCOVER message and the
   server_id value does not match that of the server, then the server
   MAY ignore the DHCPDISCOVER.  If the DHCP Server Identification
   Option is included (in the requested parameter list) without a
   server_id value, then the DHCP Server SHOULD respond with a DHCPOFFER
   and include the appropriate server_id value in the DHCP Server
   Identification option (assuming an available address/binding and
   defined server_id value exist).

6.0  DHCP Client Behavior

   A DHCP client MAY use the DHCP Server Identification Option to make a
   DHCPOFFER selection decision. If two DHCPOFFERs have equivalent DHCP
   Server Identification Option values or if no DHCP Server
   Identification Option is included, then the DHCP client SHOULD report
   the error and SHOULD use another mechanism to choose from among the
   multiple offers.




draft-ietf-dhc-sio-00.txt                                       [Page 4]


DRAFT              DHCP Server Identification Option          March 1997


   Also, note that a client may specify a DHCP Server Identification
   Option in a DHCPDISCOVER to express a preference for a particular
   DHCP server  (Is this a good idea?  ...seems harmless, but what's the
   point...unless a particular implied behavior?).



7.0  Application Notes

   The DHCP Server Identification option allows a DHCP client to select
   a DHCPOFFER from a preferred server or servers. The following
   sections outline some useful applications of this capability:

7.1  DHCP Server Segregation within (large) Subnets

   In large, flat networks (e.g., large, switched LANs), the DHCP Server
   Identification option can be used to "assign" groups of clients to be
   served by a particular DHCP server (e.g., one which serves a
   particular workgroup/department/organization or a particular building
   or floor of a building).  This is accomplished by configuring clients
   to prefer DHCPOFFERs with a designated DHCP server identification
   option value.

7.2  Pre-production Testing of DHCP Servers

   Similarly, in networks where a DHCP Server is being introduced into
   production, DHCP clients which support the DHCP server identification
   option can be used to specifically exercise that newly introduced
   DHCP server for the purposes of testing configuration correctness,
   etc.

6.0  Security Considerations

   There are currently no security mechanisms defined for the DHCP
   protocol.

7.0  References

   [RFC1533] S. Alexander, R. Droms, "DHCP Options and BOOTP Vendor
   Extensions" [RFC1541] R. Droms, "Dynamic Host Configuration Protocol"


8.0  Acknowledgments

   The authors would like to thank the following people for their review
   and helpful comments in the formulation of this paper:  Thomas
   Narten, Esther Burwell, Ralph Droms




draft-ietf-dhc-sio-00.txt                                       [Page 5]


DRAFT              DHCP Server Identification Option          March 1997


9.0  Author Information

   Pratik Gupta
   IBM, Inc.
   4205 S.Miami Blvd
   Research Triangle Park, NC 27709
   Phone: (919)254-5654
   email: pratik_gupta@vnet.ibm.com

   Glenn Stump
   IBM, Inc.
   4205 S.Miami Blvd
   Research Triangle Park, NC 27709
   Phone: (919)254-5616
   email: glennstump@vnet.ibm.com




































draft-ietf-dhc-sio-00.txt                                       [Page 6]