Industry 4.0, IoT, 5G, Smart Everything and further new approaching domains are the innovator for new communication protocols. Installed legacy network switches are not supporting these new upcoming protocols. To update the switch hardware is highly cost intensive (CAPEX) and not possible in a short period of time for the communication providers. P4, a programming language, tries to overcome this limitation of the customer silicon.
P4: Softwareised Parser
Data or new protocol packets, received by network switches, is not parsed from a parser in hardware (customer silicon) but from a parser in software programmed in P4. For future broadband network devices, this is only possible if the softwareised P4 parser is executed on high performance silicon.
But how can we extend the functionality and new matching rules in a hardware (silicon) switch? P4 language tries to overcome the problem of OpenFlow limitation in an SDN based networking architecture. It tries to implement new parsing and matching rules software based. With P4 it is possible to upgrade the match action in a switch by loading a new software based parser to the switch. P4 is the next step to extend the possible ways to support innovations in future communication domains.
SDN with OpenFlow changes the way how data packets are processed in a high performance networking device. “Match packets and process them” this is the way to handle packets in a high performance using OpenFlow. The SDN architecture physically separates the control plane from the forwarding plane (customer silicon). OpenFlow is a common and open protocol to specify the forwarding plane, so it is possible to deploy an operator network with different hardware and software vendors based on OpenFlow interfaces. Since Dec. 2009 different versions of the OpenFlow protocol are specified to extend the match and actions rules for several header fields.
Smart everything pushes new protocols
The development of new headers and protocols specified for upcoming new domains supersede the specification of new OpenFlow constructs. At the moment many OpenFlow enabled switches are software switches; If you want to deploy new protocols, such as QUIC, MTP/IP, SPDY, SST, NVO3, MQTT etc. OpenFlow and the customer silicon is the bottleneck. Next generation network switches should flexible support these upcoming protocols by using P4.
P4.org is a consortium that tries to support and to develops the P4 Language. It ensures that the information and the work done in the field of P4 for the consortium is free and available for anyone. Many companies from different domains like chip manufacturer, hardware companies and communication providers as well as companies in software and cloud industry supports the activities. University and Research organisations support the activities in disseminating the outcome of the work on conferences and workshops.
Programmable packet parser
P4 is an upcoming technology to support new filter and match rules in a protocol and silicon independent way. It offers a programmable silicon for high performance broadband internet. We are not sure if this approach finds the way to the market and the big communication provider will implement P4 technology. Our group at SRFG implements solutions based on P4 to support a dependable communication in critical infrastructures.
Using protocol independent switch components it‘s possible to implement new filter and match rules at the incoming interface of the switch. This is necessary if you want to forward or process data packets based on application layer information.
Native P4 enabled switches are not ready for the mass market at the moment. Different vendors like Intel, Cavium, Pica8, metaswitch or start-up companies like barefoot are developing such switch systems supporting P4.
The Advanced Networking Center has several years of experience in protocol and network engineering and testing. In September 2011 we discussed the idea of setting up a research project in the area of OpenFlow and the opportunity to find solutions for critical network infrastructure. OPOSSUM is one of the projects where we try to deploy a network infrastructure based on Openflow enabled switches. To manage the SDN based architecture we use the Open Network Operating System ONOS.
Find more details: https://svn.salzburgresearch.at/trac/p4