Skip to main content
QUICK REVIEW

[论文解读] Network-wide Configuration Synthesis

Ahmed El-Hassany, Petar Tsankov|arXiv (Cornell University)|Nov 8, 2016
Software-Defined Networks and 5G参考文献 16被引用 4
一句话总结

该论文提出 SyNET,这是首个支持端到端网络配置自动生成的系统,能够从高层转发需求自动生成正确的路由器配置。通过使用分层 Datalog 建模路由协议,并结合一种新颖的基于 SMT 的合成算法,SyNET 能够高效计算出包含超过 50 台路由器的现实网络中混合使用 OSPF、BGP 和静态路由的配置。

ABSTRACT

Computer networks are hard to manage. Given a set of high-level requirements (e.g., reachability, security), operators have to manually figure out the individual configuration of potentially hundreds of devices running complex distributed protocols so that they, collectively, compute a compatible forwarding state. Not surprisingly, operators often make mistakes which lead to downtimes. To address this problem, we present a novel synthesis approach that automatically computes correct network configurations that comply with the operator's requirements. We capture the behavior of existing routers along with the distributed protocols they run in stratified Datalog. Our key insight is to reduce the problem of finding correct input configurations to the task of synthesizing inputs for a stratified Datalog program. To solve this synthesis task, we introduce a new algorithm that synthesizes inputs for stratified Datalog programs. This algorithm is applicable beyond the domain of networks. We leverage our synthesis algorithm to construct the first network-wide configuration synthesis system, called SyNET, that support multiple interacting routing protocols (OSPF and BGP) and static routes. We show that our system is practical and can infer correct input configurations, in a reasonable amount time, for networks of realistic size (> 50 routers) that forward packets for multiple traffic classes.

研究动机与目标

  • 解决因手动网络配置错误导致的大范围网络中断这一关键挑战。
  • 自动化生成符合高层需求的正确、端到端网络配置。
  • 支持包含 OSPF、BGP 和静态路由等多协议交互的复杂真实网络环境。
  • 提供一种通用框架,将协议语义与配置合成过程解耦。
  • 在确保正确性与兼容性的前提下,实现对超过 50 台路由器规模网络的可扩展性合成。

提出的方法

  • 使用分层 Datalog 建模网络行为,包括分布式协议及其交互,将稳定转发状态表示为固定点。
  • 将端到端网络配置合成问题转化为分层 Datalog 程序的输入合成问题。
  • 将 Datalog 程序分解为层级,并使用现成的 SMT 求解器迭代合成输入。
  • 利用 SMT 求解技术探索配置空间,寻找能产生满足用户定义要求的固定点的输入。
  • 支持递归规则和分层否定,以表达复杂的协议行为,如 BGP 路径选择和 OSPF 最短路径计算。
  • 将合成流水线集成到 SyNET 中,构建一个完整的系统,可为异构路由环境生成端到端配置。

实验结果

研究问题

  • RQ1通用的合成方法是否能够自动从高层转发需求生成正确的端到端网络配置?
  • RQ2如何在统一框架中形式化捕捉并合成多个路由协议(如 OSPF 和 BGP)之间的交互?
  • RQ3在混合协议配置下,是否可行将配置合成扩展到真实规模的网络(例如 >50 台路由器)?
  • RQ4分层 Datalog 是否能有效建模具有依赖关系的复杂非单调路由行为?
  • RQ5在该场景下,所提出的基于 SMT 的合成算法相较于现有的符号执行或反例引导方法有何优势?

主要发现

  • SyNET 成功为超过 50 台路由器的网络生成了正确配置,证明了其实际可扩展性。
  • 该系统支持 OSPF、BGP 和静态路由的混合配置,支持负载均衡和基于策略的转发。
  • 合成算法能够处理递归 Datalog 规则和分层否定,这对于建模真实路由协议至关重要。
  • 该方法通过消除手动调优和最小化人为错误,显著降低了配置负担。
  • 与 Propane 和 Genesis 等先前工具相比,SyNET 同时支持多种协议并能自动生成正确配置,表现更优。
  • 使用 SMT 求解器可高效探索庞大的配置空间,同时确保正确性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。