Internet DRAFT - draft-boucadair-dhc-address-name-encoding
draft-boucadair-dhc-address-name-encoding
DHC Working Group M. Boucadair
Internet-Draft France Telecom
Intended status: Standards Track R. Maglione
Expires: June 3, 2013 Telecom Italia
November 30, 2012
Recommendation for Encoding IP Address and FQDN in DHCP Options
draft-boucadair-dhc-address-name-encoding-03
Abstract
This document aims at providing a recommendation for the design of
future DHCP options when both IP Address and FQDN encoding are needed
to be supported. This design reconciles the flexibility requirement
from service providers and the DHC WG recommendation to avoid
defining multiple options conveying similar set of configuration
data.
Status of this Memo
This Internet-Draft is submitted 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 June 3, 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
Boucadair & Maglione Expires June 3, 2013 [Page 1]
Internet-Draft Name DHCP Option November 2012
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3
2. Problem: IP Address or FQDN Dilemma . . . . . . . . . . . . . . 3
2.1. Arguments in Favor of IP Address Option . . . . . . . . . . 4
2.1.1. A Server Can Resolve the FQDN . . . . . . . . . . . . . 4
2.1.2. A Client May Not Embed a DNS Resolver . . . . . . . . . 4
2.2. Arguments in Favor of FQDN Option . . . . . . . . . . . . . 4
2.2.1. FQDN can be Resolved into an IP Address by the
Client . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2. Some Operational Needs . . . . . . . . . . . . . . . . 5
2.2.3. DNS-based Load Balancing . . . . . . . . . . . . . . . 5
3. Recommendation . . . . . . . . . . . . . . . . . . . . . . . . 6
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Normative References . . . . . . . . . . . . . . . . . . . 7
7.2. Informative References . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
Boucadair & Maglione Expires June 3, 2013 [Page 2]
Internet-Draft Name DHCP Option November 2012
1. Introduction
Within this document DHCP is used to denote both DHCPv4 [RFC2131] and
DHCPv6 [RFC3315].
This document sketches a recommendation which aims to reconcile both
what is discussed in Section 7 of [I-D.ietf-dhc-option-guidelines]
and also the requirements of operators in some specific contexts.
The proposed approach adopts a simple encoding which achieves the
following goals:
o A DHCP server can be configured to inject one or multiple FQDNs in
the option.
o A DHCP server can be configured to inject one or multiple IP
addresses in the option
o A DHCP server can be configured to resolve the FQDN and inject the
resolved IP address(es) as IP literals in the option.
o A DHCP server can convey in one single option both IPv4 and IPv6
address literals when serving dual-stack clients.
o A DHCP server can convey a hostname or any name which may be
passed to a name resolution library.
o DHCP clients are expected to pass the conveyed string to any
supported name resolution library (DNS is only a name resolution
service among others).
This document is mainly motivated by the discussions which have been
taken place during the production process of [RFC6334] and recently
within PCP working group. For more details, readers are invited to
check softwire and pcp mailing list archives.
Section 2 provides a reminder of the issue. A recommendation is
proposed in Section 3.
1.1. 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].
2. Problem: IP Address or FQDN Dilemma
The support of both IP Address and FQDN option allows for better
flexibility for service providers which are free to make their own
engineering choices and use the convenient option according to their
deployment context: Return an FQDN or an IP address in DHCP is
deployment-specific.
Boucadair & Maglione Expires June 3, 2013 [Page 3]
Internet-Draft Name DHCP Option November 2012
In the past, no objection was made against defining two options (or
sub-options) to convey an IP Address and a FQDN for the same service.
A non-exhaustive list of these options include: [RFC3361], [RFC3319],
[RFC5678] and [RFC4280]. But recently, there were objections
(relying on [I-D.ietf-dhc-option-guidelines]) against progressing
some specification documents (e.g., [RFC6334]); as such those
specification documents were updated to select only one scheme (IP
Address or a FQDN option) to convey in a DHCP option. That decision
was convenient for providers planning to use a FQDN but was not
appropriate for those planning to use an IP Address.
For both IP Address and FQDN, it is likely a cache to be maintained
by the client. Means to flush out this cache are needed for both
modes.
Criteria to support an IP Address or a FQDN depends on each
deployment context, operational considerations and also whether some
advanced features are supported by the DHCP server or by the host
embedding the client. More discussion is provided in the following
sub-sections.
2.1. Arguments in Favor of IP Address Option
2.1.1. A Server Can Resolve the FQDN
An argument which was advanced in favor of supporting an IP Address
option instead of a FQDN is the server can be configured to resolve
first the configured FQDN and then return the resolved IP Address in
a dedicated option.
This design has the advantage to not require name resolution
capabilities at the client side. Nevertheless, it is not compliant
with some operational modes such as the one discussed in
Section 2.2.2.
2.1.2. A Client May Not Embed a DNS Resolver
Returning an IP address does not require the client to embed a DNS
resolver.
This argument may be objected as implementing a DNS resolver is
claimed to be cheap and devices which don't embed DNS resolver are
uncommon.
2.2. Arguments in Favor of FQDN Option
Boucadair & Maglione Expires June 3, 2013 [Page 4]
Internet-Draft Name DHCP Option November 2012
2.2.1. FQDN can be Resolved into an IP Address by the Client
Because an FQDN can be resolved into one or a list of IP addresses,
this is presented as an argument to encourage defining exclusively a
FQDN option.
This alternative does require the host embedding the client to enable
name resolution capabilities. This argument might be objected as
discussed in Section 2.1.1.
2.2.2. Some Operational Needs
Returning a FQDN option is more convenient in some deployment
contexts. This is motivated by operational considerations such as a
Service Provider considering two levels of redirection:
(1) The first level is national-wise and undertaken by DHCP: a
regional-specific Name will be returned;
(2) The second level is done during the resolution of the regional-
specific Name to redirect the customer to a regional
server/service among a pool deployed regionally.
Distinct operational teams are responsible for each of the above
mentioned levels. A clear separation between the functional
perimeter of each team is a sensitive task for the maintenance of the
offered services.
Regional teams will require to introduce new resources to meet an
increase of customer base. Operations related to the introduction of
these new devices (e.g., addressing, redirection, etc.) are
implemented locally. Having this regional separation provides
flexibility to manage portions of a network operated by dedicated
teams.
This two-levels redirection can not be met by an IP Address option.
2.2.3. DNS-based Load Balancing
Some deployed services relies on DNS to distribute customers among
available service access nodes based on load-related considerations.
FQDN is provisioned to requesting clients. This FQDN is then
resolved into an IP address based on the load of available service
access nodes. This allows for deterministic distribution of
customers among available service access nodes.
The mode described in Section 2.1.1 can be adapted to interface with
a DNS-based load-balancing engine. Nevertheless, doing so would have
Boucadair & Maglione Expires June 3, 2013 [Page 5]
Internet-Draft Name DHCP Option November 2012
some impacts if the node selection is deployed at regional level
(e.g., a cluster of nodes is deployed in a regional PoP without
requiring a central entity to enforce node selection based on the
load of each regional cluster). For such deployment scenario, it
might be more simpler to enforce load-based node selection policies
at the regional level.
Requiring the DHCP server to interface with a DNS-based load
distributing engine may not be acceptable for operators separating
the delivery of (basic) network connectivity from service-related
provisioning.
3. Recommendation
Section 2 identifies the arguments which are advanced in favor of
defining options to convey an IP address while other arguments are
also advanced to motivate the need for defining options to convey
FQDN. These arguments are mainly deployment-specific. To
accommodate the requirements of both the proponents of defining an IP
Address option and FQDN option while considering the issues raised in
[I-D.ietf-dhc-option-guidelines], an encoding recommendation is
proposed in this section.
New DHCP options SHOULD use either an IP-Address or FQDN encoding for
the data. If there is a strong requirement to support both an IP-
Address and FQDN encoding, the option specification MUST use the
encoding specified in this document and MUST provide the rationale to
motivate why either an IP-Address or FQDN encoding is insufficient.
This document defines one single option which is characterized as
follows:
o The option is designed to convey a Name.
o The Name MUST be encoded as UTF-8 string [RFC3629].
o The Name MUST be a string that can be passed to getaddrinfo
(Section 6.1 of [RFC3493]), such as a DNS name, address literals,
etc.
o The Name MUST NOT contain spaces or nulls.
o Multiple Names MAY be included in the same option.
o The Name is length-encoded.
o The DHCP client decoding an option in this format MUST validate
the contents of the option. If the contents are not valid, the
DHCP client MUST silently ignore the option. The DHCP client MUST
NOT attempt to process an invalid option of this type for reasons
of compatibility with non-conforming implementations, or for any
other reason. A Name is considered as valid if:
Boucadair & Maglione Expires June 3, 2013 [Page 6]
Internet-Draft Name DHCP Option November 2012
* It is a legal UTF-8 string which does not contain any spaces
nor nulls.
* It contains IPv4 address in dotted-decimal form (e.g.,
192.0.2.33), textual representation of an IPv6 address (e.g.,
2001:db8::1) [RFC4291] [RFC5952] or a domain name (e.g.,
"myservice.example.com")[RFC2181]. Note:
+ The trailing dot is optional when a domain name is conveyed
in the option.
+ IPv6 addresses MUST NOT be enclosed in brackets.
+ A domain name is structured as one or more labels
concatenated with dots. A label MUST NOT be no more than 63
characters.
o Each validated Name is passed to the name resolution library
(e.g., Section 6.1.1 of [RFC1123] or [RFC6055]) to retrieve the
corresponding IP address(es) (IPv4, IPv6 or both).
[[Discussion Note: Should we restrict this the proposed approach to
DHCPv6?]]
4. IANA Considerations
This document does not require any action from IANA.
5. Security Considerations
This document does not define any architecture nor protocol
extension.
6. Acknowledgements
Many thanks to T. Tsou, Y. Lee, T. Mrugalski, T. Lemon, B. Voltz, B.
Millwood, S. Carlsen, D. Mayer and S. Jacob for their comments.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997.
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
Boucadair & Maglione Expires June 3, 2013 [Page 7]
Internet-Draft Name DHCP Option November 2012
Specification", RFC 2181, July 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, November 2003.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
[RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6
Address Text Representation", RFC 5952, August 2010.
7.2. Informative References
[I-D.ietf-dhc-option-guidelines]
Hankins, D., Mrugalski, T., Siodelski, M., Jiang, S., and
S. Krishnan, "Guidelines for Creating New DHCPv6 Options",
draft-ietf-dhc-option-guidelines-08 (work in progress),
June 2012.
[RFC1123] Braden, R., "Requirements for Internet Hosts - Application
and Support", STD 3, RFC 1123, October 1989.
[RFC3319] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration
Protocol (DHCPv6) Options for Session Initiation Protocol
(SIP) Servers", RFC 3319, July 2003.
[RFC3361] Schulzrinne, H., "Dynamic Host Configuration Protocol
(DHCP-for-IPv4) Option for Session Initiation Protocol
(SIP) Servers", RFC 3361, August 2002.
[RFC3493] Gilligan, R., Thomson, S., Bound, J., McCann, J., and W.
Stevens, "Basic Socket Interface Extensions for IPv6",
RFC 3493, February 2003.
[RFC4280] Chowdhury, K., Yegani, P., and L. Madour, "Dynamic Host
Configuration Protocol (DHCP) Options for Broadcast and
Multicast Control Servers", RFC 4280, November 2005.
[RFC5678] Bajko, G. and S. Das, "Dynamic Host Configuration Protocol
(DHCPv4 and DHCPv6) Options for IEEE 802.21 Mobility
Services (MoS) Discovery", RFC 5678, December 2009.
[RFC6055] Thaler, D., Klensin, J., and S. Cheshire, "IAB Thoughts on
Encodings for Internationalized Domain Names", RFC 6055,
Boucadair & Maglione Expires June 3, 2013 [Page 8]
Internet-Draft Name DHCP Option November 2012
February 2011.
[RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration
Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite",
RFC 6334, August 2011.
Authors' Addresses
Mohamed Boucadair
France Telecom
Rennes, 35000
France
Email: mohamed.boucadair@orange.com
Roberta Maglione
Telecom Italia
Via Reiss Romoli 274
Torino, 10148
Italy
Email: roberta.maglione@telecomitalia.it
Boucadair & Maglione Expires June 3, 2013 [Page 9]