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

Erik Auerswald <auerswald@fg-networking.de> Mon, 25 April 2022 12:05 UTC

Return-Path: <auerswald@fg-networking.de>
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 4DCE73A1826; Mon, 25 Apr 2022 05:05:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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 Fv4YyCLTlzJa; Mon, 25 Apr 2022 05:05:44 -0700 (PDT)
Received: from mailgw1.uni-kl.de (mailgw1.uni-kl.de [IPv6:2001:638:208:120::220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2871C3A1824; Mon, 25 Apr 2022 05:05:42 -0700 (PDT)
Received: from mail.fg-networking.de (mail.fg-networking.de [131.246.197.23]) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id 23PC5OBk010397 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 25 Apr 2022 14:05:24 +0200
Received: from login.fg-networking.de (login.fg-networking.de [IPv6:2001:638:208:cd01::41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.fg-networking.de (Postfix) with ESMTPS id AA1822009B; Mon, 25 Apr 2022 14:05:17 +0200 (CEST)
Received: by login.fg-networking.de (Postfix, from userid 11002) id 99DCE155; Mon, 25 Apr 2022 14:05:17 +0200 (CEST)
Date: Mon, 25 Apr 2022 14:05:17 +0200
From: Erik Auerswald <auerswald@fg-networking.de>
To: otroan@employees.org
Cc: Lorenzo Colitti <lorenzo@google.com>, v6ops list <v6ops@ietf.org>, 6man WG <ipv6@ietf.org>, Ted Lemon <elemon@apple.com>
Message-ID: <20220425120517.GG67548@fg-networking.de>
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>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <E59D96F5-E20C-401B-BB6F-09A1E14B6A56@employees.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/v_yg7Jah_4knsDSB-QZg65jwvK4>
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 12:05:49 -0000

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