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

Forwarding and routing with packet subscriptions

Published: 24 November 2020 Publication History

Abstract

In this paper, we explore how programmable data planes can naturally provide a higher-level of service to user applications via a new abstraction called packet subscriptions. Packet subscriptions generalize forwarding rules, and can be used to express both traditional routing and more esoteric, content-based approaches. We present strategies for routing with packet subscriptions in which a centralized controller has a global view of the network, and the network topology is organized as a hierarchical structure. We also describe a compiler for packet subscriptions that uses a novel BDD-based algorithm to efficiently translate predicates into P4 tables that can support O(100K) expressions. Using our system, we have built three diverse applications. We show that these applications can be deployed in brownfield networks while performing line-rate message processing, using the full switch bandwidth of 6.5Tbps.

Supplementary Material

MP4 File (3386367.3431315.mp4)
Forwarding and Routing with Packet Subscriptions

References

[1]
S. B. Akers. 1978. Binary Decision Diagrams. IEEE Transactions on Computers (TC) 27, 6 (June 1978).
[2]
Mohammad Al-Fares, Alexander Loukissas, and Amin Vahdat. 2008. A Scalable, Commodity Data Center Network Architecture. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[3]
Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. 2014. NetKAT: Semantic Foundations for Networks. In Symposium on Principles of Programming Languages (POPL).
[4]
Apache. 2019. Apache ActiveMQ. http://activemq.apache.org/. (2019).
[5]
Barefoot Networks Deep Insight 2019. Barefoot Networks Deep Insight. https://www.barefootnetworks.com/products/brief-deep-insight/. (2019).
[6]
Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, and David Walker. 2014. P4: Programming Protocol-Independent Packet Processors. SIGCOMM Computer Communication Review (CCR) 44, 3 (July 2014).
[7]
Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[8]
Broadcom BroadView Analytics 2019. Broadcom BroadView Analytics. https://www.broadcom.com/products/ethernet-connectivity/software/broadview-analytics. (2019).
[9]
Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers (TC) 35, 8 (Aug. 1986).
[10]
Antonio Carzaniga, David S. Rosenblum, and Alexander L. Wolf. 2000. Achieving Scalability and Expressiveness in an Internet-Scale Event Notification Service. In 19th ACM Symposium on Principles of Distributed Computing (PODC). Portland, Oregon.
[11]
Antonio Carzaniga and Alexander L. Wolf. 2001. Content-based Networking: A New Communication Infrastructure. In NSF Workshop Infrastructure for Mobile and Wireless Systems (IMWS).
[12]
Antonio Carzaniga and Alexander L. Wolf. 2003. Forwarding in a Content-based Network. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[13]
Wei Koong Chai, Diliang He, Ioannis Psaras, and George Pavlou. 2012. Cache "Less for More" in Information-Centric Networks. In Networking.
[14]
William Chan, Richard Anderson, Paul Beame, and David Notkin. 1997. Combining constraint solving and symbolic model checking for a class of systems with non-linear constraints. In International Conference on Computer Aided Verification (CAV).
[15]
Cisco Systems 2017. Mobile Video Delivery with Hybrid ICN. Cisco Systems. https://www.cisco.com/c/dam/en/us/solutions/collateral/service-provider/ultra-services-platform/mwc17-hicn-video-wp.pdf
[16]
David Clark. 1988. The Design Philosophy of the DARPA Internet Protocols. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[17]
Michael Cooney. 2018. Cisco, Verizon take Information-Centric Networking for a real-world spin. Network World (March 2018). https://www.networkworld.com/article/3264650/cisco-verizon-take-information-centric-networking-for-a-real-world-spin.html
[18]
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 Symposium on Networked Systems Design and Implementation (NSDI).
[19]
Patrick Th. Eugster, Pascal A. Felber, Rachid Guerraoui, and Anne-Marie Kermarrec. 2003. The Many Faces of Publish/Subscribe. ACM Computing Surveys (CSUR) 35, 2 (June 2003).
[20]
Darleen Fisher. 2014. A Look Behind the Future Internet Architectures Efforts. SIGCOMM Computer Communication Review (CCR) 44, 3 (July 2014).
[21]
Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker. 2011. Frenetic: A Network Programming Language. In International Conference on Functional Programming (ICFP).
[22]
Arpit Gupta, Rob Harrison, Marco Canini, Nick Feamster, Jennifer Rexford, and Walter Willinger. 2018. Sonata: Query-driven Streaming Network Telemetry. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[23]
Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, and Nick McKeown. 2014. "I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks". In USENIX Symposium on Networked Systems Design and Implementation (NSDI).
[24]
IBM MQ 2019. IBM MQ. https://www-03.ibm.com/software/products/en/ibm-mq. (2019).
[25]
int 2017. Inband Network Telemetry (INT). https://github.com/p4lang/p4factory/tree/master/apps/int. (2017).
[26]
Van Jacobson, Diana K. Smetters, James D. Thornton, Michael F. Plass, Nicholas H. Briggs, and Rebecca L. Braynard. 2009. Networking Named Content. In ACM International Conference on Emerging Networking Experiments and Technologies (CoNEXT).
[27]
Theo Jepsen, Masoud Moshref, Antonio Carzaniga, Nate Foster, and Robert Soulé. 2018. Life in the Fast Lane: A Line-Rate Linear Road. In ACM SIGCOMM Symposium on SDN Research (SOSR).
[28]
Xin Jin, Jennifer Gossels, Jennifer Rexford, and David Walker. 2015. CoVisor: A Compositional Hypervisor for Software-Defined Networks. In USENIX Symposium on Networked Systems Design and Implementation (NSDI). Oakland, CA, 87--101.
[29]
Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soulé, Jeongkeun Lee, Nate Foster, Changhoon Kim, and Ion Stoica. 2017. NetCache: Balancing Key-Value Stores with Fast In-Network Caching. In ACM Symposium on Operating Systems Principles (SOSP).
[30]
Petri Jokela, András Zahemszky, Christian Esteve Rothenberg, Somaya Arianfar, and Pekka Nikander. 2009. LIPSIN: Line Speed Publish/Subscribe Internetworking. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[31]
Teemu Koponen, Mohit Chawla, Byung-Gon Chun, Andrey Ermolinskiy, Kye Hyun Kim, Scott Shenker, and Ion Stoica. 2007. A Data-oriented (and Beyond) Network Architecture. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[32]
Jay Kreps, Neha Narkhede, and Jun Rao. 2011. Kafka: A distributed messaging system for log processing. In 6th International Workshop on Networking Meets Databases (NetDB). https://www.microsoft.com/en-us/research/wp-content/uploads/2017/09/Kafka.pdf
[33]
Avinash Lakshman and Prashant Malik. 2010. Cassandra: A Decentralized Structured Storage System. SIGOPS Oper. Syst. Rev. 44, 2 (April 2010).
[34]
Petr Lapukhov. 2016. Internet-scale Virtual Networking Using Identifier-Locator Addressing. https://www.nanog.org/sites/default/files/20161018_Lapukhov_Internet-Scale_Virtual_Networking_v1.pdf. (2016).
[35]
Xiaozhou Li, Raghav Sethi, Michael Kaminsky, David G. Andersen, and Michael J. Freedman. 2016. Be Fast, Cheap and in Control with SwitchKV. In USENIX Symposium on Networked Systems Design and Implementation (NSDI).
[36]
Jed Liu, William Hallahan, Cole Schlesinger, Milad Sharif, Jeongkeun Lee, Robert Soulé, Han Wang, Călin Caşcaval, Nick McKeown, and Nate Foster. 2018. P4V: Practical Verification for Programmable Data Planes. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[37]
Nathan Marz. 2013. Big data: principles and best practices of scalable realtime data systems. O'Reilly Media. http://www.amazon.de/Big-Data-Principles-Practices-Scalable/dp/1617290343
[38]
mininet 2019. Mininet. http://mininet.org. (2019).
[39]
Christopher Monsanto et al. 2013. Composing Software-Defined Networks. In USENIX Symposium on Networked Systems Design and Implementation (NSDI).
[40]
Luca Muscariello, Giovanna Carofiglio, Jordan Auge, and Michele Papalini. 2020. Hybrid Information-Centric Networking. https://datatracker.ietf.org/doc/html/draft-muscariello-intarea-hicn-04. (May 2020).
[41]
Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Prateesh Goyal, Venkat Arun, Mohammad Alizadeh, Vimalkumar Jeyakumar, and Changhoon Kim. 2017. Language-directed hardware design for network performance monitoring. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[42]
Erik Nordström, David Shue, Prem Gopalan, Robert Kiefer, Matvey Arye, Steven Y. Ko, Jennifer Rexford, and Michael J. Freedman. 2012. Serval: An End-host Stack for Service-centric Networking. In USENIX Symposium on Networked Systems Design and Implementation (NSDI).
[43]
Diego Perino, Matteo Varvello, Leonardo Linguaglossa, Rafael Laufer, and Roger Boislaigue. 2014. Caesar: A Content Router for High-speed Forwarding on Content Names. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).
[44]
Rahul Potharaju and Navendu Jain. 2013. Demystifying the Dark Side of the Middle: A Field Study of Middlebox Failures in Datacenters. In ACM SIGCOMM Internet Measurement Conference (IMC).
[45]
Justine Sherry, Shaddi Hasan, Colin Scott, Arvind Krishnamurthy, Sylvia Ratnasamy, and Vyas Sekar. 2012. Making Middleboxes Someone else's Problem: Network Processing As a Cloud Service. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM).
[46]
Nikita Shirokov and Ranjeeth Dasineni. 2018. Open-sourcing Katran, a scalable network load balancer --- Facebook Engineering. (May 2018). https://code.fb.com/open-source/open-sourcing-katran-a-scalable-network-load-balancer/
[47]
Siena Synthetic Benchmark Generator 2019. Siena Synthetic Benchmark Generator. https://www.inf.usi.ch/carzaniga/cbn/forwarding/. (2019).
[48]
Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha. 2015. A fast compiler for NetKAT. In International Conference on Functional Programming (ICFP).
[49]
Robert Soulé, Shrutarshi Basu, Parisa Jalili Marandi, Fernando Pedone, Robert Kleinberg, Emin Gün Sirer, and Nate Foster. 2014. Merlin: A Language for Provisioning Network Resources. In ACM International Conference on Emerging Networking Experiments and Technologies (CoNEXT).
[50]
TIBCO Rendezvous 2019. TIBCO Rendezvous. https://www.tibco.com/products/tibco-rendezvous. (2019).
[51]
vpp 2019. Vector Packet Processing (VPP). https://fd.io/. (2019).
[52]
Yi Wang, Boyang Xu, Dongzhe Tai, Jianyuan Lu, Ting Zhang, Huichen Dai, Beichuan Zhang, and Bin Liu. 2014. Fast name lookup for Named Data Networking. In IEEE International Symposium of Quality of Service (IWQoS).
[53]
xpliant 2019. XPliant Ethernet Switch Product Family. www.cavium.com/XPliant-Ethernet-Switch-Product-Family.html. (2019).
[54]
Haowei Yuan and Patrick Crowley. 2015. Reliably Scalable Name Prefix Lookup. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).
[55]
Matei Zaharia, Reynold S. Xin, Patrick Wendell, Tathagata Das, Michael Armbrust, Ankur Dave, Xiangrui Meng, Josh Rosen, Shivaram Venkataraman, Michael J. Franklin, Ali Ghodsi, Joseph Gonzalez, Scott Shenker, and Ion Stoica. 2016. Apache Spark: A Unified Engine for Big Data Processing. Communications of the ACM (CACM) 59, 11 (Oct. 2016).

