DHCP FORCERENEW: DHCP reconfigure extension
Lets a DHCP server tell one client to renew its lease now, instead of waiting for it to expire.
T'Joens, Y., Hublet, C., and P. De Schrijver, "DHCP reconfigure extension", RFC 3203, DOI 10.17487/RFC3203, December 2001, <https://www.rfc-editor.org/info/rfc3203>.
@misc{rfc3203,
series = {Request for Comments},
number = 3203,
howpublished = {RFC 3203},
publisher = {RFC Editor},
doi = {10.17487/RFC3203},
url = {https://www.rfc-editor.org/info/rfc3203},
author = {Y. T'Joens and C. Hublet and P. De Schrijver},
title = {{DHCP reconfigure extension}},
pagetotal = 6,
year = 2001,
month = dec,
} RFC text
Contents
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.
ISO Plain Language
On this page
§1Introduction
The procedures in this document allow the dynamic reconfiguration of individual hosts. They extend DHCP (Dynamic Host Configuration Protocol) so that a DHCP server can trigger a reconfiguration of a single host, for example a new IP address and new local configuration parameters.
The extension works by introducing a unicast FORCERENEW message, which forces the client into the RENEW state. The document also describes the behaviour for hosts that use the DHCP INFORM message to obtain configuration information.
The document names two parties. The DHCP client is the host to be reconfigured using DHCP. The DHCP server is the server which configured that client.
DHCP hands out network settings such as an IP address. Usually the computer that needs settings asks for them. RFC 3203 lets the server push a change instead, by sending one message that tells the computer to renew now.
§2.2Force Renew Procedures
The DHCP server sends a unicast FORCERENEW message to the client. Upon receipt of it, the client changes its state to the RENEW state and then tries to renew its lease according to normal DHCP procedures.
If the server wants to assign a new IP address to the client, it replies to the DHCP REQUEST with a DHCP NAK. The client then goes back to the init state and broadcasts 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 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 assume a unicast FORCERENEW message. Receipt of a multicast FORCERENEW message by the client should be silently discarded.
A client may have obtained a network address through some other means, such as manual configuration, and used a DHCP INFORM request to obtain other local configuration parameters. Such clients should respond to a unicast FORCERENEW message with a new DHCP INFORM request, so as to obtain a potential new set of local configuration parameters. These procedures are limited to the set of options that are eligible for configuration by DHCP and should not override manually configured parameters.
The document also warns that using FORCERENEW to reconfigure a client address or local configuration parameters can lead to the interruption of active sessions, and that these procedures should therefore be used in controlled circumstances.
The rationale is given in the same section. The approach does not require new states to be added to the DHCP client implementation, which 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.
The server sends one unicast FORCERENEW message. The client moves to the RENEW state and renews its lease the usual way. If the server wants a different IP address, it answers the client's request with a NAK, and the client starts over with a DISCOVER. A client that gets a multicast FORCERENEW discards it without replying.
- FORCERENEWUnicast message that moves the client into the RENEW state.
- DHCPREQUESTThe client renews its lease the normal way.
- DHCPNAKSent when the server wants to assign a new IP address.
- DHCPDISCOVERThe client goes back to the init state and broadcasts.
- DHCPOFFERThe server assigns a new IP address.
§2.3Example Usage
The document gives three example situations.
In embedded DHCP clients, the autoconfiguration of home gateways, more generically network termination equipment, for public networking purposes can be achieved through means of DHCP. 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.
In a hospitality service scenario, a hotel-owned DHCP server can hand out limited-use IP addresses, which lets a customer consume local services or select external services from a web browser interface. In order to allow external services through other service providers, such as 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, for example, a globally routed IP address.
Under network renumbering, and 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.
The document gives three uses for the new message. A home gateway can be told to contact the server before its lease ends. A hotel can move a guest from a local-only address to a globally reachable one. And an administrator can renumber a whole subnet one client at a time.
§3The Extended DHCP State Diagram
The document redraws the DHCP client state diagram to show the new path. A new arrow runs from the Bound state to the Renew state, labelled DHCPFORCE, so a server can push a client that is already bound into a renewal before its lease runs down.
The rest of the diagram is the familiar DHCP flow. A combined "Init / Reboot" box sits at the top left. From it the client broadcasts a DISCOVER and enters Selecting, moves to Requesting after an OFFER and a broadcast REQUEST, and reaches Bound on an ACK. A client that is offered an address it must decline goes back to Init, and a NAK received in Init causes a restart. From Bound the client renews when T1 expires, rebinds when T2 expires, and a NAK after the lease has expired takes it back to Init with the network halted.
The client state diagram gains one arrow: a FORCERENEW message moves a client that already holds a lease straight into renewal. Everything else in the diagram is the usual DHCP path, from the first DISCOVER through binding, renewal and rebinding.
- INIT
- REBOOT
- SELECTING
- REQUESTING
- BOUND
- RENEW
- REBIND
| From | To | Event |
|---|---|---|
| INIT | INIT | DHCPNAK, restart |
| INIT | SELECTING | Send DHCPDISCOVER (broadcast) |
| REBOOT | BOUND | DHCPACK, record lease, set timers |
| SELECTING | REQUESTING | DHCPOFFER, then broadcast DHCPREQUEST |
| SELECTING | INIT | DHCPOFFER, DHCP decline |
| REQUESTING | BOUND | DHCPACK, record lease, set timers |
| BOUND | RENEW | T1 expires, DHCPREQUEST to leasing server |
| BOUND | RENEW | DHCPFORCE received |
| RENEW | BOUND | DHCPACK |
| RENEW | REBIND | T2 expires, broadcast DHCPREQUEST |
| REBIND | INIT | DHCPNAK, halt network, lease expired |
§4Message Layout
The FORCERENEW message makes use of the normal DHCP message layout, with the introduction of a new DHCP message type. DHCP option 53, the DHCP message type option, is extended with a new value: DHCPFORCERENEW (9).
The IANA Considerations section records the same number: the new value for DHCP option 53 that indicates a DHCPFORCERENEW message is 9.
The new message reuses the ordinary DHCP message format. The only change is a new value, 9, added to the DHCP message type option, which is option 53.
§6Security Considerations
The document notes that in some network environments FORCERENEW can be used to snoop and spoof traffic. The FORCERENEW message MUST be authenticated using the procedures described in the DHCP authentication document, RFC 3118. FORCERENEW messages failing the authentication should be silently discarded by the client.
The mechanism described in the document is vulnerable to a denial of service attack through flooding a client with bogus FORCERENEW messages. The calculations involved in authenticating the bogus FORCERENEW messages may overwhelm the device on which the client is running.
A FORCERENEW message must be authenticated, using the method in RFC 3118, and a client should quietly drop any message that fails the check. A flood of forged FORCERENEW messages is a denial of service risk, because checking each one can overload the client.