Re: [Tsv-art] Tsvart early review of draft-ietf-idr-bgp-car-05

"Brian Trammell (IETF)" <ietf@trammell.ch> Wed, 17 January 2024 08:43 UTC

Return-Path: <ietf@trammell.ch>
X-Original-To: tsv-art@ietfa.amsl.com
Delivered-To: tsv-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 314D6C14F697 for <tsv-art@ietfa.amsl.com>; Wed, 17 Jan 2024 00:43:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=trammell.ch
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 R8US09d_-ced for <tsv-art@ietfa.amsl.com>; Wed, 17 Jan 2024 00:43:10 -0800 (PST)
Received: from smtp-bc0d.mail.infomaniak.ch (smtp-bc0d.mail.infomaniak.ch [IPv6:2001:1600:3:17::bc0d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 31B93C14F5F3 for <tsv-art@ietf.org>; Wed, 17 Jan 2024 00:43:09 -0800 (PST)
Received: from smtp-4-0001.mail.infomaniak.ch (unknown [10.7.10.108]) by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4TFKCG50xyzMr0Cw; Wed, 17 Jan 2024 08:43:06 +0000 (UTC)
Received: from unknown by smtp-4-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4TFKCG2GVtz78g; Wed, 17 Jan 2024 09:43:06 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=trammell.ch; s=20191114; t=1705480986; bh=YC93zdST9iCxV2neJGS0tA7XXZvbS6WiHEH7mqalF6M=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=u2Vugrftu47eAh5F5sRCC53jmzBwO+g1YDW3mIu9UsEQbANnlkzQK1rQ5tzcbqac0 ALmwi3Yje7FF6MCQPFtc5rFJNPSs1rBGh53Uvckn/Xi6wyfpos+sDsDI0fmUlZDA5c MXKF2wSaFUIihD+mSH952JQw3v1wIpSdcCm57NWU=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.300.61.1.2\))
From: "Brian Trammell (IETF)" <ietf@trammell.ch>
In-Reply-To: <DM6PR08MB48579467108BC89DE0901BA9B3722@DM6PR08MB4857.namprd08.prod.outlook.com>
Date: Wed, 17 Jan 2024 09:42:55 +0100
Cc: "tsv-art@ietf.org" <tsv-art@ietf.org>, "draft-ietf-idr-bgp-car.all@ietf.org" <draft-ietf-idr-bgp-car.all@ietf.org>, "idr@ietf.org" <idr@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <C18CC0A0-D2E6-4D06-9393-3329AF07102E@trammell.ch>
References: <170539329098.25883.11062658925031540635@ietfa.amsl.com> <DM6PR08MB48579467108BC89DE0901BA9B3722@DM6PR08MB4857.namprd08.prod.outlook.com>
To: Susan Hares <shares@ndzh.com>
X-Mailer: Apple Mail (2.3774.300.61.1.2)
X-Infomaniak-Routing: alpha
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/muIDnIHuUVCGpITWYq4KiC9yQXQ>
Subject: Re: [Tsv-art] Tsvart early review of draft-ietf-idr-bgp-car-05
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jan 2024 08:43:15 -0000

hi Sue,

switching inline as per tradition :)

> On 17 Jan 2024, at 01:24, Susan Hares <shares@ndzh.com> wrote:
> 
> Brian:  Thank you for your careful review on the architecture.   What is necessary for transport to understand is the attempt for the network to provide a “smarter” traffic forwarding through the network based on Intent.  
> What we needed was tips from Transport Review was:


Something might have gone missing in this request, because I received the document as a “please look at this document and say whether it’s good for transport”. So thanks for following up with these questions!

>     • Whether the document was clear  -

I followed the technical details to the limits of my routing ability, so no worries there. My only clarity comment is that the framing of the doc doesn’t make it clear up front that it specifies the mechanism for color-aware routing, leaving the policy either as future work for IDR or out-of-scope as an operational concern. Some language to make this more clear up front and in Section 11, especially, would be appreciated.

>     • What it might want or expect from a “smarter” (intent) network. 

I’m not sure I can represent the opinions of the *entire* transport area accurately here, because there is a Variety Of Opinion in this space ;) Indeed, it might make sense to turn this into a thread in tsvarea@ and-or panrg@. 

