RFC 3203 PROPOSED STANDARD DHCP · CONFIGURATION

DHCP FORCERENEW: DHCP reconfigure extension

Lets a DHCP server tell one client to renew its lease now, instead of waiting to be asked.

On rfc-editor.org ↗
PUBLISHED
December 2001
AUTHORS
Y. T'Joens, C. Hublet, P. De Schrijver
STREAM
IETF
UPDATED BY
RFC 6704 — Forcerenew Nonce
NEW MESSAGE TYPE
DHCPFORCERENEW (9)
DHCP OPTION EXTENDED
Option 53 (message type)
DELIVERY
Unicast only; multicast is discarded
AUTHENTICATION
MUST use RFC 3118 procedures
DOI
10.17487/RFC3203

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                         Y. T'Joens
Request for Comments: 3203                                     C. Hublet
Category: Standards Track                                        Alcatel
                                                         P. De Schrijver
                                                                    Mind
                                                           December 2001


                       DHCP reconfigure extension

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Abstract

   This document defines extensions to DHCP (Dynamic Host Configuration
   Protocol) to allow dynamic reconfiguration of a single host triggered
   by the DHCP server (e.g., a new IP address and/or local configuration
   parameters).  This is achieved by introducing a unicast FORCERENEW
   message which forces the client to the RENEW state.  The behaviour
   for hosts using the DHCP INFORM message to obtain configuration
   information is also described.

1. Introduction

   The procedures as described within this document allow the dynamic
   reconfiguration of individual hosts.

1.1 Conventions

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

2. DHCP force renew

   This section describes the FORCERENEW message extension.

2.1 Terminology

   DHCP client : host to be reconfigured using DHCP.

   DHCP server : server which configured the DHCP client.

2.2 Force renew procedures

   The DHCP server sends a unicast FORCERENEW message to the client.
   Upon receipt of the unicast FORCERENEW message, the client will
   change its state to the RENEW state, and will then try to renew its
   lease according to normal DHCP procedures.  If the server wants to
   assign a new IP address to the client, it will reply to the DHCP
   REQUEST with a DHCP NAK.  The client will then go back to the init
   state and broadcast a DHCP DISCOVER message.  The server can now
   assign a new IP address to the client by replying with a DHCP OFFER.
   If the FORCERENEW message is lost, the DHCP server will not receive a
   DHCP REQUEST from the client and it should retransmit the FORCERENEW
   message using an exponential backoff algorithm.  Depending on the
   bandwidth of the network between server and client, the server should
   choose a delay.  This delay grows exponentially as retransmissions
   fail.  The amount of retransmissions should be limited.

   The procedures described above assume the server to send a unicast
   FORCERENEW message to the client.  Receipt of a multicast FORCERENEW
   message by the client should be silently discarded.

   It can be that a client has obtained a network address through some
   other means (e.g., manual configuration) and has used a DHCP INFORM
   request to obtain other local configuration parameters.  Such clients
   should respond to the receipt of a unicast FORCERENEW message with a
   new DHCP INFORM request so as to obtain a potential new set of local
   configuration parameters.  Note that the usage of these procedures
   are limited to the set of options that are eligible for configuration
   by DHCP and should not override manually configured parameters.

   Note further that usage of the FORCERENEW message to reconfigure a
   client address or local configuration parameters can lead to the
   interruption of active sessions, and that as such these  procedures
   should be used in controlled circumstances.

2.3 Example usage

2.3.1 Embedded DHCP clients

   The autoconfiguration of home gateways (more generically Network
   Termination equipment) for public networking purposes can be achieved
   through means of DHCP, as described in [DSL_autoconf].  In order to
   allow service changes or service interruption, the FORCERENEW message
   can trigger the home gateway to contact the DHCP server, prior to the
   expiry of the lease.

2.3.2 Hospitality service scenario

   In self provisioned networks, e.g., hotel rooms, the hotel owned DHCP
   server can hand out limited use IP addresses, that allows the
   customer to consume local services or select external services from a
   web browser interface.  In order to allow external services through
   other service providers, e.g., global internet services or enterprise
   VPN services, the DHCP server can trigger the client to ask for a new
   DHCP initialization session so as to obtain e.g., a globally routed
   IP address.

