AI helps you reading Science
AI generates interpretation videos
AI extracts and analyses the key points of the paper to generate videos automatically
AI parses the academic lineage of this thesis
AI extracts a summary of this paper
Our IP router demonstrates that real routers can be built by connecting small, modular elements, and our performance analysis shows that this need not come at unacceptable cost—the Click IP router is just 10% slower than Linux 2.2.10, our base system
The Click modular router
ACM Transactions on Computer Systems, no. 3 (2000): 263-297
Click is a new software architecture for building flexible and configurable routers. A Click router is assembled from packet processing modules called elements. Individual elements implement simple router functions like packet classification, queueing, scheduling, and interfacing with network devices. Complete configurations are built by ...More
PPT (Upload PPT)
- Routers are increasingly expected to do more than route packets.
- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage, and that copies bear this notice and the full citation on the first page.
- To republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee
- Routers are increasingly expected to do more than route packets
- This paper presents Click, a flexible, modular software architecture for building routers
- We present an element in Section 4.2 that, using these features, implements four variants of the random early detection dropping policy (RED) —RED, RED over multiple queues, weighted RED, and drop-fromfront RED—depending on its context in the router
- Our IP router demonstrates that real routers can be built by connecting small, modular elements, and our performance analysis shows that this need not come at unacceptable cost—the Click IP router is just 10% slower than Linux 2.2.10, our base system
- Interesting scheduling and dropping policies, complex queueing, and Differential Services can be added to the IP router by adding a couple of elements, and Click is flexible enough to support other applications as well
- The experimental setup consists of three Intel PCs running Linux 2.2.10: a source host, the router being tested, and a destination host.
- The router has two 100 Mbit Ethernet cards connected, by point-to-point links, to the source and destination hosts.
- The router hardware is a 450 MHz Intel Pentium III CPU, an Intel 440BX PCI chip set, 256 megabytes of SDRAM, and two DEC 21140 100 Mbit PCI Ethernet controllers.
- The source host has a 300 MHz Pentium II CPU and a DEC 21140 Ethernet controller.
- The source-torouter and router-to-destination links are point-to-point full-duplex 100 Mbit Ethernet
- Click’s performance goals are to forward packets quickly enough to keep typical access links busy, to impose a low cost for incremental additions to configurations, and to correctly implement complex behaviors like packet scheduling.
- Extensible, and configurable router framework.
- The authors' IP router demonstrates that real routers can be built by connecting small, modular elements, and the performance analysis shows that this need not come at unacceptable cost—the Click IP router is just 10% slower than Linux 2.2.10, the base system.
- Interesting scheduling and dropping policies, complex queueing, and Differential Services can be added to the IP router by adding a couple of elements, and Click is flexible enough to support other applications as well.
- The authors have made the Click system free software; it is available for download at http://www.pdos.lcs.mit.edu/ click/
- Table1: Average CPU time cost for basic IP forwarding in microseconds per packet
- Table2: Microbenchmarks of individual elements involved in IP forwarding, measured in nanoseconds per packet
- Several previous projects have investigated composable network software. These projects concentrated on end nodes, where packet motion is vertical (between the network and user level) rather than horizontal (between interfaces), so they aren’t as well suited as Click for routing. None of them have pull processing, explicit queues, or flow-based router context.
The x-kernel  is a framework for implementing and composing network protocols. Like a Click router, an x-kernel configuration is a graph of processing nodes, and packets are passed between nodes through virtual function calls. Unlike Click, an x-kernel configuration graph is always acyclic and layered, as x-kernel nodes were intended to represent protocols in a protocol stack. This prevents cyclic configurations like the IP router (Figure 8). Connections between nodes are bidirectional— packets travel up the graph to user level and down the graph to the network. Packets pass alternately through “protocol” nodes and “session” nodes, where the session nodes correspond to end-to-end network connections like TCP sessions; session nodes are irrelevant to most routers. The inter-node communication protocols are more complex than Click’s. Lastly, many protocol graph changes require recompilation.
- This research was supported by a National Science Foundation (NSF) Young Investigator Award and the Defense Advanced Research Projects Agency (DARPA) and Rome Laboratory under agreement number F30602-97-2-0288
- In addition, Eddie Kohler was supported by a National Science Foundation Graduate Research Fellowship
- F. Baker, editor. Requirements for IP Version 4 routers. RFC 1812, Internet Engineering Task Force, June 1995. ftp://ftp.ietf.org/rfc/rfc1812.txt.
- Y. Bernet, A. Smith, and S. Blake. A conceptual model for diffserv routers. Internet draft (work in progress), Internet Engineering Task Force, June 1999. ftp://ftp.ietf. org/drafts/draft-ietf-diffserv-model-00.txt.
- S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss. An architecture for differentiated services. RFC 2475, Internet Engineering Task Force, December 1998. ftp://ftp.ietf.org/rfc/rfc2475.txt.
- Kenjiro Cho. A framework for alternate queueing: towards traffic management by PC-UNIX based routers. In Proc. USENIX 1998 Annual Technical Conference, pages 247–258, June 1998.
- Cisco Corporation. Distributed WRED. Technical report. http://www.cisco.com/univercd/cc/td/doc/product/software/ios111/cc111/wred.htm, as of October 1999.
- Cisco Corporation. Cisco 2600 series modular access router. Technical report, April 1999. http://www.cisco.com/warp/public/cc/cisco/mkt/access/2600/prodlit/2600_ds.htm, as of October 1999.
- David Clark. The structuring of systems using upcalls. In Proc. of the 10th ACM Symposium on Operating Systems Principles (SOSP), pages 171–180, December 1985.
- Dan Decasper, Zubin Dittia, Guru Parulkar, and Bernhard Plattner. Router plugins: A software architecture for next generation routers. In Proc. ACM SIGCOMM Conference (SIGCOMM ’98), pages 229–240, October 1998.
- Daniel S. Decasper. A software architecture for next generation routers. PhD thesis, Swiss Federal Institute of Technology, Zurich, 1999.
- Mikael Degermark, Andrej Brodnik, Svante Carlsson, and Stephen Pink. Small forwarding tables for fast routing lookups. In Proc. ACM SIGCOMM Conference (SIGCOMM ’97), pages 3–14, October 1997.
- Sally Floyd and Van Jacobson. Random early detection gateways for congestion avoidance. IEEE/ACM Trans. Networking, 1(4):397–413, August 1993.
- N. C. Hutchinson and L. L. Peterson. The x-kernel: an architecture for implementing network protocols. IEEE Trans. Software Engineering, 17(1):64–76, January 1991.
- T. V. Lakshman, Arnold Neidhardt, and Teunis J. Ott. The drop from front strategy in TCP and in TCP over ATM. In Proc. IEEE Infocom, volume 3, pages 1242– 1250, March 1996.
- Steven McCanne and Van Jacobson. The BSD packet filter: A new architecture for user-level packet capture. In Proc. Winter 1993 USENIX Conference, pages 259–269, January 1993.
- P. E. McKenney. Stochastic fairness queueing. In Proc. IEEE Infocom, volume 2, pages 733–740, June 1990.
- David L. Mills. The Fuzzball. In Proc. ACM SIGCOMM Conference (SIGCOMM ’88), pages 115–122, August 1988.
- Jeffrey C. Mogul and K. K. Ramakrishnan. Eliminating receive livelock in an interrupt-driven kernel. ACM Trans. Computer Systems, 15(3):217–252, August 1997.
- David Mosberger and Larry L. Peterson. Making paths explicit in the Scout operating system. In Proc. 2nd Symposium on Operating Systems Design and Implementation (OSDI ’96), pages 153–167, October 1996.
- Peter Newman, Greg Minshall, and Thomas L. Lyon. IP switching—ATM under IP. IEEE/ACM Trans. Networking, 6(2):117–129, April 1998.
- K. Nichols, S. Blake, F. Baker, and D. Black. Definition of the Differentiated Services field (DS field) in the IPv4 and IPv6 headers. RFC 2474, Internet Engineering Task Force, December 1998. ftp://ftp.ietf.org/rfc/ rfc2474.txt.
- Craig Partridge et al. A 50-Gb/s IP router. IEEE/ACM Trans. Networking, 6(3):237–248, June 1998.
- Larry L. Peterson, Scott C. Karlin, and Kai Li. OS support for general-purpose routers. In Proc. 7th Workshop on Hot Topics in Operating Systems (HotOS-VII), pages 38–43. IEEE Computer Society Technical Committee on Operating Systems, March 1999.
- J. Postel, editor. Internet Protocol. RFC 791, Internet Engineering Task Force, September 1981. ftp://ftp. ietf.org/rfc/rfc0791.txt.
- J. Postel. Internet Control Message Protocol. RFC 792, Internet Engineering Task Force, September 1981. ftp://ftp.ietf.org/rfc/rfc0792.txt.
- D. M. Ritchie. A stream input-output system. AT&T Bell Laboratories Technical Journal, 63(8):1897–1910, October 1984.
- Jonathan M. Smith, Kenneth L. Calvert, Sandra L. Murphy, Hilarie K. Orman, and Larry L. Peterson. Activating networks: a progress report. IEEE Computer, 32(4):32– 41, April 1999.
- David L. Tennenhouse, Jonathan M. Smith, W. David Sincoskie, David J. Wetherall, and Gary J. Minden. A survey of active network research. IEEE Communications Magazine, 35(1):80–86, January 1997.
- Kevin Thompson, Gregory J. Miller, and Rick Wilder. Wide-area Internet traffic patterns and characteristics. IEEE Network, 11(6):10–23, November/December 1997.
- Marcel Waldvogel, George Varghese, Jon Turner, and Bernhard Plattner. Scalable high speed IP routing lookups. In Proc. ACM SIGCOMM Conference (SIGCOMM ’97), pages 25–38, October 1997.
- John Wroclawski. Fast PC routers. Technical report, MIT LCS Advanced Network Architecture Group, January 1997. http://mercury.lcs.mit.edu/PC-Routers/pcrouter.html, as of October 1999.