主要介绍了一种规则放置算法(rule-placement algorithm)以达到“One Big Switch”的抽象。由于switch容量有限,将所有规则放入一组switch 集群中,以抽象成一个 big switch。
input:①端点策略(end-point policy)和②路由策略(routing policy),以及③网络拓扑(network topology)和④交换机容量synthesize by:规则放置算法(rule-placement algorithm)output:规则(forwarding rule)其中:
Network topology: location (loc) 端口exposed locations 与外界相连的端口ingress loc (入口) 和 egress loc (出口)Our rule-placement algorithm helps raise the level of abstraction for SDN by shielding programmers from the details of distributing rules across switches.
让控制平台管理规则的放置,而不需要应用程序或程序员来实现。他们只需要定义高水平的策略。
注:不存在规则依赖问题,因为一组有依赖的规则都全部放入一组交换机集群中——one big switch 算法分为三个阶段:
we decompose the general rule-placement problem into smaller sub-problems.
输入条件:implementing {E, R} as implementing the routing policy R and a union of endpoint policies over the paths.
通过routing policy可以找出所有τ个路径。a union of endpoint policies是所有规则集E的总和过程:E划分——>规则空间 D
More formally, we can associate path P
在整个规则集中划出一块相应的规则空间D
怎么划分?
根据数据包包头划出规则空间D怎么对应路径?即怎么确定路径P
①The goal of “allocation” phase is to find a global rule-space allocation,such that it is feasible to find rule placements for all paths.
②the feasibility of a rule-space allocation depends primarily on the total amount of space allocated to a path, rather than the portion of that space allocated to each switch.
③we estimate the threshold value for the L
我们首先定义一个阈值η作为估计D
rule-space allocation分为两步:
估计DLP问题:
当检测失败时,增大η
概述:
对于每一条路径,该算法分别(并行)将一块规则(小矩形)放入路径上的某个switch每个规则在路径上只需要一个(i.e. 每个packet在路径上只需要执行一次的r.a)——>规则在路径上可以灵活地移动注意放置规则之前,路径上的每个节点(switch)都要安放一条默认规则(优先级最低),用于当packet没有相对应规则(i.e. packet不在D该算法分为三步:
Cover:在打矩形中找到小矩形E注意两点:
放入的实际规则总是不少于E接上,如何找小矩形?——> 如何找到最好的candidate rectangles?即在大矩形E
(1)问题1:Rectangle selection
(2)问题2:Top-Down search
To limit the search space, our algorithm avoids searching too deeply, preferring larger rectangles over smaller ones.we only consider those rectangles q such that there exists no rectangle q¹ which satisfies both of the following two conditions:(i) q is inside q¹ and (ii) E(3)算法伪代码:
对一些不需要的数据包(丢弃操作的)还传入下一跳节点将会增加不必要的成本
充分利用入端口的switch容量 节点越靠前,权重越大
转变打包顺序
This motivates us to reverse the order we place rules along a chain:here, we shall first pack the most refined rules at the last switch,and progressively pack the rules in upstream switches, making the ingress switch responsible for the biggest rules.
开销问题:额外规则的ovehead
多个路径的开销——一个规则在多个路径上(情况较少)单个路径上的开销新闻热点
疑难解答