A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research
arXiv:2101.10632 · doi:10.1016/j.jnca.2022.103561
Abstract
Programmable data planes allow users to define their own data plane algorithms for network devices including appropriate data plane application programming interfaces (APIs) which may be leveraged by user-defined software-defined networking (SDN) control. This offers great flexibility for network customization, be it for specialized, commercial appliances, e.g., in 5G or data center networks, or for rapid prototyping in industrial and academic research. Programming protocol-independent packet processors (P4) has emerged as the currently most widespread abstraction, programming language, and concept for data plane programming. It is developed and standardized by an open community, and it is supported by various software and hardware platforms. In the first part of this paper we give a tutorial of data plane programming models, the P4 programming language, architectures, compilers, targets, and data plane APIs. We also consider research efforts to advance P4 technology. In the second part, we categorize a large body of literature of P4-based applied research into different research domains, summarize the contributions of these papers, and extract prototypes, target platforms, and source code availability. For each research domain, we analyze how the reviewed works benefit from P4's core features. Finally, we discuss potential next steps based on our findings.
References in corpus (11)
- An Exhaustive Survey on P4 Programmable Data Plane Switches: Taxonomy, Applications, Challenges, and Future Trends
- The Programmable Data Plane: Abstractions, Architectures, Algorithms, and Applications
- A Survey on Data Plane Flexibility and Programmability in Software-Defined Networking
- Contra: A Programmable System for Performance-aware Routing
- Detecting Heavy Hitters in the Data-plane
- GP4P4: Enabling Self-Programming Networks
- Design of a Hybrid Modular Switch
- LAMP: Prompt Layer 7 Attack Mitigation with Programmable Data Planes
- Enabling Mobility in LTE-Compatible Mobile-edge Computing with Programmable Switches
- D2R: Dataplane-Only Policy-Compliant Routing Under Failures
- Decentralized Consistent Network Updates in SDN with ez-Segway
Cited by in corpus (7)
- A Comprehensive Survey on SmartNICs: Architectures, Development Models, Applications, and Research Directions
- Flare: Flexible In-Network Allreduce
- P4-PSFP: P4-Based Per-Stream Filtering and Policing for Time-Sensitive Networking
- Count-Less: A Counting Sketch for the Data Plane of High Speed Switches
- Tracking the QUIC Spin Bit on Tofino
- MPLS Network Actions: Technological Overview and P4-Based Implementation on a High-Speed Switching ASIC
- Survey on some optimization possibilities for data plane applications