Programming network architectures

In the thesis we address the problem of programming network architectures. We broadly define a network architecture as a distributed communication system having the following attributes: (i) network services, which the network architecture realizes as a set of distributed network algorithms and offers to the end systems, (ii) network algorithms, which include transport, signaling/control and management mechanisms, (iii) multiple time scales, which impact and influence the design of the network algorithms; and (iv) network state management, which includes the state that the network algorithms operate on (e.g., switching, routing, QOS state) to support consistent services. Programmability allows network designers to add remove, or modify network service components on-demand. By adding, removing or modifying network service components, designers can architect their networks so that they behave more optimally according to some system-wide performance objective. Architecting networks can be accomplished in many different ways such as by programming the service disciplines that are supported by the intermediate nodes of networks or by programming the routing, signaling and flow control algorithms that affect the services offered to the end-systems. Programming network architectures is a challenging problem. The difficulty stems from the fact that it is hard to define a unifying programmable networking model and a set of programming interfaces that encompass services as diverse as routing, signaling, and access control/forwarding. Another challenging issue is related to the computational efficiency and performance of programmable network architectures. Programmable networks require more computational resources than existing networks in order to support the introduction of new services in software. In addition, today's router systems are generally configured with only a small amount of memory with limited access bandwidth. Hence, a key challenge is to design programming systems and network algorithms that can operate efficiently under stringent space-time constraints. This thesis makes a number of contributions. First, a programmable networking model that provides a common framework for understanding the state-of-the-art in programmable networks is presented. A number of projects are reviewed and discussed against a set of programmable network characteristics. We present a simple qualitative comparison of the surveyed work and make a number of observations about the direction of the field. Next, we present the design, implementation and evaluation of a programming system that automates a life cycle process for the creation, deployment, management, and architecting of network architectures. (Abstract shortened by UMI.)

[1]  Larry L. Peterson,et al.  Scout: a communications-oriented operating system , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[2]  Andrew T. Campbell,et al.  Accelerating service creation and deployment in mobile networks , 2000, 2000 IEEE Third Conference on Open Architectures and Network Programming. Proceedings (Cat. No.00EX401).

[3]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1996, SIGCOMM 1996.

[4]  George Varghese,et al.  Fast and scalable layer four switching , 1998, SIGCOMM '98.

[5]  Gordon S. Blair,et al.  The Design of a QoS-Controlled ATM-Based Communications System in Chorus , 1995, IEEE J. Sel. Areas Commun..

[6]  Nen-Fu Huang,et al.  A fast IP routing lookup scheme for gigabit switching routers , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[7]  Jon M. Kleinberg,et al.  The Web as a Graph: Measurements, Models, and Methods , 1999, COCOON.

[8]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[9]  Amit B. Kulkarni,et al.  Active networking services for wired/wireless networks , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[10]  Larry L. Peterson,et al.  VERA: an extensible router architecture , 2002, Comput. Networks.

[11]  Sally Floyd,et al.  Difficulties in simulating the internet , 2001, TNET.

[12]  Ramón Cáceres,et al.  Fast and scalable wireless handoffs in support of mobile Internet audio , 1998, Mob. Networks Appl..

[13]  Andrew T. Campbell,et al.  A programmable MAC framework for utility-based adaptive quality of service support , 2000, IEEE Journal on Selected Areas in Communications.

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

[15]  R. D. Rockwell,et al.  Smart Packets for active networks , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[16]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[17]  Tilman Wolf,et al.  Design issues for high performance active routers , 2000, 2000 International Zurich Seminar on Broadband Communications. Accessing, Transmission, Networking. Proceedings (Cat. No.00TH8475).

[18]  William A. Arbaugh,et al.  The SwitchWare active network architecture , 1998, IEEE Netw..

