一句话:提出 ProbNV,将 Cisco 配置翻译为带新型类型系统的概率函数式语言,实现可扩展的概率网络控制平面验证。
网络控制平面验证需兼顾通用性与可扩展性,概率失败分析尤其困难。ProbNV 将原始 Cisco 配置翻译为面向网络验证的概率函数式语言,并用新型类型系统为数据结构选择具体、符号(BDD)与多值(MTBDD)表示,以加速符号模拟并计算概率性质。评估在真实拓扑与合成路由策略上进行:可对 100–200 台设备的中型网络做概率 all-failures 分析;当失败数有界较小时,500 台设备网络可在数秒内验证。
ProbNV is a new framework for probabilistic network control plane verification that strikes a balance between generality and scalability. ProbNV is general enough to encode a wide range of features from the most common protocols (eBGP and OSPF) and yet scalable enough to handle challenging properties, such as probabilistic all-failures analysis of medium-sized networks with 100-200 devices. When there are a small, bounded number of failures, networks with up to 500 devices may be verified in seconds. ProbNV operates by translating raw CISCO configurations into a probabilistic and functional programming language designed for network verification. This language comes equipped with a novel type system that characterizes the sort of representation to be used for each data structure: concrete for the usual representation of values; symbolic for a BDD-based representation of sets of values; and multi-value for an MTBDD-based representation of values that depend upon symbolics. Careful use of these varying representations speeds execution of symbolic simulation of network models. The MTBDD-based representations are also used to calculate probabilistic properties of network models once symbolic simulation is complete. We implement the language and evaluate its performance on benchmarks constructed from real network topologies and synthesized routing policies.
@article{paperbot1109,
title = {ProbNV: probabilistic verification of network control planes},
author = {Nick Giannarakis and Alexandra Silva and David Walker},
journal = {Proceedings of the ACM on Programming Languages},
volume = {5},
number = {ICFP},
year = {2021},
doi = {10.1145/3473595}
}