aOFFICER: Adaptive OpenFlow Rules Placement

通过上文的OFFICER模型的启发式算法,我们得到了一个优化的流矩阵A(|F|-by-|L+| binary matrix)。但是对于一个大型的网络拓扑,流矩阵A的规模将十分巨大,无法实际处理。同时TCAM节点的容量有限。——>如何减少A的规模呢?

网络中的流可以分为两种:

  • small flows :老鼠流。流量(流的大小)小,但是数量多
  • large flows:大象流。流量大,但是数量少。

为此,我们可以只考虑大象流,即将重要的大象流放入流矩阵A中处理,而将数量众多的老鼠流交给控制器处理,默认转发。

With thousands of servers, if flows are defined by their TCP/IP 4-tuple, the matrix can be composed of tens of millions of entries.

A way to reduce the size of the allocation matrix is to ignore the small flows that, even if they are numerous, do not account for a large amount of traffic and can hence be treated by the controller.

本文的作者在此基础上继续优化模型,提出了aOFFICER模型。

——>该模型是被动放置问题

online ORPP, in which the set of flows is unknown and varies over time.——>reactive approach

——>核心思想:

aOFFICER, that can detect the important, large flows and install rules for them on appropriate paths.

其思想分为两个部分:

  • how rules are chosen 怎么区别合适的大象流?
  • how rules are installed 怎么安放对应的规则?

how rules are installed ?

首先我们看下aOFFICER模型怎么安放规则的。

这里写图片描述

  • 这里有三种路径:

    • default load(默认路径): the load on the default devices
    • signaling load(信道路径):the load on the controller
    • TCAM交换机节点构成的正常路径,需要被动安放规则
  • 因为是被动模型。对于大象流,可以通过向控制器申请合适的路径(最短路径或OFFICER模型的路径),将规则安装到节点上。而对于老鼠流,直接在默认设备的默认路径上转发到目的地,节省了节点的容量空间。默认设备类似于规则缓存中的软件交换机。默认设备:软件交换机,非TCAM,具有无限的容量,但是匹配转发流的延迟高。只适合老鼠流。

  • 所有的流在开始时都必须在默认路径上转发。
  • 随后,流f向控制器申请的过程:
    ①对于流f的数据包量超过阈值H时,来一个数据包向控制申请一次,希望在正常路径节点上安放规则。
    ②如果申请不成功,下个相同流f的数据包来了接着申请,直到成功或流f用完
    ③申请成功,可以安放规则。但是,由于节点容量有限,规则安放也有成功率r。

how rules are chosen ?

上节介绍了该模型安放流的套路。但是节点容量有限,怎么选择合适的流安放呢,也就是怎样确定合适的区分大小流的阈值H?

——>首先,通过模型得到我们的优化目标:

我们的目标是最小化默认路径和信道路径的负载(C d 和C s )。但是两者存在矛盾,如果更多的流被安放,那么默认路径的开销变小,但是信道路径的开销变大。

所以我们的目标是在两者之间找到一个最佳的平衡点,最小两者之和(total cost:C=C d +C s

——>如何和得到C呢?

我们抽象(H,r)的函数:

这里写图片描述

1)当流f的流量n f < H,流f只在默认路径转发,没有向控制器申请(即没有在节点上安装规则,在正常路径上转发),得:a f = n f , b f = 0, d f = 0。

2)当流f的流量n f > H,且H ≤ a f ≤ n f ,第k个流:a f = k ——>(H ≤ k < n f ) ,此时流f超过H部分的数据包k − H + 1向控制器申请,希望流f在节点上安装规则在正常路径上转发。

此时第k个数据包申请成功的概率(即前k-H个申请失败,第k-H+1申请成功):
这里写图片描述
当流f到最后一个数据包,k=n f ,有申请成功和申请失败两种可能:
这里写图片描述
每第k次申请,不管是否成功,都有k个数据包在默认路径转发,根据全概率公式,得到默认路径的开销a f
这里写图片描述

综上1)2)得到默认路径开销a f
这里写图片描述

一旦数据包量到达H-1,就开始向控制器申请安装规则。没申请一次就是一次信道路径的开销b f
这里写图片描述

能安装流f(规则)的可能性p f
这里写图片描述

申请被拒绝的次数d f ,分为申请成功之前的被拒绝和一直被拒绝两种情况:
这里写图片描述


——>综上:

对所有流的默认路径开销:
这里写图片描述

对流的信道路径开销:
当一个数据包申请成功时,需要向n个节点下发规则,并n个规则超时还要想控制器发送超时移除规则通知。所以β f =(1+2n)。
对于每个流f,分为申请失败和成功两种情况的信道开销:d f f p f

——>总的成本cost:
这里写图片描述

——>我们得到了一个C与(H,r)的关系函数:
这里写图片描述

  • 高成本区域:r—>0,H—>1
  • r低,安放规则成功率低,H应该高,避免申请控制器,减少信道开销
  • r高,安放规则成功率高,H应该低,更多的流被安放,减少默认设备开销
  • 通过调节阈值H来维护r的高成功率

——>r的高成功率很重要,那么怎么通过H来维护呢?

本文提出了一种主动算法aOFFICER,类似于TCP的拥塞控制(发送量线性增长,但发现拥塞时发送变为一半,然后接着线性增长),通过调节阈值H来避免进入高成本区域。

1)首先,我们使用指数加权平均模型(EWMA)来估计下一次的规则安放成功可能性r n

这里写图片描述

2)接着,我们了Multiplicative Increase/Multiplicative Decrease (MIMD) algorithm 算法,来动态调整阈值H,从而来维护r。(类似TCP拥塞策略)

当r过低时,即容量不足,适当的增加阈值H。在下一次中r n 中会增加;
当r过低高时,即容量充足,适当的降低阈值H。在下一次中r n 中会降低。

这里写图片描述

注:为了避免H过高无法安装规则,在T间隔后若无申请则自动减操作。


仿真实验


引用:

  • Nguyen, Xuan Nam. “The OpenFlow rules placement problem : a black box approach.” (2016).
  • X.N. Nguyen, D. Saucez, C. Barakat and T. Turletti, “OFFICER:A general Optimization Framework for OpenFlow Rule Allocation and Endpoint Policy Enforcement”, IEEE INFOCOM 2015, Hongkong, China, April 2015
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值