Re: [Idr] BGP Message level ACKs
Robert Raszuk <robert@raszuk.net> Sun, 12 March 2023 15:19 UTC
Return-Path: <robert@raszuk.net>
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 2AE4CC14CE44 for <idr@ietfa.amsl.com>; Sun, 12 Mar 2023 08:19:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 (2048-bit key) header.d=raszuk.net
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 e8CGmlo3hWs1 for <idr@ietfa.amsl.com>; Sun, 12 Mar 2023 08:19:47 -0700 (PDT)
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) (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 E6414C14F738 for <idr@ietf.org>; Sun, 12 Mar 2023 08:19:47 -0700 (PDT)
Received: by mail-wm1-x32a.google.com with SMTP id fm20-20020a05600c0c1400b003ead37e6588so9262721wmb.5 for <idr@ietf.org>; Sun, 12 Mar 2023 08:19:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; t=1678634386; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=rQdlgIwLBllVF5hTIVsM5kMadjPdAVVSvdxBD5u8SdU=; b=BcRbq/Qa1YNZNhmoEPwRewZp586yZc4rgY+GUV9YxYkPr7kvraavoRkienorhDJq/U UZmRYhQKR8P3WlIYRRHTrtoOtOdJzqdXxIJU95nTyZo4yJH90cWQHjYGytCeUGXm2a24 PSq1LLhSFbgbgyKdSSRaEHazKB4gr1E5zlyXjfoIypLU6v1GFdvF8ZcH0O/1h10P6sCw VFiUHlHzJZg5GUsjr4OxQTHakWrppvYjrJAntp3fCUImaVYnsV+6ywQl4J9AgLJjbRbx u2A+c0ZmHtV8UthAKMF9uWwBSubQDHuittyb6eduDqDgFzx3wxbg8Dmz8yVt4TToVEdb zyJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678634386; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rQdlgIwLBllVF5hTIVsM5kMadjPdAVVSvdxBD5u8SdU=; b=0dR7fD4UsNyEba4TiXIzsKeAI2E4JB1wbCijT0aGuy3dEND7nXPEUdjDI6AfPGXGFG LSRmAn/birq4VlEccm9NuCwXmnY2qfcOMsH1LEFA4iRVen6wpiYWsfQx28aryWpU1l9E y/zWDmcpcrOkyubS7BfKR/ASQNbi8cRMyN3EhezStyNFFTNQ5z8mw/luk5KGoEKsCBa/ NhJKgPXU++tNllp0TKRzuUZnzkbCmMim/A4cByhJKV6NwF5Ho2yq2B6EKyH+Zvbk8TPi rUctkWKL/DvXQVr2P4tf7MVgMxjDgPNh2xTyYf2FQP0FY+AkqhUJJRAMJlz/7KcsyomV karw==
X-Gm-Message-State: AO0yUKUKLWLvpoTIuuRjHuCqspYcqeI46K6PJB/B/PF3anp5lBL5nEI4 v7RY/dUKi4EtuL28z3GqkoberUDLPIG1nYDCh54T4bCwPCo7OiQwR5H4lQOw
X-Google-Smtp-Source: AK7set+Ks+jAlPffPyqmJDzxgEoT4V+Znd9umdMVpdKi4vJRSN42zTEJxCdoK/Q9Oo5hj8+vzXB7SUJ8k38cac9xq6k=
X-Received: by 2002:a05:600c:35c9:b0:3df:97cf:4593 with SMTP id r9-20020a05600c35c900b003df97cf4593mr2422724wmq.6.1678634385677; Sun, 12 Mar 2023 08:19:45 -0700 (PDT)
MIME-Version: 1.0
References: <CAOj+MME+xOzrA3e1CKmHR2JC+fiWkV4LinuL5ovA3L0tRWORRg@mail.gmail.com> <45816498-6F09-4135-ACB4-6E51683001C7@pfrc.org> <CAOj+MMFaJViRnRqwaLXHsBbcm6g5XtUuc5kh71ScZ9OKSoBNZw@mail.gmail.com> <CA+wi2hMjjPepoPnqUu0aMH4OtkezrC+sEV7YsmO92NnG-8+Q8Q@mail.gmail.com> <CAOj+MMEjBfdVK_uJ_B4CHr5suG0Zf7CSukqywTofkDMbimFEcA@mail.gmail.com> <CA+wi2hO0e5b7R49j9giz0bxF6d1EWddH+rYG7cSjMM4aSri49g@mail.gmail.com> <CAOj+MMH_3nwoyDE7GxNSa+fLPO2VD+SWCiGxmCem0s74-E17Ww@mail.gmail.com> <CA+wi2hNoG0Rt=06E7DC9DXGxiEZCvoD1JzKxJsiiyec17h8LYg@mail.gmail.com> <CAOj+MMHeV0jeDUSFVBQdzuS_BSC_z8+vTsFWzoEiXju15t+R0g@mail.gmail.com> <679a80eb-1395-26bd-02a1-4d796879c247@gmail.com>
In-Reply-To: <679a80eb-1395-26bd-02a1-4d796879c247@gmail.com>
From: Robert Raszuk <robert@raszuk.net>
Date: Sun, 12 Mar 2023 08:20:10 -0700
Message-ID: <CAOj+MMGnMxY8Za1xwN6Jpkxfj9vsU0B8fB+-UXT+_kXNhta-UQ@mail.gmail.com>
To: Alejandro Acosta <alejandroacostaalamo@gmail.com>
Cc: idr@ietf.org
Content-Type: multipart/alternative; boundary="00000000000044321f05f6b586f0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/gEUjUzBHxmjwO6NZqZt13LK2fFI>
Subject: Re: [Idr] BGP Message level ACKs
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: Sun, 12 Mar 2023 15:19:52 -0000
On Sun, Mar 12, 2023 at 5:57 AM Alejandro Acosta < alejandroacostaalamo@gmail.com> wrote: > Hello, it can be also added as a new BGP Capability > That is 100% correct. I did not spell out all the nitty gritty details assuming the folks who look at it do understand the implications. Kind regards, Robert On Sun, Mar 12, 2023 at 5:57 AM Alejandro Acosta < alejandroacostaalamo@gmail.com> wrote: > Hello, it can be also added as a new BGP Capability > > > On 9/3/23 11:58 AM, Robert Raszuk wrote: > > > Well it can not be put in KEEPALIVE thread as by definition it would be > event triggered not periodic. So hardly would fit that thread. > > Cheers, > R. > > On Thu, Mar 9, 2023 at 4:54 PM Tony Przygienda <tonysietf@gmail.com> > wrote: > >> aha, ok, yeah, and that problem is real as we know ... you should have >> mentioned it. >> >> yes, anything that reflects a token will do fine here ... unless >> developers optimize and put that processing into the same bgp keepalive >> thread. Then we are where we started ;-) >> >> -- tony >> >> >> On Thu, Mar 9, 2023 at 4:48 PM Robert Raszuk <robert@raszuk.net> wrote: >> >>> Tony, >>> >>> > But I lost track frankly WHAT we're solving here with this ACK you >>> suggest ... >>> >>> The reported problem is: >>> >>> "The remote peer is not reading my BGP messages while TCP works fine." >>> >>> So if a remote peer can ACK that it got messages I send to it (last 10 >>> or last 100 etc ..) it solves the problem as defined. In fact it solves it >>> better then current proposal of using single side socket buffer full timer. >>> >>> I should have not thrown into this UDP as it changes the objective - >>> from informational nice to have ACK to something much more complicated to >>> provide transport reliability. That was not the original aim. >>> >>> Best, >>> R. >>> >>> PS. If you like lets talk more about it face to face :) >>> >>> >>> >>> >>> >>> >>> On Thu, Mar 9, 2023 at 4:36 PM Tony Przygienda <tonysietf@gmail.com> >>> wrote: >>> >>>> simple update message "counter" does not change much of anything really >>>> since the sender has to keep this "counter" on the NLRI at which an update >>>> was sent to understand which prefixes have been processed by the peer. and >>>> all very amusing if you start to overlap with newer updates containing the >>>> newer version of the same prefix. Unless you think of "keeping all the >>>> updates stored on the outbound until they 'acked" which would be a >>>> fantastic attack vector by intentional or unintentional slow peers + double >>>> with the TCP buffering already. With the interesting stuff on top of when >>>> you give up on the peer if it doesn't ACK in timely manner/at all ... >>>> >>>> So, if you want to know what the peer on the other side "processed" you >>>> will have no other choice but keep per NLRI _something_ and possibly per >>>> peer (as I explained with lots cleverness you can get away without per peer >>>> possibly). Unless we're talking unreliable transport under BGP which as I >>>> said seems to be solving wrong problems in wrong layers. But I lost track >>>> frankly WHAT we're solving here with this ACK you suggest ... >>>> >>>> I still don't understand what "application consuymed the data" _really_ >>>> means in terms of assurances the remote system is giving you in terms of >>>> forwarding behavior/convergence with other peers/whatever and hence this >>>> "assurance" seems to be to have no semantics. >>>> >>>> So, I chime out. Either this all has no real semantics and possibly >>>> conflates multiple issues together or I don't grok what it's all about. >>>> >>>> motivation for having seq# on enhanced GR draft I get. we do >>>> mark/sweeping kind of thingies on session re-establish (which GR really is) >>>> and we have to sync up on versions of state held (as optimization vs. >>>> re-sending e'thing). And having the other side "confirming" really means >>>> somethjing, namely FIB/RIB is programmed to this version so no updates are >>>> needed. It's kind of simplified version of the refresh-options (since it >>>> basically assumes there is no GR-over-GR or endless updating on sender that >>>> makes the process never stop?) but it burns basically 8 bits per NLRI as >>>> well (assuming most likely there is never more than one peer GR'ing either >>>> or maybe just one version for all peers work, I didn't think that through >>>> yet). But yeah, no free lunch ... >>>> >>>> --- tony >>>> >>>> On Thu, Mar 9, 2023 at 9:48 AM Robert Raszuk <robert@raszuk.net> wrote: >>>> >>>>> Tony, >>>>> >>>>> I think you are looking at this in a different way. >>>>> >>>>> So what you are likely considering is a very fine and detailed >>>>> sequence number like approach. That's a lot of work indeed to >>>>> accommodate it into current BGP outbound code - with tons of optimizations. >>>>> >>>>> I on the other hand was just thinking of reusing simple UPDATE message >>>>> counter per peer. Some (I would say most) implementations I think have it >>>>> already. >>>>> >>>>> The only sort of open issue is to synchronize the counters or at least >>>>> clocks. Alternative would be to inject periodically a sequenced BGP MARKER >>>>> message to tag local counter with remote counter and have the ACKs being >>>>> MARKER triggered. Quite popular solution in completely asynchronous systems >>>>> :) >>>>> >>>>> So to spec this out should be pretty straightforward. But again this >>>>> email is to just probe the topic not volunteer to do it. >>>>> >>>>> Many thx, >>>>> Robert. >>>>> >>>>> >>>>> On Thu, Mar 9, 2023 at 8:45 AM Tony Przygienda <tonysietf@gmail.com> >>>>> wrote: >>>>> >>>>>> The problem is on the sender side. it has to keep track of whether an >>>>>> update has been ack'ed by a peer and that's in simple terms per peer per >>>>>> NLRI (modulo group discussion as usual). It can be tricked into per NLRI >>>>>> only but since NLRIs get packed differently, in different sequence towards >>>>>> different peers a high scale implementation will end up with at least per >>>>>> prefix. This is _very_ expensive, particularly memory wise. Tricks can be >>>>>> played with rollovers like in >>>>>> https://datatracker.ietf.org/doc/draft-idr-bgp-route-refresh-options/ >>>>>> but the logic isn't simple by any means and ultimately any solution may >>>>>> force implementations into structures to support this that are very >>>>>> inefficient for other parts of the implementation. >>>>>> >>>>>> Generally, shoving reliability of the transport into BGP is basically >>>>>> solving the wrong problem at the wrong layer just like shortcutting BGP to >>>>>> run on a user transport protocol brought nothing but lots of technical debt >>>>>> grief over the years. Real problem is lack of control session layer that >>>>>> realizes underneath that transport went away and notifies up and/or allows >>>>>> transport for the session to come up again. It's only when a new session >>>>>> needs be established AFAIS that we need state sync which lands us in >>>>>> possibly GR corners or refresh corners again rather than trying to reinvent >>>>>> TCP on top of UDP in BGP by ACKs (I wonder when the first window size >>>>>> proposal starts to come in ;-) >>>>>> >>>>>> -- tony >>>>>> >>>>>> On Wed, Mar 8, 2023 at 11:52 PM Robert Raszuk <robert@raszuk.net> >>>>>> wrote: >>>>>> >>>>>>> Hi Jeff, >>>>>>> >>>>>>> >>>>>>>> A fundamental challenge for bgp implementations is efficiently >>>>>>>> keeping versioning across peer-groups.* Some implementations are >>>>>>>> friendlier to that idea than others, but the inconsistency in the ability >>>>>>>> to do that is one of the things that prevented this idea from progressing. >>>>>>>> >>>>>>> >>>>>>> I did not mean that it should touch update generation and >>>>>>> replication. The ACKs which I had in mind would be operating way above this >>>>>>> and simply periodically indicate to the sender that last N number of UPDATE >>>>>>> messages got received by remote BGP process. >>>>>>> >>>>>>> N-being configured and possibly negotiated on the session bootstrap. >>>>>>> >>>>>>> Critical part of this is the time scale. If we are talking about the >>>>>>> last 10 min or last 20 min this would not be sufficient for helping to >>>>>>> achieve reliable transport, but could be IMO more than sufficient to make >>>>>>> sure UPDATE got to remote BGP I/O. >>>>>>> >>>>>>> So I am not sure if this is real distraction to the topic. I would >>>>>>> rather call it exploration of alternative approaches. Just like punting the >>>>>>> "issue" to telemetry ... avoiding need for any BGP code or FSM state >>>>>>> machine change needed. >>>>>>> >>>>>>> Many thx, >>>>>>> R. >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Idr mailing list >>>>>>> Idr@ietf.org >>>>>>> https://www.ietf.org/mailman/listinfo/idr >>>>>>> >>>>>> > _______________________________________________ > Idr mailing listIdr@ietf.orghttps://www.ietf.org/mailman/listinfo/idr > > _______________________________________________ > Idr mailing list > Idr@ietf.org > https://www.ietf.org/mailman/listinfo/idr >
- [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Gert Doering
- Re: [Idr] BGP Message level ACKs Tony Przygienda
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs John Scudder
- Re: [Idr] BGP Message level ACKs Jeffrey Haas
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Tony Przygienda
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Tony Przygienda
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Tony Przygienda
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Alejandro Acosta
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Claudio Jeker
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Mikael Abrahamsson
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Mikael Abrahamsson
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Mikael Abrahamsson
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Job Snijders
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Mikael Abrahamsson
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Jeffrey Haas
- Re: [Idr] BGP Message level ACKs Job Snijders
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Job Snijders
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs Jeffrey Haas
- [Idr] SendHoldTimer default value (was: BGP Messa… Job Snijders
- Re: [Idr] SendHoldTimer default value (was: BGP M… Robert Raszuk
- Re: [Idr] SendHoldTimer default value (was: BGP M… John Scudder
- Re: [Idr] BGP Message level ACKs Claudio Jeker
- Re: [Idr] BGP Message level ACKs Jeffrey Haas
- Re: [Idr] BGP Message level ACKs tom petch
- Re: [Idr] BGP Message level ACKs tom petch
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs tom petch
- Re: [Idr] BGP Message level ACKs Robert Raszuk
- Re: [Idr] BGP Message level ACKs tom petch
- Re: [Idr] BGP Message level ACKs Gert Doering
- Re: [Idr] BGP Message level ACKs Robert Raszuk