Subject: [pcp] One question on using the pcp mapping

From: Dong Zhang <[email-masked]>
Date: Fri, 15 Oct 2010 10:56:54 +0800

Hi folks,

PCP's aim is to let NAT allocate an IP address and port to the host who is running a certain application on it. After the allocation, NAT should establish an mapping entry. Generally, this mapping is used for the external host to visit the internal host who has applied the PCP mapping. 
My confusion is at this time, if the internal host initials a session to an external server or host, should the NAT use the PCP mapping to translate the source address and port? Or dynamically create a new mapping by choosing another IP address from the address pool?
Maybe I missed this point discussed in the ml or in the related drafts.

In addition, I wonder why NAT-PMP fail to become a RFC? Is there any reason?

Thanks.

2010-10-15 

Dong Zhang

---

From: Reinaldo Penno <[email-masked]>
Date: Sun, 17 Oct 2010 21:19:03 -0400

On 10/15/10 10:56 AM, "Dong Zhang" <[email-masked]> wrote:

> Hi folks,
> 
> PCP's aim is to let NAT allocate an IP address and port to the host who is
> running a certain application on it. After the allocation, NAT should
> establish an mapping entry. Generally, this mapping is used for the external
> host to visit the internal host who has applied the PCP mapping.
> My confusion is at this time, if the internal host initials a session to an
> external server or host, should the NAT use the PCP mapping to translate the
> source address and port? Or dynamically create a new mapping by choosing
> another IP address from the address pool?

There was some offline discussion on this topic and I asked the same thing
on BEHAVE mailing list some time ago. Others from time to time.

http://www.ietf.org/mail-archive/web/behave/current/msg01020.html

There is _anecdotal_ evidence that some protocols that today use
UPnP/NAT-PMP assume that the external IP address they get from such
protocols will be the same use by outbound connections.

> ________________________________
> Dong Zhang
>

---

From: Dong Zhang <[email-masked]>
Date: Mon, 18 Oct 2010 12:03:17 +0800

Hi Reinaldo,

Thanks for your response.
I agree that NAT can do translation using the PF entry for the new session.
Is there any existing standard defining this behavior explicitly? If none, I think this could become a possible NAT behavior indicated in the related document. Or adding statement and requirment of this behavior in where needed.

Thanks.

>> In addition, I wonder why NAT-PMP fail to become a RFC? Is there any reason?

------------------				 
Dong Zhang
2010-10-18

---

From: "Dan Wing" <[email-masked]>
Date: Mon, 18 Oct 2010 17:11:11 -0700

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of
> Dong Zhang
> Sent: Thursday, October 14, 2010 7:57 PM
> To: pcp
> Subject: [pcp] One question on using the pcp mapping
> 
> Hi folks,
> 
> PCP's aim is to let NAT allocate an IP address and port to the host who
> is running a certain application on it. After the allocation, NAT
> should establish an mapping entry. Generally, this mapping is used for
> the external host to visit the internal host who has applied the PCP
> mapping.
> My confusion is at this time, if the internal host initials a session
> to an external server or host, should the NAT use the PCP mapping to
> translate the source address and port?

If the internal host sends a packet from the same source address and
port as an existing PCP mapping, the NAT will translate it using
the existing PCP mapping.  

This is necessary because that is exactly how a TCP SYNACK (being
sent by that internal host in response to an incoming SYN) is 
handled by the NAT.

> Or dynamically create a new
> mapping by choosing another IP address from the address pool?

My view:  at the time NAT-PMP was published, the IETF was loudly
humming, holding its ears, and closing its eyes while NAT was changing
the landscape of The Internet.

-d