diff options
Diffstat (limited to 'doc/rfc/rfc7291.txt')
-rw-r--r-- | doc/rfc/rfc7291.txt | 619 |
1 files changed, 619 insertions, 0 deletions
diff --git a/doc/rfc/rfc7291.txt b/doc/rfc/rfc7291.txt new file mode 100644 index 0000000..28d0735 --- /dev/null +++ b/doc/rfc/rfc7291.txt @@ -0,0 +1,619 @@ + + + + + + +Internet Engineering Task Force (IETF) M. Boucadair +Request for Comments: 7291 France Telecom +Category: Standards Track R. Penno +ISSN: 2070-1721 D. Wing + Cisco + July 2014 + + + DHCP Options for the Port Control Protocol (PCP) + +Abstract + + This document specifies DHCP (IPv4 and IPv6) options to configure + hosts with Port Control Protocol (PCP) server IP addresses. The use + of DHCPv4 or DHCPv6 depends on the PCP deployment scenarios. The set + of deployment scenarios to which DHCPv4 or DHCPv6 can be applied is + outside the scope of this document. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 5741. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + http://www.rfc-editor.org/info/rfc7291. + +Copyright Notice + + Copyright (c) 2014 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. + + + + + +Boucadair, et al. Standards Track [Page 1] + +RFC 7291 PCP DHCP Options July 2014 + + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 + 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 + 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 + 3. DHCPv6 PCP Server Option . . . . . . . . . . . . . . . . . . 3 + 3.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . 3 + 3.2. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . 4 + 4. DHCPv4 PCP Option . . . . . . . . . . . . . . . . . . . . . . 5 + 4.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 4.2. DHCPv4 Client Behavior . . . . . . . . . . . . . . . . . 6 + 5. DHCP Server Configuration Guidelines . . . . . . . . . . . . 6 + 6. Dual-Stack Hosts . . . . . . . . . . . . . . . . . . . . . . 8 + 7. Hosts with Multiple Interfaces . . . . . . . . . . . . . . . 8 + 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 + 9.1. DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . 8 + 9.2. DHCPv4 Option . . . . . . . . . . . . . . . . . . . . . . 9 + 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 + 11.1. Normative References . . . . . . . . . . . . . . . . . . 9 + 11.2. Informative References . . . . . . . . . . . . . . . . . 10 + +1. Introduction + + This document defines DHCPv4 [RFC2131] and DHCPv6 [RFC3315] options + that can be used to configure hosts with PCP server [RFC6887] IP + addresses. + + This specification assumes a PCP server is reachable with one or + multiple IP addresses. As such, a list of IP addresses can be + returned in the DHCP PCP server option. + + This specification allows returning one or multiple lists of PCP + server IP addresses. This is used as a hint to guide the PCP client + when determining whether to send PCP requests to one or multiple PCP + servers. Concretely, the PCP client needs an indication to decide + whether entries need to be instantiated in all PCP servers (e.g., + multi-homing, multiple PCP-controlled devices providing distinct + services, etc.) or use one IP address from the list (e.g., redundancy + group scenario, proxy-based model, etc.). Refer to [PCP-DEPLOYMENT] + for a discussion on PCP deployment scenarios. + + For guidelines on how a PCP client can use multiple IP addresses and + multiple PCP servers, see [PCP-SERVER]. + + + + + + +Boucadair, et al. Standards Track [Page 2] + +RFC 7291 PCP DHCP Options July 2014 + + +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 RFC 2119 [RFC2119]. + +2. Terminology + + This document makes use of the following terms: + + o "PCP server" denotes a functional element that receives and + processes PCP requests from a PCP client. A PCP server can be + co-located with or be separated from the function (e.g., NAT, + Firewall) it controls. Refer to [RFC6887]. + + o "PCP client" denotes a PCP software instance responsible for + issuing PCP requests to a PCP server. Refer to [RFC6887]. + + o "DHCP" refers to both DHCPv4 [RFC2131] and DHCPv6 [RFC3315]. + + o "DHCP client" denotes a node that initiates requests to obtain + configuration parameters from one or more DHCP servers. + + o "DHCP server" refers to a node that responds to requests from DHCP + clients. + +3. DHCPv6 PCP Server Option + +3.1. Format + + The DHCPv6 PCP server option can be used to configure a list of IPv6 + addresses of a PCP server. + + The format of this option is shown in Figure 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | OPTION_V6_PCP_SERVER | Option-length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + | PCP Server IPv6 Address | + | | + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 1: DHCPv6 PCP Server Option + + + +Boucadair, et al. Standards Track [Page 3] + +RFC 7291 PCP DHCP Options July 2014 + + + The fields of the option shown in Figure 1 are as follows: + + o Option-code: OPTION_V6_PCP_SERVER (86; see Section 9.1) + + o Option-length: Length of the "PCP Server IPv6 Address(es)" field + in octets. MUST be a multiple of 16. + + o PCP Server IPv6 Addresses: Includes one or more IPv6 addresses + [RFC4291] of the PCP server to be used by the PCP client. Note, + IPv4-mapped IPv6 addresses (Section 2.5.5.2 of [RFC4291]) are + allowed to be included in this option. + + To return more than one PCP server to the DHCPv6 client (as opposed + to more than one address for a single PCP server), the DHCPv6 server + returns multiple instances of OPTION_V6_PCP_SERVER. + +3.2. DHCPv6 Client Behavior + + To discover one or more PCP servers, the DHCPv6 client requests PCP + server IP addresses by including OPTION_V6_PCP_SERVER in an Option + Request Option (ORO), as described in Section 22.7 of [RFC3315]. + + The DHCPv6 client MUST be prepared to receive multiple instances of + OPTION_V6_PCP_SERVER; each instance is to be treated as a separate + PCP server. + + If an IPv4-mapped IPv6 address is received in OPTION_V6_PCP_SERVER, + it indicates that the PCP server has the corresponding IPv4 address. + + Note: When presented with the IPv4-mapped prefix, current versions + of Windows and Mac OS generate IPv4 packets but will not send IPv6 + packets [RFC6052]. Representing IPv4 addresses as IPv4-mapped + IPv6 addresses follows the same logic as in Section 5 of + [RFC6887]. + + The DHCPv6 client MUST silently discard multicast and host loopback + addresses [RFC6890] conveyed in OPTION_V6_PCP_SERVER. + + + + + + + + + + + + + + +Boucadair, et al. Standards Track [Page 4] + +RFC 7291 PCP DHCP Options July 2014 + + +4. DHCPv4 PCP Option + +4.1. Format + + The DHCPv4 PCP server option can be used to configure a list of IPv4 + addresses of a PCP server. The format of this option is illustrated + in Figure 2. + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Code | Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | List-Length | List of | + +-+-+-+-+-+-+-+-+ PCP Server | + / IPv4 Addresses / + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + | List-Length | List of | | + +-+-+-+-+-+-+-+-+ PCP Server | | + / IPv4 Addresses / | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + . ... . optional + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | List-Length | List of | | + +-+-+-+-+-+-+-+-+ PCP Server | | + / IPv4 Addresses / | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + + Figure 2: DHCPv4 PCP Server Option + + The descriptions of the fields are as follows: + + o Code: OPTION_V4_PCP_SERVER (158; see Section 9.2); + + o Length: Length of all included data in octets. The minimum length + is 5. + + o List-Length: Length of the "List of PCP Server IPv4 Addresses" + field in octets. MUST be a multiple of 4. + + o List of PCP Server IPv4 Addresses: Contains one or more IPv4 + addresses of the PCP server to be used by the PCP client. The + format of this field is shown in Figure 3. + + + + + + + + + +Boucadair, et al. Standards Track [Page 5] + +RFC 7291 PCP DHCP Options July 2014 + + + 0 8 16 24 32 40 48 + +-----+-----+-----+-----+-----+-----+-- + | a1 | a2 | a3 | a4 | a1 | a2 | ... + +-----+-----+-----+-----+-----+-----+-- + IPv4 Address 1 IPv4 Address 2 ... + + This format assumes that an IPv4 address is encoded as a1.a2.a3.a4. + + Figure 3: Format of the List of PCP Server IPv4 Addresses + + OPTION_V4_PCP_SERVER can include multiple lists of PCP server IPv4 + addresses; each list is treated as a separate PCP server. When + several lists of PCP server IPv4 addresses are to be included, the + + "List-Length" and "List of PCP Server IPv4 Addresses" fields are + repeated. + + OPTION_V4_PCP_SERVER is a concatenation-requiring option. As such, + the mechanism specified in [RFC3396] MUST be used if + OPTION_V4_PCP_SERVER exceeds the maximum DHCPv4 option size of 255 + octets. + +4.2. DHCPv4 Client Behavior + + To discover one or more PCP servers, the DHCPv4 client requests PCP + server IP addresses by including OPTION_V4_PCP_SERVER in a Parameter + Request List option [RFC2132]. + + The DHCPv4 client MUST be prepared to receive multiple lists of PCP + server IPv4 addresses in the same DHCPv4 PCP server option; each list + is to be treated as a separate PCP server. + + The DHCPv4 client MUST silently discard multicast and host loopback + addresses [RFC6890] conveyed in OPTION_V4_PCP_SERVER. + +5. DHCP Server Configuration Guidelines + + DHCP servers supporting the DHCP PCP server option can be configured + with a list of IP addresses of the PCP server(s). If multiple IP + addresses are configured, the DHCP server MUST be explicitly + configured whether all or some of these addresses refer to: + + 1. the same PCP server: the DHCP server returns multiple addresses + in the same instance of the DHCP PCP server option. + + + + + + + +Boucadair, et al. Standards Track [Page 6] + +RFC 7291 PCP DHCP Options July 2014 + + + 2. distinct PCP servers: the DHCP server returns multiple lists of + PCP server IP addresses to the requesting DHCP client (encoded as + multiple OPTION_V6_PCP_SERVERs or in the same + OPTION_V4_PCP_SERVER); each list is referring to a distinct PCP + server. For example, multiple PCP servers may be configured to a + PCP client in some deployment contexts such as multi-homing. It + is out of the scope of this document to enumerate all deployment + scenarios that require multiple PCP servers to be returned. + + Precisely how DHCP servers are configured to separate lists of IP + addresses according to which PCP server they address is out of the + scope of this document. However, DHCP servers MUST NOT combine the + IP addresses of multiple PCP servers and return them to the DHCP + client as if they belong to a single PCP server, and DHCP servers + MUST NOT separate the addresses of a single PCP server and return + them as if they belong to distinct PCP servers. For example, if an + administrator configures the DHCP server by providing a Fully + Qualified Domain Name (FQDN) for a PCP server, even if that FQDN + resolves to multiple addresses, the DHCP server MUST deliver them + within a single server address block. + + DHCPv6 servers that implement this option and that can populate the + option by resolving FQDNs will need a mechanism for indicating + whether to query for A records or only AAAA records. When a query + returns A records, the IP addresses in those records are returned in + the DHCPv6 response as IPv4-mapped IPv6 addresses. + + Discussion: The motivation for this design is to accommodate + deployment cases where an IPv4 connectivity service is provided + while only DHCPv6 is in use (e.g., an IPv4-only PCP server in a + Dual-Stack Lite (DS-Lite) context [RFC6333]). + + Since this option requires support for IPv4-mapped IPv6 addresses, a + DHCPv6 server implementation will not be complete if it does not + query for A records and represent any that are returned as + IPv4-mapped IPv6 addresses in DHCPv6 responses. This behavior is + neither required nor suggested for DHCPv6 options in general: it is + specific to OPTION_V6_PCP_SERVER. The mechanism whereby DHCPv6 + implementations provide this functionality is beyond the scope of + this document. + + For guidelines on providing context-specific configuration + information (e.g., returning a regional-based configuration) and + information on how a DHCP server might be configured with FQDNs that + get resolved on demand, see [DHC-CONFIG]. + + + + + + +Boucadair, et al. Standards Track [Page 7] + +RFC 7291 PCP DHCP Options July 2014 + + +6. Dual-Stack Hosts + + A dual-stack host might receive a PCP server option via both DHCPv4 + and DHCPv6. For guidance on how a DHCP client can handle PCP server + IP lists for the same network but obtained via different mechanisms, + see [PCP-SERVER]. + +7. Hosts with Multiple Interfaces + + A host may have multiple network interfaces (e.g., 3G, IEEE 802.11, + etc.), each configured differently. Each PCP server learned MUST be + associated with the interface via which it was learned. + + Refer to [PCP-SERVER] and Section 8.4 of [RFC6887] for more + discussion on multi-interface considerations. + +8. Security Considerations + + The security considerations in [RFC2131] and [RFC3315] are to be + considered. PCP-related security considerations are discussed in + [RFC6887]. + + The PCP server option defined here is applicable when operating under + the simple threat model (Section 18.1 of [RFC6887]). Operation under + the advanced threat model (Section 18.2 of [RFC6887]) may or may not + be appropriate; analysis of this question is out of the scope of this + document. + +9. IANA Considerations + +9.1. DHCPv6 Option + + IANA has assigned the following new DHCPv6 Option Code in the + registry maintained in + <http://www.iana.org/assignments/dhcpv6-parameters>: + + Option Name Value + -------------------- ----- + OPTION_V6_PCP_SERVER 86 + + + + + + + + + + + + +Boucadair, et al. Standards Track [Page 8] + +RFC 7291 PCP DHCP Options July 2014 + + +9.2. DHCPv4 Option + + IANA has assigned the following new DHCPv4 Option Code in the + registry maintained in + <http://www.iana.org/assignments/bootp-dhcp-parameters>: + + Option Name Tag Data Length Meaning + -------------------- --- ----------- -------------------------------- + OPTION_V4_PCP_SERVER 158 Variable; Includes one or multiple lists + the minimum of PCP server IP addresses; each + length is list is treated as a separate + 5. PCP server. + +10. Acknowledgements + + Many thanks to C. Jacquenet, R. Maglione, D. Thaler, T. Mrugalski, + T. Reddy, S. Cheshire, M. Wasserman, C. Holmberg, A. Farrel, + S. Farrel, B. Haberman, and P. Resnick for their review and comments. + + Special thanks to T. Lemon and B. Volz for their reviews and their + efforts to enhance this specification. + +11. References + +11.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. + + [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor + Extensions", RFC 2132, March 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. + + [RFC3396] Lemon, T. and S. Cheshire, "Encoding Long Options in the + Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396, + November 2002. + + [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing + Architecture", RFC 4291, February 2006. + + + + + + +Boucadair, et al. Standards Track [Page 9] + +RFC 7291 PCP DHCP Options July 2014 + + + [RFC6887] Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P. + Selkirk, "Port Control Protocol (PCP)", RFC 6887, April + 2013. + + [RFC6890] Cotton, M., Vegoda, L., Bonica, R., and B. Haberman, + "Special-Purpose IP Address Registries", BCP 153, RFC + 6890, April 2013. + +11.2. Informative References + + [DHC-CONFIG] + Lemon, T. and T. Mrugalski, "Customizing DHCP + Configuration on the Basis of Network Topology", Work in + Progress, February 2014. + + [PCP-DEPLOYMENT] + Boucadair, M., "Port Control Protocol (PCP) Deployment + Models", Work in Progress, April 2014. + + [PCP-SERVER] + Boucadair, M., Penno, R., Wing, D., Patil, P., and T. + Reddy, "PCP Server Selection", Work in Progress, April + 2014. + + [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. + Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, + October 2010. + + [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- + Stack Lite Broadband Deployments Following IPv4 + Exhaustion", RFC 6333, August 2011. + + + + + + + + + + + + + + + + + + + + +Boucadair, et al. Standards Track [Page 10] + +RFC 7291 PCP DHCP Options July 2014 + + +Authors' Addresses + + Mohamed Boucadair + France Telecom + Rennes 35000 + France + + EMail: mohamed.boucadair@orange.com + + + Reinaldo Penno + Cisco + USA + + EMail: repenno@cisco.com + + + Dan Wing + Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, California 95134 + USA + + EMail: dwing@cisco.com + + + + + + + + + + + + + + + + + + + + + + + + + + + +Boucadair, et al. Standards Track [Page 11] + |