2.3.3 Network renumbering

   Under tightly controlled conditions, the FORCERENEW procedures can be
   used to brute force the renumbering of entire subnets, client per
   client, under control of a DHCP server.

2.4 Rationale

   The approach as described in this document has a number of
   advantages.  It does not require new states to be added to the DHCP
   client implementation.  This minimizes the amount of code to be
   changed.  It also allows lease RENEWAL to be driven by the server,
   which can be used to optimize network usage or DHCP server load.

3. Extended DHCP state diagram

+--------+             +------+
| Init / |         +-->+ Init +<---------------+-------------------+
| Reboot |         |   +--+---+                |                   |
+---+----+     DHCPNAK/ -/Send DHCPDISCOVER    |                   |
    |          Restart    |     (broadcast)    |                   |
    |              |      v   v-------------+  |                   |
 -/Send DHCPREQUEST| +----+------+    DHCPOFFER/DHCPDECLINE        |
    |   (broadcast)| | Selecting |----------+  |                   |
    v              | +----+------+             |                   |
+---+----+         |   DHCPOFFER/DHCPREQUEST   |                   |
| Reboot +---------+  (broadcast)              |                   |
+---+----+                v                    |                   |
    |                +----+-------+            DHCPNAK /halt network
    |                + Requesting |            |       lease expired
   DHCPACK/          +----+-------+            |                   |
   Record lease           |                    |                   |
   set timers         DHCPACK/Record lease     |                   |
    |                     v   Set T1 & T2      |                   |
    |                  +--+----+DHCPFORCE  +---+---+          +----+---+
    +----------------->+ Bound +---------->+ Renew +--------->+ Rebind |
                       +--+-+--+T1 expires +-+-+---+T2 expires+----+---+
                          ^     /DHCPREQUEST | |    /broadcast     |
                       DHCPACK    to leasing | |    DHCPREQUEST    |
                          |        server    | |                   |
                          +----------------------------------------+

4. Message layout

   The FORCERENEW message makes use of the normal DHCP message layout
   with the introduction of a new DHCP message type.  DHCP option 53
   (DHCP message type) is extended with a new value: DHCPFORCERENEW (9)

5. IANA Considerations

   The new value for DHCP option 53 (DHCP message type) to indicate a
   DHCPFORCERENEW message is 9.

6. Security Considerations

   As in some network environments FORCERENEW can be used to snoop and
   spoof traffic, the FORCERENEW message MUST be authenticated using the
   procedures as described in [DHCP-AUTH].  FORCERENEW messages failing
   the authentication should be silently discarded by the client.

6.1 Protocol vulnerabilities

   The mechanism described in this document is vulnerable to a denial of
   service attack through flooding a client with bogus FORCERENEW
   messages.  The calculations involved in authenticating the bogus
   FORECERENEW messages may overwhelm the device on which the client is
   running.

7. References

   [DHCP]         Droms, R., "Dynamic Host Configuration Protocol", RFC
                  2131, March 1997.

   [DHCP-AUTH]    Droms, R. and W. Arbaugh, "Authentication for DHCP
                  Messages", RFC 3118, June 2001.

   [DSL_autoconf] Technical Report TR-044, "Auto-Configuration for Basic
                  Internet (IP-based) Services", DSL Forum, November
                  2001

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

8. Acknowledgements

   The authors would like to thank David Allan, Nortel, for the
   constructive comments to these procedures.

9. Authors' Addresses

   Yves T'joens
   Alcatel Network Strategy Group
   Francis Wellesplein 1, 2018 Antwerp, Belgium
   Phone: +32 3 240 7890
   EMail: yves.tjoens@alcatel.be


   Peter De Schrijver
   Mind NV
   Vaartkom 11
   3000 Leuven
   EMail: p2@mind.be


   Alcatel Broadband Networking Division
   Veldkant 33b, 2550 Kontich, Belgium
   Phone: +32 3 450 3322
   EMail: Christian.Hublet@alcatel.be

10. Full Copyright Statement

   Copyright (C) The Internet Society (2001).  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.

   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.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

