A survey on data plane programming with P4: Fundamentals, advances, and applied research
Frederik Hauser
1
,
Marco Haberle
1
,
Daniel Merling
1
,
Steffen Lindner
1
,
Vladimir Gurevich
2
,
Florian Zeiger
3
,
Reinhard Frank
3
,
Michael Menth
1
2
Intel, Barefoot Division (BXD), United States of America
|
Publication type: Journal Article
Publication date: 2023-03-01
scimago Q1
wos Q1
SJR: 1.972
CiteScore: 20.3
Impact factor: 8.0
ISSN: 10848045, 10958592
Computer Science Applications
Hardware and Architecture
Computer Networks and Communications
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.
Found
Nothing found, try to update filter.
Found
Nothing found, try to update filter.
Top-30
Journals
|
2
4
6
8
10
12
14
|
|
|
IEEE Access
13 publications, 10.66%
|
|
|
Computer Networks
8 publications, 6.56%
|
|
|
IEEE Transactions on Network and Service Management
7 publications, 5.74%
|
|
|
Computer Communications
5 publications, 4.1%
|
|
|
IEEE Communications Surveys and Tutorials
3 publications, 2.46%
|
|
|
Future Internet
3 publications, 2.46%
|
|
|
Computers and Security
3 publications, 2.46%
|
|
|
Electronics (Switzerland)
2 publications, 1.64%
|
|
|
Network
2 publications, 1.64%
|
|
|
Sensors
2 publications, 1.64%
|
|
|
Journal of Network and Computer Applications
2 publications, 1.64%
|
|
|
IEEE Communications Magazine
2 publications, 1.64%
|
|
|
Artificial Intelligence in Data and Big Data Processing
2 publications, 1.64%
|
|
|
Internet of Things
2 publications, 1.64%
|
|
|
ACM Computing Surveys
2 publications, 1.64%
|
|
|
IEEE Open Journal of the Communications Society
2 publications, 1.64%
|
|
|
International Journal of Information Security
1 publication, 0.82%
|
|
|
Evolutionary Intelligence
1 publication, 0.82%
|
|
|
IEEE Transactions on Industrial Informatics
1 publication, 0.82%
|
|
|
Journal of King Saud University - Computer and Information Sciences
1 publication, 0.82%
|
|
|
Computers and Electrical Engineering
1 publication, 0.82%
|
|
|
ACM Transactions on Reconfigurable Technology and Systems
1 publication, 0.82%
|
|
|
Future Generation Computer Systems
1 publication, 0.82%
|
|
|
IEEE/ACM Transactions on Networking
1 publication, 0.82%
|
|
|
Journal of Marine Science and Engineering
1 publication, 0.82%
|
|
|
International Journal of Networked and Distributed Computing
1 publication, 0.82%
|
|
|
Information Systems Frontiers
1 publication, 0.82%
|
|
|
ACM Transactions on Modeling and Computer Simulation
1 publication, 0.82%
|
|
|
Security and Privacy
1 publication, 0.82%
|
|
|
2
4
6
8
10
12
14
|
Publishers
|
10
20
30
40
50
60
70
|
|
|
Institute of Electrical and Electronics Engineers (IEEE)
64 publications, 52.46%
|
|
|
Elsevier
24 publications, 19.67%
|
|
|
Association for Computing Machinery (ACM)
13 publications, 10.66%
|
|
|
MDPI
10 publications, 8.2%
|
|
|
Springer Nature
8 publications, 6.56%
|
|
|
Wiley
2 publications, 1.64%
|
|
|
Sociedade Brasileira de Computacao - SB
1 publication, 0.82%
|
|
|
10
20
30
40
50
60
70
|
- We do not take into account publications without a DOI.
- Statistics recalculated weekly.
Are you a researcher?
Create a profile to get free access to personal recommendations for colleagues and new articles.
Metrics
123
Total citations:
123
Citations from 2024:
85
(69.68%)
Cite this
GOST |
RIS |
BibTex
Cite this
GOST
Copy
Hauser F. et al. A survey on data plane programming with P4: Fundamentals, advances, and applied research // Journal of Network and Computer Applications. 2023. Vol. 212. p. 103561.
GOST all authors (up to 50)
Copy
Hauser F., Haberle M., Merling D., Lindner S., Gurevich V., Zeiger F., Frank R., Menth M. A survey on data plane programming with P4: Fundamentals, advances, and applied research // Journal of Network and Computer Applications. 2023. Vol. 212. p. 103561.
Cite this
RIS
Copy
TY - JOUR
DO - 10.1016/j.jnca.2022.103561
UR - https://doi.org/10.1016/j.jnca.2022.103561
TI - A survey on data plane programming with P4: Fundamentals, advances, and applied research
T2 - Journal of Network and Computer Applications
AU - Hauser, Frederik
AU - Haberle, Marco
AU - Merling, Daniel
AU - Lindner, Steffen
AU - Gurevich, Vladimir
AU - Zeiger, Florian
AU - Frank, Reinhard
AU - Menth, Michael
PY - 2023
DA - 2023/03/01
PB - Elsevier
SP - 103561
VL - 212
SN - 1084-8045
SN - 1095-8592
ER -
Cite this
BibTex (up to 50 authors)
Copy
@article{2023_Hauser,
author = {Frederik Hauser and Marco Haberle and Daniel Merling and Steffen Lindner and Vladimir Gurevich and Florian Zeiger and Reinhard Frank and Michael Menth},
title = {A survey on data plane programming with P4: Fundamentals, advances, and applied research},
journal = {Journal of Network and Computer Applications},
year = {2023},
volume = {212},
publisher = {Elsevier},
month = {mar},
url = {https://doi.org/10.1016/j.jnca.2022.103561},
pages = {103561},
doi = {10.1016/j.jnca.2022.103561}
}