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?

——>首先,通過模型得到我們的優化目標:

我們的目標是最小化默認路徑和信道路徑的負載(Cd 和Cs )。但是兩者存在矛盾,如果更多的流被安放,那麼默認路徑的開銷變小,但是信道路徑的開銷變大。

所以我們的目標是在兩者之間找到一個最佳的平衡點,最小兩者之和(total cost:C=Cd +Cs

——>如何和得到C呢?

我們抽象(H,r)的函數:

這裏寫圖片描述

1)當流f的流量nf < H,流f只在默認路徑轉發,沒有向控制器申請(即沒有在節點上安裝規則,在正常路徑上轉發),得:af = nf , bf = 0, df = 0。

2)當流f的流量nf > H,且H ≤ af ≤ nf ,第k個流:af = k ——>(H ≤ k < nf ) ,此時流f超過H部分的數據包k − H + 1向控制器申請,希望流f在節點上安裝規則在正常路徑上轉發。

此時第k個數據包申請成功的概率(即前k-H個申請失敗,第k-H+1申請成功):
這裏寫圖片描述
當流f到最後一個數據包,k=nf ,有申請成功和申請失敗兩種可能:
這裏寫圖片描述
每第k次申請,不管是否成功,都有k個數據包在默認路徑轉發,根據全概率公式,得到默認路徑的開銷af
這裏寫圖片描述

綜上1)2)得到默認路徑開銷af
這裏寫圖片描述

一旦數據包量到達H-1,就開始向控制器申請安裝規則。沒申請一次就是一次信道路徑的開銷bf
這裏寫圖片描述

能安裝流f(規則)的可能性pf
這裏寫圖片描述

申請被拒絕的次數df ,分爲申請成功之前的被拒絕和一直被拒絕兩種情況:
這裏寫圖片描述


——>綜上:

對所有流的默認路徑開銷:
這裏寫圖片描述

對流的信道路徑開銷:
當一個數據包申請成功時,需要向n個節點下發規則,並n個規則超時還要想控制器發送超時移除規則通知。所以βf =(1+2n)。
對於每個流f,分爲申請失敗和成功兩種情況的信道開銷:dff pf

——>總的成本cost:
這裏寫圖片描述

——>我們得到了一個C與(H,r)的關係函數:
這裏寫圖片描述

  • 高成本區域:r—>0,H—>1
  • r低,安放規則成功率低,H應該高,避免申請控制器,減少信道開銷
  • r高,安放規則成功率高,H應該低,更多的流被安放,減少默認設備開銷
  • 通過調節閾值H來維護r的高成功率

——>r的高成功率很重要,那麼怎麼通過H來維護呢?

本文提出了一種主動算法aOFFICER,類似於TCP的擁塞控制(發送量線性增長,但發現擁塞時發送變爲一半,然後接着線性增長),通過調節閾值H來避免進入高成本區域。

1)首先,我們使用指數加權平均模型(EWMA)來估計下一次的規則安放成功可能性rn

這裏寫圖片描述

2)接着,我們了Multiplicative Increase/Multiplicative Decrease (MIMD) algorithm 算法,來動態調整閾值H,從而來維護r。(類似TCP擁塞策略)

當r過低時,即容量不足,適當的增加閾值H。在下一次中rn 中會增加;
當r過低高時,即容量充足,適當的降低閾值H。在下一次中rn 中會降低。

這裏寫圖片描述

注:爲了避免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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章