draft-ietf-dhc-dhcpv6-srsn-option-01.txt   draft-ietf-dhc-dhcpv6-srsn-option-02.txt 
dhc Group B. Volz dhc Group B. Volz
Internet-Draft R. Droms Internet-Draft R. Droms
Intended status: Informational Cisco Systems, Inc. Intended status: Informational Cisco Systems, Inc.
Expires: September 2, 2007 March 1, 2007 Expires: August 8, 2009 February 4, 2009
DHCPv6 Server Reply Sequence Number Option DHCPv6 Server Reply Sequence Number Option
draft-ietf-dhc-dhcpv6-srsn-option-01.txt draft-ietf-dhc-dhcpv6-srsn-option-02.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any This Internet-Draft is submitted to IETF in full conformance with the
applicable patent or other IPR claims of which he or she is aware provisions of BCP 78 and BCP 79.
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 2, 2007. This Internet-Draft will expire on August 8, 2009.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (c) 2009 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.
Abstract Abstract
This memo defines the Server Reply Sequence Number option for the This memo defines the Server Reply Sequence Number option for the
Dynamic Host Configuration Protocol for IPv6 (DHCPv6). This option Dynamic Host Configuration Protocol for IPv6 (DHCPv6). This option
is sent from a DHCPv6 server to a DHCPv6 relay agent to allow a relay is sent from a DHCPv6 server to a DHCPv6 relay agent to allow a relay
agent to detect proper sequencing of Relay-Reply messages that could agent to detect proper sequencing of Relay-Reply messages that could
be delivered out of order. be delivered out of order.
Table of Contents Table of Contents
skipping to change at page 2, line 18 skipping to change at page 2, line 21
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. The Server Reply Sequence Number Option . . . . . . . . . . . . 3 3. The Server Reply Sequence Number Option . . . . . . . . . . . . 3
4. DHCPv6 Relay Agent Behavior . . . . . . . . . . . . . . . . . . 4 4. DHCPv6 Relay Agent Behavior . . . . . . . . . . . . . . . . . . 4
5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 5 5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 5
6. IANA considerations . . . . . . . . . . . . . . . . . . . . . . 5 6. IANA considerations . . . . . . . . . . . . . . . . . . . . . . 5
7. Security considerations . . . . . . . . . . . . . . . . . . . . 6 7. Security considerations . . . . . . . . . . . . . . . . . . . . 6
8. Modification History . . . . . . . . . . . . . . . . . . . . . 6 8. Modification History . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . . 6 9.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . . . 8
1. Introduction 1. Introduction
When a DHCPv6 server sends a Reply, there is no guarantee as to the When a DHCPv6 server sends a Reply, there is no guarantee as to the
order of delivery of those datagrams sent by a server. A DHCPv6 order of delivery of those datagrams sent by a server. A DHCPv6
client is protected against delivery of old Reply messages because of client is protected against delivery of old Reply messages because of
the transaction-id in the message. However, a relay agent receiving the transaction-id in the message. However, a relay agent receiving
Relay-Reply messages and maintaining client state information (e.g., Relay-Reply messages and maintaining client state information (e.g.,
[5] has no such technique. Thus a delayed earlier Relay-Reply may [I-D.ietf-dhc-dhcpv6-agentopt-delegate] has no such technique. Thus
arrive after other Relay-Reply messages. As an example, suppose a a delayed earlier Relay-Reply may arrive after other Relay-Reply
client sends a Request, the Reply (encapsulated in a Relay-Reply) is messages. As an example, suppose a client sends a Request, the Reply
delayed between server and relay agent. The client retransmits the (encapsulated in a Relay-Reply) is delayed between server and relay
Request, the retransmitted Reply is processed through the relay agent agent. The client retransmits the Request, the retransmitted Reply
and then by the client. The client next transacts a Release/Reply is processed through the relay agent and then by the client. The
sequence, which causes the relay agent to remove the client's state client next transacts a Release/Reply sequence, which causes the
information when relaying the Relay-Reply. However, now the delayed relay agent to remove the client's state information when relaying
first Request's Reply arrives at the relay agent; if the relay agent the Relay-Reply. However, now the delayed first Request's Reply
were to update the client's state based on this out of order message arrives at the relay agent; if the relay agent were to update the
(e.g., [5]), it would add client state that is no longer valid. The client's state based on this out of order message (e.g.,
Server Reply Sequence Number (SRSN) option can be used to prevent [I-D.ietf-dhc-dhcpv6-agentopt-delegate]), it would add client state
this as the relay agent can detect and discard out of order message. that is no longer valid. The Server Reply Sequence Number (SRSN)
option can be used to prevent this as the relay agent can detect and
discard out of order message.
To allow a relay agent to detect and discard out of order messages, To allow a relay agent to detect and discard out of order messages,
the relay agent requests the server to include a SRSN option in the relay agent requests the server to include a SRSN option in
Relay-Reply messages. The SRSN option contains a monotonically Relay-Reply messages. The SRSN option contains a monotonically
increasing sequence number that the relay agent can use to re- increasing sequence number that the relay agent can use to re-
sequence (or discard) out of order Relay-Reply messages from the sequence (or discard) out of order Relay-Reply messages from the
server. server.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [1]. document are to be interpreted as described in [RFC2119].
Additional terms used in the description of DHCPv6 and DHCPv6 prefix Additional terms used in the description of DHCPv6 and DHCPv6 prefix
delegation are defined in [2] and [3]. delegation are defined in [RFC3315] and [RFC3633].
3. The Server Reply Sequence Number Option 3. The Server Reply Sequence Number Option
The SRSN option is used by a server to indicate the order in which The SRSN option is used by a server to indicate the order in which
the server has generated replies and therefore allows a relay agent the server has generated replies and therefore allows a relay agent
receiving Relay-Reply messages to determine the order in which those receiving Relay-Reply messages to determine the order in which those
Relay-Reply messages were originally sent. The Relay-Reply messages Relay-Reply messages were originally sent. The Relay-Reply messages
are sent via UDP and, therefore, may be delivered out of order. are sent via UDP and, therefore, may be delivered out of order.
The server's sequence number in the SRSN is a monotonically The server's sequence number in the SRSN is a monotonically
skipping to change at page 4, line 36 skipping to change at page 4, line 38
length 8. length 8.
server-reply-sequence-number server-reply-sequence-number
The 64-bit monotonically increasing server reply The 64-bit monotonically increasing server reply
sequence number. sequence number.
4. DHCPv6 Relay Agent Behavior 4. DHCPv6 Relay Agent Behavior
If a relay agent requires the server to provide the SRSN option, it If a relay agent requires the server to provide the SRSN option, it
MUST include an Option Request option, requesting the SRSN option, as MUST include an Option Request option, requesting the SRSN option, as
described in section 22.7 of [2]. described in section 22.7 of [RFC3315].
A relay agent MUST save the received server-reply-sequence-number A relay agent MUST save the received server-reply-sequence-number
(and the server's Server Identifier Option, OPTION_SERVERID) with any (and the server's Server Identifier Option, OPTION_SERVERID) with any
client state information extracted from a Relay-Reply if it needs to client state information extracted from a Relay-Reply if it needs to
assure it does not use out of date information. assure it does not use out of date information.
A relay agent that uses the SRSN option needs do the following when A relay agent that uses the SRSN option needs do the following when
maintaining client state information: maintaining client state information:
1. Only update existing client state information if the received 1. Only update existing client state information if the received
skipping to change at page 5, line 14 skipping to change at page 5, line 18
the received server-reply-sequence-number and Server Identifier the received server-reply-sequence-number and Server Identifier
must be stored with the client state information. must be stored with the client state information.
2. Delay removing expired client state information from its storage 2. Delay removing expired client state information from its storage
for at least the maximum lifetime of a datagram. This assures for at least the maximum lifetime of a datagram. This assures
that any undelivered Relay-Reply datagrams will have expired and that any undelivered Relay-Reply datagrams will have expired and
been dropped from the network; and thus the server-reply- been dropped from the network; and thus the server-reply-
sequence-number checking will prevent outdated information from sequence-number checking will prevent outdated information from
being used. A value of 2 minutes is the recommended value for being used. A value of 2 minutes is the recommended value for
the maximum datagram lifetime, based on the maximum segment the maximum datagram lifetime, based on the maximum segment
lifetime used by the Transmission Control Protocol (TCP) [4]. lifetime used by the Transmission Control Protocol (TCP)
[RFC0793].
A change in the server-reply-sequence-number MUST NOT be used to A change in the server-reply-sequence-number MUST NOT be used to
assume a client's state has changed, as a server may be assume a client's state has changed, as a server may be
retransmitting the same information but with a different server- retransmitting the same information but with a different server-
reply-sequence-number. reply-sequence-number.
5. DHCPv6 Server Behavior 5. DHCPv6 Server Behavior
If a relay agent has requested the SRSN option in an ORO, the server If a relay agent has requested the SRSN option in an ORO, the server
SHOULD return the option with a monotonically increasing sequence SHOULD return the option with a monotonically increasing sequence
skipping to change at page 6, line 7 skipping to change at page 6, line 9
is no need to commit the sequence number to stable storage. is no need to commit the sequence number to stable storage.
6. IANA considerations 6. IANA considerations
IANA is requested to assign an option code from the "DHCPv6 and IANA is requested to assign an option code from the "DHCPv6 and
DHCPv6 options" registry, DHCPv6 options" registry,
http://www.iana.org/assignments/dhcpv6-parameters, to OPTION_SRSN. http://www.iana.org/assignments/dhcpv6-parameters, to OPTION_SRSN.
7. Security considerations 7. Security considerations
Security issues related to DHCP are described in [2] and [3]. Security issues related to DHCP are described in [RFC3315] and
[RFC3633].
The DHCPv6 Server Reply Sequence Number option may be used to mount a The DHCPv6 Server Reply Sequence Number option may be used to mount a
denial of service attack by causing a relay agent to incorrectly denial of service attack by causing a relay agent to incorrectly
record a very high server-reply-sequence-number and thus preventing record a very high server-reply-sequence-number and thus preventing
legitimate Relay-Reply messages from a server from being processed. legitimate Relay-Reply messages from a server from being processed.
Communication between a server and a relay agent, and communication Communication between a server and a relay agent, and communication
between relay agents, can be secured through the use of IPSec, as between relay agents, can be secured through the use of IPSec, as
described in section 21.1 of [2]. described in section 21.1 of [RFC3315].
8. Modification History 8. Modification History
Changes in rev -02: None except boiler plate, version number, and
date.
Changes in rev -01 (to fix idnits): Changes in rev -01 (to fix idnits):
o Revised terminology section to match recommended RFC 2119 syntax. o Revised terminology section to match recommended RFC 2119 syntax.
o Used new I-D boilerplate. o Used new I-D boilerplate.
o Added this section. o Added this section.
9. References 9. References
9.1. Normative References 9.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[2] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", and M. Carney, "Dynamic Host Configuration Protocol for
RFC 3315, July 2003. IPv6 (DHCPv6)", RFC 3315, July 2003.
[3] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Configuration Protocol (DHCP) version 6", RFC 3633, Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003. December 2003.
9.2. Informative References 9.2. Informative References
[4] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, [RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
September 1981. RFC 793, September 1981.
[5] Droms, R., "DHCPv6 Relay Agent Assignment Notification (RAAN) [I-D.ietf-dhc-dhcpv6-agentopt-delegate]
Option", draft-ietf-dhc-dhcpv6-agentopt-delegate-02 (work in Droms, R., "DHCPv6 Relay Agent Assignment Notification
progress), November 2006. (RAAN) Option", draft-ietf-dhc-dhcpv6-agentopt-delegate-02
(work in progress), November 2006.
Authors' Addresses Authors' Addresses
Bernie Volz Bernie Volz
Cisco Systems, Inc. Cisco Systems, Inc.
1414 Massachusetts Avenue 1414 Massachusetts Avenue
Boxborough, MA 01719 Boxborough, MA 01719
USA USA
Phone: +1 978.936.0382 Phone: +1 978.936.0382
Email: volz@cisco.com Email: volz@cisco.com
Ralph Droms Ralph Droms
Cisco Systems, Inc. Cisco Systems, Inc.
1414 Massachusetts Avenue 1414 Massachusetts Avenue
Boxborough, MA 01719 Boxborough, MA 01719
USA USA
Phone: +1 978.936.1674 Phone: +1 978.936.1674
Email: rdroms@cisco.com Email: rdroms@cisco.com
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
 End of changes. 20 change blocks. 
41 lines changed or deleted 54 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/