PCP Working Group | M. Boucadair |
Internet-Draft | France Telecom |
Intended status: Standards Track | R. Penno |
Expires: January 31, 2014 | D. Wing |
Cisco | |
July 30, 2013 |
PCP Description Option
draft-ietf-pcp-description-option-02
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.
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].
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 January 31, 2014.
Copyright (c) 2013 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.
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.
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DESCRIPTION | Reserved | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Description | : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This Option: Option Name: Description Option (DESCRIPTION) Number: <to be assigned in the optional-to-process range> 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
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.
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.
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 exact description text, including Null characters, MUST be returned by the PCP server.
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.
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]).
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):
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC6887] | Wing, D., Cheshire, S., Boucadair, M., Penno, R. and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 2013. |
[RFC3629] | Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. |
[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. |
[RFC6462] | Cooper, A., "Report from the Internet Privacy Workshop", RFC 6462, January 2012. |