written by Asterfuison
P4 is a domain-specific programming language used to describe how a programmable forwarding hardware processes packets, which can be an ASIC, a FPGA or a NIC and so on. The full mane P4 is Programming Protocol-independent Packet Processors.
P4 originally designed for programmable switches (especially for the ASIC), now P4 has expanded to many scenarios. In P4, the term “target” is used to refer to the hardware.
A network device usually includes a control plane and a data forwarding plane. P4 is designed to be used to programming the target’s data plane.
In a traditional switch, ASIC determines what functions its data plane can support, the control plane is responsible for processing packets (such as routing protocol packets), processing asynchronous events (such as port up/down), etc. Its purpose is to control the forwarding behavior by correctly setting various table of the ASIC. Therefore, the functions supported by the AISC determines what functions the switch can support. However, the P4 programmable switch is different, the functions of the data plane are not fixed but are defined by the P4 program.
The idea of P4 was originally born in 2013, proposed by Professor Nick Mckeown of Stanford University, and the first formal specification of the P4 language was released in 2014, called P4_14. The first P4 workshop held in June 2015 at Stanford University. After that, an updated specification P4_16 was released in 2016.
Professor Nick Mckeown not only has a good academic reputation, but also a pioneer in the SDN industry. He has led and participated in many SDN open-source projects: OpenFlow protocol, the first SDN controller NOX, etc. He has founded several successful SDN companies: Nicira (acquired by VMware), Barefoot Network (acquired by Intel), etc.
Firstly, is to replace traditional network elements. There needs to mention Facebook SilkRoad Layer4 load balancing implementation. By using the feature of P4 flexible schedule on-chip resources, it realized load balancing of up to 10 million stateful flow tables on Barefoot Tofino chip and the throughput can reach Tbps .The performance is far exceeding the Layer 4 load balancing equipment on the market.
The second is dedicated clusters. Network switching is responsible for forwarding packets which need cooperate with the server cluster to form a complete system. Thus, Programmable switching can be used to participate in multi-node distributed collaboration and coordination.For example, pairwise unicast can be turned into multicast accelerated coordination. In addition, part of server’s logic can be offloaded to a programmable switch chip.The Integration architecture of programmable switches and server clusters can optimize dedicated distributed clusters greatly.
Third, A fabric cluster of small switches formed from a CLOS group fabric, equivalent to a large switch. In a data center scenario, all it needs to implement is a cloud-native Fabric cluster. At present, there are two main methods implement fabric control for data centers. One is that the fabric only implements simple underlay routing, and the complex logic is undertaken by the host or SmartNIC, represented by SONiC. The other is cloud network functions such as tenant isolation, load balancing, flow control, INT, etc., are all sink to the fabric, represented by Stratum on ONF.
Fourth, Inband Network Telemetry (INT) which was the best-known feature of the P4 when it came out. It is mainly solving the four pain points of Intranet traffic tracking:
INT takes full advantage P4’s programmable feature by adding INT tags to each hop, when the last hop finished, these tags are uploading into the backend systems to analyze the information needed in the previous four questions. As a result, online packet-level visualization can be realized, which is very important for network diagnosis and monitoring, operation and maintenance, and also makes the network data plane increasingly transparent and detectable.
Asterfusion offers 3.3Tbps-6.5 Tbps programmable network switches based on Intel tofino which are well-suited for Leaf/Spine fabric as well as smart gateway of data centers, enterprises, and cloud service providers’ network deployments.
Asterfusion X-T series is unique P4 switch which designed to combine high performance L2~L4 switching programmability and extensible stateful processing power from DPU for the first time in network history.
Intel Tofino switching silicon plus 800G data path connection with Marvell OcteonTX 9/10 DPU, Asterfusion combines P4 based data path on tofino switch and DPDK based traffic processing on ARM64 DPU to provide large stateful table for load balance, NAT and NVME over fabric applications.
X-T programmable switches adopt a computing-network integration architecture, it has the general programmability of CPU while retaining the extreme performance of Intel Tofino ASIC. The combination of the T-bit level fast path for high-performance wire-speed forwarding and the slow path of in-depth data processing, achieves in-depth service processing and application offloading, enhances data center overall computing power and efficiency.
Asterfusion began research on open-source networks since 2014 when has accumulated a wealth of expertise and R & D experience, enable provides expert-level support service to solve the various problems that encountered in the process of open networking development.
Highlight 3: Barefoot Tofino based P4 switch support various innovative application scenarios.
Tofino programmable switches support various network applications’ development. Based on the integrated computing &network architecture and expert support, the Bare Tofino P4 series programmable hardware platform can cope with the challenges of various innovative application scenarios.
Traffic scheduling gateway, precise port rate limit and traffic scheduling for the main and backup link, high performance delivers extreme ROI.
NFV gateways, state-based load balancing/state-based network address translation, reducing the burden of data centers.
Large /small flow separation, it can both meet the high bandwidth of large flow and high concurrency of small flow.
Distributed INT-driven intelligence network optimization, providing local real- time network telemetry information, improving the overall user experience of the application system.
Asterfusion Barefoot Tofino based P4 programmable switches help customers to solve pain points of where needs to program their networking data plane, especially for teams who has the in-house expertise to program networking chips.
Asterfusion offers high educational discount on academia and research program for P4 programming switch research and experiments.
Welcome to consult [email protected];
Asterfusion Networks is the leading provider of open networking infrastructure solutions. We provide an open, disaggregated, and highly programmable network fabric for next generation data centers and campus with white-box switching.