draft-ietf-dhc-addr-registration-04.txt   draft-ietf-dhc-addr-registration-05.txt 
DHC Working Group S. Jiang DHC Working Group S. Jiang
Internet-Draft Huawei Technologies Co., Ltd Internet-Draft Huawei Technologies Co., Ltd
Intended status: Standards Track G. Chen Intended status: Standards Track G. Chen
Expires: August 18, 2014 China Mobile Expires: December 25, 2014 China Mobile
S. Krishnan S. Krishnan
Ericsson Ericsson
R. Asati R. Asati
Cisco Systems Cisco Systems, Inc.
February 14, 2014 June 23, 2014
Registering self-generated IPv6 Addresses in DNS using DHCPv6 Registering Self-generated IPv6 Addresses in DNS using DHCPv6
draft-ietf-dhc-addr-registration-04 draft-ietf-dhc-addr-registration-05
Abstract Abstract
In networks that are centrally managed, self-generated addresses In networks that are centrally managed, self-generated addresses
cause some traceability issues due to their decentralized nature. cause some traceability issues due to their decentralized nature.
One of the most important issues in this regard is the inability to One of the most important issues in this regard is the inability to
register such addresses in DNS. This document defines a mechanism to register such addresses in DNS. This document defines a mechanism to
register self-generated and statically configured addresses in DNS register self-generated and statically configured addresses in DNS
through a DHCPv6 server. through a DHCPv6 server.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on August 18, 2014. This Internet-Draft will expire on December 25, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Solution Overview . . . . . . . . . . . . . . . . . . . . . . . 3 3. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 3
4. DHCPv6 ADDR-REGISTRATION-REQUEST Message . . . . . . . . . . . 4 4. DHCPv6 ADDR-REGISTRATION-REQUEST Message . . . . . . . . . . 4
5. DHCPv6 Address Registration Procedure . . . . . . . . . . . . . 5 5. DHCPv6 Address Registration Procedure . . . . . . . . . . . . 4
5.1. DHCPv6 Address Registration Request . . . . . . . . . . . . 5 5.1. DHCPv6 Address Registration Request . . . . . . . . . . . 5
5.2. Registration expiry and refresh . . . . . . . . . . . . . . 5 5.2. Registration Expiry and Refresh . . . . . . . . . . . . . 5
5.3. Acknowledging successful registration . . . . . . . . . . . 5 5.3. Acknowledging Registration . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . 7
9.2. Informative References . . . . . . . . . . . . . . . . . . 7 9.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
In several common network scenarios, IPv6 addresses are self- In several common network scenarios, IPv6 addresses are self-
generated by the end-hosts by appending a self-generated interface generated by the end-hosts by appending a self-generated interface
identifier to a network-specified prefix. Examples of self-generated identifier to a network-specified prefix. Examples of self-generated
addresses include those created using IPv6 Stateless Address addresses include those created using IPv6 Stateless Address
Configuration [RFC4862] , temporary addresses [RFC4941] and Configuration [RFC4862] , temporary addresses [RFC4941] and
Cryptographically Generated Addresses (CGA) [RFC3972] etc. In Cryptographically Generated Addresses (CGA) [RFC3972] etc. In
several tighly controlled networks, hosts with self-generated several tighly controlled networks, hosts with self-generated
skipping to change at page 3, line 31 skipping to change at page 3, line 7
For nodes that obtain their addresses through DHCPv6, a solution has For nodes that obtain their addresses through DHCPv6, a solution has
been specified in [RFC4704]. The solution works by including a been specified in [RFC4704]. The solution works by including a
Client FQDN option in the SOLICIT, REQUEST, RENEW or REBIND messages Client FQDN option in the SOLICIT, REQUEST, RENEW or REBIND messages
during the process of acquiring an address through DHCPv6. This during the process of acquiring an address through DHCPv6. This
document provides an analogous mechanism to register self-generated document provides an analogous mechanism to register self-generated
addresses in DNS. addresses in DNS.
A new ADDR-REGISTRATION-REQUEST DHCPv6 message type is defined to A new ADDR-REGISTRATION-REQUEST DHCPv6 message type is defined to
initiate the address registration request, and two new Status codes initiate the address registration request, and two new Status codes
is defined to indicate registration errors on the server side. are defined to indicate registration errors on the server side.
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 [RFC2119]. document are to be interpreted as described in [RFC2119].
Certificate In this document, the term "Certificate" is all referred
to public key certificate.
3. Solution Overview 3. Solution Overview
After successfully assigning a self-generated IPv6 address on one of After successfully assigning a self-generated IPv6 address on one of
its interfaces, an end-host implementing this specification SHOULD its interfaces, an end-host implementing this specification SHOULD
send an ADDR-REGISTRATION-REQUEST message to a DHCPv6 address send an ADDR-REGISTRATION-REQUEST message to a DHCPv6 address
registration server. After receiving the address registration registration server. After receiving the address registration
request, the DHCPv6 server registers the IPv6 address to FQDN binding request, the DHCPv6 server registers the IPv6 address to FQDN binding
towards a configured DNS server. An acknowledgement MAY be sent back towards a configured DNS server. An acknowledgement MAY be sent back
to the end host to indicate whether or not the registration operation to the end host to indicate whether or not the registration operation
succeeded.. succeeded.
+----+ +-----------+ +---------------+ +----+ +-----------+ +---------------+
|Host| |Edge router| |Addr-Reg Server| |Host| |Edge router| |Addr-Reg Server|
+----+ +-----------+ +---------------+ +----+ +-----------+ +---------------+
| SLAAC | | | SLAAC | |
|<--------->| | |<--------->| |
| | | | | |
| | ADDR-REGISTRATION-REQUEST | | | ADDR-REGISTRATION-REQUEST |
|------------------------------------------------->| |------------------------------------------------->|
| | |Register | | |Register
| | |address | | |address
| | Optional Acknowledgment |in DNS | | Optional Acknowledgment |in DNS
|<-------------------------------------------------| |<-------------------------------------------------|
Figure 1: Address Registration Procedure Figure 1: Address Registration Procedure
It is RECOMMENDED to only set up one address registration server
within an administration domain, although there may be multiple
DHCPv6 servers. The coordination of multiple address registration
servers is out of scope.
4. DHCPv6 ADDR-REGISTRATION-REQUEST Message 4. DHCPv6 ADDR-REGISTRATION-REQUEST Message
The DHCPv6 client sends an ADDR-REGISTRATION-REQUEST message to a The DHCPv6 client sends an ADDR-REGISTRATION-REQUEST message to a
server to request an address to be registered in the DNS. The format server to request an address to be registered in the DNS. The format
of the ADDR-REGISTRATION-REQUEST message is described as follows: of the ADDR-REGISTRATION-REQUEST message is described as follows:
0 1 2 3 0 1 2 3
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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-type | transaction-id | | msg-type | transaction-id |
skipping to change at page 4, line 47 skipping to change at page 4, line 32
Set to ADDR-REGISTRATION-REQUEST (TBA1). Set to ADDR-REGISTRATION-REQUEST (TBA1).
transaction-id The transaction ID for this message exchange. transaction-id The transaction ID for this message exchange.
options Options carried in this message. options Options carried in this message.
DHCPv6 ADDR-REGISTRATION-REQUEST message DHCPv6 ADDR-REGISTRATION-REQUEST message
The ADDR-REGISTRATION-REQUEST message MUST NOT contain server- The ADDR-REGISTRATION-REQUEST message MUST NOT contain server-
identifier option and MUST contain the IA_NA option and the DHCPv6 identifier option and MUST contain the IA_NA option and the DHCPv6
FQDN option [RFC4704]. FQDN option [RFC4704]. The ADDR-REGISTRATION-REQUEST message is
dedicated for clients to initiate an address registration request
toward an address registration server. Consequently, clients MUST
NOT put any Option Request Option(s) in the ADDR-REGISTRATION-REQUEST
message.
Clients MUST discard any received ADDR-REGISTRATION-REQUEST messages. Clients MUST discard any received ADDR-REGISTRATION-REQUEST messages.
Servers MUST discard any ADDR-REGISTRATION-REQUEST messages that do Servers MUST discard any ADDR-REGISTRATION-REQUEST messages that do
not include a Client Identifier option or that do include a Server not include a Client Identifier option or that do include a Server
Identifier option. Identifier option. Servers MUST discard any ADDR-REGISTRATION-
REQUEST messages that do not include IA_NA option. Servers MUST
discard any ADDR-REGISTRATION-REQUEST messages that do not include
FQDN option or include more than one FQDN options. Servers MUST
discard any ADDR-REGISTRATION-REQUEST messages that do include any
Option Request Option(s).
5. DHCPv6 Address Registration Procedure 5. DHCPv6 Address Registration Procedure
The DHCPv6 protocol is used as the address registration protocol when The DHCPv6 protocol is used as the address registration protocol when
a DHCPv6 server performs the role of an address registration server. a DHCPv6 server performs the role of an address registration server.
The DHCPv6 IA_NA option [RFC3315] and the DHCPv6 FQDN option The DHCPv6 IA_NA option [RFC3315] and the DHCPv6 FQDN option
[RFC4704] are reused in order to fulfill the address registration
[RFC4704] are adopted in order to fulfill the address registration
interactions. interactions.
5.1. DHCPv6 Address Registration Request 5.1. DHCPv6 Address Registration Request
The end-host sends a DHCPv6 ADDR-REGISTRATION-REQUEST message to the The end-host sends a DHCPv6 ADDR-REGISTRATION-REQUEST message to the
address registration server to the All_DHCP_Relay_Agents_and_Servers address registration server to the All_DHCP_Relay_Agents_and_Servers
multicast address (ff02::1:2). multicast address (ff02::1:2).
The end-host MUST include a Client Identifier option in the ADDR- The end-host MUST include a Client Identifier option in the ADDR-
REGISTRATION-REQUEST message to identify itself to the server. The REGISTRATION-REQUEST message to identify itself to the server. The
DHCPv6 ADDR-REGISTRATION-REQUEST message MUST contain exactly one DHCPv6 ADDR-REGISTRATION-REQUEST message MUST contain at least one
IA_NA option and exactly one FQDN option. The IA_NA option MUST IA_NA option and exactly one FQDN option. The IA_NA option MUST
contain at least one IA Address option. The valid-lifetime field of contain at least one IA Address option. The valid-lifetime field of
the IA Address option MUST be set to the period for which the client the IA Address option MUST be set to the period for which the client
would like to register the binding in DNS. would like to register the binding in DNS.
After receiving this ADDR-REGISTRATION-REQUEST message, the address After receiving this ADDR-REGISTRATION-REQUEST message, the address
registration server MUST register the binding between the provided registration server MUST register the binding between the provided
FQDN and address(es) in DNS. If the DHCPv6 server does not support FQDN and address(es) in DNS. If the DHCPv6 server does not support
address registration function, a Reply message with includes a Status address registration function, a Reply message with includes a Status
Code option with the value the RegistrationNotSupported (TBA2) MAY be Code option with the value the RegistrationNotSupported (TBA2) MAY be
sent back to the initiated client. sent back to the initiated client.
5.2. Registration expiry and refresh 5.2. Registration Expiry and Refresh
For every successful binding registration, the address registration
server MUST record the IPv6-address-to-FQDN bindings and associated
valid-lifetimes in its storage.
The address registration client MUST refresh the registration before The address registration client MUST refresh the registration before
it expires (i.e. before the valid-lifetime of the IA address elapses) it expires (i.e. before the valid-lifetime of the IA address elapses)
by sending a new ADDR-REGISTRATION-REQUEST to the address by sending a new ADDR-REGISTRATION-REQUEST to the address
registration server. If the address registration server does not registration server. If the address registration server does not
receive such a refresh after the valid-lifetime has passed, it SHOULD receive such a refresh after the valid-lifetime has passed, it SHOULD
remove the IPv6-address-to-FQDN bindings in DNS. remove the IPv6-address-to-FQDN bindings in DNS, also the local
record.
5.3. Acknowledging successful registration 5.3. Acknowledging Registration
After all the addresses have been successfully registered in DNS, the After all the addresses have been successfully registered in DNS, the
address registration server MAY send a Reply message as the response address registration server MUST send a Reply message as the response
to registration requests. The server generates a Reply message and to registration requests. The server generates a Reply message and
includes a Status Code option with value Success, a Server Identifier includes a Status Code option with value Success, a Server Identifier
option with the server's DUID, and a Client Identifier option with option with the server's DUID, and a Client Identifier option with
the client's DUID. For each IA in the ADDR-REGISTRATION-REQUEST the client's DUID.
message for which the server does not succeed in registering, the
server adds an IA option using the IAID from the ADDR-REGISTRATION- For each IA in the ADDR-REGISTRATION-REQUEST message for which the
REQUEST message, and includes a Status Code option with the value server does not succeed in registering, the server adds an IA option
RegistrationDenied (TBA3) in the IA option. No other options are using the IAID from the ADDR-REGISTRATION-REQUEST message, and
included in the IA option. includes a Status Code option with the value RegistrationDenied
(TBA3) in the IA option. No other options are included in the IA
option.
Upon receiving a RegistrationDenied error status code, the client MAY
resend the message following normal retransmission routines defined
in [RFC3315].
6. Security Considerations 6. Security Considerations
An attacker may attempt to register large number of addresses in An attacker may attempt to register large number of addresses in
quick succession in order to overwhelm the address registration quick succession in order to overwhelm the address registration
server. These attacks may be prevented generic DHCPv6 protection by server. These attacks may be prevented generic DHCPv6 protection by
using the AUTH option [RFC3315] or Secure DHCPv6 using the AUTH option [RFC3315] or Secure DHCPv6
[I-D.ietf-dhc-secure-dhcpv6]. [I-D.ietf-dhc-sedhcpv6].
7. IANA Considerations 7. IANA Considerations
This document defines a new DHCPv6 message, the ADDR-REGISTRATION- This document defines a new DHCPv6 message, the ADDR-REGISTRATION-
REQUEST message (TBA1) described in Section 5, that requires an REQUEST message (TBA1) described in Section 4, that requires an
allocation out of the registry defined at allocation out of the registry defined at
http://www.iana.org/assignments/dhcpv6-parameters/ http://www.iana.org/assignments/dhcpv6-parameters/
This document defines two new DHCPv6 Status code, the This document defines two new DHCPv6 Status code, the
RegistrationNotSupported (TBA2) and RegistrationDenied (TBA3) RegistrationNotSupported (TBA2) and RegistrationDenied (TBA3)
described in Section 6, that requires an allocation out of the described in Section 5, that requires an allocation out of the
registry defined at registry defined at
http://www.iana.org/assignments/dhcpv6-parameters/ http://www.iana.org/assignments/dhcpv6-parameters/
8. Acknowledgements 8. Acknowledgements
The authors would like to thank Ralph Droms, Ted Lemon, Bernie Volz, The authors would like to thank Ralph Droms, Ted Lemon, Bernie Volz,
Sten Carlsen, Erik Kline, Lorenzo Colitti, Joel Jaeggli, Sten Sten Carlsen, Erik Kline, Lorenzo Colitti, Joel Jaeggli, Sten
Carlsen, Mark Smith, Marcin Siodelski and other members of dhc and Carlsen, Mark Smith, Marcin Siodelski, Darpan Malhotra, Tomek
v6ops working groups for their valuable comments. Mrugalski and other members of dhc and v6ops working groups for their
valuable comments.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2136] Vixie, P., Thomson, S., Rekhter, Y., and J. Bound,
"Dynamic Updates in the Domain Name System (DNS UPDATE)",
RFC 2136, April 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003. IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003.
[RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
Neighbor Discovery (SEND)", RFC 3971, March 2005.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005. RFC 3972, March 2005.
[RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for [RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for
IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN)
Option", RFC 4704, October 2006. Option", RFC 4704, October 2006.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007. Address Autoconfiguration", RFC 4862, September 2007.
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy
Extensions for Stateless Address Autoconfiguration in Extensions for Stateless Address Autoconfiguration in
IPv6", RFC 4941, September 2007. IPv6", RFC 4941, September 2007.
9.2. Informative References 9.2. Informative References
[I-D.ietf-dhc-secure-dhcpv6] [I-D.ietf-dhc-sedhcpv6]
Jiang, S. and S. Shen, "Secure DHCPv6 Using CGAs", Jiang, S., Shen, S., Zhang, D., and T. Jinmei, "Secure
draft-ietf-dhc-secure-dhcpv6-07 (work in progress), DHCPv6 with Public Key", draft-ietf-dhc-sedhcpv6-03 (work
September 2012. in progress), June 2014.
Authors' Addresses Authors' Addresses
Sheng Jiang Sheng Jiang
Huawei Technologies Co., Ltd Huawei Technologies Co., Ltd
Q14, Huawei Campus Q14, Huawei Campus
No.156 Beiqing Road No.156 Beiqing Road
Hai-Dian District, Beijing 100095 Hai-Dian District, Beijing 100095
P.R. China P.R. China
skipping to change at page 8, line 22 skipping to change at page 8, line 22
Suresh Krishnan Suresh Krishnan
Ericsson Ericsson
8400 Decarie Blvd. 8400 Decarie Blvd.
Town of Mount Royal, QC Town of Mount Royal, QC
Canada Canada
Phone: +1 514 345 7900 x42871 Phone: +1 514 345 7900 x42871
Email: suresh.krishnan@ericsson.com Email: suresh.krishnan@ericsson.com
Rajiv Asati Rajiv Asati
Cisco Systems Cisco Systems, Inc.
7025 Kit Creek road
Research Triangle Park, NC 27709-4987
USA
Email: rajiva@cisco.com Email: rajiva@cisco.com
 End of changes. 29 change blocks. 
68 lines changed or deleted 97 lines changed or added

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