Creating an Evolvable, Diverse, and Dynamic Internet
The Internet has ushered in a new era of communication, and has supported an ever-growing set of applications that have transformed our lives. It is remarkable that all this has taken place with an Internet architecture that has remained unchanged for over forty years. While unfortunate, some view this architectural stagnation as inevitable. After all, it has long been a central tenet that the Internet needs a "narrow waist" at the internetworking layer (L3), a single uniform protocol adopted by everyone; given this assumption, changing this layer is inevitably hard.
This project rejects this dogma, attributing the requirement of a narrow waist to a fundamental flaw in the original Internet architecture: the conflation between the interdomain dataplane and the intradomain dataplanes. One of the key goals is to build a counterexample, an architectural framework (called Trotsky) that enables all clean-slate architectures to be incrementally deployable and coexist. Moreover, rather than being some radical clean-slate architecture that could never be deployed, Trotsky itself is incrementally deployable. Thus, this project puts forth a two-stage approach to evolution: the incremental deployment of Trotsky, followed by the incremental deployment of new architectures within the Trotsky framework.
Trotsky enables architectural evolution, the gradual transition from one dominant architecture to another. It also supports architectural diversity, where different applications can make use of different architectures (ones best suited to their needs). Thus, Trotsky could facilitate a transition from a single general-purpose architecture to one where there were, in addition, several narrowly scoped architectures (e.g., content delivery, all-optical, high security, high reliability) that addressed the needs of certain classes of applications.
In addition, this project leverages previous work on Open Carrier Interfaces (OCI) to make the Internet more dynamic. With OCI, third-parties can make arrangements with carriers to support specific application interaction patterns: when their clients arrive, application-specific support can be spun up at the network edge, and the clients packets can be routed to the appropriate backend services. When Trotsky is combined with OCI, the Internet becomes evolvable, diverse, and dynamic platform for service creation.
Funding provided by NSF