skip to main content
research-article

CliMB: Enabling Network Function Composition with Click Middleboxes

Published: 23 December 2016 Publication History

Abstract

Click has significant advantages for middlebox development, including modularity, extensibility, and reprogrammability. Despite these features, Click still has no native TCP support and only uses nonblocking I/O, preventing its applicability to middleboxes that require access to application data and blocking I/O. In this paper, we attempt to bridge this gap by introducing Click middleboxes (CliMB). CliMB provides a full-fledged modular TCP layer supporting TCP options, congestion control, both blocking and nonblocking I/O, as well as socket and zero-copy APIs to applications. As a result, any TCP network function may now be realized in Click using a modular L2-L7 design. As proof of concept, we develop a zero-copy SOCKS proxy using CliMB that shows up to 4x gains compared to an equivalent implementation using the Linux in-kernel network stack.

References

[1]
J. Anderson, R. Braud, R. Kapoor, G. Porter, and A. Vahdat. xOMB: Extensible Open Middleboxes with Commodity Servers. In Proc. of ACM/IEEE ANCS, 2012.
[2]
B. Anwer, T. Benson, N. Feamster, and D. Levin. Programming Slick Network Functions. In Proc. of ACM SOSR, 2015.
[3]
T. Barbette, C. Soldani, and L. Mathy. Fast Userspace Packet Processing. In Proc. of ACM/IEEE ANCS, 2015.
[4]
A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion. IX: A Protected Dataplane Operating System for High Throughput and Low Latency. In Proc. of USENIX OSDI, 2014.
[5]
M. Bezahaf, A. Alim, and L. Mathy. FlowOS: A Flow-based Platform for Middleboxes. In Proc. of ACM HotMiddleboxes, 2013.
[6]
A. Bremler-Barr, Y. Harchol, and D. Hay. OpenBox: A Software-Defined Framework for Developing, Deploying, and Managing Network Functions. In Proc. of ACM SIGCOMM, 2016.
[7]
J. Hwang, K. K. Ramakrishnan, and T. Wood. NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms. In Proc. of USENIX NSDI, 2014.
[8]
Intel DPDK framework. http://dpdk.org.
[9]
E. Jeong, S. Wood, M. Jamshed, H. Jeong, S. Ihm, D. Han, and K. Park. mTCP: a Highly Scalable User-level TCP Stack for Multicore Systems. In Proc. of USENIX NSDI, 2014.
[10]
J. Kim, K. Jang, K. Lee, S. Ma, J. Shim, and S. Moon. NBA (Network Balancing Act): A High-performance Packet Processing Framework for Heterogeneous Processors. In Proc. of EuroSys, 2015.
[11]
E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. ACM Trans. Comput. Syst., 2000.
[12]
I. Marinos, R. N. Watson, and M. Handley. Network Stack Specialization for Performance. In Proc. of ACM SIGCOMM, 2014.
[13]
J. Martins, M. Ahmed, C. Raiciu, V. Olteanu, M. Honda, R. Bifulco, and F. Huici. ClickOS and the Art of Network Function Virtualization. In Proc. of USENIX NSDI, 2014.
[14]
S. Palkar, C. Lan, S. Han, K. Jang, A. Panda, S. Ratnasamy, L. Rizzo, and S. Shenker. E2: A Framework for NFV Applications. In Proc. of ACM SOSP, 2015.
[15]
D. Perino, M. Gallo, R. Laufer, Z. B. Houidi, and F. Pianese. A Programmable Data Plane for Heterogeneous NFV Platforms. In Proc. of IEEE INFOCOM SWFAN workshop, 2016.
[16]
L. Rizzo. netmap: A Novel Framework for Fast Packet I/O. In Proc. of USENIX Security, 2012.
[17]
V. Sekar, N. Egi, S. Ratnasamy, M. Reiter, and G. Shi. Design and Implementation of a Consolidated Middlebox Architecture. In Proc. of USENIX NSDI, 2012.
[18]
J. Sherry, S. Hasan, C. Scott, A. Krishnamurthy, S. Ratnasamy, and V. Sekar. Making Middleboxes Someone Else's Problem: Network Processing As a Cloud Service. In Proc. of ACM SIGCOMM, 2012.
[19]
W. Sun and R. Ricci. Fast and Flexible: Parallel Packet Processing with GPUs and Click. In Proc. of IEEE/ACM ANCS, 2013.
[20]
S. Woo, K. Jang, D. Han, and K. Park. Towards an Open Middlebox Platform for Modular Function Composition. In Proc. of USENIX NSDI, poster, 2012.

