Re: [Snac] Host Requirements for SNAC Use?
Erik Auerswald <auerswal@unix-ag.uni-kl.de> Fri, 25 August 2023 14:58 UTC
Return-Path: <auerswal@unix-ag.uni-kl.de>
X-Original-To: snac@ietfa.amsl.com
Delivered-To: snac@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53796C1522CD for <snac@ietfa.amsl.com>; Fri, 25 Aug 2023 07:58:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v-JU2-KzhPZ6 for <snac@ietfa.amsl.com>; Fri, 25 Aug 2023 07:58:21 -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 E4512C14CE47 for <snac@ietf.org>; Fri, 25 Aug 2023 07:58:20 -0700 (PDT)
Received: from sushi.unix-ag.uni-kl.de (sushi.unix-ag.uni-kl.de [IPv6:2001:638:208:ef34:0:ff:fe00:65]) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id 37PEwOdv091939 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 25 Aug 2023 16:58:25 +0200
Received: from sushi.unix-ag.uni-kl.de (ip6-localhost [IPv6:::1]) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id 37PEwHOO007551 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 25 Aug 2023 16:58:17 +0200
Received: (from auerswal@localhost) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Submit) id 37PEwGcj007549; Fri, 25 Aug 2023 16:58:16 +0200
Date: Fri, 25 Aug 2023 16:58:16 +0200
From: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
To: Esko Dijk <esko.dijk@iotconsultancy.nl>
Cc: SNAC List <snac@ietf.org>
Message-ID: <20230825145816.GB26200@unix-ag.uni-kl.de>
References: <20230820182355.GA4872@unix-ag.uni-kl.de> <DU0P190MB1978ACB9522FD82E21D33619FD1DA@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DU0P190MB1978ACB9522FD82E21D33619FD1DA@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
Author: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
Archived-At: <https://mailarchive.ietf.org/arch/msg/snac/IDvew688_weuF_ePVxfpEJskxv4>
Subject: Re: [Snac] Host Requirements for SNAC Use?
X-BeenThere: snac@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Mailing list for discussing problems relating to the automatic connection of stub networks to existing infrastructure networks. " <snac.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/snac>, <mailto:snac-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/snac/>
List-Post: <mailto:snac@ietf.org>
List-Help: <mailto:snac-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/snac>, <mailto:snac-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Aug 2023 14:58:22 -0000
Hi,
On Thu, Aug 24, 2023 at 11:25:51AM +0000, Esko Dijk wrote:
>
> I can try to respond from my viewpoint. This could help to identify
> the open issues.
>
> > BCP 220 also recommends (but does not require)
> > adherence to RFC 8028 for first-hop router selection.
>
> I don't see how RFC 8028 is relevant here. It has the following
> applicability:
>
> IPv6 host in a network that has more than one prefix, each allocated
> by an upstream network that is assumed to implement BCP 38 [RFC2827]
> ingress filtering
I was looking for existing methods for a host to select the correct
gateway when there are more than one. RFC 8028 is one example.
> [...]
> > RFC 8504 (BCP 220) requires adherence to RFC 4191 which describes
> > three host types called A, B, and C. Only type C hosts can reliably
> > choose the correct gateway.
>
> This part I agree should be clarified in SNAC-simple. I assumed a
> Type C host for sure. And I would consider Type A and Type B to be
> even out of scope if required to keep the solution simple!
I agree.
> One question is: what if a Type A/B host sent an IPv6 packet to the
> ULA dest address of a stub-Host ; and the packet would be routed to
> the default router of the home network? (E.g. home router / Wi-Fi AP /
> ISP box)
> Wouldn't that default router immediately discover that the correct route
> is to send it to the stub router, based on the RA RIO advertisements?
> So the routing is not most efficient then but it works.
I would not expect an existing home router to look at any RAs from
inside the home network, much less to populate its routing table with the
information from those. As such, the home router would either forward
the packet via its default route, or drop it.
> If that is the case, we can still support Type A/B hosts although with
> some degraded performance/latency.
I doubt that to be the case.
I think that a stub router following the new SNAC ideas could learn
routes from RAs received on the AIL, and use these to forward packets
towards the home router or even other stub networks. But as fas as I
know this is not common home router behavior.
This might be nice to avoid breaking Internet connectivity when adding a
stub router to a home network But for reliable connectivity to the stub
network, the host would still need to select the stub router as gateway.
> > If the stub router also uses a low default router preference there
> > is some chance that the host will not use it to reach destinations
> > not on the stub network.
>
> I think we could clarify that the stub router must never ever advertise
> itself as a default router (or advertise a default route ::/0) on the
> AIL. This isn't in the draft yet.
If the stub router sends an RA with a non-zero lifetime, it advertises
itself as a default router. An RFC 4191 type B or C host would evaluate
a default router preference and should thus prefer the home router if
the stub router uses a Low Preference (unless the home router were also
to use a Low Preference), but an RFC 4191 type A host does not evaluate
the Preference.
I would suggest to require a stub router to use a Low Preference in the
RA, but a High Preference for its stub network prefix(es).
> Not sure if that is what you meant here? The existing mentions of
> "default route(r)" in SNAC-simple are pertain to advertising itself
> as default route on the stub network side, not the AIL side, I believe.
>
> > If the host conforms to RFC 6724, and follows RFC 6724 section 5 rule
> > 5.5, and it implements the procedure described in RFC 6724 section
> > 10.6, and the stub router advertises a ULA prefix as on-link on the
> > AIL, and the stub network uses ULAs from the same 48-bit global
> > ULA prefix as advertised by the stub router on the AIL, then the
> > host will use the stub router to reach the stub network, and will
> > not use it to reach other destination. Perhaps this could be added
> > to draft-ietf-snac-simple?
>
> Given the above, even if the host would not follow rule 5.5, it would
> pick another source address, but still that address would be based on
> an IPv6 prefix that is on-link.
I have read RFC 6724 again, and I think I made a mistake. RFC 6724
expects that the first hop gateway is selected via destination address,
and then describes how to optionally choose a better source address for
use with this gateway. This does pertain to RFC 8028, but not to SNAC.
> [...]
> But this Type A/B host problem is there independent of the source
> address selection. Or am I missing something?
I think you are correct.
> Also keep in mind that there are in total 3 possible cases for a given
> stub router:
> 1. Stub router uses its generated ULA prefix to assign a prefix for
> the stub network; and also to assign a prefix for the AIL.
> 2. Stub router uses its generated ULA prefix to assign a prefix for the
> stub network; but another stub-router (there may be N stub routers
> in total, each with a different stub network) has assigned the
> AIL prefix.
> That means the prefixes don't use a shared ULA prefix.
> 3. Stub router uses its generated ULA prefix to assign a prefix for the
> stub network; but another non-stub-router (e.g. home AP) has already
> assigned a prefix for the AIL.
> That means the prefixes don't use a shared ULA prefix.
I would expect independent stub networks to use different 48-bit ULA
prefixes. In general, a single stub network should suffice with using
a single 48-bit ULA prefix, but current implementations may not restrict
themselves to this since it is not seen as necessary.
> So we cannot rely on features that only work well when a single ULA
> prefix is used to derive the AIL on-link prefix and the stub network
> on-link prefix.
I think we cannot rely on many features to be consistently present in
existing home networks.
Currently, SNAC implicitly requires RFC 4191 type C host behavior.
This could be made explicit. I think that would improve the draft.
I do not see a rationale for the requirement of a single ULA prefix in
draft-ietf-snac-simple-02. It seems logical that a stub router would
not need more than one ULA prefix, and one such prefix might be nice.
It might help in troubleshooting. It might help keep RAs sufficiently
small. It might help keeping routing tables small. It might work
together with source address selection to help selecting the stub router
as first hop gateway (but that is not described in RFC 6724, but a rather
different idea). With no explicit reasons for a single ULA prefix, the
requirement could be reduced to a SHOULD or even dropped from the draft.
The current motivation to drop the single ULA prefix requirement seems to
be that an existing stub router implementation does not limit itself to a
single prefix. I find this reasoning quite weak. I wrongly interpreted
RFC 6724 section 5 rule 5.5 to help select a gateway after selecting the
source address, but it works the other way around. Thus I do not have a
strong reason for a single 48-bit ULA prefix any more. I do think that
it would be neat to have just one 48-bit ULA prefix per stub network,
but that is insufficient for a MUST, I'd say.
Best regards,
Erik
--
The computing scientist’s main challenge is not to get confused by
the complexities of his own making.
-- Edsger W. Dijkstra
- [Snac] Host Requirements for SNAC Use? Erik Auerswald
- Re: [Snac] Host Requirements for SNAC Use? Esko Dijk
- Re: [Snac] Host Requirements for SNAC Use? Erik Auerswald
- Re: [Snac] Host Requirements for SNAC Use? Esko Dijk
- Re: [Snac] Host Requirements for SNAC Use? Erik Auerswald
- Re: [Snac] Host Requirements for SNAC Use? Erik Auerswald