[Idr] Fwd: Part 2 of CAR/CT Adoption call (7/6 to 7/20) - Adoption of draft-dskc-bess-bgp-car-05.txt and draft-kaliraj-idr-bgp-classful-transport-planes-17.txt

Ketan Talaulikar <ketant.ietf@gmail.com> Mon, 11 July 2022 06:51 UTC

Return-Path: <ketant.ietf@gmail.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A1B7DC14F73B for <idr@ietfa.amsl.com>; Sun, 10 Jul 2022 23:51:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.108
X-Spam-Level:
X-Spam-Status: No, score=-7.108 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 oFw3VjaxNmjb for <idr@ietfa.amsl.com>; Sun, 10 Jul 2022 23:51:23 -0700 (PDT)
Received: from mail-ua1-x92a.google.com (mail-ua1-x92a.google.com [IPv6:2607:f8b0:4864:20::92a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 ABA22C14F739 for <idr@ietf.org>; Sun, 10 Jul 2022 23:51:23 -0700 (PDT)
Received: by mail-ua1-x92a.google.com with SMTP id s7so60099uao.4 for <idr@ietf.org>; Sun, 10 Jul 2022 23:51:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lCVJUZ9pJTxAA9V1OY2kLGK79xOt0cbJ1aav67Tj3NE=; b=OfjiFVMctg84Ax1JiRzlToJpAFYV0VhbBStZoqnlexzDHSktiDtUmpSpgKVRhJzG3b waGh3h0o6dqvcsXQ4H/SfR4HDGs5urc2zwOuyTpT+qSWh2DRvZmFfyV7kuxENxFjc0zi NN7p5kfEXsk+pv11KtMBK0IVALZOtm6AYMyDpDF/OhV5iTk+hY+4w78aSshDikVCku6V kAcnpeVNS+mW/HJWQY2nAPyE65ilCbKqmYxEC+TuFzFTYzsmBXsJ1bv1fU99e8QrkwAf Igejj9MSlvrSO18UIUI/9GNPbCxKHDoF4gDhOvJhdozxArEvbTx6eCHo2jHPaQ8dRlzl YpNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lCVJUZ9pJTxAA9V1OY2kLGK79xOt0cbJ1aav67Tj3NE=; b=kidhfcKWhIS3qS3VX80j6By5oolgTtXHthi5Z77nqFDg+U2c6eLtGUpsWFJY2BTxIc VPYuugI0jgIsPZahhYWCXy9IiQru9AFCinbGnn+iLabge6zFy7jFWylOp+F56yR+yMyf pkQWAZIC83V752MVx+2lFzCdDwbK29Dt3xkXV9KAYXTSj3qdDP+imnjO49G5+6R6rNY6 qrqeI1hy6JGgelQyxQlnN93uOEkn5JbbjAoUKWxf63RasGg5JjvDLgdtxEME1ijDempD cq78tdHcJexSqZnK1fTk732Iw4Hdb2FB8Ox5Httb1pOUqkRY80POaJW3s5d+6sgkCWnn FLcA==
X-Gm-Message-State: AJIora98KMG5PuSM4y5lrC29DQsQs/k02TS2eoxoRs6Y5onQXb+XWjoF k870LKRfQVaIxY6k1MbL3BdLHgGBpa8bqHNUt38=
X-Google-Smtp-Source: AGRyM1sgG7SsrTSmueM9r0f8/ODbOH3SKRiMEAgEVdH25C21T8CsY+ap84byu5go3QmJ9hL7bZ5ra4ol4UT+eWocyaQ=
X-Received: by 2002:ab0:2c09:0:b0:379:a983:96fe with SMTP id l9-20020ab02c09000000b00379a98396femr5421644uar.102.1657522282428; Sun, 10 Jul 2022 23:51:22 -0700 (PDT)
MIME-Version: 1.0
References: <CALvZiSyXHS=n-wcyxN=isK_AaDVAKfMrN322oyfkOVrbKVNeKg@mail.gmail.com> <CALvZiSx5C-6rM3yanXfUR0Xb0FtcFtzsxC5FC9j2jWCmQ7+uaQ@mail.gmail.com>
In-Reply-To: <CALvZiSx5C-6rM3yanXfUR0Xb0FtcFtzsxC5FC9j2jWCmQ7+uaQ@mail.gmail.com>
From: Ketan Talaulikar <ketant.ietf@gmail.com>
Date: Mon, 11 Jul 2022 12:21:11 +0530
Message-ID: <CAH6gdPwit2CmxPP4rxqmz96kmMF9REBMPaH_tFJcqu9vFWbrDQ@mail.gmail.com>
To: Susan Hares <shares@ndzh.com>, "idr@ietf. org" <idr@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000d9fb1f05e381fa33"
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/R-ockSQHvDojiaEu__OgLBdOxBk>
Subject: [Idr] Fwd: Part 2 of CAR/CT Adoption call (7/6 to 7/20) - Adoption of draft-dskc-bess-bgp-car-05.txt and draft-kaliraj-idr-bgp-classful-transport-planes-17.txt
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jul 2022 06:51:25 -0000

Forwarding this on behalf of DJ since he is having some IT issues.


---------- Forwarded message ---------
From: Dhananjaya Rao <dhananjaya.rao@gmail.com>
Date: Mon, Jul 11, 2022 at 12:02 PM
Subject: Re: [Idr] Part 2 of CAR/CT Adoption call (7/6 to 7/20) - Adoption
of draft-dskc-bess-bgp-car-05.txt and
draft-kaliraj-idr-bgp-classful-transport-planes-17.txt
To: <idr@ietf.org>


(Re-sending, due to some issue with posting)

As co-author, I support the adoption of BGP-CAR.


I support it for the following technical and operational benefits it
provides, and it’s significant architectural advantages over short-term
solutions such as BGP-CT.


    1.     Protocol efficiency and operational simplicity


For over 20 years, operators have run transport networks using BGP
IPv4/IPv6 and BGP-LU for MPLS. BGP-CAR preserves that operational and
routing model. These protocols operate on an IP prefix. BGP-CAR extends it
to IP prefix + Color. It is therefore the simplest and most natural
extension to introduce color-awareness in BGP.


This design choice is not merely functional, it is critical to the
simplicity and efficiency of the BGP protocol processing and supporting
scale on the order of several 100s of thousands of prefixes (PEs) across a
multi-domain network.


Inserting a MPLS VPN paradigm for BGP hop-by-hop routing with RDs and VPN
import/export at each hop is not only totally unnecessary, but it has real
implementation complexity, and operational impact (unlike the spurious ones
made against BGP-CAR).


One of the most basic functions provided inherently by BGP IPv4/IPv6 and
BGP-LU is merging of multiple paths at a BGP hop and propagating a single
path with next-hop set to self while providing multipathing (ECMP/backup)
at that hop, suppressing the churn of failures/changes to alternate paths
locally, and providing fast convergence around failures locally.


BGP-CAR naturally provides it because of the (E, C) model.


BGP-CT utterly fails to do it, because of the choice to use an opaque RD
for each originated route.


As has previously been discussed on both the list and in the previous IDR
sessions, either you get failure propagation all the way to the ingress PEs
in all domains and slow convergence; or you get a workaround called “RD
stripping” to merge the paths locally at each hop.


Leaving aside the irony of using an RD for its purported benefits only to
strip it at every hop; it is worth looking at the implementation complexity
and the operational impact.


Completely distinct BGP routes (different NLRI/keys) need to be merged to
achieve multipath, and get a common label/LSP in the forwarding plane.


And yet even though they now map to a single label/LSP, all the distinct
routes redundantly still need to be propagated to downstream BGP peers.
Hence this workaround still does not address the churn/failure propagation
of the alternate paths, those still will be sent all the way to all ingress
PEs.


And since this needs to be done at every hop, it makes all the
implementations who will need to this unnecessarily complex. And this
unnatural behavior has no precedent in any MPLS/VPN network.


The impact of this suboptimal behavior only gets exacerbated when one uses
it with Anycast, the one case that has gotten a lot of discussion lately.
Instead of a couple of ABRs, now there may be 16, 32 or more such
originating routers in each domain, hence that many more paths needing to
be RD-stripped and propagated. And the number of such paths gets multiplied
by the number of redundant peerings between domains.


VPN import/export also naturally adds CPU processing and memory utilization
overhead. We incur this on PEs for good reason but it can be avoided on
every BGP transport node.


Folks who seem to think simply repurposing an MPLS VPN paradigm for
hop-by-hop BGP transport is better because of its perceived familiarity
should consider the impact and trade-offs.


The CAR design, by emulating BGP-IP/LU provides the benefits of
multipathing, local fast convergence and stability due to failure churn
suppression, without requiring any VPN-like import/export at every hop, nor
such workarounds.


    2.     Protocol extensibility


Different operators have different use-cases that are relevant to them.


BGP-CAR efficiently supports all the use-cases that have been discussed in
this forum – including low-latency, diverse paths; avoidance of
links/nodes/domains; Anycast/EPE etc. Many of these are described in the
CAR draft (Ref: Appendix A).


More importantly, the color/intent-aware journey is just beginning, and no
one can presumably claim to have or know all the use-cases today.


BGP-CAR is systematically designed for extensibility to accommodate new
use-cases or operator constraints that will inevitably arise. It is also
designed to simplify network operations when customers migrate from one
transport technology to another.


BGP-CAR has route-types built in to enable new requirements, without
requiring operators to deploy additional SAFIs in parallel with the just
deployed one.


It has native support for signaling multiple encapsulations efficiently and
independently. without needing to overload 24-bit MPLS label space, or use
complex techniques to carry the data. It maintains the ability to pack
multiple prefixes in an update message at the same time.


These extensions are being spuriously attacked as being complex and
unnecessary. But we have multiple implementations that demonstrate
otherwise.


There’s plenty of precedent in BGP SAFIs today that support route-types.
All BGP SAFIs including BGP-LU and BGP-CT carry non-key data.


BGP CAR NLRI definition improves this design in a few ways


-       It adds structure to signaling such per-prefix information such as
labels, SIDs,  label-index etc.

-       It allows each encap to a different forwarding value when multiple
encaps are being signaled.

-       It provides efficient encoding such that BGP prefix packing is
maintained.


We expect BGP-CAR will subsume and replace BGP-LU like SAFIs in transport
networks over time.


BGP-CT uses the same encoding as BGP-LU (3107/8277), so inherits all
limitations of BGP-LU


-       Only supports label encoding, no other encaps (without complex
overloading or breaking update packing)

-       No extensibility


A new transport SAFI (that intends to augment/replace BGP-LU) should not
have the same limitations as BGP-LU that was designed 20 years ago.


     3.  VPN CAR


Providers may want to extend color-aware routing to their customers, as
well as carry their own color aware services over their core networks.
BGP-CAR

extends seamlessly to the actual VPN layer via VPN CAR, where the notion of
VPN RDs and RTs is actually needed to carry color-aware routes per-VRF.

Retrofitting this into a solution that already overloads RDs for
transport/color purposes will introduce additional layers of complexity.


    4.     Native support for Color based automated steering and resolution


BGP-CAR solution is totally compliant with use of the Color ExtComm for
automated steering of services, of which there are multiple implementations
and deployments already with SR-Policy and IGP FlexAlgo.


The color based steering construct has demonstrated flexibility across a
wide variety of use-cases as described in the SR-TE IETF draft . This can
be augmented with any BGP based policy supported by an implementation,


There is no need to invent new “mapping communities” for the purpose as
done by BGP-CT and break compatibility with existing technologies.


    5.   Support for network domains with different color/intent
granularities


BGP-CAR establishes paths across domains that may have a lesser number of
colors enabled, while maintaining the finer granularity needed by an
end-to-end color-aware path. As described in Appendix B. of the BGP-CAR
draft, It leverages the same Color-ExtComm based resolution that’s used for
service steering


    6.     Support for color domains with inconsistent color-to-intent
mappings


CAR supports the presence of multiple color domains, enabling the
establishment of color-aware paths across such administrative boundaries,
by virtue of the LCM-EC color translation/mapping mechanism.


While doing so, it provides the ability to achieve both multipathing as
well as to make e2e paths from different egress domains available at an
ingress PE for load-balancing. It avoids the suboptimal behavior (described
above) needed by BGP-CT.


7.     It seamlessly resolves over and interworks with both color-aware
technologies such as IGP   FlexAlgo and SR-TE as well as existing MPLS
technologies (LDP/RSVP-TE and BGP-LU), enabling seamless insertion into
existing MPLS networks.


8.     Works for multiple transport types – classic MPLS, SR-MPLS and SRv6
among others.


In summary, BGP-CAR solution has precisely and deliberately defined the
base protocol for an efficient, scalable deployment for immediate use-cases
of BGP based intent-aware routing, and an extensible framework to address
intent requirements that may emerge in future.


Regards,

-Dhananjaya