Re: A common problem with SLAAC in "renumbering" scenarios

Fernando Gont <fgont@si6networks.com> Wed, 20 February 2019 04:22 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 9AACA130F40; Tue, 19 Feb 2019 20:22:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, 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 hwyOa84618F2; Tue, 19 Feb 2019 20:22:42 -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 2BC4412E036; Tue, 19 Feb 2019 20:22:42 -0800 (PST)
Received: from [192.168.3.66] (unknown [186.137.76.21]) (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 B910E849F7; Wed, 20 Feb 2019 05:22:37 +0100 (CET)
Subject: Re: A common problem with SLAAC in "renumbering" scenarios
To: Jen Linkova <furry13@gmail.com>
Cc: Mikael Abrahamsson <swmike@swm.pp.se>, IPv6 Operations <v6ops@ietf.org>, "6man@ietf.org" <6man@ietf.org>
References: <60fabe4b-fd76-4b35-08d3-09adce43dd71@si6networks.com> <alpine.DEB.2.20.1901311236320.5601@uplift.swm.pp.se> <35adea8e-704a-76f2-857f-a83a9ad689ef@si6networks.com> <CAFU7BAS1_veTu-ZXAF0MF4niJwz149nGipx3ep_6fh1bewOzgg@mail.gmail.com> <d9503983-6524-a13a-2cb0-cdcb95f76ea6@si6networks.com> <CAFU7BAQfg712UfgW9wi9pd3eVeZP9cqJEXd6=FDmchuSdauv+g@mail.gmail.com>
From: Fernando Gont <fgont@si6networks.com>
Openpgp: preference=signencrypt
Autocrypt: addr=fgont@si6networks.com; prefer-encrypt=mutual; keydata= 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 wPI9brGzquUHy4qRrA==
Message-ID: <82c00442-bbc4-581b-2054-2d02d50d20ad@si6networks.com>
Date: Wed, 20 Feb 2019 00:59:37 -0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0
MIME-Version: 1.0
In-Reply-To: <CAFU7BAQfg712UfgW9wi9pd3eVeZP9cqJEXd6=FDmchuSdauv+g@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/jeLdLVPCBW1g4TcTQ7OUITYQdb4>
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: Wed, 20 Feb 2019 04:22:47 -0000

On 19/2/19 04:56, Jen Linkova wrote:
> On Tue, Feb 19, 2019 at 10:41 AM Fernando Gont <fgont@si6networks.com> wrote:
>>> I might be biased here indeed but I think that using the "most
>>> recently updated" (however we define that) address would be the
>>> simpler solution than
>>> deprecating the whole prefix (and both solution requires hosts to keep
>>> the PIO <> advertising router mapping).
>>
>> Say the Stale prefix is 2001:Db8:1::/64, for which you configured
>> 2001:db8:1::1.
>>
>> Say that Prefix(2001:Db8:1::/64) has now become stale, and a new prefix
>> 2001:db8:2::/64 is being announced, for which you have 2001:db8:2::1.
>>
>> Say you now need to send packets to 2001:db8:1::/64.
>>
>> You will use the new addresses (from 2001:db8:2::/64), but will send the
>> packets assuming nodes are "on-link", instead of sending them to the
>> default router.
> 
> True. I'm not convinced that this use case is worth solving by
> introducing the complexity (and impact on other scenarios)  the draft
> is suggesting

Could you elaborate on what's the complexity you are referring to and
what's the impact on other scenarios?  Having multiples addresses from
multiples prefixes is complex.



> What I'm not a big fun of is assuming that absence of evidence is
> actually evidence of absence. When a router stops advertising a prefix
> it does not necessary mean
> that hosts shall stop using the addresses.

This is not the way the proposed algorithm work.

I'd agree with you that if you stopped receiving RAs, *that* wouldn't
necessarily warrant a prompt reaction.

However, the proposed algorithm reacts to *RAs from the same router*
(i.e. the router *is alive*) that do carry PIOs, but they happen to
advertise PIOs for different prefixes.

Once you receive four RAs with PIOs from the same router, all of them
including PIOs, but failing to advertise the stale prefix, you remove
the addresses.



> It does indeed in the
> scenario the draft describes but the host can not know the
> topology/scenario.
> The proposed host changes would solve  one particular case (DHCPv6-PD
> router crash/reboot) while multiprefix/multihomed networks.
> 
> Lets say there are two routers (R1 and R2) on the LAN.
> R1 advertised 2001:db8:1::/64 and 2001:db8:3::/64
> R2 advertised 2001:db8::2::/64 and 2001:db8:3::/64.
> 
> Hosts have addresses from 3 prefixes.
> Now R2 stops advertising 2001:db8:3::/64.
> 
> There is no reason for hosts to deprecate addresses in 2001:db8:3::/64.
> What's going to happen is every time an RA from R1 is received, hosts
> would get preferred addresses in 2001:db8:3::/64 and every RA from R2
> would deprecate them.

That's not correct. It takes two consecutive RAs for the prefixe to be
unpreferred. And another two consecutive RAs for the prefix to be
removed. In the scenario you describe, R1 would keep advertising the
prefix, and hence it would never be unpreferred or removed.

There's room for improvement and clarification, though: one may clarify
that. You might think of this problem as havinf a reference count on the
prefix. If there's only one router associated with the prefix, un-prefer
and remove the prefix. Otherwise, just dis-associate the prefix with
this particular router.




> I do believe that the default preferred lifetime is a bit longer that
> it should be (and I have to tweak it all the time). So maybe we shall
> change that.

Same applies to the Valid Lifetime. In the context of RFC8028 it doesn't
make sense for the Valid Lifetime of a prefix to span past the Router
Lifetime of a router.



>> Similarly, if you have multiple interfaces, Rule 5 might override your
>> rule 8.
> 
> Sorry, I must be very slow today. Could you please elaborate on this
> scenario?  I'm having difficulties figuring it out..

Example:

Say you have two network interfaces: If1 and If2.
Say If1, is configured with 2001:db8:1::/64, and If2 with 2001:db8:2::/64

Say the first default router is that associated with If1.

Say prefix 2001:db8:1::/64 stops being announced, or that you stop
receiving RAs on If1, but RAs on If2 keep arriving fine.

Based on the logic of your algorithm, one would expect that a new
connection uses 2001:db8:2::/64/If2 (since that's the "more recently
advertised information). However, Rule #5 would override that and make
you employ 2001:db8:1::/64/If1, since Rule #5 prioritizes addresses on
the outgoing interface.

So as long as you have stale routes, in many cases that will override
any other rules for address selection. -- i.e., if your new rule for
RFC6724 comes after rule 5, you better get rid of stale routes, or
otherwise they will override you well-intended rule.



> The draft is talking about deprecating prefixes on *another*
> interface? I hope not..

Certainly not.



> Actually I've just realized that I could not find any clear definition
> of what 'the same router' means. The same address installed as
> 'next-hop'?
> The same combination of IPv6 address and L2 address?

My mental model (as long as this algorithm is concerned) is that the
router is uniquely identified by the (link-local) IPv6 address (the
combination of IPv6 and L2 would work, too, but it seems unnecessary).

We'll spell it out in the next rev.

Thanks!

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