AI ELI5

On this page
PROBLEMIn plain DHCP only the client starts an exchange, so a server cannot make a host pick up a new address or new settings before its lease runs out.
MECHANISMThe server sends a unicast FORCERENEW message (DHCP message type 9). The client moves to the RENEW state and renews its lease the normal way, and a NAK can push it back to a full DISCOVER.
STATUS TODAYFORCERENEW MUST be authenticated with the DHCP authentication procedures, and flooding a client with bogus messages is a denial of service risk. RFC 6704 later updated this RFC.

§1Reconfiguring a Host from the Server

This RFC defines extensions to DHCP that allow dynamic reconfiguration of a single host, triggered by the DHCP server. The change might be a new IP address, new local configuration parameters, or both. It does this by adding a unicast FORCERENEW message that forces the client into the RENEW state. The RFC also says how hosts that use the DHCP INFORM message should behave.

The key words MUST, SHOULD and so on are used as in RFC 2119.

Normally you have to ask the lunch lady for a new tray. Here the lunch lady can walk over and tell one kid to come and ask again.

§2.2Force Renew Procedures

The server sends a unicast FORCERENEW to the client. On receipt, the client changes to the RENEW state and renews its lease with normal DHCP procedures. If the server wants the client to take a new address, it answers the client's DHCP REQUEST with a DHCP NAK. The client then goes back to the init state and broadcasts a DHCP DISCOVER, and the server can reply with an OFFER carrying the new address.

If the FORCERENEW is lost, the server sees no REQUEST from the client. It should then retransmit using an exponential backoff, choosing a delay that suits the bandwidth between server and client, and it should limit the number of retransmissions.

A multicast FORCERENEW should be silently discarded by the client. A client that got its address some other way (manual configuration, for example) and only uses INFORM to get other parameters should answer a unicast FORCERENEW with a new INFORM. It should not override manually configured parameters.

Reconfiguring a client this way can interrupt active sessions, so the procedures should be used in controlled circumstances.

The helper taps one computer on the shoulder, and the computer asks again for its settings. If the helper wants it to change address, the helper says no to the old one, and the computer starts over.

FORCERENEW LEADING TO A NEW ADDRESS (RFC 3203)
DHCP serverDHCP client
  1. FORCERENEW (unicast)Client moves to the RENEW state.
  2. DHCP REQUESTNormal lease renewal.
  3. DHCP NAKSent when the server wants to assign a new address.
  4. DHCP DISCOVER (broadcast)Client is back in the init state.
  5. DHCP OFFERCarries the new IP address.

§2.3Example Uses and Rationale

The RFC gives three example uses. Embedded clients such as home gateways can be told to contact the server before their lease expires, which allows service changes or interruptions. In a hotel, the server can hand out limited-use addresses first and later trigger a new initialization so the guest gets a globally routed address. Under tightly controlled conditions, FORCERENEW can renumber whole subnets, client by client.

The stated advantages are that no new states are needed in the client, which minimizes code changes, and that lease renewal can be driven by the server, which can optimize network usage or server load.

A hotel gives you a basic pass at first. Later it can ask you to come back to the desk to get a better one.

§4Message Layout and the Extended State Diagram

FORCERENEW uses the normal DHCP message layout. The only change is a new value for DHCP option 53 (DHCP message type): DHCPFORCERENEW, value 9. IANA is asked to record that value.

The extended state diagram in the RFC adds one arrow to the DHCP client's states. A client in the Bound state can move to Renew either when timer T1 expires or on receiving the DHCPFORCERENEW message, and the rest of the diagram is unchanged.

It is the same envelope as always, with a new sticker on it that says: please renew.

§6Security Considerations

FORCERENEW could be used to snoop on and spoof traffic in some network environments. So the message MUST be authenticated using the procedures in RFC 3118, and messages that fail authentication should be silently discarded by the client.

The mechanism is still open to a denial of service attack: a flood of bogus FORCERENEW messages can make a client spend so much effort on authentication checks that the device is overwhelmed.

Only a real helper should be allowed to tap you on the shoulder. But if a crowd of fakes taps you all day, you get too tired to do anything else.

§6References