Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3563766.3564114acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Open access

Getting back what was lost in the era of high-speed software packet processing

Published: 14 November 2022 Publication History

Abstract

The need for high performance and custom software-based packet processing has resulted in decades of research. Most proposals bypass or replace the Linux networking stack with the unfortunate consequence of sacrificing the rich and robust functionality available within Linux and the ecosystem of management programs and control-plane software built on top of it. In this paper, we propose to rethink the design of the Linux network stack to address its shortcomings rather than creating alternative pipelines. This re-design involves (1) decomposing packet processing into a fast path and a slow path, and (2) transparently and dynamically creating a custom fast path that only implements the processing tasks currently configured. We leverage Linux's eXpress Data Path to load efficient and small fast-path modules, leaving the kernel stack to serve as the slow path. To materialize this vision, this paper introduces Transparent Network Acceleration (TNA), a prototype system that automatically generates a minimal data path based on introspection of the current networking configuration, avoiding many of the networking stack overheads in Linux while ensuring high performance and maintaining Linux's rich set of functionalities.

References

[1]
Marcelo Abranches and Eric Keller. 2020. A Userspace Transport Stack Doesn't Have to Mean Losing Linux Processing. In IEEE NFV-SDN. IEEE.
[2]
Marcelo Abranches, Oliver Michel, Eric Keller, and Stefan Schmid. 2021. Efficient Network Monitoring Applications in the Kernel with eBPF and XDP. In IEEE NFV-SDN. IEEE.
[3]
bpfhelpers 2021. Linux, bpf-helpers(7) --- Linux manual page. https://man7.org/linux/man-pages/man7/bpf-helpers.7.html. (2021). Retrieved June 10, 2022.
[4]
bridge 2012. Linux, bridge(8) --- Linux manual page. https://man7.org/linux/man-pages/man8/bridge.8.html. (2012). Retrieved June 10, 2022.
[5]
Qizhe Cai, Shubham Chaudhary, Midhul Vuppalapati, Jaehyun Hwang, and Rachit Agarwal. 2021. Understanding host network stack overheads. In ACM SIGCOMM.
[6]
Cloudflare. 2017. Broken packets: IP fragmentation is flawed. https://blog.cloudflare.com/ip-fragmentation-is-broken/. (2017). Retrieved June 10, 2022.
[7]
DPDK Project. 2022. Data Plane Development Kit. (2022). Retrieved June 13, 2022, from https://www.dpdk.org.
[8]
Daniel E. Eisenbud, Cheng Yi, Carlo Contavalli, Cody Smith, Roman Kononov, Eric Mann-Hielscher, Ardas Cilingiroglu, Bin Cheyney, Wentao Shang, and Jinnah Dylan Hosein. 2016. Maglev: A Fast and Reliable Software Network Load Balancer. In USENIX NSDI.
[9]
Open Networking Foundation. 2022. Aether. (2022). Retrieved June 16, 2022, from https://opennetworking.org/aether.
[10]
The Linux Foundation. 2022. iproute2. (2022). Retrieved June 21, 2022, from https://wiki.linuxfoundation.org/networking/iproute2.
[11]
FRR Project. 2022. FRRouting Project. (2022). Retrieved June 14, 2022, from https://frrouting.org.
[12]
Toke Høiland-Jørgensen, Jesper Dangaard Brouer, Daniel Borkmann, John Fastabend, Tom Herbert, David Ahern, and David Miller. 2018. The express data path: Fast programmable packet processing in the operating system kernel. In ACM CoNext.
[13]
N. Hutchinson and L. Peterson. 1988. Design of the X-Kernel. In ACM SIGCOMM. 11.
[14]
EunYoung Jeong, Shinae Wood, Muhammad Jamshed, Haewon Jeong, Sunghwan Ihm, Dongsu Han, and KyoungSoo Park. 2014. mTCP: A Highly Scalable User-level TCP Stack for Multicore Systems. In USENIX NSDI.
[15]
Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. 2000. The Click Modular Router. Transactions on Computer Systems 18, 3 (aug 2000), 35.
[16]
Teemu Koponen, Keith Amidon, Peter Balland, Martin Casado, Anupam Chanda, Bryan Fulton, Igor Ganichev, Jesse Gross, Paul Ingram, Ethan Jackson, Andrew Lambeth, Romain Lenglet, Shih-Hao Li, Amar Padmanabhan, Justin Pettit, Ben Pfaff, Rajiv Ramanathan, Scott Shenker, Alan Shieh, Jeremy Stribling, Pankaj Thakkar, Dan Wendlandt, Alexander Yip, and Ronghua Zhang. 2014. Network Virtualization in Multi-tenant Datacenters. In USENIX NSDI.
[17]
Sebastiano Miano, Fulvio Risso, Mauricio Vásquez Bernal, Matteo Bertrone, and Yunsong Lu. 2021. A Framework for eBPF-Based Network Functions in an Era of Microservices. IEEE TNSM 18, 1 (2021).
[18]
Jaehyun Nam, Seungsoo Lee, Hyunmin Seo, Phil Porras, Vinod Yegneswaran, and Seungwon Shin. 2020. BASTION: A Security Enforcement Network Stack for Container Networks. In USENIX ATC.
[19]
netlink 2021. netlink(7) --- Linux manual page. https://man7.org/linux/man-pages/man7/netlink.7.html. (2021). Retrieved June 10, 2022.
[20]
Netronome Systems Inc. 2020. Netronome NFP-4000 Flow Processor Product Brief. (2020). Retrieved June 17, 2021 from https://www.netronome.com/media/documents/PB_NFP-4000-7-20.pdf.
[21]
NTOP. 2022. PF_RING: High-speed packet capture, filtering and analysis. (2022). Retrieved June 13, 2022, from https://www.ntop.org/products/packet-capture/pf_ring.
[22]
Cisco Press. 2018. BGP Fundamentals. https://www.ciscopress.com/articles/article.asp?p=2756480. (2018). Retrieved June 10, 2022.
[23]
Luigi Rizzo. 2012. netmap: A Novel Framework for Fast Packet I/O. In USENIX ATC.
[24]
Nikita Shirokov and Ranjeeth Dasineni. 2018. Open-sourcing Katran, a scalable network load balancer. (2018). Retrieved June 13, 2022, from https://engineering.fb.com/2018/05/22/open-source/open-sourcing-katran-a-scalable-network-load-balancer.
[25]
strongSwan Project. 2022. strongSwan: the OpenSource IPsec-based VPN Solution. (2022). Retrieved June 16, 2022, from https://www.strongswan.org.
[26]
Tigera, Inc. 2022. Project Calico. (2022). Retrieved June 15, 2022, from https://www.tigera.io/project-calico.
[27]
weaveworks. 2022. Weave Net. (2022). Retrieved June 16, 2022, from https://www.weave.works/oss/net.
[28]
Irene Zhang, Amanda Raybuck, Pratyush Patel, Kirk Olynyk, Jacob Nelson, Omar S. Navarro Leija, Ashlie Martinez, Jing Liu, Anna Kornfeld Simpson, Sujay Jayakar, Pedro Henrique Penna, Max Demoulin, Piali Choudhury, and Anirudh Badam. 2021. The Demikernel Datapath OS Architecture for Microsecond-Scale Datacenter Systems. In ACM SOSP. 17.

