Re: [homenet] sorting out the right ipv6 addr to choose and name in a source specific world

Dave Taht <dave.taht@gmail.com> Fri, 19 December 2014 05:39 UTC

Return-Path: <dave.taht@gmail.com>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A02C1A9063 for <homenet@ietfa.amsl.com>; Thu, 18 Dec 2014 21:39:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] 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 68L1pMgDtzcl for <homenet@ietfa.amsl.com>; Thu, 18 Dec 2014 21:39:42 -0800 (PST)
Received: from mail-ob0-x22b.google.com (mail-ob0-x22b.google.com [IPv6:2607:f8b0:4003:c01::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ED14E1A8F48 for <homenet@ietf.org>; Thu, 18 Dec 2014 21:39:41 -0800 (PST)
Received: by mail-ob0-f171.google.com with SMTP id uz6so11067614obc.2 for <homenet@ietf.org>; Thu, 18 Dec 2014 21:39:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=XKAGUI33y313YSfxBf/VHQ3n5XkB1DgeWTwy3Br5caU=; b=nok81vYBpxG7TF2ZQLq2JZIxa1rL/knQLu/6p8/Xy9cp3d7joe+iJrVl6qcmBn47pl iXnxH8UgZ758jAzooF5o8mKqDJwmGiZu+h+7bbOES65Cn256B7U4a0NjMrk9KtRDCLTd yvzdRrUAPDhWKsWjqRbqHmx223zLIQ94+LAm9KS3tSx6DyXpboXWX+nFg8t1lnbM/D3w wiR52dG8PSdWmtk92eyjwddc6E5R3wOWbs3w9kgvXxHoIhFrk33K46KdRBAp5aiaBNA9 217XyRnCr+WiJ8ENaTis7EKrG1EBV5VCX+5EImge3UTVnQooZmlLoT2oLHlhafIcGQNo o3gw==
MIME-Version: 1.0
X-Received: by 10.182.245.130 with SMTP id xo2mr3751803obc.16.1418967581216; Thu, 18 Dec 2014 21:39:41 -0800 (PST)
Received: by 10.202.169.209 with HTTP; Thu, 18 Dec 2014 21:39:41 -0800 (PST)
In-Reply-To: <54939DA2.60602@gmail.com>
References: <CAA93jw6uY=KY8WeoFn1e65ciyokN=y9SRpaCHewCvWqcBHMhKw@mail.gmail.com> <24024.1418915279@sandelman.ca> <54934FF5.2050108@gmail.com> <87zjakpphc.wl-jch@pps.univ-paris-diderot.fr> <54936F28.9070201@gmail.com> <877fxopfxl.wl-jch@pps.univ-paris-diderot.fr> <54939DA2.60602@gmail.com>
Date: Thu, 18 Dec 2014 21:39:41 -0800
Message-ID: <CAA93jw6R=VbqQDJD2jVR7h4Z2072MeRLr6D8Z9vcxWEuaJ7ueQ@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/homenet/6IFYTYUypJ8Y6QHICyZR88DDTqs
Cc: Michael Richardson <mcr+ietf@sandelman.ca>, HOMENET <homenet@ietf.org>, Matthieu Boutier <boutier@pps.univ-paris-diderot.fr>, Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
Subject: Re: [homenet] sorting out the right ipv6 addr to choose and name in a source specific world
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <homenet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/homenet>, <mailto:homenet-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/homenet/>
List-Post: <mailto:homenet@ietf.org>
List-Help: <mailto:homenet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/homenet>, <mailto:homenet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Dec 2014 05:39:44 -0000

On Thu, Dec 18, 2014 at 7:38 PM, Brian E Carpenter
<brian.e.carpenter@gmail.com> wrote:
> On 19/12/2014 14:49, Juliusz Chroboczek wrote:
>>>> Boutier's version of mosh builds connections across all source/destination
>>>> pairs, and picks the one with lowest RTT.
>>
>>> Sounds interesting. In the ideal world, that would be a pluggable
>>> policy algorithm. Lowest RTT may not always be the best choice.
>>
>> It is, in our particular context.  That's the nice thing about working at
>> the application layer -- you are the application, so you have a pretty
>> good idea of what the desirable properties are.  Mosh is an interactive
>> shell, and in this particular context it's latency you want to optimise
>> for.
>
> Are you sure?

For mosh, which is a very low bandwidth, highly interactive application,
lowest RTT is the right choice.

> Suppose I open a file transfer window (which as a matter
> of fact I do almost every time I use SSH these days). For large file
> transfers
> I might want to specify "cheapest" not "fastest".

I would argue that a transfer over LTE (which is the most expensive option),
would generally exhibit higher RTT over any other method.

lowest financial cost does not have a whole lot of meaning otherwise
along the edge. Highest bandwidth or least congested might be other
selectors...

But: in kicking off this thread, what I was mostly thinking about was
making a choice between 9 or more ipv6 addresses to choose from, what
to start with, and when to give up. (and which ones should end up in
DNS)

It seemed to me that I should longest prefix match, except when other
characteristics of the route interfered. As one example it made sense
to choose a native connection over a tunneled one. As another example,
when there was a vpn in play (with it's own address range) to try to
use the vpn rather than any public addresses that existed. And then
there is a choice to try and prefer stabler addresses (infinite
lifetime) over addresses with shorter lifetimes.

And then, in order to have a better choice of multi-path connectivity,
for an app like mosh or something using mptcp, to chose addresses that
are wildly different. I would argue for an app that wants multiple
forms of connectivity to pick 3-5 addresses total (and for mosh, to
ensure it did ipv4 and ipv6).

I tossed hip in there just to make things difficult, as arguably hip
addresses should only be used when trying to contact another device in
the hip address range ( 2001:10::/28 )

>> Once we gain some real-world experience from mosh, we can think about
>> making something more generic.  But I, at least, don't feel comfortable
>> about doing that.
>
> Understood. But all I'm thinking is that you might make that bit a
> self-contained
> module.

Well, I think I was seeking a new API here. But writing a select or
poll loop for 9 addresses is not much harder than 2.

>
>     Brian



-- 
Dave Täht

thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks