skip to main content
article
Free Access

The click modular router

Published:01 August 2000Publication History
Skip Abstract Section

Abstract

Clicks 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, queuing, scheduling, and interfacing with network devices. A router configurable is a directed graph with elements at the vertices; packets flow along the edges of the graph. Several features make individual elements more powerful and complex configurations easier to write, including pull connections, which model packet flow drivn by transmitting hardware devices, and flow-based router context, which helps an element locate other interesting elements. Click configurations are modular and easy to extend. A standards-compliant Click IP router has 16 elements on its forwarding path; some of its elements are also useful in Ethernet switches and IP tunnelling configurations. Extending the IP router to support dropping policies, fairness among flows, or Differentiated Services simply requires adding a couple of element at the right place. On conventional PC hardware, the Click IP router achieves a maximum loss-free forwarding rate of 333,000 64-byte packets per second, demonstrating that Click's modular and flexible architecture is compatible with good performance.

References

  1. BAKER, F. 1995. Requirements for IP Version 4 routers. RFC 1812 (June), Internet Engi-neering Task Force. ftp://ftp.ietf.org/rfc/rfc1812.txt.]] Google ScholarGoogle Scholar
  2. BLAKE, S., BLACK, D., CARLSON, M., DAVIES, E., WANG, Z., AND WEISS, W. 1998. An architec-ture for differentiated services. RFC 2475 (Dec.), Internet Engineering Task Force. ftp:// ftp.ietf.org/rfc/rfc2475.txt.]] Google ScholarGoogle Scholar
  3. CHO, K. 1998. A framework for alternate queueing: towards traffic management by PC-UNIX based routers. In Proc. USENIX 1998 Annual Technical Conference (June 1998), pp. 247-258.]] Google ScholarGoogle Scholar
  4. CISCO CORPORATION. 1999. Distributed WRED. Technical report. http://www.cisco.com/ univercd/cc/td/doc/product/software/ios111/cc111/wred.htm, as of January 2000.]]Google ScholarGoogle Scholar
  5. CLARK, D. 1985. The structuring of systems using upcalls. In Proc. of the 10th ACM Symposium on Operating Systems Principles (SOSP) (Dec. 1985), pp. 171-180.]] Google ScholarGoogle Scholar
  6. DECASPER, D., DITTIA, Z., PARULKAR, G., AND PLATTNER, B. 1998. Router plugins: A software architecture for next generation routers. In Proc. ACM SIGCOMM Conference (SIGCOMM '98) (Oct. 1998), pp. 229-240.]] Google ScholarGoogle Scholar
  7. DECASPER, D. S. 1999. A software architecture for next generation routers. Ph.D. thesis, Swiss Federal Institute of Technology, Zurich.]]Google ScholarGoogle Scholar
  8. DEGERMARK, M., BRODNIK, A., CARLSSON, S., AND PINK, S. 1997. Small forwarding tables for fast routing lookups. In Proc. ACM SIGCOMM Conference (SIGCOMM '97) (Oct. 1997), pp. 3-14.]] Google ScholarGoogle Scholar
  9. DIGITAL EQUIPMENT CORPORATION. 1998. DIGITAL Semiconductor 21140A PCI Fast Ether-net LAN Controller Hardware Reference Manual. http://developer.intel.com/ design/network/manuals.]]Google ScholarGoogle Scholar
  10. DRUSCHEL, P., PETERSON, L., AND DAVIE, B. 1994. Experiences with a high-speed network adaptor: A software perspective. In Proc. ACM SIGCOMM Conference (SIGCOMM '94) (Aug. 1994), pp. 2-13.]] Google ScholarGoogle Scholar
  11. ELISCHER,J.AND COBBS, A. 1998. The Netgraph networking system. Technical report (Jan.), Whistle Communications. http://www.elischer.com/netgraph/, as of July 2000.]]Google ScholarGoogle Scholar
  12. FLOYD,S.AND JACOBSON, V. 1993. Random early detection gateways for congestion avoid-ance. IEEE/ACM Trans. Networking 1, 4 (Aug.), 397-413.]] Google ScholarGoogle Scholar
  13. HUTCHINSON,N.C.AND PETERSON, L. L. 1991. The x-kernel: an architecture for implement-ing network protocols. IEEE Trans. Software Engineering 17, 1 (Jan.), 64-76.]] Google ScholarGoogle Scholar
  14. INTEL CORPORATION. 1996. Pentium Pro Family Developer's Manual, Volume 3. http:// developer.intel.com/design/pro/manuals.]]Google ScholarGoogle Scholar
  15. KOHLER, E. 2000. The Click modular router. Ph.D. thesis, Laboratory for Computer Science, Massachusetts Institute of Technology.]] Google ScholarGoogle Scholar
  16. LAKSHMAN,T.V.,NEIDHARDT, A., AND OTT, T. J. 1996. The drop from front strategy in TCP and in TCP over ATM. In Proc. IEEE Infocom, Volume 3 (March 1996), pp. 1242-1250.]]Google ScholarGoogle Scholar
  17. MCCANNE,S.AND JACOBSON, V. 1993. The BSD packet filter: A new architecture for user-level packet capture. In Proc. Winter 1993 USENIX Conference (Jan. 1993), pp. 259-269.]] Google ScholarGoogle Scholar
  18. MCKENNEY, P. E. 1990. Stochastic fairness queueing. In Proc. IEEE Infocom, Volume 2 (June 1990), pp. 733-740.]]Google ScholarGoogle Scholar
  19. MILLS, D. L. 1988. The Fuzzball. In Proc. ACM SIGCOMM Conference (SIGCOMM '88) (Aug. 1988), pp. 115-122.]] Google ScholarGoogle Scholar
  20. MOGUL,J.C.AND RAMAKRISHNAN, K. K. 1997. Eliminating receive livelock in an interrupt-driven kernel. ACM Trans. Computer Systems 15, 3 (Aug.), 217-252.]] Google ScholarGoogle Scholar
  21. MORRIS, R., KOHLER, E., JANNOTTI, J., AND KAASHOEK, M. F. 1999. The Click modular router. In Proc. of the 17th ACM Symposium on Operating Systems Principles (SOSP) (Dec. 1999), pp. 217-231.]] Google ScholarGoogle Scholar
  22. MOSBERGER,D.AND PETERSON, L. L. 1996. Making paths explicit in the Scout operating system. In Proc. 2nd Symposium on Operating Systems Design and Implementation (OSDI '96) (Oct. 1996), pp. 153-167.]] Google ScholarGoogle Scholar
  23. NEWMAN, P., MINSHALL, G., AND LYON, T. L. 1998. IP switching:ATM under IP. IEEE/ACM Trans. Networking 6, 2 (April), 117-129.]] Google ScholarGoogle Scholar
  24. NICHOLS, K., BLAKE, S., BAKER, F., AND BLACK, D. 1998. Definition of the Differentiated Services field (DS field) in the IPv4 and IPv6 headers. RFC 2474 (Dec.), Internet Engineer-ing Task Force. ftp://ftp.ietf.org/rfc/rfc2474.txt.]] Google ScholarGoogle Scholar
  25. PARTRIDGE, C., CARVEY,P.P.,BURGESS, E., CASTINEYRA, I., CLARKE, T., GRAHAM, L., HATHAWAY, M., HERMAN, P., KING, A., KOHALMI, S., MA, T., MCALLEN, J., MENDEZ, T., MILLIKEN,W.C., PETTYJOHN, R., ROKOSZ, J., SEEGER, J., SOLLINS, M., STORCH, S., TOBER, B., TROXEL,G.D., WAITZMAN, D., AND WINTERBLE, S. 1998. A 50-Gb/s IP router. IEEE/ACM Trans. Network-ing 6, 3 (June), 237-248.]] Google ScholarGoogle Scholar
  26. PETERSON,L.L.,KARLIN,S.C.,AND LI, K. 1999. OS support for general-purpose routers. In Proc. 7th Workshop on Hot Topics in Operating Systems (HotOS-VII) (March 1999), pp. 38-43. IEEE Computer Society Technical Committee on Operating Systems.]] Google ScholarGoogle Scholar
  27. POSTEL, J. 1981a. Internet Protocol. RFC 791 (Sept.), Internet Engineering Task Force. ftp://ftp.ietf.org/rfc/rfc0792.txt.]]Google ScholarGoogle Scholar
  28. POSTEL, J. 1981b. Internet Control Message Protocol. RFC 792 (Sept.), Internet Engineer-ing Task Force. ftp://ftp.ietf.org/rfc/rfc0791.txt.]] Google ScholarGoogle Scholar
  29. RITCHIE, D. M. 1984. A stream input-output system. AT&T Bell Laboratories Technical Journal 63, 8 (Oct.), 1897-1910.]]Google ScholarGoogle Scholar
  30. SMITH,J.M.,CALVERT,K.L.,MURPHY,S.L.,ORMAN,H.K.,AND PETERSON, L. L. 1999. Activating networks: a progress report. IEEE Computer 32, 4 (April), 32-41.]] Google ScholarGoogle Scholar
  31. TENNENHOUSE,D.L.,SMITH,J.M.,SINCOSKIE, W., WETHERALL,D.J.,AND MINDEN, G. J. 1997. A survey of active network research. IEEE Communications Magazine 35, 1 (Jan.), 80-86.]]Google ScholarGoogle Scholar
  32. WALDSPURGER,C.A.AND WEIHL, W. E. 1995. Stride scheduling: deterministic proportional-share resource management. Technical Memo MIT/LCS/TM-528 (June), MIT Laboratory for Computer Science.]] Google ScholarGoogle Scholar
  33. WALDVOGEL, M., VARGHESE, G., TURNER, J., AND PLATTNER, B. 1997. Scalable high speed IP routing lookups. In Proc. ACM SIGCOMM Conference (SIGCOMM '97) (Oct. 1997), pp. 25-38.]] Google ScholarGoogle Scholar
  34. WROCLAWSKI, J. 1997. Fast PC routers. Technical report (Jan.), MIT LCS Advanced Net-work Architecture Group. http://mercury.lcs.mit.edu/PC-Routers/pcrouter.html, as of July 2000.]]Google ScholarGoogle Scholar

Index Terms

  1. The click modular router

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Computer Systems
            ACM Transactions on Computer Systems  Volume 18, Issue 3
            Aug. 2000
            136 pages
            ISSN:0734-2071
            EISSN:1557-7333
            DOI:10.1145/354871
            Issue’s Table of Contents

            Copyright © 2000 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 August 2000
            Published in tocs Volume 18, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader