目錄
- 基本概念
- 三個Rules Caching算法
- 一個Cache Replacement的思路
- 總結及實現
基本概念
一、packet classification
http://blog.csdn.net/u013480581/article/details/54173059
The process of categorizing packets into “flows” in an Internet router is called packet classification.
網包分類(packet classification)能夠依據多域網包包頭(packet header)信息對網絡流量進行細粒度的分類。就是packet怎麼匹配到rule的過程。
TCAM的優勢衆所周知,但是也存在缺陷:
- TCAM容量有限
- TCAM不能快速更新規則
解決TCAM問題:
- packet classification compression:包分類壓縮,在存儲之前合併rule,得到smaller packet
classification - rules distribution along traffic route:在cache之前,重新規劃rule ,簡化 packet
classification policy rules caching:
- TCAM容量限制:兩種switch,①TCAM(存儲popluar rule)快速匹配;②sofeware switch(存儲cache miss)容量大,快速更新。→怎樣區分popular和miss規則→需要規則放置→涉及規則依賴問題
- TCAM不能快速更新規則:怎樣規則替換→ 引出規則替換
二、規則依賴
基本概念:
- 網包P(Packet)。網包p包含的d個域的網包包頭
- 搜索空間S(Search Space)。網包在d個域空 間所有可能的取值構成搜索空間。一個5維的包頭域:S=
[0,322 -1]X[0,322 -1]X[0,162 -1]X[0,162 -1]X[0,82 -1] - 分類規則R(Rule)。規則優先級(priority)r.pri ;和規則決策 (action)r.act
- cover_set:(重要概念)基於覆蓋集,是依賴cost大幅減小,是實現規則可以緩存的基礎。
解釋規則依賴: - 如圖(a)或(b),R1和R2規則有重疊部分,具有依賴關係,且R1的優先級高於R2,即R2依賴於R1。若只將R2存儲進TCAM,而不存儲R1,packet本應該匹配R1,則導致匹配錯誤。
- 如圖(c),若存儲R6,根據依賴關係,則必須存儲R4、R2、R1。通過cover-set可以創造新的規則R6*(R6*.act:to_ss),並將R4、R2、R1放入sofeware switch。
Rules Caching Algorithms
貪心算法的思路
- cover-set caching algorithm
- layer-by-layer rules caching algorithm(LLRC)Yen-Cheng Chuo
- new rules caching algorithm(NRC)Zhenge Jia
TCAMsize=3 ICV=weight/cost ACV:累積貢獻值
cover-set caching algorithm
找最大的個人貢獻值(ICV)
LLRC算法1
關鍵:怎麼求每個節點的ACV
eg1:以R9開始爲例
eg2 :以R7開始爲例
LLRC算法2
NRC算法
打破了LLRC算法層與層之間的限制,在候選隊列中選擇最大的ACV
規則替換算法(RCR)
- Temporal locality:時間局部性是指如果一個規則與當前的流量相匹配,那麼該規則將很快再次匹配。
- Spatial locality:空間局部性是指在短時間內,交通集中於某一塊空間。
Rules Caching Algorithms總結
- cover_set算法:相比較,利用ICV遍歷導致cost成本很高
- LLRC:reduce the cover-set
overhead,但是侷限於層與層之間。時間複雜度o(T*N^2)高,但是可以得到全局ACV。 - NRC:時間複雜度o(N^2),但是隻能得到局部DAG圖的ACV。並且cost沒有做到動態更新。
引用:
- Gupta P, McKeown N. Algorithms for packet classification[J]. IEEE Network, 2001, 15(2): 24-32.
- Katta N, Alipourfard O, Rexford J, et al. Rule-Caching Algorithms for Software-Defined Networks[R]. Technical report, Princeton University, 2014.
- Sheu J P, Chuo Y C. Wildcard Rules Caching and Cache Replacement Algorithms in Software-Defined Networking[J]. IEEE Transactions on Network & Service Management, 2016, 13(1):19-29.
- Jia Z. Wildcard Rules Caching Algorithm in Software-Define Networkings[J].