Active bridging

Active networks accelerate network evolution by permitting the network infrastructure to be programmable, on a per-user, per-packet, or other basis. This programmability must be balanced against the safety and security needs inherent in shared resources.This paper describes the design, implementation, and performance of a new type of network element, an Active Bridge. The active bridge can be reprogrammed "on the fly", with loadable modules called switchlets. To demonstrate the use of the active property, we incrementally extend what is initially a programmable buffered repeater with switchlets into a self-learning bridge, and then a bridge supporting spanning tree algorithms. To demonstrate the agility that active networking gives, we show how it is possible to upgrade a network from an "old" protocol to a "new" protocol on-the-fly. Moreover, we are able to take advantage of information unavailable to the implementors of either protocol to validate the new protocol and fall back to the old protocol if an error is detected. This shows that the Active Bridge can protect itself from some algorithmic failures in loadable modules.Our approach to safety and security favors static checking and prevention over dynamic checks when possible. We rely on strong type checking in the Caml language for the loadable module infrastructure, and achieve respectable performance. The prototype implementation on a Pentium-based HP Netserver LS running Linux with 100 Mbps Ethernet LANS achieves ttcp throughput of 16 Mbps between two PCs running Linux, compared with 76 Mbps unbridged. Measured frame rates are in the neighborhood of 1800 frames per second.

[1]  George Varghese,et al.  Transparent Interconnection of Incompatible Local Area Networks Using Bridges , 1990, IEEE J. Sel. Areas Commun..

[2]  Andrew W. Appel,et al.  A Standard ML compiler , 1987, FPCA.

[3]  François Rouaix A Web Navigator with Applets in Caml , 1996, Comput. Networks.

[4]  Dawson R. Engler,et al.  ASHs: Application-Specific Handlers for High-Performance Messaging , 1996, SIGCOMM.

[5]  W.D. Sincoskie,et al.  Extended bridge algorithms for large networks , 1988, IEEE Network.

[6]  Robin Fairbairns,et al.  The Design and Implementation of an Operating System to Support Distributed Multimedia Applications , 1996, IEEE J. Sel. Areas Commun..

[7]  Robbert van Renesse Masking the Overhead of Protocol Layering , 1996, SIGCOMM.

[8]  Robbert van Renesse Masking the overhead of protocol layering , 1996, SIGCOMM 1996.

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

[10]  David Clark,et al.  An analysis of TCP processing overhead , 1989 .

[11]  Jonathan M. Smith,et al.  Switchware: accelerating network evolution , 1996 .

[12]  Sushil da Silva,et al.  TOWARDS PROGRAMMABLE NETWORKS , 1996 .

[13]  Tom Rees,et al.  The butterfly satellite IMP for the wideband packet satellite network , 1986, SIGCOMM '86.

[14]  Frann Cois Rouaix A Web Navigator with Applets in Caml , 1996 .

[15]  Scott Nettles,et al.  Concurrent replicating garbage collection , 1994, LFP '94.

[16]  J. G. Robinson,et al.  Pluribus—An operational fault-tolerant multiprocessor , 1978, Proceedings of the IEEE.

[17]  Karen R. Sollins,et al.  TFTP Protocol (revision 2) , 1981, RFC.

[18]  H. Salwen,et al.  An analysis of TCP processing overhead , 1989, Proceedings [1988] 13th Conference on Local Computer Networks.

[19]  Radia Perlman Interconnections: Bridges and Routers , 1992 .

[20]  George Varghese,et al.  Transparent interconnection of incompatible local area networks using bridges , 1987, Computer Communication Review.

[21]  David Clark,et al.  Supporting Real-Time Applications in an Integrated Services Packet Network: Architecture and Mechanism , 1992, SIGCOMM.

[22]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

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

[24]  S. L. Graham,et al.  List Processing in Real Time on a Serial Computer , 1978 .

[25]  PasqualeJoseph,et al.  The importance of non-data touching processing overheads in TCP/IP , 1993 .

[26]  Jon Postel,et al.  User Datagram Protocol , 1980, RFC.

[27]  Edoardo Biagioni A Structured TCP in Standard ML , 1994, SIGCOMM.

[28]  Joyce L. Vedral,et al.  Functional Programming Languages and Computer Architecture , 1989, Lecture Notes in Computer Science.

[29]  B. Hawe,et al.  Transparent interconnection of local area networks with bridges , 1984 .

[30]  Damien Doligez,et al.  A concurrent, generational garbage collector for a multithreaded implementation of ML , 1993, POPL '93.

[31]  Edoardo Biagioni A structured TCP in standard ML. , 1994, SIGCOMM 1994.

[32]  Joseph Pasquale,et al.  The importance of non-data touching processing overheads in TCP/IP , 1993, SIGCOMM '93.

[33]  David L. Tennenhouse,et al.  The ACTIVE IP option , 1996, EW 7.

[34]  Robin Milner,et al.  Definition of standard ML , 1990 .

[35]  Scott Nettles,et al.  Real-time replication garbage collection , 1993, PLDI '93.

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

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