Cited By

View all
  • (2022)Gaviss : Boosting the Performance of GPU-Accelerated NFV Systems via Data SharingIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2022.319336833:12(4472-4483)Online publication date: 1-Dec-2022
  • (2022)SAP: Subchain-Aware NFV Service Placement in Mobile Edge CloudIEEE Transactions on Network and Service Management10.1109/TNSM.2022.320138820:1(319-341)Online publication date: 24-Aug-2022
  • (2021)A Framework for eBPF-Based Network Functions in an Era of MicroservicesIEEE Transactions on Network and Service Management10.1109/TNSM.2021.305567618:1(133-151)Online publication date: 1-Mar-2021
  • Show More Cited By

Index Terms

  1. CliMB: Enabling Network Function Composition with Click Middleboxes

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM SIGCOMM Computer Communication Review
      ACM SIGCOMM Computer Communication Review  Volume 46, Issue 4
      October 2016
      40 pages
      ISSN:0146-4833
      DOI:10.1145/3027947
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 23 December 2016
      Published in SIGCOMM-CCR Volume 46, Issue 4

      Check for updates

      Author Tags

      1. Click router
      2. Middle boxes
      3. TCP

      Qualifiers

      • Research-article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)15
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 14 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2022)Gaviss : Boosting the Performance of GPU-Accelerated NFV Systems via Data SharingIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2022.319336833:12(4472-4483)Online publication date: 1-Dec-2022
      • (2022)SAP: Subchain-Aware NFV Service Placement in Mobile Edge CloudIEEE Transactions on Network and Service Management10.1109/TNSM.2022.320138820:1(319-341)Online publication date: 24-Aug-2022
      • (2021)A Framework for eBPF-Based Network Functions in an Era of MicroservicesIEEE Transactions on Network and Service Management10.1109/TNSM.2021.305567618:1(133-151)Online publication date: 1-Mar-2021
      • (2021)Click-UP: Toward the Software Upgrade of Click-Based Modular Network FunctionIEEE Systems Journal10.1109/JSYST.2020.297917015:1(1160-1171)Online publication date: Mar-2021
      • (2021)Performance benchmarking of state-of-the-art software switches for NFVComputer Networks10.1016/j.comnet.2021.107861188(107861)Online publication date: Apr-2021
      • (2019)Comparing the performance of state-of-the-art software switches for NFVProceedings of the 15th International Conference on Emerging Networking Experiments And Technologies10.1145/3359989.3365415(68-81)Online publication date: 3-Dec-2019
      • (2019)Transparent AR Processing Acceleration at the EdgeProceedings of the 2nd International Workshop on Edge Systems, Analytics and Networking10.1145/3301418.3313942(30-35)Online publication date: 25-Mar-2019
      • (2019)XTRA: Towards Portable Transport Layer FunctionsIEEE Transactions on Network and Service Management10.1109/TNSM.2019.294846716:4(1507-1521)Online publication date: Dec-2019
      • (2019)FloWatcher-DPDK: Lightweight Line-Rate Flow-Level Monitoring in SoftwareIEEE Transactions on Network and Service Management10.1109/TNSM.2019.291371016:3(1143-1156)Online publication date: Sep-2019
      • (2019)Challenges and solutions in Software Defined Networking: A surveyJournal of Network and Computer Applications10.1016/j.jnca.2019.04.020Online publication date: May-2019
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media