Subject: Re: [BEHAVE] Comments on draft-huang-pnat-host-ipv6-01.txt

From: Hui Deng <[email-masked]>
Date: Wed, 22 Jul 2009 00:34:06 +0800

Hi, Dave,

Thanks for your comments, I will get back to you each comment tomorrow,
it is already quite late in my side,

Regards,

-Hui

2009/7/21 Dave Thaler <[email-masked]>:
> Attached is a marked-up copy with my detailed comments.
>
>
>
> Some high-level points:
>
>
>
> 1) This document describes a combination of a couple of things, basically
>
> Bump-in-the-API plus an IPv6/IPv4 translator, so it does NAT464
>
> when talking from an IPv4-only-app to the IPv4 internet.  It talks
>
> about doing this due to having an IPv6-only network in the middle,
>
> but then says that the IPv6 network assigns a public or private IPv4
>
> address, which I don’t follow.  Does the IPv6 network route IPv4 or not?
>
>
>
> 2) It uses an LIR prefix for “mapped” addresses (i.e. IPv6 addresses
>
> for IPv4 nodes), and a WKP for “translatable”/”translated” addresses
>
> (i.e., IPv6 addresses assigned to IPv6 nodes).  This is orthogonal to
>
> Its use of stateful vs stateless translation, and it doesn’t really
>
> justify why it uses LIR vs WKP for each type of address.
>
>
>
> 3) The address formats use 0-padding (so the universal bit is 0)
>
> when the last 32-bits contain a private IPv4 address, and 1-padding
>
> (so the universal bit is 1) when the last 32-bits contain a public
>
> IPv4 address.  I believe this meets the universal/local requirement
>
> in RFC 4291, so this use is good.
>
>
>
> -Dave

---

From: Dave Thaler <[email-masked]>
Date: Tue, 21 Jul 2009 01:22:48 +0000

Some high-level points:

address, which I don't follow.  Does the IPv6 network route IPv4 or not?

2) It uses an LIR prefix for "mapped" addresses (i.e. IPv6 addresses
for IPv4 nodes), and a WKP for "translatable"/"translated" addresses
(i.e., IPv6 addresses assigned to IPv6 nodes).  This is orthogonal to
Its use of stateful vs stateless translation, and it doesn't really
justify why it uses LIR vs WKP for each type of address.

-Dave

---

From: Hui Deng <[email-masked]>
Date: Fri, 24 Jul 2009 00:38:13 +0800

Hi, Dave,

I figure out the time to go through the comments.
Appreciate your revision of our draft, and will present your major
discussion point during next Monday.

reply inline for high level points, reply your comment in the bottom.
> address, which I don’t follow.  Does the IPv6 network route IPv4 or not?
==> In the mobile communication, GGSN assign either IPv6 or IPv4
address to tthe mobile host by PDP context, it doesn't require whether
it should be routable or not. Here the answer is IPv6 network doesn't
route IPv4.

> justify why it uses LIR vs WKP for each type of address.
==> Agree for orthogonal part, WKP doesn't equal to stateless.
for justifying LIR vs WKP,
1) WKP is convenient for destination address which save inside mapping table
2) LIR could be routable for returning packet from PNAT64.

> in RFC 4291, so this use is good.
==> Thanks

As for comment from PDF. reply below:
Comment [DT1]: Whether the prefix is WKP or LIR is orthogonal to
whether the mapping is stateful or stateless. A “WKP” is not an
alternative to “stateful”. Stateless translation is an alternative to
stateful, regardless of whether it uses a WKP or a network-specific
prefix.
==>  I agree that WKP is not equal to stateless, but for our PNAT44 case,
we don't need keep state inside our host.

Comment [DT2]: What does this mean?
==> RFC 3493 doesn't specify in detail about end host to end host
translation procedure.