There’s recent work on path properties from PANRG that might be of some use here: [RFC 9473](https://datatracker.ietf.org/doc/rfc9473/). This vocabulary was built for a superset of the architectural assumptions made in SR, so it might be of some use.

Personal opinion: I see those 32 bits in the color field and I automatically think of it as a bit field, with most of the bits reserved for intradomain use, and a small number of the bits defined to encode “high level” layer-4/layer-7-relevant preferences.

You’ll get different opinions from different transport folks, but I’ve always been partial to one bit signaling loss-latency-tradeoff. This has been referred to LoLa: draft-fossati-tsvwg-lola attempted to map this onto DSCP and mobile services, draft-trammell-plus-spec and related work specifies this as the L flag in the PLUS header. Equivalent patterns show up in a lot of domains in compute and networking, because they occupy a sweet spot in the tradeoff space between simplicity and capability. 

You could have additional bits for reordering-tolerance and jitter-tolerance, but you don’t need many in the “standard” space. Most of the bits can be used for operator-specific mappings, or larger emergent community applications centered around an IXP.

(My earlier comment about just parsing the color as RGBA was a joke… but if we did specify at most three bits, those bits *could* map to RGB, and and establish a shorthand, e.g. referring to “red” (Rgb) or “cyan” (rGB) paths. This might actually be worth considering as not-a-joke.)

>  I appreciate your comments on where the document is unclear.  As the shepherd, I will work with the authors to refine the document.
>  If you have any comments on what transport might want or expected from a “smarter” (intent) network flow.
>  Below I provide you with a few comments that may help other TSV reviewers.
>  Sue Hares ========
> A few comments  Your comments on, O (N**2) mapping for Color domains where a color domain is limited by configuration.  The color domain can be limited by configuration as:
>     • an IGP domains within a single AS, or
>     • a group of ASes.
>  The color mappings may map via configuration (Color blue in AS-1 = Color green AS-2 = low delay) [Per sections 2.5 and 2.8].  Or the color mappings may use an Extended BGP community (LCM) (section 2.10)
>  This proposal suggests the following two variant of routes 
>     • Color + NLRI + optional TLVs
>     • NLRI + BGP communities
>  Attaching BGP communities (normal, extended, large, and wide) is not new. The mechanisms for handling color aware routing are.  Color aware routing attempts to group traffic entering networks by Intent.   The “head end” routers steer traffic into forwarding paths.  The traffic can either be “user traffic” (service traffic) or transport pathway (groups of service traffic).   

Okay, so could this proposal be seen as a way to replace community-based hacks with color as a first-order feature of the routing control plane?

>  Spring has been working on a draft to set requirements [draft-hr-spring-intentaware-routing-using color], but discussion abounds.

Thanks for the pointer (it was, I think, referenced in the document) — I’ll have a look.

>  Just for your reference, RFC9315 (IRTF) provides some background on Intent Routing.   Let me go through 3 terms from RFC9315 in case this might help you refine some of your comments.
>     • Intent routing – is a high level operational goal of traffic forwarding – at the level of network services to pass “Transport” level traffic [
>     • Policy Routing – defines specific polices within routing or forwarding.  
>     • Service model – is a high level data model

Thanks!

Cheers,

Brian

>   From: Brian Trammell via Datatracker <noreply@ietf.org>
> Sent: Tuesday, January 16, 2024 3:22 AM
> To: tsv-art@ietf.org
> Cc: draft-ietf-idr-bgp-car.all@ietf.org; idr@ietf.org
> Subject: Tsvart early review of draft-ietf-idr-bgp-car-05
>   Reviewer: Brian Trammell
> Review result: On the Right Track
>  tl;dr: okay for TSV, because it's orthogonal to transport concerns as long as
> the colors aren't defined, or assumed to be definable across domains. I have
> concerns about the document's scope, though, or rather how it's framed. See
> inside for details.
>  Note: I've reviewed this document with two hats:
>  - as TSVART reviewer looking specifically for issues in the interaction between
> the routing architecture and layer 4. - as someone interested in path-aware
> networking evaluating CAR + SR as a related technology in a slightly different
> paradigm.
>  Brian's standard RTG disclaimer: I have specifically *not* evaluated this
> document for consistency with the idioms of BGP or IDR; I assume the IDR
> working group has done that. Routing area terminology is mostly disjoint from
> higher-layer terminology (case in point: "transport"), and the documents I
> review from the routing area consistently assume a fairly deep grounding in the
> idioms of that community, so it's entirely possible that I'm missing things in
> this review, because this document is not written in a language in which I have
> any proficiency at all. That is a separate issue, but not one I expect the
> authors of this document to solve. :)
>  I'll reply with my second hat first, because the main architectural issue with
> respect to path awareness presented by this document is the basis of any
> concern I'd have as a transport reviewer. And I'll start with the positive:
> yay! Though the assumptions made in the application of SR to interdomain
> deployments and those made in path-aware networking space (which relaxes
> assumptions about who owns the endpoints, and explicitly foresees path
> information, here "color" information, exposed up the stack) are a bit
> different, this looks like a thoroughly workable technology for realizing
> path-aware interdomain networking between routers, which admittedly has a much
> easier deployment and operational model, being mostly congruent with the Way
> Things Are Done today (see RFC 9217 sections 2.7-2.8).
>  That said, I started off deeply confused about how this is actually supposed to
> work in an interdomain context. The document starts out in section 1.1 by
> pointing out that "color" is a uint32_t (bonus points to any router vendor that
> *actually* parses this as an RGBA value and shows it to the network engineer as
> such!) mapped to some intent, defined in RFC 9256.
>  "Color" isn't actually defined in RFC 9256, except as a uint32_t associated
> with some intent, so I was left with some confusion about how a color value
> actually selects some queueing strategy or other treatment that would be
> application-, transport-, or network-engineering relevant. I then stumbled
> across "Color Domain", which is practically going to be more or less
> coterminous with an administrative domain. In other words, this document talks
> about mechanism, leaving policy to local preference and/or future work. Section
> 2.8 makes this clear by assuming (in language that, apropos of nothing, reads
> somewhat like marketing to me) that "[t]he BGP CAR solution seemlessly supports
> this rare scenario" (that a CAR route crosses color domain boundaries), by...
> requiring color-rewriting gateways. :(
>  In other words, the deployment of CAR in an interdomain environment relies
> either on:
>  (1) An O(n^2) provider-pair mapping of color domains translated at each gateway
> between domains.
>  (2) A set of color domains larger than an administrative domain through which a
> set of operators agree on some values for color (I believe, without much
> evidence as I don't follow the space, that a similar thing is already happening
> with communities centered around certain IXPs);
>  (2a) probably with an emergence of the structuring of the color numberspace so
> that interdomain translations can ignore the less/more significant bits and
> concentrate on a lingua-franca "mask" that mostly means the same thing in most
> places.
>  This seems to be at odds to me with the language in section 11, which assumes
> cross-domain color coordination isn't all that important because color is
> scoped to IP prefix, and therefore lack of color remapping doesn't lead to
> availability issues. "Adding this feature where it isn't supported across a
> domain boundary doesn't break routing", while being minimally acceptable for
> the deployability of the protocol, also isn't particularly ambitious.
>  To be clear, this is all perfectly fine. Leaving this document as a
> specification of mechanism (the easy part IMO) and leave the specification of
> policy (the hard part IMO) to be either future standardization work, or to
> emerge from collections of operators that realize value from this feature and
> want it to work across a peering point, leading to a de-facto standard (if at
> all), is a reasonable plan for protocol transition (see RFC8170). But,
> editorially, I'd rather see some language in the abstract/introduction that
> makes it clear that this is the intent, because as I read the abstract, the
> document promises something it's only delivering the easy half of.
>  With my transport (RTG folk: this means "layer 4") hat on, since it's the
> *semantics* of the treatments specified by the colors allowed to be attached to
> routes by BGP CAR that are evaluable from a TSV standpoint, the details of how
> these colors are defined and implemented determine whether a given deployment
> of BGP CAR is problematic or unproblematic for the transport protocols, this
> document is both fine and not fine from a transport standpoint. I suppose as
> long as networks don't, for example, define colors specifically for gratuitous
> violations of RFC 8085 (and why would they?), this document is OK for transport.