Skip to main content
QUICK REVIEW

[论文解读] Forwarding Tables Verification through Representative Header Sets

Yacine Boufkhad, Ricardo De La Paz|arXiv (Cornell University)|Jan 26, 2016
Software System Performance and Reliability参考文献 9被引用 4
一句话总结

本文提出了一种多项式时间方法,用于在软件定义网络(SDN)中验证转发表,通过计算代表性报头集合——即捕获所有匹配相同规则的报头类别的最小集合。通过利用弱完备性(weak completion)和高效的集合操作,该方法实现了对环路和黑洞的可处理检测,并通过证明标记方案提供正确性保证,显著优于NP难的替代方案。

ABSTRACT

Forwarding table verification consists in checking the distributed data-structure resulting from the forwarding tables of a network. A classical concern is the detection of loops. We study this problem in the context of software-defined networking (SDN) where forwarding rules can be arbitrary bitmasks (generalizing prefix matching) and where tables are updated by a centralized controller. Basic verification problems such as loop detection are NP-hard and most previous work solves them with heuristics or SAT solvers. We follow a different approach based on computing a representation of the header classes, i.e. the sets of headers that match the same rules. This representation consists in a collection of representative header sets, at least one for each class, and can be computed centrally in time which is polynomial in the number of classes. Classical verification tasks can then be trivially solved by checking each representative header set. In general, the number of header classes can increase exponentially with header length, but it remains polynomial in the number of rules in the practical case where rules are constituted with predefined fields where exact, prefix matching or range matching is applied in each field (e.g., IP/MAC addresses, TCP/UDP ports). We propose general techniques that work in polynomial time as long as the number of classes of headers is polynomial and that do not make specific assumptions about the structure of the sets associated to rules. The efficiency of our method rely on the fact that the data-structure representing rules allows efficient computation of intersection, cardinal and inclusion. Finally, we propose an algorithm to maintain such representation in presence of updates (i.e., rule insert/update/removal). We also provide a local distributed algorithm for checking the absence of black-holes and a proof labeling scheme for locally checking the absence of loops.

研究动机与目标

  • 为解决SDN中转发表验证的NP难问题,其中任意位掩码和复杂规则交互使得穷举报头空间分析不可行。
  • 开发一种可扩展的验证框架,通过聚焦于触发相同规则匹配的报头等价类,避免对所有报头进行穷举扫描。
  • 通过报头类代表实现对环路自由性和黑洞缺失等关键网络属性的高效集中式与分布式验证。
  • 通过弱完备性提供规则行为的最小化、可维护表示,相比强完备性或基于SAT的方法减少冗余。

提出的方法

  • 通过弱完备性计算最小代表性报头集合集合,确保每个报头类别至少由一个集合代表。
  • 在规则定义的报头集合上使用高效的集合操作——交集、包含关系和基数检查——以计算并维护代表性集合集合。
  • 采用集中式算法在多项式时间内计算代表性报头集合,假设报头类别的数量为多项式级别。
  • 提出增量更新算法,以在规则插入、更新和删除时维护代表性集合集合。
  • 设计一种本地分布式算法,通过检查每个节点处的报头集合行为来验证黑洞的不存在性。
  • 基于距离标签设计一种用于环路检测的证明标记方案,该方案在MORE-SPECIFIC假设(规则具体性递增)下具有高效性。

实验结果

研究问题

  • RQ1报头等价类是否能够以足够高效的方式表示,从而实现在SDN中对转发表的多项式时间验证?
  • RQ2在规则动态变化下,如何计算并更新报头类别的最小化且可维护的表示?
  • RQ3当规则在固定字段上使用前缀或范围匹配时,报头类别的数量在实践中是否能保持为多项式?
  • RQ4在何种条件下,可使用本地检查和标记方案高效验证环路与黑洞检测?

主要发现

  • 对于使用d个固定字段的前缀或范围匹配的n条规则,报头类别的数量保持为多项式(O(n^d)),使得实际验证成为可行。
  • 通过聚焦于代表性报头集合而非所有报头,该方法将验证复杂度从NP难降低为多项式时间。
  • 弱完备性提供了报头类别的最小化表示,足以验证环路和黑洞相关属性。
  • 该方法支持对代表性报头集合集合的增量更新,从而实现对动态网络配置的验证。
  • 在MORE-SPECIFIC假设下,基于Bellman-Ford风格距离标记的完全分布式环路自由性验证成为可能。
  • 该方法通过避免对报头空间的穷举探索并减少规则表示中的冗余,优于SAT求解器和启发式方法。

更好的研究,从现在开始

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

无需绑定信用卡

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