I have had an interesting exchange of thoughts at an event I’m participating. I asked a colleague (who will remain unnamed) why his particular focus on NDN over something like, say, PURSUIT came about.
His response was astounding to me, certainly unexpected. The central point that emerged is that the highly stateful operation of NDN is a challenge that is unknown to actually work. The Internet so far has operated stateless in terms of flow operation (oddly enough, the forwarding state in terms of IP tables seem to be discounted). This point took me by surprise, to say the least, but I can follow the line of thinking that such massive change from the ‘rather’ stateless IP to a more massive stateful mode is interesting as a challenge, albeit such proposal to move complexity into the network is not new with past research areas, such as Active Networking.
Why is massive stateful operation interesting though? The argument is seemingly that it enables a number of interesting network-internal operations, such as hop-by-hop congestion control, multi-path, etc. But is it really true that one needs increasing state in the forwarders, meaning is it a necessary condition? My answer to this is clearly no. State in such problems does not disappear. The point is where your solution will place the state and placing it in the forwarders (by attaching increasingly complex control logic to the forwarding tables) is only ONE way of doing things. In other words, a choice of stateless forwarder, such as enabled by our LIPSIN solution in PURSUIT, does not prohibit such network-internal control and our own work in PURSUIT on these topics are daily proofs of this point.
Is stateless forwarding really less interesting? Let us first re-iterate the opportunities that solutions such as LIPSIN or our recently developed multi-stage extension (which scales to any tree size without any false positives) provide. Forwarders in this world only hold information about their own outgoing links. There is NO forwarding information required beyond this, no forwarding information that carries any names, nothing like forwarding information bases (FIBs) required in solutions like NDN. The forwarding operation is very simple (essentially comparing the bit patterns of your own links with those in the packet header), which allows for efficient implementation in software, hardware, even directly optical!
Where’s the challenge now? Similar to the congestion control argument above, state does not disappear in a problem like forwarding. It is placed somewhere else and it is here where the challenge lies. In the PURSUIT architecture, a function that potentially holds this state is the topology management and formation core architectural function, essentially performing path computation and header construction if LIPSIN is your choice of forwarding. The challenge here lies in performing these operations well, fast, and possibly distributed. The work reported in the ICNC 2013 shows the feasibility of performing such path computation at speed, while however supporting Steiner tree heuristics. Our work in the IEEE Communications Magazine July 2013 issue reports on our early results to perform slow path operations that form the basis for the stateless fast path. It clearly is a challenge but one that is interesting and promising in early results.
Is such stateless data plane desirable? I do envision that a world of simple forwarders holds tremendous potential in terms of energy efficiency and optimisation potential. The first point comes from its simple operation as well as the lack of needing memory. This might lead to extremely simple, even core network, forwarders that operate at extremely high speed. Secondly, the chosen approach leaves many options where the state (which, again, will not disappear) finally resides. One such choice, albeit negating the advantages mentioned above, could be the forwarder itself. This would turn the forwarders into NDN-like forwarders of similar complexity, performing topology formation in a highly distributed way. More likely, however, is to hold the state in a regionally distributed topology formation, also for mobility support reasons, optimising these network nodes in terms of computational efficiency while keeping the actual forwarders simple. Point though is that this degree of freedom is interesting and a challenge in itself to better understand.
Stateless forwarding – boring or not? I would personally say no for maybe obvious reasons, but stateless forwarders hold many promises that are an equally radical departure from the still rather complex world of forwarding that we have today. This challenge has kept many of us busy over the years, so check out in our papers and deliverables where we have come down that road.