Comment [DT3]: Then they aren’t IPv6-only networks. Usually the term
“IPv6-only network” means the host gets NO IPv4 address.
==> In mobile communication, GGSN could assign IPv4 address, but it
still IPv6-only network,
but you made a point theoretically.

Comment [DT4]: Whether the DNS server address is IPv4 vs IPv6 is
orthogonal to whether the host will resolve IPv4 or IPv6 addresses.
You can get AAAA records from an IPv4-only DNS server, and you can get
A records from an IPv6-only DNS server.
==> Yes, I agree with your point, this is why we draw our figure about
DNS4/6 both supporting AAAA/A records.

Comment [DT5]: Does it route IPv4? If not, why would it allocate an
IPv4 address?
==> it doesn't route IPv4, it's not unusual case in mobile
communiation, GGSN could assign
any address to the mobile host by PDP context. and it make a benefit
for supporting conventional IPv4 application.

***Comment [DT6]: DNS isn’t the only name resolution protocol used by hosts.
==> are you saying that there are other protocol, or you talk about
P2P, SIP and offline get IP address.
We should add some descritpion about when there are other way to get
IP address, thanks.

Comment [DT7]: The current framework document assumes that DNS queries
go to a DNS64 if sent over an IPv6-only network. Is there a reason to
change this assumption?
==> Good comment, because we already did DNS46 inside the host,
we don't really need DNS6/4, but go directly either DNS6 or DNS4.

Comment [DT8]: Whether the prefix is WKP or LIR is orthogonal to
whether the mapping is stateful or stateless. A “WKP” is not an
alternative to “stateful”.
==> Agree, reply same as the Comment 1.

Comment [DT9]: What does it mean to use a prefix as an address?
==> This is a mistake here, fixed in the next version.

***Comment [DT10]: Earlier the doc said the network is IPv6-only. What
if the network can’t given an IPv4 private address?
==> If the network is IPv6-only, it could generate a random IPv4
address, if network don't give an IPv4 private address, we will add a
description in this case, thanks, but normally since network is
operator's
designed, so it may not be a big issue.

Comment [DT11]: That’s not how DNS works, unless you’re proposing to
change DNS. DNS sends all queries (AAAA, A, whatever) to the same
server.
==> Let's not change DNS, we will send A/AAAA to both DNS6 and DNS4
server, thanks, fixed.

Comment [DT12]: Meaning A and AAA queries?
==> Yes, fixed

Comment [DT13]: Huh? Why? The host should be sending it to the IPv6
address of the DNS6 server. What is there to translate?
==> This fixed by adding "if this query is sent to DNSv4 server", if
it is sent to DNS v4 query, then PNAT64
need translate it, but if it is sent to the DNSv6, then it doesn't
need any translation.

Comment [DT14]: I don’t understand the DNS model you’re assuming.
==> Basically, we asssume both DNSv4 and DNSv6 server is needed to be supported.
the host would better send both A/AAAA query to both DNS server. it
maybe more efficient.

Comment [DT15]: If DNS only returned AAAA records, how does it decide
what IPv4 addresses to return?
==> If it is AAAA records, then PNAT act as the same as BIA which have
to maintain a mapping table
to support PNAT46 communications. we plan to add detail descrition for
PNAT46 in the future version.

Comment [DT16]: This doesn’t match section 4 point (11), which has the
IPv4 addr in the last 32 bits, after all 0’s or all 1’s (which does
adhere meet the universal/local requirement in RFC4291).
==> Good catch, we updated based on your suggestion, thanks.

Comment [DT17]: Whether the prefix is WKP or LIR is orthogonal to
whether the mapping is stateful or stateless. A “WKP” is not an
alternative to “stateful”.
==> Reply same as the Comment 1

Comment [DT18]: Applications don’t process DNS responses themselves.
The sockets layer does, and gives the applications the addresses
returned.
==>  You are right, here is header translation, it will send DNS based
to the socket layer, and
the socket layer will send back to the application.

thanks again for your insight review,
Best regards,

-Hui