Re: [BEHAVE] I-D Action: draft-ietf-behave-nat64-discovery-heuristic-05.txt

<teemu.savolainen@nokia.com> Fri, 27 January 2012 12:42 UTC

Return-Path: <teemu.savolainen@nokia.com>
X-Original-To: behave@ietfa.amsl.com
Delivered-To: behave@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5DA1621F84D1 for <behave@ietfa.amsl.com>; Fri, 27 Jan 2012 04:42:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.182
X-Spam-Level:
X-Spam-Status: No, score=-3.182 tagged_above=-999 required=5 tests=[AWL=0.417, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5TiYEwGBzRBs for <behave@ietfa.amsl.com>; Fri, 27 Jan 2012 04:42:28 -0800 (PST)
Received: from mgw-da01.nokia.com (smtp.nokia.com [147.243.128.24]) by ietfa.amsl.com (Postfix) with ESMTP id DF32221F84CD for <behave@ietf.org>; Fri, 27 Jan 2012 04:42:27 -0800 (PST)
Received: from vaebh106.NOE.Nokia.com (vaebh106.europe.nokia.com [10.160.244.32]) by mgw-da01.nokia.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id q0RCgCsY023723; Fri, 27 Jan 2012 14:42:22 +0200
Received: from smtp.mgd.nokia.com ([65.54.30.26]) by vaebh106.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Fri, 27 Jan 2012 14:42:15 +0200
Received: from 008-AM1MPN1-053.mgdnok.nokia.com ([169.254.3.155]) by 008-AM1MMR1-010.mgdnok.nokia.com ([65.54.30.26]) with mapi id 14.01.0355.003; Fri, 27 Jan 2012 13:42:15 +0100
From: teemu.savolainen@nokia.com
To: cb.list6@gmail.com
Thread-Topic: [BEHAVE] I-D Action: draft-ietf-behave-nat64-discovery-heuristic-05.txt
Thread-Index: AczbpruQwz+Z3pnhRXKe8oNhOKSr7gBANuMAABGJ3GA=
Date: Fri, 27 Jan 2012 12:42:14 +0000
Message-ID: <916CE6CF87173740BC8A2CE443096962042C1ADE@008-AM1MPN1-053.mgdnok.nokia.com>
References: <916CE6CF87173740BC8A2CE443096962042B6DB0@008-AM1MPN1-053.mgdnok.nokia.com> <CAD6AjGTFKUWLiKWyvWHL8O_HTGuHtoisR0LWLpN1cttDERmuNQ@mail.gmail.com>
In-Reply-To: <CAD6AjGTFKUWLiKWyvWHL8O_HTGuHtoisR0LWLpN1cttDERmuNQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-tituslabs-classifications-30: TLPropertyRoot=Nokia; Confidentiality=Nokia Internal Use Only; Project=None;
x-titus-version: 3.3.8.1
x-headerinfofordlp: None
x-tituslabs-classificationhash-30: VgNFIFU9Hx+/nZJb9Kg7IiK+ntKbo4xPTApCTPxRn9XGhbBnmCVqn5Q5Oymo/pQG4Q2g2yALHK/AW/m+afozOvOn+8bMVc7Zy6+hIsveiaLrKfAYg/LFJNlWnUE4EN3n57Q4RlH0BP4Rhl+xCQqcmwrDdSYYDhryESE2ljP2ea67ktvm7IodwFM2P3sU7ezkJIXfmo+4/0EKYPSxpnkfl6yDrOo13tuA6bTs0IOHqvERJQl6zUCSWZmpPZTRS8+VbmmhOXSVSkFWYIkPat7oFRLQa9ZHRYz5ldsv5Q5junY=
x-originating-ip: [10.162.89.107]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginalArrivalTime: 27 Jan 2012 12:42:15.0955 (UTC) FILETIME=[1979E630:01CCDCF1]
X-Nokia-AV: Clean
Cc: behave@ietf.org
Subject: Re: [BEHAVE] I-D Action: draft-ietf-behave-nat64-discovery-heuristic-05.txt
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Jan 2012 12:42:29 -0000

Cameron, 

Thanks again for reviewing the document:)

Replies inline:

