当前位置:网站首页>1、 Summary and introduction

1、 Summary and introduction

2022-06-23 19:08:00 Bachuan Xiaoxiaosheng

P4 Overview of data plane programming : Basics 、 Progress and applied research

A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research

Abstract

Programmable data plane allows users to define their own data plane algorithms for network devices , Include appropriate data planes api (application programming interface), It can be used for user-defined software to define the network (SDN) control . This provides great flexibility for network customization , Whether it is used for special commercial equipment , Such as 5G Or data center network , Or rapid prototyping for industrial and academic research . Programming protocol independent packet processors (P4) It has become the most extensive data plane programming abstraction 、 Programming languages and concepts . It is developed and standardized by an open community , It is supported by various software and hardware platforms .

In the first part of this article , We give a programming model about data plane 、P4 programing language 、 Architecture 、 compiler 、 Target and data plane api A tutorial for . We are also considering efforts to promote P4 technology . In the second part , We will base a lot on p4 The applied research literature is classified into different research fields , Summarize the contributions of these papers , And extract the prototype 、 Target platform and source code availability . For each research area , We analyzed how to benefit from P4 The core feature of . Last , We discussed possible next steps based on our findings .

brief introduction

Router 、 Traditional network devices such as switches use data plane algorithm and control plane algorithm to process messages . You can configure control plane properties and protocols , For example, through cli、web Interface or management api, But the underlying algorithm can only be changed by the vendor .SDN Breaking this limit , Data plane programming breaks this limitation .

SDN By introducing API Make network devices programmable , The API Allows the user to bypass the built-in control plane algorithm , Replace them with custom algorithms . These algorithms are represented by software , It usually runs in a with an overall view of the network SDN On the controller . therefore , Complex control plane algorithms designed for distributed control can be replaced by simple algorithms designed for centralized control . This requires flexibility 、 Use cases for efficiency and security are beneficial , for example , Large scale data centers or 5G The Internet .

Data plane programmable , Users can implement their own data plane algorithm on the forwarding device . user , For example, programmers 、 A practitioner or operator , New protocol headers and forwarding behaviors can be defined , This is in the absence of a programmable data plane , Only suppliers can achieve . They can also contribute to SDN Control adding data planes api.

Data plane programming has changed the capabilities of users , Because they can build customized network devices , Not in performance 、 Scalability 、 Make any compromises in terms of speed or capabilities on the appropriate platform . There are different data plane programming models , Each model has many implementations and programming languages . for example Click [1]、VPP[2]、NPL[3] and SDNet[4]

Programming protocol independent packet processors (P4) It is the most extensive abstraction in data plane programming 、 Programming languages and concepts . It's on 2014 year [5] First published as a research paper , Currently in P4 Language Alliance (P4 Language Consortium) Develop and standardize , Supported by various target platforms based on software and hardware , It has been widely used in academia and industry .

Hereunder , We clarify the contribution of this survey , Point out its novelty , Explain its organization , And provide a table with acronyms often used in this work .

contribution

The survey pursues two goals . First , Yes P4 A comprehensive introduction and Overview . secondly , The survey is based on P4 Publications on Applied Research of technology . Its main contributions are as follows :

  • We use it P4 Explain the evolution of data plane programming , Compare it with the previous development ( Such as SDN) Connect , And compare it with other data plane programming models .
  • We gave an overview of data plane programming P4. It includes P4 programing language 、 Architecture 、 compiler 、 Target and data plane api. These parts include not only the foundation , It also introduces the related progress 、 Extension or experience .
  • We summed up the promotion P4 Research results of data plane . It mainly includes development deployment optimization 、 Testing and debugging 、P4 Objective study 、 Control surface operation progress, etc .
  • We think about it based on p4 Application Research of , A large number of literatures are analyzed . We will 245 The research papers are classified into different application fields , Summarize their key contributions , And from the prototype 、 They are described in terms of target platform and source code availability . For each research area , We analyzed how to benefit from P4 The core feature of .

We are thinking about P4 Published on 2020 Paper at the end of the year , And from 2021 Selected papers since . Besides periodicals 、 Conference and seminar papers , We also include from the standard 、 Content of websites and source code repositories . The paper has 519 References , among 377 This is a scientific publication :73 From 2017 Years ago ,66 From 2018 year ,113 From 2019 year ,116 From 2020 year ,9 From 2021 year .

novel

