Re: [Coin] Compute on the Forwarding Node and Semantic Routing
Adrian Farrel <adrian@olddog.co.uk> Fri, 04 February 2022 14:40 UTC
Return-Path: <adrian@olddog.co.uk>
X-Original-To: coin@ietfa.amsl.com
Delivered-To: coin@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 927EC3A1453
for <coin@ietfa.amsl.com>; Fri, 4 Feb 2022 06:40:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001,
SPF_NONE=0.001, 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 olf6xT0DbG94 for <coin@ietfa.amsl.com>;
Fri, 4 Feb 2022 06:40:36 -0800 (PST)
Received: from mta7.iomartmail.com (mta7.iomartmail.com [62.128.193.157])
(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 5D45C3A1455
for <coin@irtf.org>; Fri, 4 Feb 2022 06:40:34 -0800 (PST)
Received: from vs2.iomartmail.com (vs2.iomartmail.com [10.12.10.123])
by mta7.iomartmail.com (8.14.7/8.14.7) with ESMTP id 214EeWuE030105;
Fri, 4 Feb 2022 14:40:32 GMT
Received: from vs2.iomartmail.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id EEDB146050;
Fri, 4 Feb 2022 14:40:31 +0000 (GMT)
Received: from vs2.iomartmail.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id CF04D46048;
Fri, 4 Feb 2022 14:40:31 +0000 (GMT)
Received: from asmtp1.iomartmail.com (unknown [10.12.10.248])
by vs2.iomartmail.com (Postfix) with ESMTPS;
Fri, 4 Feb 2022 14:40:31 +0000 (GMT)
Received: from LAPTOPK7AS653V ([85.255.237.191]) (authenticated bits=0)
by asmtp1.iomartmail.com (8.14.7/8.14.7) with ESMTP id 214EeS7p002398
(version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
Fri, 4 Feb 2022 14:40:30 GMT
Reply-To: <adrian@olddog.co.uk>
From: "Adrian Farrel" <adrian@olddog.co.uk>
To: "'Marie-Jose Montpetit'" <marie@mjmontpetit.com>, <coin@irtf.org>
References: <0c2e01d819bb$7fa18460$7ee48d20$@olddog.co.uk>
<CAPjWiCRtUfUUwDW7uTLMZGYs=C4CD--YtxWB3E1TEESUmYw++A@mail.gmail.com>
In-Reply-To: <CAPjWiCRtUfUUwDW7uTLMZGYs=C4CD--YtxWB3E1TEESUmYw++A@mail.gmail.com>
Date: Fri, 4 Feb 2022 14:40:27 -0000
Organization: Old Dog Consulting
Message-ID: <0c7001d819d5$28c3d200$7a4b7600$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0C71_01D819D5.28C99E60"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQIANZrYQjITZbygHrx5IfHgWqlVvgGLu1dqrCbcKHA=
Content-Language: en-gb
X-Originating-IP: 85.255.237.191
X-Thinkmail-Auth: adrian@olddog.co.uk
X-TM-AS-GCONF: 00
X-TM-AS-Product-Ver: IMSVA-9.1.0.2090-8.6.0.1018-26696.000
X-TM-AS-Result: No--5.672-10.0-31-10
X-imss-scan-details: No--5.672-10.0-31-10
X-TMASE-Version: IMSVA-9.1.0.2090-8.6.1018-26696.000
X-TMASE-Result: 10--5.672500-10.000000
X-TMASE-MatchedRID: yebcs53SkkDxIbpQ8BhdbI61Z+HJnvsO82SgwNf6SK4U1b5wboBPVB2f
2x2Xb+CZ4Fs1EoKVfLGQ5zAE85iQjVsyEwIOY3iP/sUSFaCjTLyTIp+F7SfdPfuzwJAEkzruGBT
AQTPkUKbicS5DJJ5Bfzmac2FDcqldsDgllQeNshrJkecgyZD4OOvAANXt9jPsdEE+9XN9VT+m84
vN+FWU79d07Zs2f3yj9uTz8StPIp+S0sLwKcWZ/QdHNpBuxrOoDvc/j9oMIgVXJ/NTgaKQplH8C
WVd7YZDf2G7pKAtfrgmKrjo0P6VGb5uJ2FOzoAxDDlsUbcsIPrrKzHqnonLwqq9wgXVNwtgLH8A
wVdnhuS0uR4sclkLeeadQ66dOqesa3yr3Ld3hdkGLRKL2NexjTWPIK+AyLZyFujNgNeS9UBbCZ1
DRq0uB3mV5LHJ3h+5qNtNug8Uem+/PrEa6tN+WrqImyaR0axZomsTdA1+nXS5IifwYL1+q/+I45
Q8H+H+51nA62p278GycHJa2DktdClp37hedPpaKJYo5K4P1qRceVBIhfwO9e1f0a3exQsSMMfGe
vmkG3DAlBr+XODuM2gd2AgxB//ZcKE8cHrXBCOA9MvhejRB934mXkx+tm9bb9KnLu0kZuVFmHpy
Pp+zkpRuD2Qxt5o/f1YgcJwm18UhHoo7VF7CLoxwx0FSBgmNEwI6HFs4fnXZg7HUG7Tia/vyqp3
ogvI2lCj6W0SUxbHASNTsascTTITd9hX7Y5c51TyWQuccLe3dvovMm13clbvsTEW9zEoTDbT5fb
8GwAqvuJDRiVuhWvimRyLG5OGMfhp3EcmqIwueAiCmPx4NwGmRqNBHmBveGtkvK5L7RXGw7M6dy
uYKg+/Po2SlathvGNtP56Gw0VCnlyyX45r1z8MExm6gQMQ2z+TJSf/4XFpWXGvUUmKP2w==
X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/PrIAg-ryHmwOetyvvlmaLxCbigg>
Subject: Re: [Coin] Compute on the Forwarding Node and Semantic Routing
X-BeenThere: coin@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "COIN: Computing in the Network" <coin.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/coin>,
<mailto:coin-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/coin/>
List-Post: <mailto:coin@irtf.org>
List-Help: <mailto:coin-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/coin>,
<mailto:coin-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Feb 2022 14:40:42 -0000
Thanks Marie-Jose, Yes, you don’t have to worry about me conforming to your insistence, I tend not to repeat myself even when people are not listening. But if only insistence was enough to get us all what we want :-) Thanks also for the welcome to pursue work within COIN. That sounds attractive. However (always one of those) I find the fishing exercise tiring, and I will not bring you a rock. It is not possible for me to say definitively what aspects of Semantic Routing relate to COIN. This is because I still find the description of COIN confuses me, and I have been unable to find good descriptions of what elements of network programming and compute in the network COIN considers to be in scope and out of scope, and I have not been able to determine whether COIN is limited to overlay networks and service delivery, or whether it considers packet forwarding at the IP layer to be in scope. I’d be happy to be educated. So, to some extent, the purpose of these (lengthy) emails has not only been to set things up for the interim, but to set out the Semantic Routing scope with the hope that the COIN aficionados and the chairs in particular would have a better chance to tell us which bits belong in COIN and which don’t. To your questions (and prejudging the slides for the interim) > Thanks for the routing tutorial. > > So after all these emails I wonder if you could summarize in a few bullets as > introduction to next weeks interim (remember you have 20 minutes max so > no time to go through the email thread): > > - how Semantic Routing is different from traditional routing As you say, no time to go back to the thread to explain that. And no point in a detailed presentation if the audience hasn’t read the background material. But it is pretty clear from the definition of Semantic Routing, isn’t it? > - where it is related to COIN assuming a model where any network nodes > may have computation capabilities beyond forwarding This is where I am struggling. “Computation capabilities beyond forwarding” is a great thing to offer. * Does “beyond forwarding” mean “as well as” or “other than”? * Semantic Routing doesn’t assume any computation capabilities * Semantic Routing could make use of computation capabilities (and I suppose that might put it in scope) > - where Semantic routing is not related to COIN Hmmm, that’ll be even harder. One solution is for Semantic Routing people to bring their presentations/work to COIN and wait to be told “no, we’re not interested, that has nothing to do with COIN”. But I think you’ll agree that might be quite frustrating. > I insist on a few bullets as we have all the background in your emails > and the drafts and other material you cited. > > And BTW the decision to pursue the work within the COIN community > is yours if you want to work on those aspects that relate to it. Best, Adrian From: Adrian Farrel <mailto:adrian@olddog.co.uk> <adrian@olddog.co.uk> Reply: adrian@olddog.co.uk <mailto:adrian@olddog.co.uk> <mailto:adrian@olddog.co.uk> <adrian@olddog.co.uk> Date: February 4, 2022 at 6:37:07 AM To: coin@irtf.org <mailto:coin@irtf.org> <mailto:coin@irtf.org> <coin@irtf.org> Subject: [Coin] Compute on the Forwarding Node and Semantic Routing Finally (honestly ;-) I get to my last thread on Semantic Routing. This concerns the concept of compute on the forwarding node. Again (sorry to keep repeating this) we are talking about the IP-layer forwarding node that has the job of forwarding a packet to the next hop on the path from one "network component" to the next, or to the final destination. It is not tasked with determining the next network component to see the packet, nor with performing the functions of the network component. Such forwarding nodes may perform semantic routing, as described in the previous threads. In making the forwarding decisions, the forwarding nodes may use algorithms to build the forwarding tables, and/or they may use algorithms that are more sophisticated than keyed lookups to determine the next forwarding hop for a given packet. The previous thread on programmability and SDN deals with how the forwarding table may be installed from a controller, and how the forwarding nodes may be instructed to extract lookup keys from the packets. This thread is about the algorithms used on the forwarding nodes since those algorithms use "programs" and "CPU". Algorithms that construct forwarding tables may be installed at "build time". This may mean that they are burnt into silicon, or they may be pre-installed software. Historically, that is how routers have worked. These algorithms may also be updated through software updates (often requiring that the node is restarted, or at east has a "lumpy moment" when the switchover to the new software is made). All modern routers and whitebox routers work this way. Possibly the algorithms to construct forwarding tables are not so interesting to us in this context. They could be highly dynamic, they could use ML/AI, they could use a lot of performance data gathered from the network. But they don't operate on a per-packet basis, and they are not in the forwarding path for the packets (even though they impinge on those paths). The "compute in the network" is there (it is there today in deployed networks!), but it is not performing computation on the packets or their content. An interesting existing example of this is the "IGP Flexible Algorithm" work (https://datatracker.ietf.org/doc/draft-ietf-lsr-flex-algo/). So we should turn out attention to algorithms that process the information stored in the packets and determine how to forward them. These algorithms would, I think, qualify for the description "compute in the network." Jon C mentioned in an earlier email the work done to experiment with putting processing instructions in packets so that it could be actioned along the path, but that may be too radical. The more likely overlap between Semantic Routing and this type of compute in the network is: - packets carry markers and information that can be accessed by transit nodes - transit nodes are "programmed" with a range of algorithms that they can use to determine the next hop for a packet they are forwarding (such programming could be "in advance" such as build time, or could be more dynamic such as through SDN) - when a packet arrives at a node it uses the default algorithm or picks one based on information in the packet - the chosen algorithm is run on the packet (specifically the Semantic Routing information) and probably on the current network state information, and produces a decision of the next hop on the forwarding path Again, some of this is already finding its way into the engineering side of things: witness the use of a Segment Routing SID to identify which forwarding table to use (i.e., which IGP flex-algo was used to construct the forwarding table) on a per packet basis. But that example is not really per-packet compute in the network because the compute is the semi-offline construction of the forwarding table, not an active decision on how to forward each packet. As described in the "challenges" work, one significant concern with this approach is that it may lead to different network nodes performing different algorithms that lead to forwarding loops or data sinks. Clearly the coordination of network programming and the debugging of active networks becomes quite important. Some people view the stability risks of an SDN approach to programming this type of compute in the network as being so high that, no matter how exciting the possibilities are, there is no point in playing with it until the coordination and debug issues can be resolved. These people think that such compute should be more stable, "standardised" (at least as far as objective functions), and pre-installed in network nodes. This is, in my opinion, the biggest overlap between Semantic Routing and COIN. It is definitely NOT the case that all Semantic Routing approaches would use compute in the network. But it is certainly possible that this form of forwarding decision-making could use compute in the network. [Unless you want to count NOP (0x90 for people of my generation) as a program, in which case everything is compute in the network :-) ] Cheers, Adrian -- Coin mailing list Coin@irtf.org <mailto:Coin@irtf.org> https://www.irtf.org/mailman/listinfo/coin
- [Coin] Compute on the Forwarding Node and Semanti… Adrian Farrel
- Re: [Coin] Compute on the Forwarding Node and Sem… Marie-Jose Montpetit
- Re: [Coin] Compute on the Forwarding Node and Sem… Adrian Farrel