Cited By

View all
  • (2024)D4: Dynamic, Decentralized, Distributed, Delegation-Based Network Control and Its Applications to Autonomous VehiclesACM Journal on Autonomous Transportation Systems10.1145/36440791:3(1-27)Online publication date: 12-Feb-2024
  • (2024)IIsy: Hybrid In-Network Classification Using Programmable SwitchesIEEE/ACM Transactions on Networking10.1109/TNET.2024.336475732:3(2555-2570)Online publication date: Jun-2024
  • (2023)P4RROT: Generating P4 Code for the Application LayerACM SIGCOMM Computer Communication Review10.1145/3594255.359425853:1(30-37)Online publication date: 20-Apr-2023
  • Show More Cited By

Index Terms

  1. Forwarding and routing with packet subscriptions

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CoNEXT '20: Proceedings of the 16th International Conference on emerging Networking EXperiments and Technologies
      November 2020
      585 pages
      ISBN:9781450379489
      DOI:10.1145/3386367
      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. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 24 November 2020

      Permissions

      Request permissions for this article.

      Check for updates

      Badges

      Qualifiers

      • Research-article

      Funding Sources

      • Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung

      Conference

      CoNEXT '20
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 198 of 789 submissions, 25%

      Upcoming Conference

      CoNEXT '24

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

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

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)D4: Dynamic, Decentralized, Distributed, Delegation-Based Network Control and Its Applications to Autonomous VehiclesACM Journal on Autonomous Transportation Systems10.1145/36440791:3(1-27)Online publication date: 12-Feb-2024
      • (2024)IIsy: Hybrid In-Network Classification Using Programmable SwitchesIEEE/ACM Transactions on Networking10.1109/TNET.2024.336475732:3(2555-2570)Online publication date: Jun-2024
      • (2023)P4RROT: Generating P4 Code for the Application LayerACM SIGCOMM Computer Communication Review10.1145/3594255.359425853:1(30-37)Online publication date: 20-Apr-2023
      • (2023)Toward Highly Reliable Programmable Data Planes: Verification of P4 Code Generation2023 IEEE 9th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft57336.2023.10175397(1-5)Online publication date: 19-Jun-2023
      • (2023)AI-Driven Packet Forwarding With Programmable Data Plane: A SurveyIEEE Communications Surveys & Tutorials10.1109/COMST.2022.321761325:1(762-790)Online publication date: Sep-2024
      • (2023)Radio Propagation Digital Twin Aided Multi-Point Transmission With In-Network Dynamic On-Off SwitchingIEEE Access10.1109/ACCESS.2023.333352511(128843-128858)Online publication date: 2023
      • (2023)Towards network-assisted publish–subscribe over wide area networksComputer Networks: The International Journal of Computer and Telecommunications Networking10.1016/j.comnet.2023.109702231:COnline publication date: 13-Jul-2023
      • (2022)SNAPS: Seamless Network-Assisted Publish-Subscribe2022 IFIP Networking Conference (IFIP Networking)10.23919/IFIPNetworking55013.2022.9829774(1-9)Online publication date: 13-Jun-2022
      • (2022)Hop-On Hop-Off RoutingProceedings of the 6th Asia-Pacific Workshop on Networking10.1145/3542637.3542647(63-69)Online publication date: 1-Jul-2022
      • (2022)Forwarding and Routing With Packet SubscriptionsIEEE/ACM Transactions on Networking10.1109/TNET.2022.317206630:6(2464-2479)Online publication date: Dec-2022
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media