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

🔓Dan Wing <dwing@cisco.com> Wed, 24 June 2015 07:53 UTC

Return-Path: <dwing@cisco.com>
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 611391B3174 for <v6ops@ietfa.amsl.com>; Wed, 24 Jun 2015 00:53:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.211
X-Spam-Level:
X-Spam-Status: No, score=-14.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 YSOjBdwBivuQ for <v6ops@ietfa.amsl.com>; Wed, 24 Jun 2015 00:53:12 -0700 (PDT)
Received: from alln-iport-8.cisco.com (alln-iport-8.cisco.com [173.37.142.95]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C37B1B3175 for <v6ops@ietf.org>; Wed, 24 Jun 2015 00:52:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1647; q=dns/txt; s=iport; t=1435132376; x=1436341976; h=mime-version:subject:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=iqubm691uS9eAIbUbr0owYQhH9THfp0u5iSoxahUeb8=; b=gcFXZNyimYNLhZKVWOImioGX1o5XZRJwG1LEAXw729s18Il3HwxL7Ynt mlZ+2bCmbhhbsnKupCxCaSVdtb7P/ebI8mYpcO5R/CgtjkwOO2q4VpxIt UtrSyjGqqdBM7nKNRJ/xV6OhNehZFa2pPWWOShPx+tcTYD+B845LyoL3v 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0C4CAC1YIpV/4ENJK1bgxBUX4MeukEJgVwKhXgCgUg4FAEBAQEBAQGBCkEDg18BAQQBAiBWEAsYAgImAgIoLwYTiC8NtlGWTwEBAQEBAQEBAQEBAQEBAQEBAQEBAReBIYophFMzB4JoL4EUBYx9hwKEWIQwgkmBfIY5kAAmgj2BXR4xAYJHAQEB
X-IronPort-AV: E=Sophos;i="5.13,671,1427760000"; d="scan'208";a="162279890"
Received: from alln-core-9.cisco.com ([173.36.13.129]) by alln-iport-8.cisco.com with ESMTP; 24 Jun 2015 07:52:55 +0000
Received: from [10.24.206.20] ([10.24.206.20]) by alln-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id t5O7qsDw026090 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 24 Jun 2015 07:52:55 GMT
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: 🔓Dan Wing <dwing@cisco.com>
In-Reply-To: <1116D021-72F6-418A-A430-4A911F05109B@delong.com>
Date: Wed, 24 Jun 2015 00:52:52 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <A87C2C3D-5DFE-486D-B776-A167C2EB658E@cisco.com>
References: <E1C235B5-1421-4DAF-A2F3-F963982233DF@apple.com> <90744458-CA06-4347-A96B-D649800855D3@muada.com> <1DD3B5D4-9F8B-4EE2-BC53-D840E9758FB9@delong.com> <629902C3-6393-42DD-88E2-C72384EE8529@muada.com> <1116D021-72F6-418A-A430-4A911F05109B@delong.com>
To: Owen DeLong <owen@delong.com>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/v6ops/uHB0rjjJZHTz8OSXDM664vnMPpA>
Cc: Vividh Siddha <vsiddha@apple.com>, 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: Wed, 24 Jun 2015 07:53:14 -0000

On 22-Jun-2015 02:53 pm, Owen DeLong <owen@delong.com> wrote:
> 
>> On Jun 22, 2015, at 13:50 , Iljitsch van Beijnum <iljitsch@muada.com> wrote:
>> 
>> On 22 Jun 2015, at 18:49, Owen DeLong <owen@delong.com> wrote:
>> 
>>>> So if you guys currently look at the RTT for the three-way handshake, it would probably help if you could look at the RTT for data packets instead.
>> 
>>> Pretty hard to look at the data RTT when establishing a connection. How do you see that working?
>> 
>> I don't know the details of Apple's (or anyone else's) happy eyeballs implementation. If they set up connections, measure the RTT for the three three-way handshake and then abandon the higher RTT session, or initiate connections in parallel and only pursue the one that connects first, then you're right, this would be a problem. On the other hand, if they do an HTTP request over IPv4 and one over IPv6, then an RTT for data segments would be available.
> 
> The few tcpdump logs I’ve looked at would seem to indicate that most (including Apple’s) HE implementations I’ve encountered do the former rather than the latter. Also as near as I can tell, state isn’t tracked from one connection to the next, each new connect() loop sprays a new set of SYNs and then abandons all but the one it selects.
> 
> YMMV

Best explanation of Apple's implementation is by Josh Graessley, who designed (and I believe also coded) the algorithm, http://lists.apple.com/archives/ipv6-dev/2011/Jul/msg00009.html.  Things have probably improved since 2011.

-d