Litcius/Paper detail

DeeP4R: Deep Packet Inspection in P4 using Packet Recirculation

Sahil Gupta, Devashish Gosain, Minseok Kwon, H. B. Acharya

202319 citationsDOI

Abstract

Software-defined networks are useful for multiple tasks, including firewalling, telemetry, and flow analysis. In particular, the P4 language makes it possible to carry out some simple packet processing tasks in the data plane, i.e., on the switch itself (without real-time support from the SDN controller or a server). However, owing to the limitations of packet parsing in P4, these tasks involve only the packet headers. In this paper, we present a novel approach that allows Deep Packet Inspection (DPI) – i.e., inspection of the packet payload – in the data plane, using P4 alone. We make use of the fact that in P4, a switch can clone and recirculate packets. One copy (clone) can be recirculated, slicing off a byte in each round, and using a finite-state machine to check if a target string has yet been seen. If the target string is found, the other copy (original packet) is discarded; if not, it is passed through. Our approach allows us to build the first application-layer firewall (URL filter) in the data plane, and to achieve essentially line-rate performance while filtering thousands of URLs, on a commodity programmable switch. It may in future also be used for other DPI tasks.

Topics & Concepts

Computer scienceForwarding planeDeep packet inspectionNetwork packetPacket processingByteStateful firewallComputer networkPacket analyzerReal-time computingPacket generatorEmbedded systemOperating systemProcessing delayTransmission delaySoftware-Defined Networks and 5GNetwork Security and Intrusion DetectionNetwork Packet Processing and Optimization
DeeP4R: Deep Packet Inspection in P4 using Packet Recirculation | Litcius