Network Working Group W. Mark Townsley INTERNET DRAFT IBM Corporation Pratik Gupta IBM Corporation July 1997 Expires January 1998 Subnet Selection Option for DHCP Status of this Memo This document is an Internet-Draft. Internet-Drafts are working doc-uments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute work-ing documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months. Internet-Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet-Drafts as reference material or to cite them other than as a "work-ing draft" or "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 ds.internic.net, nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au. Abstract The Subnet Selections option is provided by a DHCP client to DHCP a server as an indication to which subnet or subnets to select an address from for the client's lease. When present, the DHCP server will use this value as an indication to which configured subnet pool of addresses to select from, effectively divorcing the giaddr of its overloaded subnet selection function for a packet forwarded by a DHCP relay agent. The giaddr is retains its function as the address for the DHCP server to send replies to. An application for this new option would be to allow a Network Access Server (NAS) acting as DHCP proxy on behalf of a large number of dial-in users to obtain an address that is in the desired subnet(s) for the dial users without having to configure multiple giaddr values at the NAS, or requiring the NAS to utilize an address within each subnet. Townsley, Gupta expires Janurary 1998 [Page 1] INTERNET DRAFT July 1997 1.0 Introduction The Dynamic Host Configuration Protocol (DHCP) [1] provides a framework or passing configuration information to hosts on a TCP/IP network. This configuration information may include a dynamically allocated IP address from a pool of addresses defined at the server. RFC 2131, section 4.3.1 states: "As described in section 4.2, a server MAY, for administrative reasons, assign an address other than the one requested, or may refuse to allocate an address to a particular client even though free addresses are available. Note that, in some network architectures (e.g., internets with more than one IP subnet assigned to a physical network segment), it may be the case that the DHCP client should be assigned an address from a different subnet than the address recorded in 'giaddr'. Thus, DHCP does not require that the client be assigned as address from the subnet in 'giaddr'. A server is free to choose some other subnet, and it is beyond the scope of the DHCP specification to describe ways in which the assigned IP address might be chosen." The subnet selection option provides a way in which the assigned IP address may be chosen. Following is at least one possible application of this. A Network Access Server (NAS) can utilize DHCP as a method for allocating an address to offer an incoming dial user. In this configuration, the NAS generates the appropriate DHCP messages on behalf of the dial user in order to obtain an IP address to be utilized during IPCP negotiation. The dial user is unaware that DHCP was used to obtain the address. Once the PPP link is established, the client is free to use a DHCPINFORM message to obtain any other configuration parameters, if desired. The dial user's connection to the NAS may or may not be associated with a directly connected LAN at the NAS. In the current specification, we must position the NAS to look like a DHCP relay agent in order to dictate to the DHCP server what subnet to offer an address from. This can be accomplished by setting the giaddr to a value within the subnet of our desired address pool, looking as though it were relayed from that associated subnet. This is not a desirable since it forces the NAS to pre-configure one address from each of subnets on which a dial user can exist. Townsley, Gupta expires Janurary 1998 [Page 2] INTERNET DRAFT July 1997 When the DHCP server receives the subnet selection option from a client via a relay agent it SHOULD use the values contained in the option as the indicator from which subnet or subnets to choose an available address, while retaining the giaddr address as the address to send DHCP replies to. This allows a NAS acting as a relay agent to choose any internal IP address as the giaddr value without repercussions on the DHCP server's subnet selection. This also allows the NAS to request an address from any one of a list of subnet in a single message, which could be particularly important for a single NAS which may serve a large number of users. Further, the NAS does not itself have to occupy an address for each subnet of one of the DHCP server's address pools. 1.1 Conventions The following language conventions are used in the items of specifi-cation in this document: * MUST, SHALL, or MANDATORY-This item is an absolute requirement of the specification. * SHOULD or RECOMMEND-This item should generally be followed for all but exceptional circumstances. * MAY or OPTIONAL-This item is truly optional and may be followed or ignored according to the needs of the implementor. 1.2 Terminology DHCP client DHCP client or "client" is an Internet host using DHCP to obtain configuration parameters such as a network address. DHCP server DHCP server of "server" is an Internet host that returns configuration parameters to DHCP clients. Dial User An end-system or router typically attached to an on-demand PSTN or ISDN which is either the initiator or recipient of a call. Network Access Server (NAS) A device providing temporary, on-demand network access to users. Townsley, Gupta expires Janurary 1998 [Page 3] INTERNET DRAFT July 1997 his access is point-to-point typically using PSTN or ISDN lines. Internet Protocol Control Protocol (IPCP) A network control protocol defined in [4] for negotiating IP addresses and other IP-related information between two peers connected via the Point-to-Point Protocol [3]. 2.0 DHCP Subnet Selection Option Format This option is utilized by a DHCP client to optionally specify the subnet(s) for a DHCP server to offer an IP address from. The information contained in this option consists of one or more pairs of network addresses followed by corresponding subnet masks. The code for this option is TBD. The minimum length of this option is 8, and the length MUST be a multiple of 8. Code Len Address 1 Mask 1 +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | TBD | n | a1 | a2 | a3 | a4 | m1 | m2 | m3 | m4 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ Address 2 Mask 2 +-----+-----+-----+-----+-----+-----+-----+-----+--- | a1 | a2 | a3 | a4 | m1 | m2 | m3 | m4 | ... +-----+-----+-----+-----+-----+-----+-----+-----+--- 3.0 Security Considerations DHCP currently provides no authentication or security mechanisms. Potential exposures to attack are discussed in section 7 of the DHCP protocol specification [1]. 4.0 Acknowledgments 5.0 Author Information W. Mark Townsley IBM Corporation 700 Park Office Drive Research Triangle Park, NC 27709 wmt@raleigh.ibm.com (919) 543-7522 Pratik Gupta IBM Corporation 4205 S. Miami Blvd Townsley, Gupta expires Janurary 1998 [Page 4] INTERNET DRAFT July 1997 Research Triangle Park, NC 27709 pratik_gupta@vnet.ibm.com (919)254-5654 6.0 References [1] R. Droms, "Dynamic Host Configuration Protocol", RFC 2131 [2] S. Alexander, R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132 [3] W. Simpson, "The Point-to-Point Protocol (PPP)", RFC 1661 [4] G. McGregor, "The PPP Internet Protocol Control Protocol (IPCP)", RFC 1332 Townsley, Gupta expires Janurary 1998 [Page 5]