Subject: Token Cell Routing Data Plane Concepts

From: Stewart Bryant <[email-masked]>
Date: Fri, 9 Jul 2021 16:01:43 +0100

I little while ago Alex Clemm and I published a draft called "Token Cell Routing Data Plane Concepts” https://datatracker.ietf.org/doc/draft-bcx-rtgwg-tcr <https://datatracker.ietf.org/doc/draft-bcx-rtgwg-tcr> which I hope we can explain to the the RTG WG at IETF 111.

Currently the fundamental basis of packet design is linear parsing (linear as in the media use of the term), and our observation is that a move away from this introduces a powerful set of opportunities to the network layer, just as the media industry found when they enabled non-linear access to content.

Normally a network layer packet is designed on the assumption that the parser starts at the first byte of the header and looks at all of it regardless of whether all of it is intended for processing by this node. That is what make option parsing particularly difficult since there is no easy way of knowing if the packet contains an option that is of interest to a node without that node first looking at all preceding options and making a decision for itself as to the applicability of the option to its packet processing actions. It seems strange to me that we wish to specify at source which nodes a packet will pass through, but require the node to determine which options, and importantly which instance of an option applies to it.

We know BTW that just the formal network layer is in itself insufficient to describe the required actions on the packet. Routers cheat and look outside the network layer to glean more information of which the use of the five tuple for ECMP is the most well known example. It is also an example where this cheating sometimes trips them up.

In this concept proposal we looked at what we can do if we introduce pointers to the network layer packet structure and were quite surprised at the power that such mechanisms unleashed. This was particularly the case with latency based forwarding, FRR, OAM, and packet disposition.

The essence of the proposal is action, parameter, pointer to next action. This is a type of active networking, but one which is constrained since, like MPLS the only actions are ones that were previously enabled by the operator at the node. In other words this is the MPLS security model which we know works, but one applied in a generalised way.

A characteristic of the design is that it is easily made address family independent, and thus is able to support any address family provided or course that the FIB is set up accordingly. This has some interesting advantages in constrained networks that hopefully we can explore in more depth at a later time.

Although we have written this up as a network layer in its own right, the concept can be used as structure to provide meta or auxiliary data for an existing network layer. I hope to provide more details on that in the future.

Comments on the draft are welcome, and hopefully the chairs will find time on the agenda to explore with the WG some of the concepts so as to make future email discussions productive.

Best regards

Stewart