Subject: [Coin] SDN, Network Programming, and Semantic Routing

From: "Adrian Farrel" <[email-masked]>
Date: Thu, 3 Feb 2022 23:00:09 -0000

Hi yet again,

With this email we get on to some of the serious topics for fitting Semantic
Routing into the context of COIN.

As we know, a significant part of what COIN is looking at is programmable
networking and programmable network devices. In this context, the concept of
programmability is pretty broad ranging from what we have known for years
(installation of forwarding entries through management system commands -
CLI, TL1, SNMP, Netconf/YANG), through the more recent development of new
languages for installing network actions (OpenFlow, P4, BGP policies). 

There are several critical questions to be asked:

- Is the programming installing forwarding actions based only on
  "traditional" lookups (typically the 5-tuple, and other flow
   classification fields), or is it telling the network node to look at
   other places in the packet?

- Is the programming coordinated with packet classifiers and
  markers so that additional information is placed in the packets
  and used by the network nodes?

- Is the use of programming the only solution, or is SDN just *an*
   approach that sits beside or can be integrated with other
   techniques including "traditional" routing systems?

- What are the risks to the forwarding system arising from an
  SDN controller-based system in terms of scalability, flexibility,
  responsiveness, stability, and vulnerability to failures and attacks?

- What is the potential for using programming to install algorithms
  on network devices such that they perform selective forwarding
  actions dependent on semantic routing information? What are
  the risks of inconsistent processing on different nodes, and 
  how does the OAM work in such situations? 

This last point will be the subject of a separate thread as it moves beyond
"network programming" and into "compute in the network".

It is worth repeating that in all of this discussion, the scope of semantic
routing remains at the IP-forwarding level. That is, programming functions
and features above and beyond those used for next-hop routing at the packet
forwarding layer is out of scope. That is not to say it is not interesting
and valuable in many scenarios, just that it is not what is handled by the
forwarding engines.

In order to start to capture where our thinking is at, and so provide a
basis for more in-depth discussions, we have posted
https://datatracker.ietf.org/doc/draft-boucadair-irtf-sdn-and-semantic-routi
ng/ This is very much "work in progress" as we are still collecting our
ideas and have a way to go. The references are heavily oriented towards
existing engineering solutions, and we have some work to do to also include
the academic and research references. We would appreciate being told where
we are wrong by experts in SDN and network programming. We would also
appreciate ideas about how SDN controllers can keep an entire network "in
synch" so that they are sure that there is consistent forwarding and loops
and data sinks are avoided.

Cheers,
Adrian

---

From: Jon Crowcroft <[email-masked]>
Date: Fri, 04 Feb 2022 08:37:42 +0000

for me that the phrase semantic routing includes the word "routing" implies one
(and not forwarding) has to consider network wide algorithms  - the sort of thing 
predicate routing and meta-routing do (see prev message and this 
https://www.cl.cam.ac.uk/research/srg/netos/papers/2002-predicate-routing.pdf
and all the work on replicared/coordinated SDN controllers and
consensur/converegence/replication etc

most the questions below are "just" the forwarding treatments

how these are installed on a node is just a simple protocol/api
though how the node is programmed to carry out those treatments efficiently
(s/w and h/w requirements, as you've discussed) are obviously a moving target and of interest
here for sure... next gen of SDN & whatever is after P4 are obviously things to work on 

how they are created, verified, made sense of in a network-wide sense 
(whatever scope that network has) is where I think the harder research challenges lie...
but perhaps are the least coin-like aspect - it would be cool to survey what sorts of
policy engines are out there besides the very cool cloudflare stuff as input to that (if
anyone knows of such a survey, pointers most welcome!!)

> --
> Coin mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/coin
>

---

From: Dirk Trossen <[email-masked]>
Date: Fri, 4 Feb 2022 08:52:16 +0000

Jon,

Indeed, most of the SDN draft content is concerned with the forwarding, not routing aspect, indeed. 

I also agree that the network-wide algorithmic aspect is what I see least in the context of COIN, while the SDN action-focused aspect is (there are pointers to progressing towards P4 in the document, something we considered in the work referenced in the document that I led in a past EU project). 

As for a survey, I'm equally interested in that as you are. 

Best,

Dirk

-----Original Message-----
From: Jon Crowcroft [mailto:[email-masked]] 
Sent: 04 February 2022 09:38
To: [email-masked]
Cc: [email-masked]; Dirk Trossen <[email-masked]>; [email-masked]; 'George Xylomenos' <[email-masked]>; Jon Crowcroft <[email-masked]>
Subject: Re: [Coin] SDN, Network Programming, and Semantic Routing

for me that the phrase semantic routing includes the word "routing" implies one (and not forwarding) has to consider network wide algorithms  - the sort of thing predicate routing and meta-routing do (see prev message and this https://www.cl.cam.ac.uk/research/srg/netos/papers/2002-predicate-routing.pdf
and all the work on replicared/coordinated SDN controllers and consensur/converegence/replication etc

how these are installed on a node is just a simple protocol/api though how the node is programmed to carry out those treatments efficiently (s/w and h/w requirements, as you've discussed) are obviously a moving target and of interest here for sure... next gen of SDN & whatever is after P4 are obviously things to work on 

how they are created, verified, made sense of in a network-wide sense (whatever scope that network has) is where I think the harder research challenges lie...
but perhaps are the least coin-like aspect - it would be cool to survey what sorts of policy engines are out there besides the very cool cloudflare stuff as input to that (if anyone knows of such a survey, pointers most welcome!!)