> To that end, it is cited in our 464XLAT work
> http://tools.ietf.org/html/draft-mawatari-v6ops-464xlat-00 , and the ideas
> have been included in 464XLAT Android code
> http://code.google.com/p/android-clat/

Very nice:-) 

> 1.  "the information learned enables applications and
>    hosts to perform local IPv6 address synthesis and on dual-stack
>    accesses avoid traversal through NAT64."
> 
> Can we generalize this further?  You say applications and host, but i am
> thinking home gateways as well. Perhaps say "enables software to perform
> local IPv6 address synthesis..." ?  You also use the term "node" in the draft,
> that may be a good fit.

We can, will think for better wording.
 
> 2.  "Furthermore, the host SHOULD cache the replies it
>    receives and honor TTLs."  Which TTL?  The TTL or ipv4only.arpa that is
> used for discovery?  Are you saying the discover of the PREF64 is bounded by
> a TTL?

Can be - the discovered Pref64::/n should remain valid at least for the duration of TTL that was used by network's DNS64 to synthetize the AAAA record. Hence node does not have to repeat discovery until the expiration of timer.

This can be clarified if you are ok with the idea.

(The TTL of ipv4only.arpa is probably longer than of Pref64::/n, and the TTL of Pref64::/n should not be longer than of ipv4only.arpa).

> 3.  The term NAT64 Prefix is used in this draft.  Would it be better to use the
> term Pref64 that is used in RFC 6146 and 6147?  Is NAT64 FQDN in section
> 3.1.1 the same thing?

Good point, the RFC6052 didn't use this (only NSP and WKP), but Pref64::/n is fine.

Similar term for the NAT64 FQDN term probably is not used in these other documents? I.e. other documents do not ask for naming the NAT64, while we do for DNSSEC reasons.

> 4.  Do you see any challenges for validating ULAs as the Pref64 with DNSsec?

Reverse lookup might be difficult, i.e. step 2 of 3.1.2, as there is no centrally managed ULA's yet... But I wonder if you could locally (in your DNS64) catch PTR queries for "ULA".ip6.arpa and return NAT64 FQDN as a response? If so, maybe it would work?

> 5. "The host then does an
>    A query of that hostname, which returns one or more A resource
>    records, which are the IPv4-facing IP addresses of that NAT64."
> What IPv4 address of the NAT64?  

External Internet facing IPv4 address of NAT64, any that is able to respond to ICMP Echo Req.

>RFC 6146 refers to IPv4 transport address,
> which i believe are commonly known as the "NAT pool"... do you mean those
>addresses?  

Well, not if NAT64 drops ICMP echo requests sent to those addresses or if it forwards them to other nodes...

I.e. preferably some other external IPv4 address NAT64 has. 

Please note that this address can be any IPv4 address, for example as of dedicated "ping server". But we thought it might be nice to keep the connectivity test "inside" NAT64 system.

> Also, i dont think any network operators
> wants you (or 30,000,000 cell phones) pinging their NAT box.  There are
> much cheaper boxes to ping.  This text needs to be pulled or completely
> reworked.  I suggest not treating the topic of connectivity checks at all.

After ping they all send data through the NAT box:) But individual devices should not send these ping tests too often - at most when learning Pref64::/n and not again until TTL timeout or reconnect.

But as written, connectivity test is not always required or useful: it may unnecessarily increase latency if done only at the time when user's transport sessions is already starting - in which case it might be wiser just to proceed with transport session and see if it makes through or not. 

Then again in some cases it might be useful, for example in the home gateway scenario you introduced: if the home gateway does not perform connectivity test, it would be synthesizing AAAA records for local hosts using discovered prefix without any knowledge if the prefix discovery was successful... If it was not, clients behind home gateway would be trying connections with broken IPv6 addresses..

So I'm not quite ready to remove the connectivity check, but we can try to fine tune it.

> 6.  3.1.1 #1 is not clear. Please elaborate on what that FQDN is supposed to
> be.

Any Fully Qualified Domain Name, the exact name should not matter much. E.g. "nat64.example.com". 

> 7.  Perhaps a state diagram for how DNSSEC validation works with
> PREF64 would help.

The numbered lists on 3.1.1 and 3.1.2 try to show it already.. and the DNSSEC procedures should be described in DNSSEC specifications. Hence I'm not sure I understand what diagram would you like to see?

Best regards,

	Teemu