The Pronto platform: a flexible toolkit for programming networks using a commodity operating system

In recent years, there has been an increasing interest in introducing more advanced services and functionality into networks. This is the primary driver behind the ongoing research on active and programmable networking. A central part of this research is to design an extensible architecture for network nodes that can be dynamically specialized to provide customized network services, to converge on a set of basic facilities provided by all nodes, and to provide the interface to these facilities. While several architectures have been proposed, they have so far been realized using prototype operating systems or proprietary programming languages. Lack of robust platforms for experimentation remains a significant obstacle for research on new network services. We have built a platform for research on active and programmable networks, based on Linux. Our changes to the kernel proper are minimal and are contained in a small kernel patch that is compatible with multiple versions of Linux (2.2.2 and higher), enabling us to benefit from the rapid evolution and industrial support of Linux in general, and specifically those parts that are outside of our interests. In this paper, we describe the platform and give examples of its use.

[1]  John V. Guttag,et al.  ANTS: a toolkit for building and dynamically deploying network protocols , 1998, 1998 IEEE Open Architectures and Network Programming.

[2]  Marianne Shaw,et al.  Active bridging , 1997, SIGCOMM '97.

[3]  Peter Steenkiste,et al.  Darwin: customizable resource management for value-added network services , 1998, Proceedings Sixth International Conference on Network Protocols (Cat. No.98TB100256).

[4]  Sneha Kumar Kasera,et al.  Scalable reliable multicast using multiple multicast channels , 2000, TNET.

[5]  G. Hjalmtysson,et al.  Service level routing on the Internet , 1999, Seamless Interconnection for Universal Services. Global Telecommunications Conference. GLOBECOM'99. (Cat. No.99CH37042).

[6]  NodeOS Interface Specification , 2001 .

[7]  Larry L. Peterson,et al.  OS support for general-purpose routers , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[8]  Don Towsley,et al.  Smoothing variable-bit-rate video in an Internetwork , 1997, TNET.

[9]  Gísli Hjálmtýsson,et al.  Control-on-demand: an efficient approach to router programmability , 1999, IEEE J. Sel. Areas Commun..

[10]  Ajay Jain,et al.  An Agent-based Approach to Service Management - Towards Service Independent Network Architecture , 1997, Integrated Network Management.

[11]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[12]  Stephen J. Garland,et al.  PAN: a high-performance active network node supporting multiple mobile code systems , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[13]  Erich M. Nahum,et al.  Locality-aware request distribution in cluster-based network servers , 1998, ASPLOS VIII.

[14]  Steven McCanne,et al.  An active service framework and its application to real-time multimedia transcoding , 1998, SIGCOMM '98.

[15]  Luke M. Leslie,et al.  The Tempest-a practical framework for network programmability , 1998, IEEE Netw..

[16]  Bernhard Plattner,et al.  Router Plugins: A Modular and Extensible Software Framework for Modern High Performance Integrated Services Routers , 1998 .

[17]  Azer Bestavros,et al.  Distributed packet rewriting and its application to scalable server architectures , 1998, Proceedings Sixth International Conference on Network Protocols (Cat. No.98TB100256).

[18]  Ellen W. Zegura,et al.  An architecture for active networking , 1997, HPN.

[19]  Don Towsley,et al.  Packet loss correlation in the MBone multicast network , 1996, Proceedings of GLOBECOM'96. 1996 IEEE Global Telecommunications Conference.