DeeP4R: Deep Packet Inspection in P4 using Packet Recirculation
Sahil Gupta, Devashish Gosain, Minseok Kwon, Hrishikesh B. Acharya
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers1
Ask how each one uses itBuilds on4
- NetHide: Secure and Practical Network Topology ObfuscationRoland Meier, Petar Tsankov, Vincent Lenders, Laurent Vanbever et al.USENIX Security 2018 · 84 citations
- Gallium: Automated Software Middlebox Offloading to Programmable SwitchesKaiyuan Zhang, Danyang Zhuo, Arvind KrishnamurthySIGCOMM 2020 · 50 citations
- Programmable In-Network Security for Context-aware BYOD PoliciesQiao Kang, Lei Xue, Adam Morrison, Yuxin Tang et al.USENIX Security 2020
- Poseidon: Mitigating Volumetric DDoS Attacks with Programmable SwitchesMenghao Zhang, Guanyu Li, Shicheng Wang, Chang Liu et al.NDSS 2020
Related papers
- Sequence Abstractions for Flexible, Line-Rate Network MonitoringAndrew Johnson, Ryan Beckett, Xiaoqi Chen, Ratul Mahajan et al.NSDI 2024 · 4 citations
- Lucid: a language for control in the data planeJohn Sonchack, Devon Loehr, Jennifer Rexford, David WalkerSIGCOMM 2021 · 45 citations
- P4Inv: Inferring Packet Invariants for Verification of Stateful P4 ProgramsDelong Zhang, Chong Ye, Fei HeINFOCOM 2024 · 3 citations
- P4runpro: Enabling Runtime Programmability for RMT Programmable SwitchesYifan Yang, Lin He, Jiasheng Zhou, Xiaoyi Shi et al.SIGCOMM 2024 · 12 citations
- NetCL: A Unified Programming Framework for In-Network ComputingGeorge Karlos, Henri E. Bal, Lin WangSC 2024 · 3 citations
