ABSTRACT
This paper presents an implementation of the Zenoh pub-sub stack using P4. Traditional pub-sub protocols generally rely on a centralized broker to forward messages. Using P4, one could make every network equipment able to assume such role, with the whole system behaving as a distributed broker. By deploying network tasks at the edge, this approach can reduce end-to-end latency and the overhead caused by packet retransmission due to packet loss. The proposed implementation accounts for the offloading of some control tasks into the data plane. The prototype is validated and the impact of the task offloading features is assessed. Results show that offloading can be beneficial and improve network performance. Still, our system is outperformed by traditional Zenoh Routers, which is explained by the lack of performance of the used BMv2 software switch. To account for these limitations, future developments from this work will target hardware-based validation.
Supplemental Material
- [Online]. bmv2 performance. https://github.com/p4lang/behavioral-model/blob/main/docs/performance.md.Google Scholar
- [Online]. fabric.p4. https://github.com/opennetworkinglab/onos/tree/2.2.7/pipelines/fabric/impl/src/main/resources.Google Scholar
- [Online]. mininet container with stratum. https://hub.docker.com/r/opennetworking/mn-stratum.Google Scholar
- [Online]. ONOS version. https://github.com/opennetworkinglab/onos/tree/2.2.7.Google Scholar
- [Online]. zenoh message format. https://github.com/eclipse-zenoh/zenoh/blob/branch_0.5.0-beta.8/zenoh/src/net/protocol/proto/msg.rs.Google Scholar
- [Online]. zenoh version implementation. https://github.com/eclipse-zenoh/zenoh/tree/branch_0.5.0-beta.8.Google Scholar
- Gabriele Baldoni, Julien Loudet, Luca Cominardi, Angelo Corsaro, and Yong He. 2021. Facilitating distributed data-flow programming with Eclipse Zenoh: the ERDOS case. 13--18. https://doi.org/10.1145/3469263.3469858Google ScholarDigital Library
- Paul Göransson, Chuck Black, and Timothy Culver. 2017. Chapter 5 - The OpenFlow Specification. In Software Defined Networks (Second Edition) (second edition ed.), Paul Göransson, Chuck Black, and Timothy Culver (Eds.). Morgan Kaufmann, Boston, 89--136. https://doi.org/10.1016/B978-0-12-804555-8.00005-3Google Scholar
- Ralf Kundel, Christoph Gärtner, Manisha Luthra, Sukanya Bhowmik, and Boris Koldehofe. 2020. Flexible Content-Based Publish/Subscribe over Programmable Data Planes. In NOMS 2020 - 2020 IEEE/IFIP Network Operations and Management Symposium (Budapest, Hungary). IEEE Press, 1--5. https://doi.org/10.1109/NOMS47738.2020.9110381Google ScholarDigital Library
- Rui Miguel, Salvatore Signorello, and Fernando M. V. Ramos. 2018. Named Data Networking with Programmable Switches. In 2018 IEEE 26th International Conference on Network Protocols (ICNP). 400--405. https://doi.org/10.1109/ICNP.2018.00055Google Scholar
- Tomasz Osiński, Mateusz Kossakowski, Halina Tarasiuk, and Roland Picard. 2019. Offloading data plane functions to the multi-tenant R@Cloud Infrastructure using P4. 1--6. https://doi.org/10.1109/ANCS.2019.8901895Google Scholar
- Justus Rischke and Hani Salah. 2020. Chapter 6 - Software-defined networks. In Computing in Communication Networks, Frank H.P. Fitzek, Fabrizio Granelli, and Patrick Seeling (Eds.). Academic Press, 107--118. https://doi.org/10.1016/B978-0-12-820488-7.00018-9Google Scholar
- Salvatore Signorello, Radu State, Jérôme François, and Olivier Festor. 2016. NDN.p4: Programming information-centric data-planes. In 2016 IEEE NetSoft Conference and Workshops (NetSoft). 384--389. https://doi.org/10.1109/NETSOFT.2016.7502472Google ScholarCross Ref
- Christian Wernecke, Helge Parzyjegla, Gero Mühl, Peter Danielis, and Dirk Timmermann. 2018. Realizing Content-Based Publish/Subscribe with P4. In 2018 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN). 1--7. https://doi.org/10.1109/NFV-SDN.2018.8725641Google ScholarCross Ref
Index Terms
- Realizing Zenoh with programmable dataplanes
Recommendations
The P4->NetFPGA Workflow for Line-Rate Packet Processing
FPGA '19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysP4 has emerged as the de facto standard language for describing how network packets should be processed, and is becoming widely used by network owners, systems developers, researchers and in the classroom. The goal of the work presented here is to make ...
Fast network congestion detection and avoidance using P4
NEAT '18: Proceedings of the 2018 Workshop on Networking for Emerging Applications and TechnologiesAlong with exciting visions for 5G communications and the Tactile Internet, the networking requirement of attaining extremely low end-to-end latency has appeared. While network devices are typically equipped with buffers to counteract packet loss caused ...
P4-Compatible High-Level Synthesis of Low Latency 100 Gb/s Streaming Packet Parsers in FPGAs
FPGA '18: Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysPacket parsing is a key step in SDN-aware devices. Packet parsers in SDN networks need to be both reconfigurable and fast, to support the evolving network protocols and the increasing multi-gigabit data rates. The combination of packet processing ...
Comments