Tilman Wolf |
|||||||
|
|||||||
|
|
FIND: Service-Centric End-to-End Abstractions in Network ArchitecturesNSF Project #0626690 AbstractThe goal of this project is to design new end-to-end abstractions that make use of recently developed programmable routers. These routers allow deployment of novel networking features through programmable packet processors and thus provide the basic infrastructure of a network that can evolve as new technologies and application domain arise. However, managing such capabilities and making them accessible to end-systems has been challenging. Using the concept of “network services” that we propose in this project, we have developed a control plane infrastructure that hides the complexities of managing programmable routers and makes data path processing capabilities accessible through a socket-like API. Network Service ArchitectureThe ability to communicate and exchange information over computer networks is a fundamental premise for modern society. The growth in ubiquity, performance, and commercial and academic use of computer networks continues to demand more performance and flexibility from the underlying network infrastructure. The lack of security, quality of service, and manageability in the current Internet poses a significant challenge and highlights the importance of considering other network designs. This fuels the need for continued research on network applications and protocols, on how to implement their functionality in routers, on how to integrate fundamental security designs, and on how to support experimentation with emerging and future designs. Functionality that goes beyond the minimally required features of the Internet Protocol (IP) on network routers is typically described as network services. This concept encompasses tasks ranging from simple modifications in the packet forwarding algorithms to complex packet payload modification. Network services can implement many of the functions that improve the current Internet and allow network service providers to differentiate themselves from their competition. Typical network services include: Quality of Service scheduling (e.g., preferential treatment of delay-sensitive Internet telephony traffic), network intrusion detection (e.g., matching of payload against known malware signatures), and content transcoding for mobile systems with limited processing power (e.g., downsampling of web images). Network services — while practically useful today — are only limited solutions to particular problems. A more general approach to providing flexibility in networks is to design routers in such a way that they can be programmed and expanded to support a range of networking protocols and their associated processing services. Programmable router platforms allow router operators to install network services dynamically. The key difference versus traditional routers is that the processing for packet handling is done in software rather than in dedicated hardware. This allows for changes in network behavior without the need for new hardware. Project StatusOur main research result to date is that we have implemented a working prototype system on Emulab, which has been tested with topologies of up to 60 nodes clustered into 12 autonomous systems. In the process of developing this prototype, we have developed several technologies that are fundamentally important for any network that utilizes programmability in the data path: (1) We have developed a distributed service routing algorithm and protocol to determine the least cost path (or an approximate) between two nodes while traversing additional nodes where packet processing steps are performed. This routing protocol is implemented and used in our prototype system. (2) We have developed a service socket API that allows end-system application to easily specify the services that are required for a connection. Except for connection setup, the API uses send and receive commands similar to those of the Berkeley socket API. The overall network service architecture could be instantiated as a slice in a virtualized network system and thus be made available in experimental next-generation Internet deployments. PostersPublications
This material is based upon work supported by the National Science Foundation under Grant No. 0626690. |
||
|
|||