[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]

Versions: 00

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

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


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

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
* 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
(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

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]

Html markup produced by rfcmarkup 1.129c, available from https://tools.ietf.org/tools/rfcmarkup/