Despite all the progress made in other areas of networking over the past few decades, the management of production networks has remained primitive. However, over the past five years a radically new approach to network management has emerged. This new approach uses a ?network operating system? to hide all the complexity of networking details from management applications while providing powerful primitives for programmatically observing and controlling the network. This project is focusing on three main areas of investigation: Building a next-generation network operating system: sophisticated management requires a network operating system that is scalable, reliable, and secure while also providing network operators with the appropriate set of primitives for controlling their networks; Applying this network operating system to a wide variety of contexts and requirements: a network operating system should support management in enterprise networks, home networks, wide-area networks, and datacenter networks, and should address issues ranging from access control to traffic engineering; Leveraging this approach to gain deeper understanding of networks: network operating systems should support higher-level abstractions ? such as policy languages, event reconstructions, and logical networks ? that allow operators to focus on management goals not implementation details. Addressing these topics will enable the deployment of more secure, reliable, cost-effective, and scalable networks. Moreover, the software from this project will be open-sourced, allowing these benefits to be realized by all.
Software-Defined Networking (SDN) is a new approach to managing computer networks that provides far greater flexibility, functionality and reliabilty than current approaches. The central component in SDN is a "network operating system" (NOS) that coordinates the behavior of the various network elements (switches and routers) and provides a programmatic interface upon which sophisticated network control programs can be built. Our work on this project investigated how to build the next generation of Network Operating Systems, and our efforts involved spanned three broad categories: Providing advanced prototypes for the research community, so that researchers could explore how to build SDN control applications without writing their own NOS. Our NOX and POX network operating systems are widely used, and represent both the first generation of network operating systems (NOX) and a much more modern one that is lightweight and allows rapid experimentation with new ideas (POX). Exploring how to design scalable network operating systems, so that SDN could be applied to global-scale networks. This is necessary if carrier-class networks are to be fully converted to SDN. Our work on Recursive SDN provides a simple, scalable approach to managing such networks. Investigating the security implications of edge-based designs, so that more functionality could be moved out of the network while retaining adequate security properties.