PCP Working Group M. Boucadair Internet-Draft France Telecom Intended status: Standards Track R. Penno Expires: July 27, 2014 D. Wing Cisco January 23, 2014 PCP Description Option draft-ietf-pcp-description-option-03 Abstract This document extends Port Control Protocol (PCP) with the ability to associate a description with a PCP-instantiated mapping. It does so by defining a new DESCRIPTION option. 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]. 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 July 27, 2014. 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 Boucadair, et al. Expires July 27, 2014 [Page 1] Internet-Draft PCP Description Option January 2014 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 6.1. Normative References . . . . . . . . . . . . . . . . . . 5 6.2. Informative References . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 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 so by defining a new DESCRIPTION option. This PCP option can be used in both 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. 2. Format The format of the DESCRIPTION option is shown in Figure 1. Boucadair, et al. Expires July 27, 2014 [Page 2] Internet-Draft PCP Description Option January 2014 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DESCRIPTION | Reserved | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Description | : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This Option: Option Name: Description Option (DESCRIPTION) Number: Purpose: Used to associate a text description with a mapping Valid for Opcodes: MAP, PEER Length: Variable May appear in: request. May appear in response only if it appeared in the associated request. Maximum occurrences: 1 Figure 1: Description Option The Description field MUST carry UTF-8 encoded [RFC3629] description text. The description text MUST NOT be null terminated. 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. 3. Behavior The DESCRIPTION option is optional to be supported by PCP servers and PCP clients. This option (Code TBA, Figure 1) MAY be included in a PCP MAP/PEER request to associate a description with the requested mapping. The PCP server MAY be configurable to accept the DESCRIPTION option. If the PCP server does not support the DESCRIPTION option or it is configured to ignore it, received DESCRIPTION options MUST be ignored by the PCP server and a DESCRIPTION option MUST NOT be included in the response. The PCP server MUST store the content of the DESCRIPTION option only if it supports the DESCRIPTION option and if it is configured to accept handling DESCRIPTION options it receives. Boucadair, et al. Expires July 27, 2014 [Page 3] Internet-Draft PCP Description Option January 2014 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 that Option. If the DESCRIPTION option is not included in the request, the PCP server MUST NOT include the DESCRIPTION option in the associated response. The maximum length SHOULD be configurable in the PCP server. The configured maximum length MUST NOT exceed 1016 octets. The suggested maximum length is 128 octets. If a PCP client includes a DESCRIPTION option with a length exceeding the maximum length supported by the PCP server, only the portion of the Description field fitting that maximum length is stored by the PCP server and returned to the PCP client in the response. If the PCP server receives a DESCRIPTION option having a length which does not exceed the maximum value configured, the PCP server MUST record the complete sequence of the description text and MUST send back to the PCP client the same DESCRIPTION option as the one included in the request. If the description text carried in the DESCRIPTION option is null terminated, the behavior of the PCP server is implementation- specific. The PCP server may decide to discard the option or store and return the exact description text, including Null characters. Invalid DESCRIPTION options (e.g., the content is not a legal UTF-8 string) MUST be ignored by the PCP server. To update the description text of a mapping maintained by a PCP server, the PCP client generates a PCP MAP/PEER renewal request which includes a DESCRIPTION option carrying the new description text. Upon receipt of the PCP request, the PCP server proceeds to the same 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 empty DESCRIPTION option (i.e., Length set to 0) to erase the description text associated with a mapping. Upon receipt of a PCP renewal request which includes an empty DESCRIPTION option, the PCP server MUST clear the description text associated with a mapping it maintains. When sending a successful PCP response, the PCP server MUST return back the empty DESCRIPTION option in the response to confirm the deletion of the description text is successfully handled. Boucadair, et al. Expires July 27, 2014 [Page 4] Internet-Draft PCP Description Option January 2014 4. Security Considerations PCP-related security considerations are discussed in [RFC6887]. In addition, administrators of PCP servers SHOULD configure a maximum description length which 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 SHOULD NOT be used to leak privacy-related information (for example, see Section 3.2 of [RFC6462]). 5. IANA Considerations The following PCP Option Codes are to be allocated in the optional- to-process range (the registry is maintained in http://www.iana.org/ assignments/pcp-parameters/pcp-parameters.xml#option-rules): DESCRIPTION 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., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 2013. 6.2. Informative References [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. Boucadair, et al. Expires July 27, 2014 [Page 5] Internet-Draft PCP Description Option January 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. Expires July 27, 2014 [Page 6]