IETF News

New Technology Demo: PCP

By: Christian Jacquenet, Tina Tsou, Xiaohong Deng

Date: October 6, 2011

line break image

The Port Control Protocol demo staff (Photo credit: Yannick Grandmont/Internet Society)

Several organizations collaborated to carry out the Port Control Protocol (PCP) demonstrations during the IETF Quebec City meeting. PCP is a simple, flexible, lightweight protocol that is being designed by the IETF to address some of the issues raised by the forthcoming IPv6 transition period where access to some legacy IPv4 content requires the control of firewall or network address translator capabilities for the dynamic allocation of transport-layer port numbers.

The demonstration was inspired by the IETF mantra of “rough consensus and running code” to expose IETF technologies to real operator requirements and scenarios, and to develop the technology innovation and provide feedback to the IETF community.
illustration depicting port control protocol

Figure 1: Functional Picture

One demonstration consisted of a Universal Plug-n-Play (UPnP) to PCP interworking function (http://data- tracker.ietf.org/doc/draft-bpw-pcp-upnp-igd-interworking) that has been implemented in a Customer Premises Equipment (CPE) device provided by France Telecom Orange while the PCP server was implemented in Huawei’s NE40E router that also supports Dual-Stack Lite (DS-Lite) and Carrier Grade NAT (CGN) capabilities.

The Internet Gateway Device (IGD) machinery is used between computer and UPnP/IGD to request the allocation of a port number to the CPE so that a pinhole can be created accordingly to allow access to the content requested by the terminal from the Internet. The demo has proven the capability of PCP after only a few months of IETF specification effort. This demo provided the first experimental implementation of draft-ietf-pcp-base-12 and draft-bpw-pcp-upnp-igd-interworking-02. It was a pioneering effort and helped to inspire thought and discussion leading to a better deployment of this technology.

The first demonstration scenario comprised two computers, both with BitTorrent file-sharing software installed and both connected to two different CPEs, so that the terminals could display in real time the difference between BitTorrent clients with and without UPnP-PCP interworking functions supported for file-exchange purposes. The BitTorrent software of one computer either randomly selects a port number or uses the port number specified by the user to listen on. The computer then uses UPnP/IGD to interact with the CPE. With a pinhole assigned by the CGN, access to the BitTorrent client from the Internet is made possible. Compared to a second computer without a pinhole assigned on the CGN, the first BitTorrent client often had a faster download speed because when clients can be accessed remotely they are able to see more peers, thereby improving file- sharing performance.
illustration depicting pcp demo topology

Figure 2: Demo Topology Picture

In the second demonstration scenario, the CPE requested several sets of noncontiguous ports (utilizing draft-tsou-pcp-natcoord-03 and draft-zhou-softwire-b4-nat-02). Upon receipt of the corresponding PCP request sent by the client, the PCP server requested the CGN to assign port forwarding and to bypass NAT on the requested port ranges. The NAT function was performed on the CPE from this point forward, thus reducing the NAT processing requirement on the CGN router.

two people talking in front of laptop

Xiaohong Deng, France Telecom (left), talks Port Control Protocol with Tobias Gondrom.

In the third scenario, users were given the ability to form the PCP request from a specific web portal—this reflects a context in which the customer is offered the capability to explicitly request the port number(s) needed to ensure that their content, maintained in their premises, can be accessed from the Internet. Once the port number request has been fulfilled, the PCP Client embedded in the CPE then forwards the corresponding PCP Request message to the PCP server. Different options within the PCP packet can be set dynamically.

A further demonstration, provided by China Telecom, showcased Light- weight 4over6 (http://tools.ietf.org/html/draft-cui-softwire-b4-translated-ds-lite-01). This is an IPv4/IPv6 transitional solution developed by China Telecom, which uses the PCP protocol to dynamically allocate port-restricted addresses to subscribers. Through this approach, users in the demo room can simultaneously access IPv4 and IPv6 services over an IPv6-only access network. In order to reduce the volume of state that must be maintained in the network, the Lightweight 4over6 approach maintains the NAT capabilities on the client. The core network need only maintain per-subscriber state instead of per-session state, thus the workload of the core network can be reduced significantly.

port control protocol staff posing for portrait

Port Control Protocol demo staff John Wang (left) and Susan Hares (right), Huawei Technologies Canada.

Internet Systems Consortium demonstrated a PCP server controlling a software-based DS-Lite CGN running on a commodity Linux netbook. An OpenWrt-based CPE provided the UPnP-IGD and NAT-PMP Inter- working Functions.

An unmodified BitTorrent client was used to demonstrate the interworking function, while a modified BitTorrent client demonstrated an application- based PCP client communicating directly with the PCP server to request port mappings.

The PCP-enabled BitTorrent client was also used to perform basic interoperability testing with the Huawei PCP server, the first time such interoperability testing has been attempted.

Demonstration team personnel included:

France Telecom Orange: Christian Jacquenet, Xiaohong Deng, Mohamed Boucadair, Gu Daqing, Wang Lan
Huawei Technologies Canada: Susan Hares, Tina Tsou, Thomas Zhang, Cathy Zhou, John Wang, Victor Marin, Bill Weng, David Gao, Gary Jan
ISC: Francis Dupont, Paul Selkirk
China Telecom: Chongfeng Xie, Qiong Sun