The most interesting data networking ideas I've come across in the past N years are in the recent book by John Day, Patterns in Network Architecture: A Return to Fundamentals. John Day's fundamental insight is that data networking is a distributed version of inter-process communications (IPC). Those of us who come at this from the computer and computer operating system side of the world are quite familiar with IPC within one computer running one operating system.
The Pouzin Society (named after datagram inventor Louis Pouzin) is a group interested in investigating the implications of John Day's architecture and how it might be used in developing viable solutions to the current Internet architecture crisis.
Here's a top level picture (from a talk by John Day). If you don't buy the book, there is an interesting summary in a presentation here.
Viewing data networking as a distributed IPC function (DIF) does a number of things.
- It clears up names versus addresses in a fashion that makes sense to me. The application asks for connection to another named application while node addressing remains internal to the DIF. Indeed, the point of attachment address for one DIF is a "name" presented to a lower level DIF.
- It makes management explicit. To even establish an IPC, we must ask the DIF for the other party by name and then get their permission to exchange information (i.e. to establish the IPC session).
- It simplifies layers. There is only one kind of layer, the DIF, that is used recursively. Successive levels in the recursion differ in scope, and likely in policies, but architecturally they are the same.
I'm still getting up to speed, but this appears to be a fundamental theoretical breakthrough. There are a mix of academics and practical networkers in the room for the Pouzin Society kickoff, so hopefully some practical implications for the evolution of the Internet will emerge in time.