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.
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- DECASPER, D. S. 1999. A software architecture for next generation routers. Ph.D. thesis, Swiss Federal Institute of Technology, Zurich.]]Google Scholar
- 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 Scholar
- DIGITAL EQUIPMENT CORPORATION. 1998. DIGITAL Semiconductor 21140A PCI Fast Ether-net LAN Controller Hardware Reference Manual. http://developer.intel.com/ design/network/manuals.]]Google Scholar
- 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 Scholar
- 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 Scholar
- FLOYD,S.AND JACOBSON, V. 1993. Random early detection gateways for congestion avoid-ance. IEEE/ACM Trans. Networking 1, 4 (Aug.), 397-413.]] Google Scholar
- 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 Scholar
- INTEL CORPORATION. 1996. Pentium Pro Family Developer's Manual, Volume 3. http:// developer.intel.com/design/pro/manuals.]]Google Scholar
- KOHLER, E. 2000. The Click modular router. Ph.D. thesis, Laboratory for Computer Science, Massachusetts Institute of Technology.]] Google Scholar
- 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 Scholar
- 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 Scholar
- MCKENNEY, P. E. 1990. Stochastic fairness queueing. In Proc. IEEE Infocom, Volume 2 (June 1990), pp. 733-740.]]Google Scholar
- MILLS, D. L. 1988. The Fuzzball. In Proc. ACM SIGCOMM Conference (SIGCOMM '88) (Aug. 1988), pp. 115-122.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- NEWMAN, P., MINSHALL, G., AND LYON, T. L. 1998. IP switching:ATM under IP. IEEE/ACM Trans. Networking 6, 2 (April), 117-129.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- POSTEL, J. 1981a. Internet Protocol. RFC 791 (Sept.), Internet Engineering Task Force. ftp://ftp.ietf.org/rfc/rfc0792.txt.]]Google Scholar
- POSTEL, J. 1981b. Internet Control Message Protocol. RFC 792 (Sept.), Internet Engineer-ing Task Force. ftp://ftp.ietf.org/rfc/rfc0791.txt.]] Google Scholar
- RITCHIE, D. M. 1984. A stream input-output system. AT&T Bell Laboratories Technical Journal 63, 8 (Oct.), 1897-1910.]]Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- The click modular router
Recommendations
The Click modular router
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, ...
The Click modular router
SOSP '99: Proceedings of the seventeenth ACM symposium on Operating systems principlesClick 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, ...
No Administration Protocol (NAP) for IPv6 router auto-configuration
This paper outlines the concept of auto-organisation in IPv6 networks. If the auto-configuration of hosts is defined by IPv6 and mandatory, these mechanisms can not be assimilated to a fully plug and play feature, as IPv6 routers still have to be ...
Comments