To increase the pace of network evolution to match that of the underlying technology a fundamental change in the level of abstraction at which interoperability takes place is required. We propose that the network and its infrastructure itself be made programmable and that the point of standardization be the programmable interface. This change will allow new protocols to be deployed as rapidly as technology changes. It will also greatly enhance the flexibility of these protocols and enhance our ability to experiment with new protocols. This is no less than a fundamental rethinking of the basic ideas of packet switched networks, replacing Store-and-Forward with Store-Compute-and-Forward.
There are obvious security, safety, and performance concerns with using the network infrastructure as a collection of general-purpose computers, and with allowing these computers to be programmed remotely. Addressing these concerns will require advances in networking, security, and the theory, design, and implementation of programming languages.
To address these issues concretely, we are building a programmable network element in software (SwitchWare). The SwitchWare architecture enables experimentation with the networking and programming language design and implementation issues. My talk will discuss our current work on SwitchWare, which includes the Programming Language for Active Networks (PLAN), the Active Bridge as an example application of on-the-fly Switchlet loading, and the Secure Active Network Environment.
This is joint work with Dave Farber, Carl Gunter and Scott Nettles of Penn, and Dave Sincoskie, Bill Marcus and Mark Segal of Bellcore.