Internet Engineering Task Force (IETF) M. Boucadair Request for Comments: 7220 France Telecom Category: Standards Track R. Penno ISSN: 2070-1721 D. Wing Cisco May 2014 Description Option for the Port Control Protocol (PCP) Abstract This document extends the Port Control Protocol (PCP) with the ability to associate a description with a PCP-instantiated mapping. It does this by defining a new DESCRIPTION option. 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/rfc7220. 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 7220 PCP Description Option May 2014 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 6.1. Normative References . . . . . . . . . . . . . . . . . . 5 6.2. Informative References . . . . . . . . . . . . . . . . . 6 1. Introduction This document extends the base PCP [RFC6887] with the ability to associate a human-readable description with a PCP-instantiated mapping. It does this by defining a new DESCRIPTION option. This PCP option can be used in simple scenarios with a PCP client and PCP server, as well as in more complex scenarios where an interworking function is used to proxy between a UPnP IGD Control Point and a PCP server [RFC6970]. Querying the PCP server to get the description text of an existing mapping is out of scope. 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]. Boucadair, et al. Standards Track [Page 2] RFC 7220 PCP Description Option May 2014 2. Format The format of the DESCRIPTION option is shown in Figure 1. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Option Code=128| Reserved | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Description | : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This Option: Option Name: DESCRIPTION Number: 128 Purpose: Used to associate a text description with a mapping Valid for Opcodes: MAP, PEER Length: Variable, maximum 1016 octets. May appear in: request. May appear in response only if it appeared in the associated request. Maximum occurrences: 1 Figure 1: DESCRIPTION Option The 'Reserved' field is initialized as specified in Section 7.3 of [RFC6887]. The Description field MUST carry UTF-8 encoded [RFC3629] description text. The description text MUST NOT be null terminated. The length of the description text is indicated by the Length field. In particular, the description text is not null terminated, and when a client or server receives a DESCRIPTION option, it MUST NOT rely on the presence of a NUL character in the wire format data to identify the end of the text. This option can be used by a user (or an application) to indicate a description associated with a given mapping, such as "FTP server", "My remote access to my CP router", "Camera", "Network attached storage serve", etc. Boucadair, et al. Standards Track [Page 3] RFC 7220 PCP Description Option May 2014 How the content of the DESCRIPTION option is used is deployment- specific. For example, the description text can be used by the entity managing the PCP server for many purposes, such as the following: o The description text can be used as a hint when cleaning a mapping table by an administrator. o In some deployments making use of a portal to instruct PCP mappings (e.g., Section 5.2 of [PCP-DEPLOY]), the description text can be used to store a subscriber identifier. 3. Behavior Support for the DESCRIPTION option by PCP servers and PCP clients is optional. This option (Code 128; see Figure 1) MAY be included in a PCP MAP/PEER request to associate a description with the requested mapping. A PCP server MAY ignore the DESCRIPTION option sent to it by a PCP client (e.g., if it does not support the option or if it is configured to ignore it). To signal that it has not accepted the option, a PCP server simply does not include the DESCRIPTION option in the response. If the PCP client does not receive a DESCRIPTION option in a response to a request enclosing a DESCRIPTION option, this means the PCP server does not support the option or it is configured to ignore it. If the DESCRIPTION option is not included in the PCP client request, the PCP server MUST NOT include the DESCRIPTION option in the associated response. A PCP server SHOULD be able to store at least 128 bytes for a description. When the PCP server receives a DESCRIPTION option, it first stores the value of the received Description field, truncating it if it cannot store the entire value. The server MUST then send the stored value back to the PCP client in the DESCRIPTION option in the response. If the PCP client request contains invalid DESCRIPTION options (e.g., the content is not a legal UTF-8 string), the PCP server MUST ignore the request (i.e., MUST NOT return a DESCRIPTION option in the response). To update the description text of a mapping maintained by a PCP server, the PCP client generates a PCP MAP/PEER renewal request that includes a DESCRIPTION option carrying the new description text. Upon receipt of the PCP request, the PCP server proceeds to the same Boucadair, et al. Standards Track [Page 4] RFC 7220 PCP Description Option May 2014 operations to validate a MAP/PEER request refreshing an existing mapping. If validation checks are successfully passed, the PCP server replaces the old description text with the new one included in the DESCRIPTION option, and the PCP server returns the updated description text in the response, truncated (if necessary) as described above. The PCP client uses an empty DESCRIPTION option (i.e., Length set to 0) to erase the description text associated with a mapping. To indicate that the PCP server has successfully cleared the description text associated with a mapping, the PCP server returns the empty DESCRIPTION option in the response. 4. Security Considerations PCP-related security considerations are discussed in [RFC6887]. In addition, administrators of PCP servers SHOULD configure a maximum description length that does not lead to exhausting storage resources in the PCP server. If the PCP client and the PCP server are not under the same administrative entity, the DESCRIPTION option has the potential to leak privacy-related information. PCP clients should not use the DESCRIPTION option for such leakage. For example, the option should not be used to include user identifiers, locations, or names. Refer to Section 3.2 of [RFC6462] for a discussion on information leakage. 5. IANA Considerations IANA has allocated the following value in the "PCP Options" registry (http://www.iana.org/assignments/pcp-parameters) from the optional- to-process range (see Section 19.4 of [RFC6887]): DESCRIPTION set to 128 (see Section 2) 6. References 6.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [RFC6887] Wing, D., Ed., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 2013. Boucadair, et al. Standards Track [Page 5] RFC 7220 PCP Description Option May 2014 6.2. Informative References [PCP-DEPLOY] Boucadair, M., "Port Control Protocol (PCP) Deployment Models", Work in Progress, April 2014. [RFC6462] Cooper, A., "Report from the Internet Privacy Workshop", RFC 6462, January 2012. [RFC6970] Boucadair, M., Penno, R., and D. Wing, "Universal Plug and Play (UPnP) Internet Gateway Device - Port Control Protocol Interworking Function (IGD-PCP IWF)", RFC 6970, July 2013. 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 6]