We introduce a formal language for specifying dynamic updates for Software Defined Networks. Our language builds upon Network Kleene Algebra with Tests (NetKAT) and adds constructs for synchronisations and multi-packet behaviour to capture the interaction between the control- and data-plane in dynamic updates. We provide a sound and ground-complete axiomatisation of our language. We exploit the equational theory to provide an efficient reasoning method about safety properties for dynamic networks. We implement our equational theory in DyNetiKAT -- a tool prototype, based on the Maude Rewriting Logic and the NetKAT tool, and apply it to a case study. We show that we can analyse the case study for networks with hundreds of switches using our initial tool prototype.
翻译:我们采用了一种正式的语言来具体软件定义网络的动态更新。我们的语言以网络 Kleene 代数与测试为基础,增加了同步和多包行为结构,以在动态更新中捕捉控制机和数据机之间的互动。我们为我们的语言提供了一个健全和地面完整的xx化。我们利用方程式理论来为动态网络的安全特性提供一个有效的推理方法。我们在DyNetiKAT中应用了我们的等式理论 -- -- 一种基于Maude重写逻辑和NetKAT工具的工具原型,并将其应用到案例研究中。我们展示了我们能够利用我们最初的工具原型分析数百个开关的网络案例研究。