Network Working Group                                         G. Waters
 INTERNET-DRAFT                                          Nortel Networks
                                                               June 1999

                    The Subnet Selection Option for DHCP

                   <draft-ietf-dhc-subnet-option-02.txt>

                   <draft-ietf-dhc-subnet-option-03.txt>
                     Thursday, June 24, 1999, 10:43 AM

 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 (1999).  All Rights Reserved.

 Abstract

   This memo defines a new DHCP option for selecting the subnet on which
   to allocate an address. This option would override a DHCP server's
   normal methods of selecting the subnet on which to allocate an address
   for a client.

 Waters                Expires: Jun 1999 + 6 months             [Page 1]
   Table of Contents

   1. Introduction......................................................2
      1.1. Motivational Example.........................................2
   2. Subnet Selection Option...........................................3 Option Definition................................3
   3. Intellectual Property.............................................4
   4. Acknowledgements..................................................4
   5. Security Considerations...........................................4
   6. References........................................................5
   7. Editor's Addresses................................................5
   8. Full Copyright Statement..........................................5

 1. Introduction

   This memo was produced by the DHCP Working Group and defines a new
   DHCP option that specifies

   To select the subnet that a DHCP server should use
   when selecting on which to allocate an address.  This option takes precedence over other
   methods that address, the DHCP server may use to determine
   determines the subnet on from which
   to select the request originated, and then
   selects an address. Two existing methods of determining address on the originating subnet or on a subnet that is on
   the same network segment as the originating subnet. The subnet from
   which to select an address are: the request originates can be determined by:

   o To use Using the subnet address of the giaddr field in the DHCP packet, packet
     header, or if the giaddr field is zero;

   o To use Using the subnet address of the local interface on which the
     packet was DHCP
     server received by the packet.

   This memo defines a new DHCP server.

   Methods other than option, the two described above may exist.

   The subnet selection option,
   which allows the DHCP client to specify the subnet on which to
   allocate an address. This option is useful for, but not limited to, takes precedence over the
   class of devices methods
   that have a packet-handling plane (e.g.: switching,
   routing functionality) the DHCP server uses to determine the subnet on which to select
   an address.

   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 [RFC2119].

 1.1. Motivational Example

   An example of where this option could be useful is in a control plane device (e.g.:
   a RAS device) that is allocating addresses on behalf of its clients.
   In this case the device management would be allocating addresses through DHCP and control functionality). The control plane
   then managing those addresses among its clients.

   In this scenario, the device is network connected and
   there is to a private "internal"
   network on which the DHCP server connected to that network. The packet-handling
   plane may or may not would be network connected, however, in either case
   there located. The device is no network also
   connected DHCP server available to this plane. The
   control plane one or more service providing "external" networks (i.e.:
   the networks that the device's clients are connected to). Furthermore,
   the internal network is not network IP connected to the packet-handling plane, external networks,
   although inside the device there is connectivity between the two planes may communicate using some method (e.g.: an internal data bus).

   There
   and external networks (e.g.: though the backplane).

 Waters                Expires: Jun 1999 + 6 months             [Page 2]
   Recall that the device is a requirement to allocate allocating addresses for devices connected to its clients on the
   external networks to which the packet-handling plane is connected.

   Since and that there is no network IP connectivity between the
   internal network and the external networks. The DHCP server requests cannot
   originate from the external networks since packets cannot be routed
   between the external network and the
   packet-handling plane, internal network. Thus, the control plane DHCP
   requests must allocate addresses using originate from the DHCP on behalf of internal network. The problem with
   originating the packet-handling plane. Since DHCP requests from the control
   plane internal network is requesting the address, that the
   DHCP server would normally

 Waters                Expires: Jun 1999 + 6 months             [Page 2] will allocate addresses on the address internal network's subnet,
   when what is required are addresses on the external subnets. The
   subnet selection option provides a solution to this problem.

   The device would send its DHCP request on which the control plane is
   connected, which internal subnet, but
   would not be the desired result.

   If include the subnet selection option specified by this memo is included in containing the
   DHCPDISCOVER/DHCPREQUEST message then the server should allocate an address on of
   the external subnet or network segment that is specified by this
   option. The option would specify an address on one of which it requires the packet-
   handling plane's subnets. address. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are subnet
   selection option instructs the DHCP server to be interpreted allocate the address on
   the requested subnet as described in [RFC2119]. opposed to the normal operation of allocating
   the address on the subnet from which the DHCP request originated.

 2. Subnet Selection Option Definition

   The subnet selection option is a DHCP option. The option contains a
   single IP address that is the address of a subnet. The value for the
   subnet address is determined by taking any IP address on the subnet
   and ANDing that address with the subnet mask (i.e.: the network and
   subnet bits are left alone and the remaining (address) bits are set to
   zero). When the DHCP server is allocating an address and this option
   is present, present then the DHCP server MUST use allocate the address on either:

   o The the subnet specified in the subnet selection option, or;

   o A a subnet on the same network segment as the subnet specified in the
     option;

   on which to allocate an address.
     subnet selection option.

   The format of the option is:

        Code   Len        IP Address
       +-----+-----+-----+-----+-----+-----+
       | TBD |  4  | A1  | A2  | A3  | A4  |
       +-----+-----+-----+-----+-----+-----+

   In order to ensure backwards compatibility of clients that do support
   this option when communicating with DHCP servers that do not support
   this option, the DHCP client SHOULD check that an allocated address is
   on the requested subnet or network segment. The client SHOULD NOT
   respond to a DHCPOFFER or DHCPACK of an address that is not on the
   requested subnet or network segment.

   Servers supporting this option MUST return an identical copy of the
   option to any client that sends it, regardless of whether or not the
   client requests it the option in a parameter request list. Clients using
   this option must MUST discard DHCPOFFER or DHCPACK packets that do not
   contain this option.

 Waters                Expires: Jun 1999 + 6 months             [Page 3]

   This option does not require changes to operations or features of the
   DHCP server other than to select the subnet on which to allocate an
   address. For example, the handling of DHCPDISCOVER for an unknown
   subnet may should continue to operate unchanged.

 Waters                Expires: Jun 1999 + 6 months             [Page 3]
   When this option is present and the server supports this option, the
   server MUST NOT offer an address that is not on the requested subnet
   or network segment.

   During an address renew, the DHCP server may send a DHCPACK directly
   to the allocated address, however packets from the DHCP server may not
   be routable to the address. Thus, in all packets that the DHCP client
   sends that contain the subnet selection option, the giaddr field in
   the BOOTP header MUST be set to an IP address on which the DHCP client
   will accept DHCP packets (e.g.: the address of the subnet connected to
   the internal network).

   The IP address to which a DHCP server sends a reply to MUST be the
   same as it would chose when this option is not present.

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

 4. Acknowledgements

   This document is the result of work undertaken the by DHCP working
   group. Thanks to Ted Lemon, Tim Aston and Ralph Droms for their
   helpful comments in this work.

 5. Security Considerations

   DHCP currently provides no authentication or security mechanisms.
   Potential exposures to attack are discussed is section 7 of the
   protocol specification [RFC2131].

 Waters                Expires: Jun 1999 + 6 months             [Page 4]
   The subnet selection option allows for the DHCP client to specify the
   subnet on which to allocate an address. This would allow a client to
   perform a more complete address-pool exhaustion attack since the
   client would no longer be restricted to attacking address-pools on
   just its local subnet. Under the current DHCP security model there is
   no methods available to circumvent this type of attack.

 6. References

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

   [RFC2131] Droms, R., 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.

 7. Editor's Addresses

   Glenn Waters
   Nortel Networks
   310-875 Carling Avenue,
   Ottawa, Ontario K1S 5P1
   Canada

   Phone:  +1 613-798-4925
   Email:  gww@nortelnetworks.com

 8. Full 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 English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

 Waters                Expires: Jun 1999 + 6 months             [Page 5]
   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.

 Waters                Expires: Jun 1999 + 6 months             [Page 5] 6]