Re: [v6ops] Happy eyeballs suggestions, was: Re: Apple and IPv6, a few clarifications

Mark Andrews <marka@isc.org> Tue, 23 June 2015 00:06 UTC

Return-Path: <marka@isc.org>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76EA61ACD6E for <v6ops@ietfa.amsl.com>; Mon, 22 Jun 2015 17:06:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.012
X-Spam-Level:
X-Spam-Status: No, score=-5.012 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KreCM0IQfhrR for <v6ops@ietfa.amsl.com>; Mon, 22 Jun 2015 17:06:52 -0700 (PDT)
Received: from mx.ams1.isc.org (mx.ams1.isc.org [199.6.1.65]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 265501ACD59 for <v6ops@ietf.org>; Mon, 22 Jun 2015 17:06:52 -0700 (PDT)
Received: from zmx1.isc.org (zmx1.isc.org [149.20.0.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx.ams1.isc.org (Postfix) with ESMTPS id D5AF81FCB5A; Tue, 23 Jun 2015 00:06:47 +0000 (UTC)
Received: from zmx1.isc.org (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTPS id 9BA21160041; Tue, 23 Jun 2015 00:07:26 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTP id 4D645160076; Tue, 23 Jun 2015 00:07:26 +0000 (UTC)
Received: from zmx1.isc.org ([127.0.0.1]) by localhost (zmx1.isc.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Vk4FH6c7mv5o; Tue, 23 Jun 2015 00:07:26 +0000 (UTC)
Received: from rock.dv.isc.org (c122-106-161-187.carlnfd1.nsw.optusnet.com.au [122.106.161.187]) by zmx1.isc.org (Postfix) with ESMTPSA id C99AA160041; Tue, 23 Jun 2015 00:07:25 +0000 (UTC)
Received: from rock.dv.isc.org (localhost [IPv6:::1]) by rock.dv.isc.org (Postfix) with ESMTP id 93C3C311CC30; Tue, 23 Jun 2015 10:06:43 +1000 (EST)
To: Iljitsch van Beijnum <iljitsch@muada.com>
From: Mark Andrews <marka@isc.org>
References: <E1C235B5-1421-4DAF-A2F3-F963982233DF@apple.com> <90744458-CA06-4347-A96B-D649800855D3@muada.com> <CAKC-DJhQ3kSPtkVHoPxtiUO-CbQkymehDF735nr8Q6=EUdUz0Q@mail.gmail.com> <1068D9DB-4300-473F-B511-880C1E9FB73D@muada.com> <78ABF014-6E93-40B8-8ABC-5BAF8AF96A47@nestlabs.com> <27D48517-5882-4E0A-9288-814D07C607C0@muada.com> <9AFFDD3E-4D15-45CC-A80A-C87A671F0D2E@nestlabs.com> <D3310B7C-C0CD-45D6-9054-CDF08C6E5A58@muada.com> <E58BE586-3637-4724-8480-6817EBBD8A91@nestlabs.com> <6ACE98FF-8609-46B2-BD35-78D413BE6F0E@muada.com>
In-reply-to: Your message of "Tue, 23 Jun 2015 01:31:30 +0200." <6ACE98FF-8609-46B2-BD35-78D413BE6F0E@muada.com>
Date: Tue, 23 Jun 2015 10:06:43 +1000
Message-Id: <20150623000643.93C3C311CC30@rock.dv.isc.org>
Archived-At: <http://mailarchive.ietf.org/arch/msg/v6ops/_Zrk4czsi6mwQpUcFsf0MTQbbYM>
Cc: "v6ops@ietf.org" <v6ops@ietf.org>
Subject: Re: [v6ops] Happy eyeballs suggestions, was: Re: Apple and IPv6, a few clarifications
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Jun 2015 00:06:54 -0000

In message <6ACE98FF-8609-46B2-BD35-78D413BE6F0E@muada.com>om>, Iljitsch van Beijn
um writes:
> On 23 Jun 2015, at 1:18, james woodyatt <jhw@nestlabs.com> wrote:
> 
> >> As such:  I'm 99.9% sure this works the same way for UDP as for 
> ICMPv6; 
> 
> > It does.
> 
> So then why would this be a problem:
> 
> > pass straight through parts of the network with PMTU=1492 without 
> generating errors and therefore never exercising any application layer 
> logic needed to deal with UDP-PMTUD, which is typically not there at all 
> because developers are well, they often dont do it.
> 
> What exactly are you objecting to? That the translated packets are too 
> small to trigger too bigs? That also happens with native IPv6 if the path 
> supports 1500 bytes. So if you want to test for paths with < 1500 PMTUs, 
> you will have to, you know, do the work to test with paths with < 1500 
> PTMUs.
> 
> If your problem is that applications don't handle incoming too bigs, then 
> be glad you're behind a NAT64 because this is indeed a problem with IPv4 
> (but easily solved by simply setting the DF bit to 0!) but it isn't for 
> IPv6, as we just agreed that with IPv6, the IP layer catches too bigs and 
> fragments subsequent packets without involvement from the application.

For named (DNS) we just set IPV6_USE_MIN_MTU=1 for *both* TCP and
UDP.  PMTUD is a problem for TCP as well as UDP (load balancers /
filters).  We also send EDNS UDP requests with various response
sizes in the requests and look at actual response sizes because
there are idiots with firewalls that think dropping fragmented
packets is a good thing to do.

Unfortunately there are stacks that don't consider IPV6_USE_MIN_MTU
when performing MSS negotiation which is really wrong because when
it is set to 1 the MTU *is* 1280.  One really shouldn't have to
spell out the relationship.

[rock:~/git/bind9.drugs] marka% grep srtt /var/named/named_dump.db | grep udpsize | grep :
;	2620:74:19::33 [srtt 379894] [flags 00006000] [edns 10/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 218]
;	2610:a1:1014::78 [srtt 129911] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 444]
;	2001:502:cbe4::33 [srtt 163948] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 218]
;	2001:503:83eb::2:31 [srtt 317999] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 333]
;	2607:f208:302::30 [srtt 126230] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 434]
;	2001:500:2c::254 [srtt 228230] [flags 00006000] [edns 4/0/0/0/0] [plain 0/0] [udpsize 1640] [ttl -116]
;	2001:67c:1010:13::53 [srtt 208027] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 437]
;	2001:500:e::1 [srtt 257600] [flags 00006000] [edns 4/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2a02:1788:0:600::c742:c805 [srtt 155908] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 444]
;	2001:500:71::30 [srtt 204866] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 1652]
;	2001:500:90:1::27 [srtt 122709] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 268]
;	2001:500:7967::2:33 [srtt 120860] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 218]
;	2606:2800:1::5 [srtt 173309] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 270]
;	2400:cb00:2049:1::adf5:3b1f [srtt 115518] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2001:dcd:5::101 [srtt 462281] [flags 00006000] [edns 4/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 428]
;	2600:1401:1::41 [srtt 235626] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 218]
;	2001:500:1b::1 [srtt 434090] [flags 00006000] [edns 3/1/1/1/1] [plain 0/0] [udpsize 512] [ttl 439]
;	2407:6e00:253:306::73 [srtt 73080] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 432]
;	2400:cb00:2049:1::c629:de1f [srtt 116161] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2001:500:94:1::20 [srtt 159376] [flags 00006000] [edns 3/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 268]
;	2001:dce:2000:2::130 [srtt 134191] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 437]
;	2600:1401:2::42 [srtt 176795] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 218]
;	2001:500:48::1 [srtt 180877] [flags 00006000] [edns 4/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2001:a10:121:1::156 [srtt 318167] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 267]
;	2001:500:90:1::20 [srtt 198783] [flags 00006000] [edns 3/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 268]
;	2a01:8840:6::1 [srtt 170706] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 1652]
;	2001:502:ad09::14 [srtt 219604] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 437]
;	2600:1802:4::1 [srtt 174653] [flags 00006000] [edns 4/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 436]
;	2620:0:150:4013::5 [srtt 298185] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 267]
;	2600:1401:2::ad [srtt 180765] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 436]
;	2001:500:94:1::34 [srtt 110366] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 269]
;	2606:2800:1::6 [srtt 116409] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 270]
;	2001:500:90::100 [srtt 215880] [flags 00006000] [edns 8/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 220]
;	2001:500:f::1 [srtt 133137] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2001:503:a83e::2:31 [srtt 262167] [flags 00006000] [edns 18/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 333]
;	2001:dce:7000:2::130 [srtt 363522] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 437]
;	2001:4868:108:1:223:8bff:fea9:dbf8 [srtt 360151] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 260]
;	2001:502:ad09::3 [srtt 217370] [flags 00006000] [edns 2/1/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2001:500:90:1::34 [srtt 118925] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 269]
;	2001:500:b::1 [srtt 146381] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 266]
;	2001:1a68:0:17::238 [srtt 496218] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 267]
;	2001:500:4431::2:30 [srtt 291357] [flags 00006000] [edns 1/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 259]
;	2001:500:60::30 [srtt 187678] [flags 00006000] [edns 2/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 1652]
;	2001:dcd:6::101 [srtt 534725] [flags 00006000] [edns 5/0/0/0/0] [plain 0/0] [udpsize 512] [ttl 428]
[rock:~/git/bind9.drugs] marka% 

> _______________________________________________
> v6ops mailing list
> v6ops@ietf.org
> https://www.ietf.org/mailman/listinfo/v6ops

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka@isc.org