[论文解读] A Distributed SDN Control Plane for Consistent Policy Updates
本文提出了一种分布式SDN控制平面,通过事务接口确保每包一致的策略更新,实现并发、容错的策略组合。它提出了一致策略组合(CPC)问题,并提出了两种协议——FixTag和ReuseTag,实现了$f+2$的最优标签复杂度,适用于$f$-容错系统,其中ReuseTag通过复制状态机实现全序,用于冲突解决。
Software-defined networking (SDN) is a novel paradigm that out-sources the control of packet-forwarding switches to a set of software controllers. The most fundamental task of these controllers is the correct implementation of the \emph{network policy}, i.e., the intended network behavior. In essence, such a policy specifies the rules by which packets must be forwarded across the network. This paper studies a distributed SDN control plane that enables \emph{concurrent} and \emph{robust} policy implementation. We introduce a formal model describing the interaction between the data plane and a distributed control plane (consisting of a collection of fault-prone controllers). Then we formulate the problem of \emph{consistent} composition of concurrent network policy updates (short: the \emph{CPC Problem}). To anticipate scenarios in which some conflicting policy updates must be rejected, we enable the composition via a natural \emph{transactional} interface with all-or-nothing semantics. We show that the ability of an $f$-resilient distributed control plane to process concurrent policy updates depends on the tag complexity, i. e., the number of policy labels (a.k.a. \emph{tags}) available to the controllers, and describe a CPC protocol with optimal tag complexity $f+2$.
研究动机与目标
- 解决在分布式、易出错的SDN控制平面中并发、一致的策略更新挑战。
- 形式化一致组合并发网络策略更新(CPC问题)的问题,采用全或无语义进行冲突解决。
- 设计一种容错的分布式协议,在策略更新期间保持每包一致性,确保没有数据包在新旧策略混合下被处理。
- 在容许最多$f$个控制器故障的前提下,最小化标签复杂度——即所用策略标签的数量。
- 通过将SDN与软件事务内存(STM)等分布式计算模型联系起来,为稳健、可扩展的SDN控制建立理论基础。
提出的方法
- 使用故障易发控制器和数据包级别一致性的模型,形式化数据平面与分布式控制平面之间的交互。
- 引入受软件事务内存(STM)启发的CPC抽象,提供具有全或无语义的事务接口用于策略更新。
- 设计FixTag协议,一种无等待算法,直接将更新应用到数据平面,并逐步解决冲突,标签复杂度与更新数量呈线性关系。
- 提出ReuseTag协议,利用复制状态机方法对更新强制实施全序,实现$f$-容错下的最优标签复杂度$f+2$。
- 将SDN端口上的原子读-修改-写操作作为一致更新的最小系统要求,已在附录A中证明其必要性。
- 分析交换机控制器中并发性、消息开销和内存使用之间的权衡,表明最优标签复杂度以ReuseTag中更新执行的顺序性为代价。
实验结果
研究问题
- RQ1分布式SDN控制平面能否在容忍控制器故障的同时,确保并发策略更新期间的每包一致性?
- RQ2为实现一致的策略组合,$f$-容错的分布式控制平面所需的最小标签复杂度是多少?
- RQ3如何在不影响在途数据包的前提下解决冲突的策略更新,以确保网络环境中的事务语义?
- RQ4在不牺牲一致性的前提下,故障容错的分布式SDN控制平面在多大程度上可以支持并发策略更新?
- RQ5哪些基本系统原语(例如原子操作)是实现分布式环境中一致网络更新所必需的?
主要发现
- ReuseTag协议在$f$-容错系统中实现了最优的标签复杂度$f+2$,证明该界是紧致的。
- FixTag协议实现了线性标签复杂度(与更新数量成线性关系)的并发更新,但未达到最优标签复杂度。
- 本文证明,若无SDN端口上的原子读-修改-写操作,一致网络更新将不可能实现,确立了最小系统要求。
- CPC抽象通过结合顺序组合的直觉与乐观更新应用,成功建模了现实世界中的网络管理,确保在并发和故障情况下的正确性。
- ReuseTag协议在最坏情况下退化为顺序更新安装,凸显了标签效率与并发性之间的根本权衡。
- 该工作在SDN控制与软件事务内存(STM)等分布式计算模型之间建立了正式联系,实现了跨领域洞察。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。