Re: [v6ops] draft-ietf-v6ops-host-addr-availability WGLC

Mikael Abrahamsson <swmike@swm.pp.se> Sat, 26 September 2015 04:48 UTC

Return-Path: <swmike@swm.pp.se>
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 9FC891AD49F for <v6ops@ietfa.amsl.com>; Fri, 25 Sep 2015 21:48:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.661
X-Spam-Level:
X-Spam-Status: No, score=-1.661 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_SE=0.35, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 r2KQkCOEnO00 for <v6ops@ietfa.amsl.com>; Fri, 25 Sep 2015 21:48:11 -0700 (PDT)
Received: from uplift.swm.pp.se (ipv6.swm.pp.se [IPv6:2a00:801::f]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 624651AD49B for <v6ops@ietf.org>; Fri, 25 Sep 2015 21:48:11 -0700 (PDT)
Received: by uplift.swm.pp.se (Postfix, from userid 501) id 34560A1; Sat, 26 Sep 2015 06:48:09 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=swm.pp.se; s=mail; t=1443242889; bh=ZZwzzVwjS36j00wB04rOWQ9Ea1lkN6IU046DEtO0Rvw=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=itN819TWPhb65si0zbewbBhmka+kUK2YhhGCkryu30fXSq6dnL9LiRikjUrxyAQfA rfdy3G9uC+FMy7PKnTPNDDjYmpltFn+Ii8P2UsIReLbetQybj/8rFuFri/GjOSgMqk oo0X392Y69kcPNwz599uVtbU3NEu3IvTsP/SyMBs=
Received: from localhost (localhost [127.0.0.1]) by uplift.swm.pp.se (Postfix) with ESMTP id 26FFC9F; Sat, 26 Sep 2015 06:48:09 +0200 (CEST)
Date: Sat, 26 Sep 2015 06:48:09 +0200
From: Mikael Abrahamsson <swmike@swm.pp.se>
To: Joe Touch <touch@isi.edu>
In-Reply-To: <01AC2F6C-AE38-4C8E-BCBB-BFDF60246332@isi.edu>
Message-ID: <alpine.DEB.2.02.1509260642380.8750@uplift.swm.pp.se>
References: <201509201800.t8KI02hV014499@irp-lnx1.cisco.com> <CAO42Z2yN+S9R3B2FhwsSCOC3goRAmtNWP74_SxtNdip3xqcd+Q@mail.gmail.com> <alpine.DEB.2.02.1509221102220.8750@uplift.swm.pp.se> <CAO42Z2zDu02jUOLfoNe_emXOxrOMqS0EY944jacit5TpP68Qbg@mail.gmail.com> <alpine.DEB.2.02.1509221519550.8750@uplift.swm.pp.se> <CAO42Z2y_XsHoV+R1=3rk8fstFDXrckAMH5_Z8brqwJy0Y-eoDQ@mail.gmail.com> <alpine.DEB.2.02.1509240639030.8750@uplift.swm.pp.se> <CAKD1Yr13N6UXPDxAzom+PrqjqnGC4uGw9Y-hd3ugHFc1ohQxXw@mail.gmail.com> <alpine.DEB.2.02.1509240754180.8750@uplift.swm.pp.se> <56045E1F.1050306@isi.edu> <alpine.DEB.2.02.1509250713030.8750@uplift.swm.pp.se> <CAKD1Yr3+U+rZ7EGD4rwdaco+zVbuE83xoz5O7gq3c1wLW1Gt=A@mail.gmail.com> <alpine.DEB.2.02.1509250833290.8750@uplift.swm.pp.se> <56058455.20905@isi.edu> <alpine.DEB.2.02.1509251942410.8750@uplift.swm.pp.se> <56059257.2050305@isi.edu> <alpine.DEB.2.02.1509260605160.8750@uplift.swm.pp.se> <01AC2F6C-AE38-4C8E-BCBB-BFDF60246332@isi.edu>
User-Agent: Alpine 2.02 (DEB 1266 2009-07-14)
Organization: People's Front Against WWW
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
Archived-At: <http://mailarchive.ietf.org/arch/msg/v6ops/pXP87AxGEpzSMd6u1tB_4AMgwu0>
Cc: v6ops list <v6ops@ietf.org>
Subject: Re: [v6ops] draft-ietf-v6ops-host-addr-availability WGLC
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: Sat, 26 Sep 2015 04:48:12 -0000

On Fri, 25 Sep 2015, Joe Touch wrote:

> In TCP...

TCP doesn't live in a vacuum with nothing around it.

> Keepalives are needed only if you care if the app is idle. If you do, it's the only way to KNOW things are down.

No, it's not. If your only world is TCP it might be the only way, but 
that's not the world we live in. In the real world there are IP addresses 
that are bound to interfaces that go down, so that TCP could be told that 
the IP address used isn't valid anymore.

> Why do you care? It depends on the app whether and why you do.

Because right now we have a substandard user experience because this isn't 
being handled.

> The TSV explored interface signals several times - trigtran was one - 
> and concluded there were too many cases where they won't work to be 
> useful.. The fact that one interface is down for a time is almost never 
> useful information unless the app must make progression its 
> communication.  Idle app + down interface is rarely a useful event to 
> act on - routing being the primary counterexample. That's where 
> keepalives come in and why.

Ok, let me give you a concrete example:

Let's say I run ssh. I have a terminal window. I have a 3GPP USB dongle. I 
have ssh terminal session up to a server. 3GPP dongle interface goes down.

Now, I know for a fact that when it comes up again, it'll have a different 
IP address. So this TCP session that TCP is running over is just useless.

Why do I have to go to a different terminal window to kill the ssh 
process, because it's now stuck waiting for input (even if I press enter 
in the session it won't die, even after the 3GPP dongle interface comes 
back up again). This process is just stuck for at least minutes or hours.

And no, I don't want to run keepalives because that takes a lot of 
battery.

I can't understand why you seriously seem to believe that the best 
solution here is for the individual application developers to insert a lot 
of code in each application to handle this, when it would instead fix all 
applications to do it in the operating system or connection manager.

-- 
Mikael Abrahamsson    email: swmike@swm.pp.se