Subject: Re: [pcp] About how to achieve the Options for PCP as PCP clients?

From: Dan Wing <[email-masked]>
Date: Sat, 12 Apr 2014 08:07:48 -0700

On Apr 10, 2014, at 1:52 AM, Zhangzhan (Channy) <[email-masked]> wrote:

> If CPE as the PCP client, to achieve the Options, how to identify?
> 
> For example, THIRD_PARTY, what scene this option will be used? How the Third Party Equipment interact with the CPE and CPE can use the option? Any example or network topology?
> 
> For example, FILTER, internal hosts can communication with CPE using the UPnP protocol for open some service port, then CPE as the PCP client can send PCP MAP to get mapping, but CPE how to realize the FILTER option? I think CPE is unable to know what remote address or port can be allowed to access internal hosts. Instead of, the application layer software of internal hosts is more suitable to achieve it.

Yes, application software above PCP sets FILTER.  But that is true of most everything else with PCP -- PCP is expected to be run by an application calling into a PCP library.  But the connections arrive at the end host, so no need for a separate 'controller' and no need for THIRD_PARTY.  The end host has enough information to set the FILTER; the IP address in that packet (that arrived at the end host) is unchanged in that direction through the subscriber's NAPT.  For example, a TCP SYN that arrives at a NAS inside someone's home has the IP source address and TCP source port, and NAS could use that IP address and TCP port to set the PCP FILTER.  If FILTER wants to be set by the host prior to receiving the first packet, a rendezvous protocol is necessary to learn the remote host's IP address prior to the remote host sends a packet (e.g., H.323, SIP, or dozens and dozens of other rendezvous protocols).

-d