[19]  Andrew T. Campbell,et al.  Supporting programmable handoff in mobile networks , 1999, 1999 IEEE International Workshop on Mobile Multimedia Communications (MoMuC'99) (Cat. No.99EX384).

[20]  A.T. Campbell,et al.  The Genesis Kernel: a virtual network operating system for spawning network architectures , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[21]  Brian Cantwell Smith,et al.  Procedural reflection in programming languages , 1982 .

[22]  Jacobus E. van der Merwe,et al.  Switchlets and Dynamic Virtual ATM Networks , 1997, Integrated Network Management.

[23]  Calton Pu,et al.  The Synthesis Kernel , 1988, Comput. Syst..

[24]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM '96.

[25]  Joseph Mitola Cognitive Radio for Flexible Mobile Multimedia Communications , 2001, Mob. Networks Appl..

[26]  Andrew T. Campbell,et al.  On programmable universal mobile channels in a cellular Internet , 1998, MobiCom '98.

[27]  Yechiam Yemini,et al.  The NetScript active network system , 2001, IEEE J. Sel. Areas Commun..

[28]  Abhay Parekh,et al.  A generalized processor sharing approach to flow control in integrated services networks: the single-node case , 1993, TNET.

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

[30]  Andrew T. Campbell,et al.  Dynamic Core Provisioning for Quantitative Differentiated Service , 2001, IWQoS.

[31]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

[32]  Eric Hoffman,et al.  Ipsilon's General Switch Management Protocol Specification Version 2.0 , 1998, RFC.

[33]  Andrew T. Campbell,et al.  Managing complexity: middleware explained , 1999 .

[34]  Ariel Orda,et al.  Achieving network optima using Stackelberg routing strategies , 1997, TNET.

[35]  Tilman Wolf,et al.  Scheduling processing resources in programmable routers , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[36]  K. J. Schultz,et al.  Fully Parallel 30-MHz , 2 . 5-Mb CAM , 1998 .

[37]  Andrew T. Campbell,et al.  Spawning networks , 1999, IEEE Netw..

[38]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

[39]  Andrew T. Campbell,et al.  Programmable mobile networks , 1999, Comput. Networks.

[40]  Carl A. Gunter,et al.  PLAN : A Programming Language for Active Networkssubmitted to PLDI ' 98 , 1998 .

[41]  Bernhard Plattner,et al.  Router plugins: a software architecture for next-generation routers , 2000, TNET.

[42]  Albert G. Greenberg,et al.  A flexible model for resource management in virtual private networks , 1999, SIGCOMM '99.

[43]  M. Suzuki,et al.  The IEEE P1520 standards initiative for programmable network interfaces , 1998 .

[44]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1997, TNET.

[45]  Joseph Mitola,et al.  Technical challenges in the globalization of software radio , 1999, IEEE Commun. Mag..

[46]  Thomas F. La Porta,et al.  HAWAII: a domain-based approach for supporting mobility in wide-area wireless networks , 2002, Proceedings. Seventh International Conference on Network Protocols.

[47]  Lixia Zhang,et al.  Virtual Clock: A New Traffic Control Algorithm for Packet Switching Networks , 1990, SIGCOMM.

[48]  Douglas C. Schmidt,et al.  Applying patterns to develop extensible ORB middleware , 1999, IEEE Commun. Mag..

[49]  Dafydd Gibbon,et al.  1 User’s guide , 1998 .

[50]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[51]  Aurel A. Lazar,et al.  A Binding Architecture for Multimedia Networks , 1994, J. Parallel Distributed Comput..

[52]  Michael E. Kounavis,et al.  Directions in Packet Classification for Network Processors , 2004 .

[53]  Jon Postel,et al.  Internet Protocol , 1981, RFC.

[54]  Bernhard Plattner,et al.  A scalable high-performance active network node , 1999 .

[55]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM 2001.

[56]  NodeOS Interface Specification , 2001 .

[57]  Jonathan M. Smith,et al.  Protocol boosters , 1998, IEEE J. Sel. Areas Commun..

[58]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[59]  Chieh-Yih Wan,et al.  Design, implementation, and evaluation of cellular IP , 2000, IEEE Wirel. Commun..

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

[61]  Adnan Aziz,et al.  OC-3072 packet classification using BDDs and pipelined SRAMs , 2001, HOT 9 Interconnects. Symposium on High Performance Interconnects.

[62]  Andrew T. Campbell,et al.  The Genesis Kernel: a programming system for spawning network architectures , 2001, IEEE J. Sel. Areas Commun..

[63]  Mun Choon Chan,et al.  Designing a CORBA-based high performance open programmable signaling system for ATM switching platforms , 1999, IEEE J. Sel. Areas Commun..

[64]  Michael E. Kounavis,et al.  NetBind: a binding tool for constructing data paths in network processor-based routers , 2002, 2002 IEEE Open Architectures and Network Programming Proceedings. OPENARCH 2002 (Cat. No.02EX571).

[65]  Andrew T. Campbell,et al.  Pricing, provisioning and peering: dynamic markets for differentiated Internet services and implications for network interconnections , 2000, IEEE Journal on Selected Areas in Communications.

[66]  Aurel A. Lazar,et al.  Programming telecommunication networks , 1997, IEEE Netw..

[67]  Andrew G. Malis,et al.  A Framework for IP Based Virtual Private Networks , 2000, RFC.

[68]  Srinivasan Seshan,et al.  Handoffs in Cellular Wireless Networks: The Daedalus Implementation and Experience , 1997, Wirel. Pers. Commun..

[69]  Scott Shenker,et al.  Integrated Services in the Internet Architecture : an Overview Status of this Memo , 1994 .

[70]  Larry Peterson,et al.  Evaluating Network Processors in IP Forwarding , 2000 .

[71]  Subhash Suri,et al.  Space Decomposition Techniques for Fast Layer-4 Switching , 1999, Protocols for High-Speed Networks.

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

[73]  Andrew T. Campbell,et al.  The mobiware toolkit: programmable support for adaptive mobile networking , 1998, IEEE Wirel. Commun..

[74]  Jun Gao,et al.  Customizable virtual private network service with QoS , 2001, Comput. Networks.

[75]  Andrew T. Campbell,et al.  Open Programmable Mobile Networks , 2001 .

[76]  Sally Floyd,et al.  Wide area traffic: the failure of Poisson modeling , 1995, TNET.

[77]  David Wetherall,et al.  Next century challenges: RadioActive networks , 1999, MobiCom.

[78]  Srinivasan Keshav,et al.  An Engineering Approach to Computer Networking: ATM Networks , 1996 .

[79]  Kenneth L. Calvert,et al.  Directions in active networks , 1998 .

[80]  John V. Guttag,et al.  Virtual radios , 1999, IEEE J. Sel. Areas Commun..

[81]  Jens-Peter Redlich,et al.  Virtual networks in the Internet , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[82]  David L. Black,et al.  An Architecture for Differentiated Service , 1998 .

[83]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[84]  Sándor Molnár,et al.  On the propagation of long-range dependence in the Internet , 2000, SIGCOMM.

[85]  David J. Goodman,et al.  Wireless Personal Communications Systems , 1997 .

[86]  Murad S. Taqqu,et al.  On the Self-Similar Nature of Ethernet Traffic , 1993, SIGCOMM.

[87]  David McFarlane,et al.  IMT-2000: service provider's perspective , 1997, IEEE Wirel. Commun..

[88]  Sem C. Borst,et al.  Asymptotic behavior of generalized processor sharing with long-tailed traffic sources , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[89]  George Varghese,et al.  Packet classification for core routers: is there an alternative to CAMs? , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[90]  John H. Hartman,et al.  Liquid Software: A New Paradigm for Networked Systems , 1996 .

[91]  Andrew T. Campbell,et al.  Active filters: delivering scaled media to mobile devices , 1997, Proceedings of 7th International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV '97).

[92]  T. V. Lakshman,et al.  High-speed policy-based packet forwarding using efficient multi-dimensional range matching , 1998, SIGCOMM '98.

[93]  Helen J. Wang,et al.  Policy-enabled handoffs across heterogeneous wireless networks , 1999, Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications.

[94]  Michalis Faloutsos,et al.  On power-law relationships of the Internet topology , 1999, SIGCOMM '99.

[95]  Jeffrey H. Reed,et al.  Handoff in cellular systems , 1998, IEEE Wirel. Commun..

[96]  A. Odlyzko,et al.  Growth of the Internet , 2002 .

[97]  Lixia Zhang VirtualClock: A New Traffic Control Algorithm for Packet-Switched Networks , 1991, ACM Trans. Comput. Syst..

[98]  Mun Choon Chan,et al.  On Realizing a Broadband Kernel for Multimedia Networks , 1996, COST 237 Workshop.

[99]  A. Orda,et al.  Ieee/acm Transactions on Networking 1 Achieving Network Optima Using Stackelberg Routing Strategies , 1997 .

[100]  Srinivasan Keshav,et al.  The ENTRAPID protocol development environment , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[101]  David Wetherall,et al.  Programmable Networks , 2002, Comput. Networks.

[102]  Perry B. Gentry What is a VPN? , 2001, Inf. Secur. Tech. Rep..

[103]  D. Ferrari,et al.  A virtual network service for integrated-services internetworks , 1997, Proceedings of 7th International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV '97).

[104]  Thu D. Nguyen,et al.  Implementing network protocols at user level , 1993, TNET.

[105]  Andrew T. Campbell,et al.  On the Analysis of Cellular IP Access Networks , 1999, Protocols for High-Speed Networks.

[106]  Anja Feldmann,et al.  Tradeoffs for packet classification , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[107]  Aurel A. Lazar,et al.  Virtual path control for ATM networks with call level quality of service guarantees , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[108]  Andrew T. Campbell,et al.  Design, Implementation and Evaluation of Programmable Handoff in Mobile Networks , 2001, Mob. Networks Appl..

[109]  Hermann de Meer,et al.  A survey of programmable networks , 1999, CCRV.

[110]  David L. Tennenhouse,et al.  Toward an active network architecture , 1996, Electronic Imaging.

[111]  Paul F. Tsuchiya,et al.  A search algorithm for table entries with non-contiguous wildcarding , 1991 .

[112]  李幼升,et al.  Ph , 1989 .

[113]  Andrew T. Campbell,et al.  Programming Internet Quality of Service , 2000, USM.

[114]  Gary J. Minden,et al.  Implementation of a prototype active network , 1998, 1998 IEEE Open Architectures and Network Programming.

[115]  Angelos D. Keromytis,et al.  Active network encapsulation protocol (anep) , 1997 .

[116]  Srinivasan Keshav,et al.  Issues and trends in router design , 1998, IEEE Commun. Mag..

[117]  Svante Carlsson,et al.  Small forwarding tables for fast routing lookups , 1997, SIGCOMM '97.

[118]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[119]  Pankaj Gupta,et al.  Packet Classification using Hierarchical Intelligent Cuttings , 1999 .

[120]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[121]  Andrew T. Campbell,et al.  Utility-based Network Adaptation for MPEG-4 Systems , 1999 .

[122]  Ion Stoica,et al.  A hierarchical fair service curve algorithm for link-sharing, real-time and priority services , 1997, SIGCOMM '97.

[123]  Andrew T. Campbell,et al.  Spawning Networking Architectures (White Paper) , 1998 .

[124]  Satish K. Tripathi,et al.  Network layer mobility: an architecture and survey , 1996, IEEE Wirel. Commun..

[125]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

[126]  Andrew T. Campbell,et al.  Virtuosity: performing virtual network resource management , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[127]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[128]  Yitzchak M. Gottlieb,et al.  Building a robust software-based router using network processors , 2001, SOSP.

[129]  Aurel A. Lazar,et al.  Virtual path control for ATM networks with call level quality of service guarantees , 1998, TNET.

[130]  Mun Choon Chan,et al.  Customer Management and Control of Broadband VPN Services , 1997, Integrated Network Management.

[131]  B. Braden Active Signaling Protocols , 1998 .

[132]  Aurel A. Lazar,et al.  Realizing a Foundation for Programmability of ATM Networks with the Binding Architecture , 1996, IEEE J. Sel. Areas Commun..

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

[134]  Albert G. Greenberg,et al.  Hardware-efficient fair queueing architectures for high-speed networks , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[135]  John H. Hartman,et al.  Scout: A Communications-Oriented Operating System (Abstract) , 1994, OSDI.