summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7291.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7291.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7291.txt')
-rw-r--r--doc/rfc/rfc7291.txt619
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]
+