idnits 2.17.1 draft-ietf-dhc-dhcpv6-reconfigure-rebind-10.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC3315, updated by this document, for RFC5378 checks: 1995-02-03) -- The document seems to contain a disclaimer for pre-RFC5378 work, and may have content which was first submitted before 10 November 2008. The disclaimer is necessary when there are original authors that you have been unable to contact, or if some do not wish to grant the BCP78 rights to the IETF Trust. If you are able to get all authors (current and original) to grant those rights, you can and should remove the disclaimer; otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 16, 2012) is 4386 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) == Outdated reference: A later version (-07) exists of draft-ietf-dhc-secure-dhcpv6-06 Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Evans 3 Internet-Draft ARRIS International, Inc. 4 Intended status: Standards Track R. Droms 5 Updates: 3315 Cisco Systems, Inc. 6 Expires: October 18, 2012 S. Jiang 7 Huawei Technologies Co., Ltd 8 April 16, 2012 10 Rebind Capability in DHCPv6 Reconfigure Messages 11 draft-ietf-dhc-dhcpv6-reconfigure-rebind-10.txt 13 Abstract 15 This document updates RFC 3315 (DHCPv6) to allow the Rebind message 16 type to appear in the Reconfigure Message option of a Reconfigure 17 message. It extends the Reconfigure message to allow a DHCPv6 server 18 to cause a DHCPv6 client to send a Rebind message. The document also 19 clarifies how a DHCPv6 client responds to a received Reconfigure 20 message. 22 Status of this Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at http://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on October 18, 2012. 39 Copyright Notice 41 Copyright (c) 2012 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 This document may contain material from IETF Documents or IETF 55 Contributions published or made publicly available before November 56 10, 2008. The person(s) controlling the copyright in some of this 57 material may not have granted the IETF Trust the right to allow 58 modifications of such material outside the IETF Standards Process. 59 Without obtaining an adequate license from the person(s) controlling 60 the copyright in such materials, this document may not be modified 61 outside the IETF Standards Process, and derivative works of it may 62 not be created outside the IETF Standards Process, except to format 63 it for publication as an RFC or to translate it into languages other 64 than English. 66 Table of Contents 68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 69 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 70 3. The Reconfigure Message option of the DHCPv6 Reconfigure 71 Message . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 72 4. Server Behavior . . . . . . . . . . . . . . . . . . . . . . . 5 73 5. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 8 74 6. Clarification of section 19.4.2, RFC 3315 . . . . . . . . . . 9 75 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 76 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 77 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 78 10. Change log [RFC Editor please remove] . . . . . . . . . . . . 10 79 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 80 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 81 11.2. Informative References . . . . . . . . . . . . . . . . . 10 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 84 1. Introduction 86 DHCPv6 [RFC3315] allows a server to send an unsolicited Reconfigure 87 message to a client. The client's response to a Reconfigure message, 88 according to section 19 of RFC 3315 is either a Renew or an 89 Information-Request message, depending on the contents of the msg- 90 type field in the Reconfigure Message option of the Reconfigure 91 message. If the client sends a Renew message, it includes a Server 92 Identifier option in the Renew message to specify the server that 93 should respond to the Renew message. The RFC 3315 specification is 94 only suitable for the scenarios that client would communicate with 95 the same DHCPv6 servers. 97 There are also scenarios that the client must communicate with a 98 different server: for example, a network administrator may choose to 99 shut down a DHCPv6 server and move these clients who most recently 100 communicated with it to another different server. Hence, this 101 document expands the allowed values of the message type field with in 102 reconfiguration message to allow the server to indicate the client to 103 send a Rebind message, which does not include a Server Identifier 104 option and allows any server to respond to the client. 106 RFC 3315 does not specify that a Reconfigure message must be sent 107 from the server with which the client most recently communicated, and 108 it does not specify which server the client should identify with a 109 Server Identifier option when the client responds to the Reconfigure 110 message. This document clarifies that the client should send a Renew 111 message in response to a Reconfigure message with a Server Identifier 112 option identifying the same server that the client would have 113 identified if the client had sent the Renew message after expiration 114 of the timer T1. 116 2. Terminology 118 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 119 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 120 document are to be interpreted as described in [RFC2119]. 122 This document uses IPv6 and DHCPv6 terms as defined in section 4 of 123 [RFC3315]. 125 3. The Reconfigure Message option of the DHCPv6 Reconfigure Message 127 This section modifies section 22.19 of RFC 3315 to allow the 128 specification of the Rebind message in a Reconfigure message. 130 A server includes a Reconfigure Message option in a Reconfigure 131 message to indicate to the client whether the client responds with a 132 Renew, an Information-request, or a Rebind message. 134 The format of this option is: 136 0 1 2 3 137 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 139 | OPTION_RECONF_MSG | option-len | 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 141 | msg-type | 142 +-+-+-+-+-+-+-+-+ 144 option-code OPTION_RECONF_MSG (19). 145 option-len 1. 146 msg-type 5 for Renew message, 6 for Rebind, 11 for 147 Information-request message. 149 4. Server Behavior 151 This section updates specific text in sections 19.1, and 19.2 of RFC 152 3315. 154 Section 19.1.1: 156 OLD: 158 The server MUST include a Reconfigure Message option (defined in 159 section 22.19) to select whether the client responds with a Renew 160 message or an Information-Request message. 162 The server MUST NOT include any other options in the Reconfigure 163 except as specifically allowed in the definition of individual 164 options. 166 A server sends each Reconfigure message to a single DHCP client, 167 using an IPv6 unicast address of sufficient scope belonging to the 168 DHCP client. If the server does not have an address to which it can 169 send the Reconfigure message directly to the client, the server uses 170 a Relay-reply message (as described in section 20.3) to send the 171 Reconfigure message to a relay agent that will relay the message to 172 the client. The server may obtain the address of the client (and the 173 appropriate relay agent, if required) through the information the 174 server has about clients that have been in contact with the server, 175 or through some external agent. 177 To reconfigure more than one client, the server unicasts a separate 178 message to each client. The server may initiate the reconfiguration 179 of multiple clients concurrently; for example, a server may send a 180 Reconfigure message to additional clients while previous 181 reconfiguration message exchanges are still in progress. 183 The Reconfigure message causes the client to initiate a Renew/Reply 184 or Information-request/Reply message exchange with the server. The 185 server interprets the receipt of a Renew or Information-request 186 message (whichever was specified in the original Reconfigure message) 187 from the client as satisfying the Reconfigure message request. 189 NEW: 191 The server MUST include a Reconfigure Message option (as defined in 192 Section 3) to select whether the client responds with a Renew 193 message, a Rebind message or an Information-Request message. 195 The server MUST NOT include any other options in the Reconfigure 196 except as specifically allowed in the definition of individual 197 options. 199 A server sends each Reconfigure message to a single DHCP client, 200 using an IPv6 unicast address of sufficient scope belonging to the 201 DHCP client. If the server does not have an address to which it can 202 send the Reconfigure message directly to the client, the server uses 203 a Relay-reply message (as described in section 20.3) to send the 204 Reconfigure message to a relay agent that will relay the message to 205 the client. The server may obtain the address of the client (and the 206 appropriate relay agent, if required) through the information the 207 server has about clients that have been in contact with the server, 208 or through some external agent. 210 To reconfigure more than one client, the server unicasts a separate 211 message to each client. The server may initiate the reconfiguration 212 of multiple clients concurrently; for example, a server may send a 213 Reconfigure message to additional clients while previous 214 reconfiguration message exchanges are still in progress. 216 The Reconfigure message causes the client to initiate a Renew/Reply, 217 a Rebind/Reply message exchange or an Information-request/Reply 218 message exchange. The server interprets the receipt of a Renew, a 219 Rebind or an Information-request message (whichever was specified in 220 the original Reconfigure message) from the client as satisfying the 221 Reconfigure message request. 223 Section 19.1.2: 225 OLD: 227 If the server does not receive a Renew or Information-request message 228 from the client in REC_TIMEOUT milliseconds, the server retransmits 229 the Reconfigure message, doubles the REC_TIMEOUT value and waits 230 again. The server continues this process until REC_MAX_RC 231 unsuccessful attempts have been made, at which point the server 232 SHOULD abort the reconfigure process for that client. 234 NEW: 236 If the server does not receive a Renew, Rebind or Information-request 237 message from the client in REC_TIMEOUT milliseconds, the server 238 retransmits the Reconfigure message, doubles the REC_TIMEOUT value 239 and waits again. The server continues this process until REC_MAX_RC 240 unsuccessful attempts have been made, at which point the server 241 SHOULD abort the reconfigure process for that client. 243 Section 19.2: 245 OLD: 247 19.2. Receipt of Renew or Rebind Messages 249 The server generates and sends a Reply message to the client as 250 described in sections 18.2.3 and 18.2.8, including options for 251 configuration parameters. 253 The server MAY include options containing the IAs and new values for 254 other configuration parameters in the Reply message, even if those 255 IAs and parameters were not requested in the Renew message from the 256 client. 258 NEW: 260 19.2. Receipt of Renew Messages 262 In response to a Renew message, the server generates and sends a 263 Reply message to the client as described in sections 18.2.3 and 264 18.2.8, including options for configuration parameters. 266 In response to a Rebind message, the server generates and sends a 267 Reply message to the client as described in sections 18.2.4 and 268 18.2.8, including options for configuration parameters. 270 The server MAY include options containing the IAs and new values for 271 other configuration parameters in the Reply message, even if those 272 IAs and parameters were not requested in the Renew or Rebind message 273 from the client. 275 5. Client Behavior 277 This section updates specific text in section 19.4 of RFC 3315. 279 Section 19.4.1: 281 OLD: 283 Upon receipt of a valid Reconfigure message, the client responds with 284 either a Renew message or an Information-request message as indicated 285 by the Reconfigure Message option (as defined in section 22.19). The 286 client ignores the transaction-id field in the received Reconfigure 287 message. While the transaction is in progress, the client silently 288 discards any Reconfigure messages it receives. 290 NEW: 292 Upon receipt of a valid Reconfigure message, the client responds with 293 a Renew message, a Rebind message or an Information-request message 294 as indicated by the Reconfigure Message option (as defined in Section 295 3). The client ignores the transaction-id field in the received 296 Reconfigure message. While the transaction is in progress, the 297 client silently discards any Reconfigure messages it receives. 299 Section 19.4.2: 301 ADD new second and third paragraphs: 303 When responding to a Reconfigure, the client creates and sends the 304 Rebind message in exactly the same manner as outlined in section 305 18.1.4 of RFC 3315, with the exception that the client copies the 306 Option Request option and any IA options from the Reconfigure message 307 into the Rebind message. 309 If a client is currently sending Rebind messages, as described in 310 section 18.1.4 of RFC 3315, the client ignores any received 311 Reconfigure messages. 313 Section 19.4.4: 315 OLD: 317 The client uses the same variables and retransmission algorithm as it 318 does with Renew or Information-request messages generated as part of 319 a client-initiated configuration exchange. See sections 18.1.3 and 320 18.1.5 for details. If the client does not receive a response from 321 the server by the end of the retransmission process, the client 322 ignores and discards the Reconfigure message. 324 NEW: 326 The client uses the same variables and retransmission algorithm as it 327 does with Renew, Rebind or Information-request messages generated as 328 part of a client-initiated configuration exchange. See sections 329 18.1.3, 18.1.4 and 18.1.5 of RFC 3315 for details. If the client 330 does not receive a response from the server by the end of the 331 retransmission process, the client ignores and discards the 332 Reconfigure message. 334 6. Clarification of section 19.4.2, RFC 3315 336 When sending a Renew message in response to the receipt of a 337 Reconfigure message, the client MUST include a Server Identifier 338 option identifying the server the client most recently communicated 339 with. 341 7. Security Considerations 343 This document allows the Rebind message type to appear in the 344 Reconfigure Message option of a Reconfigure message so that the 345 client rebinds to a different DHCPv6 server. A malicious attacker 346 may use a faked Reconfigure message to force the client to disconnect 347 from the current server and relink to a faked server by quickly 348 responding to the client's Rebind message. A similar attack is 349 available in DHCPv6 by an attacker spoofing itself as a valid DHCPv6 350 server in response to a Solicit or Request message. These attacks 351 can be prevented by using the AUTH option [RFC3315]. DHCPv6 clients 352 that support Reconfigure-Rebind MUST implement the Reconfigure Key 353 authentication protocol as described in [RFC3315] section 21.5. 354 Other authentication mechanisms may optionally be implemented. For 355 example, the Secure DHCPv6 [I-D.ietf-dhc-secure-dhcpv6], based on 356 Cryptographically Generated Addresses (CGA) [RFC3972], can provide 357 source address ownership validation, message origin authentication 358 and message integrity without requesting symmetric key pairs or 359 supporting from any key management system. 361 8. Acknowledgements 363 Valuable comments were made by Jari Arkko, Sean Turner, Ted Lemon and 364 Stephen Farrell. 366 9. IANA Considerations 368 There are no actions for IANA associated with this document. 370 10. Change log [RFC Editor please remove] 372 Revision -05 374 Clarified description of this feature in introduction. 376 Clarified action of client if it receives a Reconfigure while sending 377 Rebind messages. 379 Revision -08 381 Add a new co-author. Refreshed expired draft. Refine the motivation 382 and suitable scenarios, also add some new security considerations. 383 Correct the intended status to standard track. 385 Revision-10 387 Adopt OLD-NEW style according to IESG comment and address other IESG 388 comments. 390 11. References 392 11.1. Normative References 394 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 395 Requirement Levels", BCP 14, RFC 2119, March 1997. 397 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 398 and M. Carney, "Dynamic Host Configuration Protocol for 399 IPv6 (DHCPv6)", RFC 3315, July 2003. 401 [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", 402 RFC 3972, March 2005. 404 11.2. Informative References 406 [I-D.ietf-dhc-secure-dhcpv6] 407 Jiang, S. and S. Shen, "Secure DHCPv6 Using CGAs", 408 draft-ietf-dhc-secure-dhcpv6-06 (work in progress), 409 March 2012. 411 Authors' Addresses 413 D. R. Evans 414 ARRIS International, Inc. 415 IPfonix, Inc., 330 WCR 16 1/2 416 Longmont, CO 80504-9467 417 USA 419 Phone: +1 303.682.2412 420 Email: N7DR@ipfonix.com 422 Ralph Droms 423 Cisco Systems, Inc. 424 1414 Massachusetts Avenue 425 Boxborough, MA 01719 426 USA 428 Phone: +1 978.936.1674 429 Email: rdroms@cisco.com 431 Sheng Jiang 432 Huawei Technologies Co., Ltd 433 Q14, Huawei Campus, No.156 Beiqing Road 434 Hai-Dian District, Beijing, 100095 435 P.R. China 437 Email: jiangsheng@huawei.com