Re: rfc4941bis: Invalid addresses used by ongoing sessions

Fernando Gont <fgont@si6networks.com> Tue, 11 February 2020 05:35 UTC

Return-Path: <fgont@si6networks.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DED61120041 for <ipv6@ietfa.amsl.com>; Mon, 10 Feb 2020 21:35:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 liWmIMQZeYPm for <ipv6@ietfa.amsl.com>; Mon, 10 Feb 2020 21:35:29 -0800 (PST)
Received: from fgont.go6lab.si (fgont.go6lab.si [91.239.96.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 25F8012006B for <6man@ietf.org>; Mon, 10 Feb 2020 21:35:29 -0800 (PST)
Received: from [192.168.1.29] (host138.200-117-192.telecom.net.ar [200.117.192.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by fgont.go6lab.si (Postfix) with ESMTPSA id 4C79286B57; Tue, 11 Feb 2020 06:35:20 +0100 (CET)
Subject: Re: rfc4941bis: Invalid addresses used by ongoing sessions
To: Mark Smith <markzzzsmith@gmail.com>
Cc: 6MAN <6man@ietf.org>
References: <c6ba9a00-cb44-2022-5009-34211966518c@si6networks.com> <CAO42Z2wq0YA_5twXJ2yqVqBWM4_sZ9eBGqAJQgJH2PV1uKaANg@mail.gmail.com>
From: Fernando Gont <fgont@si6networks.com>
Message-ID: <b95d61c2-573a-de73-c0e6-06378c75d9a2@si6networks.com>
Date: Tue, 11 Feb 2020 02:24:51 -0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <CAO42Z2wq0YA_5twXJ2yqVqBWM4_sZ9eBGqAJQgJH2PV1uKaANg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/MlCbH_gf3rtSzsFaNt64VaQIs28>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Feb 2020 05:35:32 -0000

On 10/2/20 17:25, Mark Smith wrote:
> 
> 
> On Tue, 11 Feb 2020, 03:12 Fernando Gont, <fgont@si6networks.com 
> <mailto:fgont@si6networks.com>> wrote:
> 
>     Folks,
> 
>     As currently specified, temporary addresses are removed when they become
>     invalid (i.e., the Valid Lifetime expires).
> 
>     Section 6 ("6.  Future Work") of the draft
>     (https://tools.ietf.org/id/draft-ietf-6man-rfc4941bis-06.txt) still
>     keeps the following text from RFC4941.
> 
>     6.  Future Work
> 
>         An implementation might want to keep track of which addresses are
>         being used by upper layers so as to be able to remove a deprecated
>         temporary address from internal data structures once no upper layer
>         protocols are using it (but not before).  This is in contrast to
>         current approaches where addresses are removed from an interface
>     when
>         they become invalid [RFC4862], independent of whether or not upper
>         layer protocols are still using them.  For TCP connections, such
>         information is available in control blocks.  For UDP-based
>         applications, it may be the case that only the applications have
>         knowledge about what addresses are actually in use. 
>     Consequently, an
>         implementation generally will need to use heuristics in deciding
>     when
>         an address is no longer in use.
> 
> 
>     I wonder if this text should be:
> 
>     1) moved more into the body of the document and made a "MAY" (which for
>     TCP is very straightforward),
> 
>     2) Be left "as is", or,
> 
>     3) Removed from the document
> 
> 
> I generally like the idea, however I think it should be removed at this 
> stage because of the ambiguity problem.
> 
> Just because an address has been used by TCP doesn't mean it isn't 
> currently or can't in the near future also be used by UDP (or DCCP or 
> SCTP). Current source address selection doesn't take into account the 
> transport layer protocol.

Note: this is simply an "heuristic"/hack to prevent long-lived 
connections from being torn down. i.e., by default,, they would be torn 
down when the address becomes invalid. This "hack" would avoid such 
scenarios.



> If the temporary address mechanism eventually evolved to the point where 
> there were "TCP only" and "UDP only" (and DCCP, SCTP) pools of temporary 
> addresses, then this would be possible to reliably implement.

If you don't implement this (which is the status quo), then when the 
address becomes invalid, any long-live TCP sessions using this address 
will be torn down. With this hack, that wouldn't happen. Connectionless 
protocols would remain unaffected.  -- just a clarification, so that 
we're on the same page.

Thanks!

Cheers,
-- 
Fernando Gont
SI6 Networks
e-mail: fgont@si6networks.com
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492