
arXiv: 2102.00643
Traditionally, the data plane has been designed with fixed functions to forward packets using a small set of protocols. This closed-design paradigm has limited the capability of the switches to proprietary implementations which are hardcoded by vendors, inducing a lengthy, costly, and inflexible process. Recently, data plane programmability has attracted significant attention from both the research community and the industry, permitting operators and programmers in general to run customized packet processing function. This open-design paradigm is paving the way for an unprecedented wave of innovation and experimentation by reducing the time of designing, testing, and adopting new protocols; enabling a customized, top-down approach to develop network applications; providing granular visibility of packet events defined by the programmer; reducing complexity and enhancing resource utilization of the programmable switches; and drastically improving the performance of applications that are offloaded to the data plane. Despite the impressive advantages of programmable data plane switches and their importance in modern networks, the literature has been missing a comprehensive survey. To this end, this paper provides a background encompassing an overview of the evolution of networks from legacy to programmable, describing the essentials of programmable switches, and summarizing their advantages over Software-defined Networking (SDN) and legacy devices. The paper then presents a unique, comprehensive taxonomy of applications developed with P4 language; surveying, classifying, and analyzing more than 150 articles; discussing challenges and considerations; and presenting future perspectives and open research issues.
FOS: Computer and information sciences, 570, protocols, security, Software-defined Networking, Computer Science - Networking and Internet Architecture, taxonomy, P4 language, technological innovation, packet aggregation, software-defined networking, sketch, control systems, Networking and Internet Architecture (cs.NI), software, layer, bufferbloat, TK1-9971, market research, band network telemetry, custom packet processing, programmable switches, Programmable switches, data plane, PF language, internet, Electrical engineering. Electronics. Nuclear engineering, management
FOS: Computer and information sciences, 570, protocols, security, Software-defined Networking, Computer Science - Networking and Internet Architecture, taxonomy, P4 language, technological innovation, packet aggregation, software-defined networking, sketch, control systems, Networking and Internet Architecture (cs.NI), software, layer, bufferbloat, TK1-9971, market research, band network telemetry, custom packet processing, programmable switches, Programmable switches, data plane, PF language, internet, Electrical engineering. Electronics. Nuclear engineering, management
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 82 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 1% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 1% |