Cited By

View all
  • (2024)SPRIGHT: High-Performance eBPF-Based Event-Driven, Shared-Memory Processing for Serverless ComputingIEEE/ACM Transactions on Networking10.1109/TNET.2024.336656132:3(2539-2554)Online publication date: Jun-2024
  • (2023)MiddleNet: A Unified, High-Performance NFV and Middlebox Framework With eBPF and DPDKIEEE Transactions on Network and Service Management10.1109/TNSM.2023.325689120:4(3950-3967)Online publication date: 14-Mar-2023

Index Terms

  1. Getting back what was lost in the era of high-speed software packet processing

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    HotNets '22: Proceedings of the 21st ACM Workshop on Hot Topics in Networks
    November 2022
    252 pages
    ISBN:9781450398992
    DOI:10.1145/3563766
    This work is licensed under a Creative Commons Attribution International 4.0 License.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 November 2022

    Check for updates

    Author Tags

    1. NFV
    2. middlexboxes
    3. network management
    4. network stacks

    Qualifiers

    • Research-article

    Funding Sources

    • NSF CAREER
    • Capes - Brasil

    Conference

    HotNets '22
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 110 of 460 submissions, 24%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)172
    • Downloads (Last 6 weeks)17
    Reflects downloads up to 03 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)SPRIGHT: High-Performance eBPF-Based Event-Driven, Shared-Memory Processing for Serverless ComputingIEEE/ACM Transactions on Networking10.1109/TNET.2024.336656132:3(2539-2554)Online publication date: Jun-2024
    • (2023)MiddleNet: A Unified, High-Performance NFV and Middlebox Framework With eBPF and DPDKIEEE Transactions on Network and Service Management10.1109/TNSM.2023.325689120:4(3950-3967)Online publication date: 14-Mar-2023

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media