Subject: Re: [pcp] MAP4 vs MAP6 clarification

From: "Dan Wing" <[email-masked]>
Date: Mon, 3 Oct 2011 14:40:03 -0700

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of
> Francis Dupont
> Sent: Thursday, August 11, 2011 6:10 AM
> To: [email-masked]
> Subject: [pcp] MAP4 vs MAP6 clarification
> 
> The base 13 spec is not very clear about the use of
> MAP4 vs MAP6 (and says nothing for PEER4 vs PEER6,
> one can just suppose the same logic applies).
> 
> There are only two places where one can find an
> indication:
>  - section 7 (not normative?) where the choice is
>   done according to client's listeners
>  - section 10.3 (FILTER option) as nearly a side effect.
> 
> IMHO the addresses involved in PCP can be classified into:
>  - source addresses (mainly the client's address in the
>   common header)
> 
>  - internal addresses
> 
>  - external addresses
> 
>  - remote peer addresses
> 
> It seems the current spec uses the last class (remote peer
> addresses) for opcode4 vs opcode6 but:
>  - this is far to be very clear
>  - this information is redundant with the base 13 address
>   encoding (i.e., IPv4 mapped IPv6 addresses)
> So IMHO we have two choices:
>  - merge MAP4 and MAP6 (and PEER4 with PEER6)

Version -14 will combine MAP4 and MAP6 into MAP, and will
combine PEER4 and PEER6 into PEER.  To indicate which sort
of external address is desired, the requested-external-address
field will be all-zeros (indicating IPv6 is desired) or 
::FFFF:0:0 (indicating IPv4 is desired).

>  - attach the opcode version to the remote peer one
>   and make inconsistent requests malformed
> 
> BTW it should be fine to have a table with the IP version
> to use for the 4 classes in function of the kind of device
> controlled by the PCP server, i.e.:
> 
> IPv4 firewall:
>  source, internal, external, remote: v4
> 
> IPv6 firewall:
>  source, internal, external, remote: v6
> 
> DS-Lite plain mode:
>  source: v6
>  internal, external, remote: v4
> 
> DS-Lite encapsulation mode:
>  source, internal, external, remote: v4
> 
> ?NAT64:
>  source, internal: v6
>  external, remote: v4
> 
> ?NAT46:
>  source, internal: v4
>  external, remote: v6
> 
> NAT444 (both home gateway and CGN):
>  source, internal, external, remote: v4

Yes, seems we need to have such a table.  How is this:

   The following table summarizes how various common PCP deployments use
   IPv6 and IPv4 addresses:

                               source  internal  external  remote peer
          IPv4 firewall:        IPv4     IPv4      IPv4       IPv4
          IPv6 firewall:        IPv6     IPv6      IPv6       IPv6
          NAT44:                IPv4     IPv4      IPv4       IPv4
          DS-Lite plain mode:   IPv6     IPv4      IPv4       IPv4
          DS-Lite encap. mode:  IPv4     IPv4      IPv4       IPv4
          NAT64:                IPv6     IPv6      IPv4       IPv6
          NAT46:                IPv4     IPv4      IPv6       IPv4
          NPTv6:                IPv6     IPv6      IPv6       IPv6

               Figure 6: Address Families with MAP and PEER

   The last two seem counter-intuitive, but the PCP client is not
   necessarily aware of the actual IP address of the remote peer -- so
   it expresses the IP address from its perspective (a PCP client using
   NAT64 only knows of IPv6 peers, so it uses IPv6 to represent its
   peer; similarly, a PCP client using NAT46 only knows of IPv4 peers,
   so it uses IPv4 to represent its peer).

-d

> Regards
> 
> [email-masked]
> _______________________________________________
> pcp mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/pcp

---

From: Tina TSOU <[email-masked]>
Date: Tue, 04 Oct 2011 00:58:27 +0000

Dan,
In line...

Best Regards,
Tina TSOU
http://tinatsou.weebly.com/contact.html

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Dan Wing
Sent: Monday, October 03, 2011 2:40 PM
To: 'Francis Dupont'; [email-masked]
Subject: Re: [pcp] MAP4 vs MAP6 clarification

[TT] We need some texts to explain the last two rows, with * notes, maybe.

-d

---

From: "Dan Wing" <[email-masked]>
Date: Mon, 3 Oct 2011 18:12:26 -0700

> [TT] We need some texts to explain the last two rows, with * notes,

NPTv6 is cited earlier in the document as RFC6296.

I will remove NAT46; a table isn't where to discuss it, and I see
we don't have it in the Scope section, either.  NAT46 is also not
common (which was the justification to discuss it in the table).

-d

---

From: Tina TSOU <[email-masked]>
Date: Tue, 04 Oct 2011 01:15:37 +0000

Best Regards,
Tina TSOU

-----Original Message-----
From: Dan Wing [mailto:[email-masked]] 
Sent: Monday, October 03, 2011 6:12 PM
To: Tina TSOU; 'Francis Dupont'; [email-masked]
Subject: RE: [pcp] MAP4 vs MAP6 clarification

I will remove NAT46; a table isn't where to discuss it, and I see
we don't have it in the Scope section, either.  NAT46 is also not
common (which was the justification to discuss it in the table).
[TT] NAT46 is not common, but necessary, think about the story of PNAT. 

-d

---

From: "Dan Wing" <[email-masked]>
Date: Mon, 3 Oct 2011 18:33:54 -0700

> From: Tina TSOU [mailto:[email-masked]]
> Sent: Monday, October 03, 2011 6:16 PM
> To: Dan Wing; 'Francis Dupont'; [email-masked]

I am trying to constrain the scope of PCP so we can finish the
base specification.

How would PCP work in a PNAT environment?  Is the application 
(which "can't" be upgraded to IPv6) going to start speaking PCP
over IPv4, or over IPv6?  The answers are not obvious to me,
and unless there are clear answers I don't see how to close on
this quickly and keep the base PCP specification moving forward.

-d