Dynamic Property Enforcement in Programmable Data Planes

Dynamic Property Enforcement in Programmable Data Planes
复制标题

DOI:
10.1109/tnet.2021.3068339
复制
发表时间:
2021-08
期刊:
IEEE/ACM Transactions on Networking
影响因子:
--
通讯作者:
M. Neves;B. Huffaker;Kirill Levchenko;M. Barcellos
M. Neves;B. Huffaker;Kirill Levchenko;M. Barcellos
中科院分区:
其他
文献类型:
--
作者:
M. Neves;B. Huffaker;Kirill Levchenko;M. Barcellos

文献摘要

相似文献

网络程序员当前可以通过数据平面编程语言(例如P4)转发设备时部署一组任意的协议。但是,作为任何其他类型的软件,P4程序都受到错误和配置错误的约束。已经提出了网络验证工具作为确保网络行为预期的手段,但是这些工具经常面临严重的可伸缩性问题。在本文中,我们主张一种新的问题方法。我们建议在运行时执行网络属性,而不是静态检查网络配置寻找错误。为此,我们开发了P4Box,这是一种用于在可编程数据平面中部署运行时监视器的系统。 P4Box允许程序员轻松地表达广泛的属性(特定于程序和网络范围的属性)。此外,我们根据主张和符号执行提供一个自动框架,以确保监视器正确性。我们在智能节目上进行的实验,即P4Box监视器代表了网络设备的小开销,从延迟,吞吐量和功耗方面。
Network programmers can currently deploy an arbitrary set of protocols in forwarding devices through data plane programming languages such as P4. However, as any other type of software, P4 programs are subject to bugs and misconfigurations. Network verification tools have been proposed as a means of ensuring that the network behaves as expected, but these tools frequently face severe scalability issues. In this paper, we argue for a novel approach to this problem. Rather than statically inspecting a network configuration looking for bugs, we propose to enforce networking properties at runtime. To this end, we developed P4box, a system for deploying runtime monitors in programmable data planes. P4box allows programmers to easily express a broad range of properties (both program-specific and network-wide). Moreover, we provide an automated framework based on assertions and symbolic execution for ensuring monitor correctness. Our experiments on a SmartNIC show that P4box monitors represent a small overhead to network devices in terms of latency, throughput and power consumption.