Data plane verification (DPV) is important for finding network errors. Current DPV tools employ a centralized architecture, where a server collects the data planes of all devices and verifies them. Despite substantial efforts on accelerating DPV, this centralized architecture is inherently unscalable. In this paper, to tackle the scalability challenge of DPV, we circumvent the scalability bottleneck of centralized design and design Coral, a distributed, on-device DPV framework. The key insight of Coral is that DPV can be transformed into a counting problem on a directed acyclic graph, which can be naturally decomposed into lightweight tasks executed at network devices, enabling scalability. Coral consists of (1) a declarative requirement specification language, (2) a planner that employs a novel data structure DVNet to systematically decompose global verification into on-device counting tasks, and (3) a distributed verification (DV) protocol that specifies how on-device verifiers communicate task results efficiently to collaboratively verify the requirements. We implement a prototype of Coral. Extensive experiments with real-world datasets (WAN/LAN/DC) show that Coral consistently achieves scalable DPV under various networks and DPV scenarios, i.e., up to 1250 times speed up in the scenario of burst update, and up to 202 times speed up on 80% quantile of incremental verification, than state-of-the-art DPV tools, with little overhead on commodity network devices.
翻译:数据平面校验( DPV ) 对查找网络错误很重要 。 当前 DPV 工具使用一个中央结构, 服务器收集所有设备的数据平面并进行校验。 尽管在加速 DPV 方面做了大量努力, 这一中央结构本质上是无法伸缩的。 在本文中, 要解决DPV 的缩缩放挑战, 我们绕过中央设计和设计Coral( 分布式的、 配置式的 DPV 框架) 的可缩放性瓶颈。 珊瑚的主要洞察力是, DPV 可以通过一个定向的环流图转换成一个计时问题, 该图可以自然地分解成在网络设备上执行的轻度任务, 使可缩放性。 珊瑚包括:(1) 宣告性要求规格语言, (2) 使用新数据结构DVNet 系统地将全球核查纳入脱钩性计数任务的计划员, 以及 (3) 分布式核查( DV) 协议, 说明在协作性核实任务结果中如何高效地传递任务结果以核实要求。 我们用一个Coral. 广泛实验的原型, 与现实世界数据设置( WAN/ LAN- RET/ LEAN/ DID/DC) 网络 更新速度到 20 ViV) 的快速的网络, 在12 假设中, 速度到20 时间到20 的快速的 的快速的 的 时间到20V/ DVDVDVDVDV 速度, 在 的 的 时间到20V 时间到 时间到 。