Internet DRAFT - draft-yang-dhc-ipv4-dis
draft-yang-dhc-ipv4-dis
Internet Engineering Task Force T. Yang
Internet-Draft L. Li
Intended status: Standards Track Q. Ma
Expires: January 13, 2013 China Mobile
July 12, 2012
Mitigating aggregated traffic of DHCP discover messages
draft-yang-dhc-ipv4-dis-01
Abstract
This document defines a new option DIS_MAX_RT which can mitigate
aggregated traffic caused by discover messages the clients send to
the server.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on January 13, 2013.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Yang, et al. Expires January 13, 2013 [Page 1]
Internet-Draft DHC-DIS July 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3
3. Potential Problems . . . . . . . . . . . . . . . . . . . . . . 3
4. DIS_MAX_RT and DIS_MAX_RT_OPTION . . . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
7. Refrences . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
Yang, et al. Expires January 13, 2013 [Page 2]
Internet-Draft DHC-DIS July 2012
1. Introduction
In RFC2131 [RFC2131], there are no specific definitions for client's
operation if the server does not respond for the discover messages.
In some cases, this will lead to an unacceptably high volum of
aggregated traffic at a DHCPv4 server.
In RFC3315 [RFC3315], SOL_MAX_RT is defined as an option of DHCPv6
message to prevent the frequently requesting of clients, which reduce
the aggregated traffic. In DHCPv4, there are no corresponding IPv4
options. Although the format of DHCPv4 is different with DHCPv6, it
is also necessary to introduce similar option in DHCPv4 to keep the
consistency between DHCPv4 and DHCPv6.
This document updates RFC 2131 [RFC2131] by defining a new option
DIS_MAX_RT which makes the DHCPv4 server mitigating aggregated
traffic of client's discover messages.
2. Requirements Language
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].
3. Potential Problems
RFC2131 [RFC2131] defines the interaction between the DHCP server and
clients. There are no specific discription for client's operation
when the client does not receive the DHCPOFFER in response to its
DHCPDISCOVER message. In normal IPv4 environment, clients will flood
DHCPDISCOVER messages only when the server or link is broken. But in
Dual-Stack scenarios, the problem becomes more frequent and serious.
In IPv6 LAN/WLAN network or intranet, the core router or AC often
plays the role of DHCP server, and the clients are serval thousands
PC or mobile phones. If the server is configured in IPv6-only, the
clients in dual-stack or IPv4-only, they will broadcast DHCPDISCOVER
messages endlessly in the LAN or WLAN. The thousands clients will
cause a DDOS-like attack to all the servers in the intranet.
Yang, et al. Expires January 13, 2013 [Page 3]
Internet-Draft DHC-DIS July 2012
________
| |DISCOVER1
| PC |-----------------
|________|DISCOVER2 | __________
...... |----->| |
| DHCP |
________ |----->| server |
| |DISCOVER1 | |-->|__________|
| MS |----------------- |
|________|DISCOVER2 |
...... |
...... |
________ |
| | |
| |--------------------
|________|
Figure 1: DHCPDISCOVER flood in LAN/WLAN
To avoid this problem, most of the terminals creat backoff algorithms
which can help them retransmit DHCPDISCOVER message in different
frequency according to their state machine in different Operating
Systems, because there is no specific defenition in RFCs to restrict
the terminals behaviors when the server is down or in a dual-stack
scenario as discripted upwards. But the same point of almost all the
verious Operating Systems is that they could not stop DHCPDISCOVER
requests enven to an IPv6-only server. We test some of the most
popular terminals' OS in WLAN, the results are illuminated as below.
Yang, et al. Expires January 13, 2013 [Page 4]
Internet-Draft DHC-DIS July 2012
------------------------------------------------------------------------
| DHCP Discovery Packages Time Table |
|----------------------------------------------------------------------|
| | Windows7 |Windows XP | IOS_5.0.1 |Android_2.3.7|Symbian_S60 |
|No|Time | Time | Time | Time |Time | Time |Time | Time | Time | Time|
| | |offset| |offset| |offset| |offset | |offse|
|--|-----|------|------|------|-----|------|-----|-------|-------|-----|
|1 |0 | |0 | |0.1 | |7.8 | | 0 | |
|2 |3.9 |3.9 |0.1 | 0.1 |1.4 | 1.3 |10.3 | 2.5 | 2 | 2 |
|3 |13.3 |9.4 |4.1 | 4 |3.8 | 2.4 |17.9 | 7.6 | 6 | 4 |
|4 |30.5 |17.2 |12.1 | 8 |7.9 | 4.1 |33.9 | 16 | 8 | 2 |
|5 |62.8 |32.3 |29.1 | 17 |16.3 | 8.4 |36.5 | 2.6 | 12 | 4 |
|6 |65.9 |3.1 |64.9 | 35.8 |24.9 | 8.6 | reconnect | 14 | 2 |
|7 |74.9 |9 |68.9 | 4 |33.4 | 8.5 |56.6 | 20.1 | 18 | 4 |
|8 |92.1 |17.2 |77.9 | 9 |42.2 | 8.8 |60.2 | 3.6 | 20 | 2 |
|9 |395.2|303.1 |93.9 | 16 |50.8 | 8.6 |68.4 | 8.2 | 24 | 4 |
|10|399.1|3.9 |433.9 | 340 |59.1 | 8.3 |84.8 | 16.4 | 26 | 2 |
|11|407.1|8 |438.9 | 5 |127.3| 68.2|86.7 | 1.9 | 30.1 | 4.1|
|12|423.4|16.3 |447.9 | 9 |128.9| 1.6 | reconnect | 32.1 | 2 |
|13|455.4|32 |464.9 | 17 |131.1| 2.2 |106.7| 20 | 36.1 | 4 |
|14|460.4|5 |794.9 | 330 |135.1| 4 |111.4| 4.7 | 38.1 | 2 |
|15|467.4|7 |799.9 | 5 |143.4| 8.3 |120.6| 9.2 | 42.1 | 4 |
|16|483.4|16 |808.9 | 9 |151.7| 8.3 |134.9| 14.3 | 44.1 | 2 |
|17|842.9|359.5 |824.9 | 16 |160.4| 8.7 |136.8| 1.9 | 48.2 | 4.1|
|18|846.9|4 |1141.9| 317 |168.8| 8.4 | reconnect | 50.2 | 2 |
------------------------------------------------------------------------
Terminals DHCPDISCOVER requests when
Server's DHCP module is down
figure 2. Terminals DHCPDISCOVER requests when Server's DHCP module
is down For Windows7, it seems to initiate 8 times DHCPDISCOVER
requests in about 300s interval. For WindowsXP, firstly it launches
9 times DHCPDISCOVER messages, but after that it cannot get any
response from the server, then it initiates 5 times requests in one
cycle in around 330s intervals, and never stop. For IOS5.0.1, it
seems like WindowsXP. There are 10 times attempts in one cycle, and
the interval is about 68s. Symbian_S60 uses the simplest backoff
method, it launches DISCOVER in every 2 or 4 seconds. Android2.3.7
is the only Operating System which can stop DISCOVER request by
disconnect its wireless connection. It reboot wireless and dhcp
connection every 20 seconds. Obviously, DHCP server needs to weaken
the traffic which is like DDoS attack caused by the clients when many
DHCPv4 clients send discovery messages incessantly when the DHCPv4
server is configured no respond to discover messages or the IPv4
address pool is empty.
Yang, et al. Expires January 13, 2013 [Page 5]
Internet-Draft DHC-DIS July 2012
4. DIS_MAX_RT and DIS_MAX_RT_OPTION
In our experiments described upwards, some of the most popular OS
will send several discover messages every 1 or 5 minutes, and send
the message endlessly. So the DHCP server needs a mechanism to
weaken the traffic.
It is necessary to define an uniform identification named DIS_MAX_RT
for client to follow when it needs to retransmit DHCPDISCOVER.
Client should retransmits the message in a period refer to the
DIS_MAX_RT value. This parameter can be initiated by client and
configurated by DHCP server. Client must support this new option,
and should deploy some backoff algorithm to avoid launch DISCOVER
more frequently. Server must also support this option, and could
refill the parameter according to its state.
According to the definition of DHCP option in RFC2132 [RFC2132], a
new option named DIS_MAX_RT_OPTION is defined. The format of
DIS_MAX_RT_OPTION is:
+--------+--------+--------+--------+--------+--------+
|Code |Len | T1 | T2 | T3 | T4 |
+--------+--------+--------+--------+--------+--------+
Code DIS_MAX_RT_OPTION (TBD).
Len 4.
T1-T4 4 octets, Overriding value for
DIS_MAX_RT in seconds.
DIS_MAX_RT_OPTION
The DIS_MAX_RT_OPTION option needs IANA to assign a new Code to
indicate and its length (Len value) is 4 octets. From T1 to T4,
there are 4 octets space to indicate the max retransmition time
period. MRT(T1-T4) identifies the interval time client sends two
concatenated DISCOVER message. MRT must > 0; When MRT=FFFF, client
should not send DISCOVER any more. A DHCPv4 client MUST include the
DIS_MAX_RT_OPTION in any message it sends. The DHCPv4 server MAY
include the DIS_MAX_RT_OPTION code in any response it sends to a
client that has included the DIS_MAX_RT option code in a request
message. The process of this option is described below: 1. Client
must initial the time parameter by any random algorithm or any
others, and set T1-T4 in DIS_MAX_RT_OPTION. IF client receives
DIS_MAX_RT_OPTION from server, it should retransmit DISCOVER
according the MRT in the option. As a result of receiving this
Yang, et al. Expires January 13, 2013 [Page 6]
Internet-Draft DHC-DIS July 2012
option, the DHCPv4 client MUST NOT send any request messages more
frequently that allowed by the retransmission mechanism defined by
their OS. Client should delpoy backoff algorithm to retransmit the
message if it does not receive any message from server until the
backoff time is triggered. 2. When server receives a request
including a DIS_MAX_RT_OPTION, it MAY ignore the value of DIS_MAX_RT
and assign a new value in the response to make the client refresh its
DIS_MAX_RT. It can change MRT longer than the initialized time if
the IPv4 address pool is empty or according to the administrator's
configuration. Server can also change the value to FFFF if it does
not want to support any more IPv4 address request or in a normal
address allocation process in DHCPOFFER or any other messages.
5. Security Considerations
The security problem is under disscussion.
6. IANA Considerations
IANA is requested to assign an option code from the "DHCP Option
Codes" Registry for OPTION_DIS_MAX_RT.
7. Refrences
(1) RFC[2131] Dynamic Host Configuration Protocol
(2) RFC[2132] DHCP Options and BOOTP Vendor Extensions
(3) RFC[3315] Dynamic Host Configuration Protocol for IPv6(DHCPv6)
(4) "draft-droms-dhc-dhcpv6-solmaxrt-update-02" Modification to
Default Value of SOL_MAX_RT
8. Acknowledgement
Thanks for the authors of "draft-droms-dhc-dhcpv6-solmaxrt-update-02"
and the contributions from Lianyuan Li.
Yang, et al. Expires January 13, 2013 [Page 7]
Internet-Draft DHC-DIS July 2012
Authors' Addresses
Tianle Yang
China Mobile
32, Xuanwumenxi Ave.
Xicheng District, Beijing 01719
China
Email: yangtianle@chinamobile.com
Li Lianyuan
China Mobile
32, Xuanwumenxi Ave.
Xicheng District, Beijing 01719
China
Email: lilianyuan@chinamobile.com
Qiongfang Ma
China Mobile
32, Xuanwumenxi Ave.
Xicheng District, Beijing 01719
China
Email: maqiongfang@chinamobile.com
Yang, et al. Expires January 13, 2013 [Page 8]