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]