Re: [v6ops] ULA precedence [Thoughts about wider operational input]

otroan@employees.org Mon, 25 April 2022 13:44 UTC

Return-Path: <otroan@employees.org>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D26003A199E; Mon, 25 Apr 2022 06:44:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 SkwursKypm1j; Mon, 25 Apr 2022 06:44:25 -0700 (PDT)
Received: from clarinet.employees.org (clarinet.employees.org [IPv6:2607:7c80:54:3::74]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2415F3A19C8; Mon, 25 Apr 2022 06:44:24 -0700 (PDT)
Received: from astfgl.hanazo.no (unknown [IPv6:2a02:2121:61f:5173:405f:ceef:a366:6d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by clarinet.employees.org (Postfix) with ESMTPSA id 389684E11AFB; Mon, 25 Apr 2022 13:44:23 +0000 (UTC)
Received: from smtpclient.apple (localhost [IPv6:::1]) by astfgl.hanazo.no (Postfix) with ESMTP id 9ABA8710077F; Mon, 25 Apr 2022 15:44:19 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
From: otroan@employees.org
In-Reply-To: <20220425120517.GG67548@fg-networking.de>
Date: Mon, 25 Apr 2022 15:44:19 +0200
Cc: Lorenzo Colitti <lorenzo@google.com>, v6ops list <v6ops@ietf.org>, 6man WG <ipv6@ietf.org>, Ted Lemon <elemon@apple.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A9F06E6B-AE50-41F0-80F7-48E607D505A3@employees.org>
References: <CAM5+tA8WvjvWirxqE6kQ9LQAG0NcpWyCLGVooB=G7gZ9ETb2zQ@mail.gmail.com> <20220424172743.GA218999@fg-networking.de> <CAKD1Yr1v0Tkh+pWD-ts=PL3gZf7Qj6OHW6Cuvj8iGcSSMibjew@mail.gmail.com> <20220425100310.GF67548@fg-networking.de> <E59D96F5-E20C-401B-BB6F-09A1E14B6A56@employees.org> <20220425120517.GG67548@fg-networking.de>
To: Erik Auerswald <auerswald@fg-networking.de>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/0wdpnYkmZfPN10e90PCQcteuqT0>
Subject: Re: [v6ops] ULA precedence [Thoughts about wider operational input]
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 25 Apr 2022 13:44:33 -0000

Erik,

To summarise my view:

- Regardless of how we tweak the SAS/DAS algorithm, it is going to be trivial to show scenarios where it fails. Solving Ted's (misconfigured) example is likely a game of whack-a-mole.
- If a network is configured to not distribute reachability information between routers I would argue it is misconfigured.
- Host implementations will need to handle SAS/DAS more dynamically. Going as far as trying all combinations. Reachability is after all dynamic.

Cheers,
Ole



> On 25 Apr 2022, at 14:05, Erik Auerswald <auerswald@fg-networking.de> wrote:
> 
> Hi Ole,
> 
> On Mon, Apr 25, 2022 at 12:16:02PM +0200, otroan@employees.org wrote:
>> [...]
>> 
>>> Thus I would rather suggest to consider if making tracking which
>>> gateways advertised which prefixes mandatory would be a better
>>> approach.
>> 
>> The SAS/DAS algorithm must work in arbitrary topologies.
> 
> Let me add important detail from previous emails:
> 
> There was a specific failure scenario presented.  In that scenario,
> following rule 5.5 of RFC 6724 would have prevented the problem.
> To use this rule, prefix advertisement tracking per next hop is
> required.
> 
> https://datatracker.ietf.org/meeting/113/materials/slides-113-6man-source-address-selection-for-foreign-ulas-00
> 
>> A host cannot assume that that it is directly connected to a
>> border router.
> 
> Direct connectivity to a border router that did not know about some
> of the internal topology created the problem.
> 
> To state this differently: the network provided only partial
> connectivity.  One host could use two source addresses when sending
> a packet to another host.  The routers in between the hosts could
> only route back to one of the source addresses, but not the other.
> 
> With no protocol between hosts and routers, the hosts cannot always
> choose the correct source address for such a network, because they
> cannot know which connectivity is broken.
> 
> Choosing local (ULA) source addresses for connectivity to a local
> (ULA) destination seems a sensible choice.
> 
> I concur with Ted Lemon that "automatic behavior should not break
> things."
> 
> It may well be (I do not know that) that some combination of
> automatic behavior and manual configuration resulted in the observed
> problem.  It may be possible to improve automatic behavior or device
> defaults to prevent some problems.  This should not break currently
> functioning use cases, though.
> 
> In the presented scenario, if either "Router" or "CE Router" had
> learned the new ULA prefix via RAs from "ULA Router", connectivity
> would most likely not have been disrupted (either "CE Router" would
> have known how to deliver the packet, or "Router" should have sent
> the packet directly to "Host 1".)
> 
> The scenario is called a "[t]wo subnet home network," thus it
> seems possible that Linux based home routers are used.  The Linux
> IPv6 implementation by default does not accept RAs on interfaces
> that forward IPv6 packets.  Combining routers that do not learn
> reachability information from each other can easily result in only
> partial connectivity.
> 
> [The slides contain the oddity that "Router" does not forward
> packets to one of its directly connected links directly to the host,
> but to "CE Router."  But the ULA problems occur both if "Router"
> does deliver directly to the host for the common subnet and if it
> forwards to "CE Router", because the ULA prefix from "ULA Router"
> is not known by either "CE Router" nor "Router", as far as we know.]
> 
> While I do concur with Ted Lemon that "[n]obody is doing anything
> “wrong” here", I think that some necessary steps have been
> omitted, i.e., guaranteeing full connectivity between all prefixes
> of all the routers.  This may have been caused by those routers
> not learning reachability information from the other routers.
> 
> I do not think that any default automatic behavior can correct any
> possible incomplete network configuration.
> 
>> It cannot assume addresses of equal scope/zone have the same
>> reachability.
> 
> It cannot assume that addresses of different scope/zone have the
> same reachability either.
> 
> It seems more likely that addresses af equal scope/zone allow
> communication than those of different scope/zone.
> 
> The final tie-breaker of matching prefix length (which is not
> guaranteed to succeed anyway) seems to be an attempt to often find
> a deterministic solution instead of choosing randomly.
> 
> [ Example for tie after rule 8:
> 
>  D  = 2001:db8:ffff::1
>  SA = 2001:db8:0001::2
>  SB = 2001:db8:0002::3
> 
>  CommonPrefixLen(SA, D) == CommonPrefixLen(SB, D) == 32 ]
> 
> It seems to be based on the idea of topological addressing, i.e.,
> longer common prefixes suggest smaller topological distance.  This
> idea does not really seem to hold for different /48 ULA prefixes.
> Thus making an exception for ULA to not consider CommonPrefixLen,
> and then adding another rule (this would be number 9) to prefer
> GUA over ULA combined with modifying rule 6 to consider different
> /48 ULA to have different labels, seems plausible.
> 
> But it would break existing IPv6 only networks where only the
> default RFC 6724 policy table is in use and some local hosts
> have only ULA connectivity, but cannot reach any GUA addresses,
> even those of hosts in the same site.  Having hosts that cannot
> directly communicate with GUA addresses, but only ULA addresses,
> seems to be a valid use case.  RFC 6724 supports this currently.
> 
> Kind regards,
> Erik
> -- 
> Dipl.-Inform. Erik Auerswald
> Gesellschaft für Fundamental Generic Networking mbH
> Geschäftsführung: Volker Bauer, Jörg Mayer
> Gerichtsstand: Amtsgericht Kaiserslautern - HRB: 3630