論文閱讀:Research on TCAM-based OpenFlow Switch Platform

摘要:

OpenFlow是一種快速發(fā)展的新型交換機模型绎签,該模型支持對網(wǎng)絡(luò)過程的外部策略的控制缆毁。

在Openflow平臺中岛蚤,多表和多項目的組匹配是挑戰(zhàn)邑狸。

于是提出了Openflow交換機的三層實現(xiàn)模型, 研究了基于TCAM的Openflow多表切換技術(shù)涤妒,包括Openflow中的多表過程模型和TCAM性能模型单雾,最后在上述模型下分析了基于TCAM的Openflow轉(zhuǎn)發(fā)性能。

背景/問題:

Openflow被提出后得到了快速的發(fā)展,IBM和HP都生產(chǎn)了Openflow交換機硅堆。

但是屿储,這些交換機是基于傳統(tǒng)的交換機芯片來實現(xiàn)的。盡管它支持Openflow協(xié)議渐逃,但很難在數(shù)據(jù)轉(zhuǎn)發(fā)平面中支持15個字段匹配够掠。

在OpenFlow交換機的實現(xiàn)中,如何始終支持基于多項目組的流匹配一直是一個挑戰(zhàn)茄菊。

解決辦法:

提出了一個三層的Openflow交換機實現(xiàn)模型疯潭,基于TCAM的多表轉(zhuǎn)發(fā),并且提出了Openflow多表描述和TCAM查找功能的性能分析面殖。

以Netlogic的Ayama20000 TCAM為例來分析Openflow交換機的性能竖哩。

實現(xiàn)細(xì)節(jié):

在1.1版規(guī)范發(fā)布之后,Openflow與以前相比增加了多表脊僚、端口組相叁、可伸縮匹配和其他新功能,但是可以實現(xiàn)新規(guī)范的交換機模型數(shù)量較少辽幌。

結(jié)構(gòu):

根據(jù)新規(guī)范的特點增淹,我們設(shè)計了基于硬件層,核心層乌企,用戶層的三層結(jié)構(gòu)來實現(xiàn)虑润。

  • 硬件層使用三進(jìn)制內(nèi)容可尋址存儲器和相關(guān)的SRAM來實現(xiàn)快速查找ACL和路由表,通過FPGA芯片在硬件收發(fā)中實現(xiàn)加速邏輯功能逛犹,同時在硬件接收器模塊中進(jìn)行數(shù)據(jù)包分析端辱,根據(jù)OpenFlow的規(guī)則查找硬件或軟件梁剔。
  • 核心層設(shè)置了五個模塊虽画,包括規(guī)則管理過程,OpenFlow規(guī)則表荣病,OpenFlow規(guī)則映射表码撰,轉(zhuǎn)發(fā)線程管理,統(tǒng)計計數(shù)器个盆。
    -- 規(guī)則管理過程主要通過API和用戶層完成控制器交互脖岛,OpenFlow控制器需要將操作表對流到硬件層,并且該層OpenFlow規(guī)則表update命令發(fā)送更改以實現(xiàn)對表的操作颊亮。
    -- OpenFlow規(guī)則表使用Hash算法實現(xiàn)了快速的十五組查詢表而沒有通配符柴梆。
    -- OpenFlow規(guī)則映射表用于備份數(shù)據(jù)流表以及實現(xiàn)某些擴(kuò)展,如超時更新等终惑。
    -- 管理線程主要用于轉(zhuǎn)發(fā)三層通道中傳遞的數(shù)據(jù)流绍在。
    -- 統(tǒng)計計數(shù)器是針對每個流,流表和端口等實現(xiàn)OpenFlow規(guī)范,在此層設(shè)置計數(shù)器是由于考慮到大量的存儲空間和資源消耗等偿渡。
  • 用戶層是OpenFlow控制器臼寄,用戶可以通過控制器更改交換機配置。

    三層模型不僅可以實現(xiàn)十五個字段來完成當(dāng)前的匹配溜宽,還可以支持當(dāng)前使用的網(wǎng)絡(luò)數(shù)據(jù)包的正常規(guī)則吉拳。通過核心層配置通配符OpenFlow字段查找表、其他功能的MetaData定義适揉,可以實現(xiàn)非常好的交互留攒。我們還可以將Aging與核心層映射表的規(guī)則相結(jié)合,在TCAM上配置硬件層嫉嘀,以達(dá)到更好的OpenFlow硬超時和空閑超時標(biāo)準(zhǔn)稼跳。
  • 空閑超時(idle timeout),流表項的idle_timeout字段非0吃沪。在空閑超時這段時間內(nèi)票彪,如果沒有任何數(shù)據(jù)報匹配到該流表項,則交換機會主動將該流表項從流表中移除熟妓。即流表項從交換機設(shè)備移除的相對時間。
  • 硬超時(hard timeout),流表項的hard_timeout字段非0呻顽。當(dāng)該流表項的存在時間超過了預(yù)設(shè)置的硬超時,流表項就會被交換機從流表中移除英染。即流表項從交換機移除的絕對時間狭握。