2014 year [6,7],2015 year [8,9,10],2016 year [11,12] Published a lot about SDN The investigation of ,2014 year [13,14,15] Published about OpenFlow (OF) The investigation of . Only one of them [12] It is mentioned in one sentence that P4.P4 Shortly after release , It was published 2015 Two data plane programming surveys since [10,9],2018 A conference paper in [16] and 2019 year [17] A survey of , take P4 As one of the other data plane programming languages . Again ,Michel wait forsomeone [18] A general overview of data plane programming is given ,P4 Is one of the other abstractions and programming languages studied . Our investigation is only aimed at P4. It covers more about P4 The details of the , And more based on P4 Applied research papers , Most of these studies have appeared in the last two years .

[19] Published a report on P4 The latest survey report on data plane programming . This paper introduces the design of data plane programming P4 Method , This paper reviews from four research fields 33 Research results , The research problems are also discussed . Another recent technical report [20] Reviewed the 7 In a research field 150 Research papers . although P4 The typical research fields of , But other areas ( Such as industrial network 、 Novel routing and forwarding scheme 、 Time sensitive networks ) Not included in the literature review .P4 Different aspects of , Such as programming language 、 Architecture 、 compiler 、 The goal is 、 Data plane api, And their progress are not discussed in this article . And right P4 Compared with the two surveys , We cover in more detail P4 Technology and its progress , Our literature review is also more comprehensive .

Paper organization

chart 1 The structure of this paper is described , This paper is divided into two main parts :P4 Survey of overview and research publications .

[ Failed to transfer the external chain picture , The origin station may have anti-theft chain mechanism , It is suggested to save the pictures and upload them directly (img-LTWAuWNa-1655969970187)(image-20220623111551213.png)]

In the first part , The first 2 Section describes network programmability . Describes how to SDN The development process from network to data plane programming , Two most commonly used data plane programming models are given . In the 3 In the festival , We've given an example based on P4 The latest version P416 Technology oriented tutorials for . We will introduce P4 programing language , And describe the P4 How the program works in P4 Compile and execute on the target . The first 4 Section describes as P4 The middle layer between the program and the target P4 Concept of Architecture . We detailed the four most common architectures , And describes P4 compiler . In the 5 In the festival , We categorized and introduced the implementation P4 The platform of the program , The so-called software based 、fpga、 Application specific integrated circuit or npu Of P4 The goal is . The first 6 Section describes the data plane api. We described their functions , A feature is given , Introduced as SDN The four main functions of the controller interface P4 Data plane api, The controller use case pattern . In the 7 In the festival , We have concluded that the aim is to improve P4 Research results of data plane programming .

The second part of the thesis gives an overview based on p4 Research on communication network application based on . In the 8 In the festival , We are right. P4 The core features of , These characteristics make the implementation of data plane algorithm attractive . We will use these attributes in later chapters to effectively infer the implementation of various prototypes P4 Value . We give an overview of this research area , The collected publications are counted . Its superior research areas include monitoring ( The first 9 section )、 Traffic management and congestion control ( The first 10 section )、 Routing and forwarding ( The first 11 section )、 Advanced network ( The first 12 section )、 Network security ( The first 13 section ) And miscellaneous ( The first 14 section ), To cover other different topics . Each category contains a table , For a quick overview of what is being analyzed about the prototype implementation 、 Target platform and source code availability . At the end of each section , We will analyse how the work under review has benefited from P4 The core feature of

In the 15 In the festival , We discussed the insights from this survey , And the prospect of the potential next step is given . The first 16 Section ends the work .

List of abbreviations

The following acronyms are used in this article

  • ACL Access control list

  • ALU Arithmetic logic unit

  • API Application programming interface

  • AQM Active queue management

  • ASIC ASIC

  • AWW Adjust the broadcast window

  • bmv2 Behavioral model version 2

  • BGP Border gateway protocol

  • BPF Berkeley bag filter

  • CLI Command line interface

  • DAG Directed acyclic graph

  • DDoS Distributed denial of service

  • DPI Deep packet detection

  • DPDK Data plane development kit

  • Domain specific language eBPF Extended Berkeley packet filter

  • ECN Explicit congestion notification

  • FPGA Field programmable gate array

  • FSM Finite state machine

  • GTP GPRS Tunnel protocol

  • HDL Hardware description language

  • HLIR Senior and intermediate representatives

  • IDE Integrated development environment

  • IDL Intention defines language

  • IDS intrusion detection system

  • INT In band network telemetry

  • LDWG Language design working group

  • LPM longest-prefix matching

  • LUT Lookup table

  • MAT match-action- surface

  • ML machine learning

  • NDN Named data network

  • NF Network function

  • NFP Network flow processing

  • NFV Virtualization of network functions

  • NIC Network interface card

  • NPU Network processing unit

  • ODM Original design manufacturer

  • ODP Open data plane

  • OEM Original equipment manufacturing

原网站

版权声明
本文为[Bachuan Xiaoxiaosheng]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/174/202206231737021481.html