過程:

  1. 如果從硬件接收到數(shù)據(jù)包哎垦,則進(jìn)行查找今妄,然后分析表以實現(xiàn)匹配(查找表以實現(xiàn)通配符,并進(jìn)行多表查找),如果規(guī)則與轉(zhuǎn)發(fā)問題的硬件匹配,則發(fā)送到轉(zhuǎn)發(fā)管理以更新計數(shù)器。

  2. 通過核心層線程對OpenFlow規(guī)則表的層管理轉(zhuǎn)發(fā)表2中的規(guī)則進(jìn)行匹配(沒有通配符哈希表來查找表)格侯,如果規(guī)則匹配,則從硬件轉(zhuǎn)發(fā)過程中發(fā)出,并將其發(fā)送到轉(zhuǎn)發(fā)管理以更新計數(shù)器愤兵。

  3. 如果全部失敗屹堰,則OpenFlow規(guī)則表通過轉(zhuǎn)發(fā)管理線程珊肃,利用用戶層的Openflow控制器實現(xiàn)請求管理评矩。

  4. 控制器通過API將規(guī)則拖曳表寫入OF內(nèi)核的規(guī)則管理中,然后寫入TCAM以實現(xiàn)TCAM拖曳斥杜,并直接寫入OF映射表(表2)通過規(guī)則管理完成對控制器的請求和完成虱颗。

  5. 在用戶層上,設(shè)置Openflow的規(guī)則數(shù)據(jù)庫以備份和修改配置蔗喂。

補充:

下表定義了與TCAM字符描述關(guān)聯(lián)的參數(shù):


表1

下表描述了OpenFlow多表的用法:假設(shè)OpenFlow交換機具有<RN1忘渔,RN2?RNn>表,每個表具有屬性<RLi缰儿,RNi畦粮,RMi>的三個子集,RLi表示長度規(guī)則乖阵,RNi表示長度規(guī)則 數(shù)字宣赔,RMi表示規(guī)則是否包含掩碼匹配,1表示包括瞪浸,反之為0


表2

時間關(guān)系:
表3

TCAM性能分析:

硬件的查找過程儒将,通過推導(dǎo)TCAM的性能可以獲得不同表的轉(zhuǎn)發(fā)率和資源占用總數(shù)。 具有映射到TCAM的TCAM对蒲,每個的長度為RL1钩蚊,RL2?RLn贡翘, 時鐘周期為T,則可以通過公式得出每秒的速率:



我們可以將表格的長度RLi乘以其編號RNn以獲得內(nèi)部TCAM占用資源率的總數(shù):



每個TCAM都有不同類型的總線帶寬砰逻,如果我們要充分利用TCAM鸣驱,則其總線不會空閑,因此我們需要計算TCAM的延遲時間蝠咆,然后根據(jù)延遲設(shè)計合理的PE丐巫。

為了解決這個問題,我們設(shè)計了一個通用的TCAM模型勺美。 首先递胧,獲得一般的系統(tǒng)延遲。 其次赡茸,我們可以通過TCAM獲得該消息的整個處理時間:



其次缎脾,我們可以在所需的整個TCAM處理時間中獲取消息:



設(shè)置一個周期:a,然后得到以下公式:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末占卧,一起剝皮案震驚了整個濱河市遗菠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌华蜒,老刑警劉巖辙纬,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叭喜,居然都是意外死亡贺拣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進(jìn)店門捂蕴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來譬涡,“玉大人,你說我怎么就攤上這事啥辨∥性龋” “怎么了?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵溉知,是天一觀的道長陨瘩。 經(jīng)常有香客問我,道長级乍,這世上最難降的妖魔是什么舌劳? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮卡者,結(jié)果婚禮上蒿囤,老公的妹妹穿的比我還像新娘。我一直安慰自己崇决,他們只是感情好材诽,可當(dāng)我...
    茶點故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恒傻,像睡著了一般脸侥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盈厘,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天睁枕,我揣著相機與錄音,去河邊找鬼沸手。 笑死外遇,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的契吉。 我是一名探鬼主播跳仿,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捐晶!你這毒婦竟也來了菲语?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤惑灵,失蹤者是張志新(化名)和其女友劉穎山上,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體英支,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡佩憾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了干花。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸯屿。...
    茶點故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖把敢,靈堂內(nèi)的尸體忽然破棺而出寄摆,到底是詐尸還是另有隱情,我是刑警寧澤修赞,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布婶恼,位于F島的核電站,受9級特大地震影響柏副,放射性物質(zhì)發(fā)生泄漏勾邦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一割择、第九天 我趴在偏房一處隱蔽的房頂上張望眷篇。 院中可真熱鬧,春花似錦荔泳、人聲如沸蕉饼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昧港。三九已至擎椰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間创肥,已是汗流浹背达舒。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叹侄,地道東北人巩搏。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像趾代,于是被迫代替她去往敵國和親贯底。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,499評論 2 348

推薦閱讀更多精彩內(nèi)容