唐 菀,王敢甫,吳京京,王文濤
(1 中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院, 武漢 430074;2 武漢烽火信息集成技術(shù)有限公司 IT事業(yè)部,武漢 430074)
SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項(xiàng)轉(zhuǎn)換的流表調(diào)度優(yōu)化
唐 菀1,王敢甫2,吳京京1,王文濤1
(1 中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院, 武漢 430074;2 武漢烽火信息集成技術(shù)有限公司 IT事業(yè)部,武漢 430074)
針對(duì)基于軟件定義網(wǎng)絡(luò)(SDN)架構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò)中,SDN交換機(jī)流表資源的有限性導(dǎo)致的流表溢出或控制器擁塞等問題,引入空閑流表資源代價(jià)的概念描述了網(wǎng)絡(luò)資源的利用率,并分析了空閑流表資源量與重復(fù)下發(fā)的流表項(xiàng)數(shù)量之間的關(guān)系,提出了一個(gè)基于流表超時(shí)機(jī)制的流表調(diào)度策略,依據(jù)流表項(xiàng)生存時(shí)間和匹配計(jì)數(shù)來進(jìn)行靜態(tài)流表項(xiàng)和動(dòng)態(tài)流表項(xiàng)之間的實(shí)時(shí)轉(zhuǎn)換.在Fat-tree拓?fù)銼DN數(shù)據(jù)中心網(wǎng)絡(luò)仿真實(shí)驗(yàn)中,對(duì)該機(jī)制對(duì)流表資源優(yōu)化的有效性進(jìn)行了驗(yàn)證.
軟件定義網(wǎng)絡(luò);數(shù)據(jù)中心網(wǎng)絡(luò);資源代價(jià);流表調(diào)度
AbstractThe resource limitation of the flowtable in OpenFlow switches causes the problem of flowtable overflow or controller congestion in the SDN-based datacenter network. To address the issue, in this paper, the concept of Free Entries Cost is introduced for describing the utilization efficiency of network resources, and the relationship between the numbers of free flowtable resources and that of the flowentries being forwarded repeatedly is analyzed. Then, a flowtable scheduling strategy based on the flowtable timeout mechanism is proposed, which can do real-time conversion between static and dynamic flowentries according to the survival time and the count of the flowentry matching. Via the simulation platform of SDN-based datacenter network with the Fat-tree topology, the availability of the proposed mechanism for optimizing the usage of flowtables is verified.
Keywordssoftware-defined networking; datacenter network; resource cost; flowtable scheduling
近年來,軟件定義網(wǎng)絡(luò)(SDN)的發(fā)展與數(shù)據(jù)中心的聯(lián)系越來越緊密[1].SDN通過分離控制平面與數(shù)據(jù)平面及提供控制層北向編程接口(API),給云數(shù)據(jù)中心網(wǎng)絡(luò)的管理提供了新的手段和途徑.數(shù)據(jù)中心網(wǎng)絡(luò)每秒會(huì)產(chǎn)生幾十萬(wàn)條流甚至更多,數(shù)據(jù)中心內(nèi)的流量占數(shù)據(jù)中心總流量的80%左右[2],數(shù)據(jù)中心流量已經(jīng)由“南北”為主轉(zhuǎn)變?yōu)椤皷|西”為主.對(duì)于OpenFlow交換機(jī),SDN網(wǎng)絡(luò)提供基于流的細(xì)粒度控制,網(wǎng)絡(luò)中的每一條數(shù)據(jù)流可能對(duì)應(yīng)不止一條流表項(xiàng),加上不同服務(wù)器之間豐富且頻繁的交互,需要控制器下發(fā)大量的流表項(xiàng)來維持通信.當(dāng)突發(fā)流很多時(shí),容易導(dǎo)致控制器過載.并且流表大小受TCAM(Ternary Content Addressable Memory)限制,過多的流表項(xiàng)可能會(huì)由于流表資源不足引起流表溢出.此外,在新的流到達(dá)時(shí)必然會(huì)產(chǎn)生新舊流表項(xiàng)的替換,延長(zhǎng)了流表項(xiàng)的下發(fā)所需時(shí)間,導(dǎo)致更長(zhǎng)的網(wǎng)絡(luò)延時(shí).
為了解決流表容量有限而導(dǎo)致的控制器擁塞和流表資源溢出問題,OpenFlow協(xié)議引入了多流表形式,通過基于流水線的流表查找來解決指數(shù)級(jí)增加的流表項(xiàng)數(shù).學(xué)術(shù)界則主要從幾個(gè)方面來解決:(1)針對(duì)SDN架構(gòu)存在的缺陷,擴(kuò)展SDN架構(gòu)的軟件和硬件功能[3];(2)認(rèn)為流表項(xiàng)的數(shù)據(jù)結(jié)構(gòu)過于繁雜是造成流表資源不足主要原因,從而通過改進(jìn)流表項(xiàng)數(shù)據(jù)結(jié)構(gòu)來解決[4];(3)使用統(tǒng)計(jì)或數(shù)學(xué)模型來預(yù)測(cè)網(wǎng)絡(luò)資源使用[5];(4)根據(jù)網(wǎng)絡(luò)資源使用情況,改進(jìn)流表超時(shí)機(jī)制,動(dòng)態(tài)設(shè)置流表項(xiàng)的超時(shí)時(shí)間[6].
在當(dāng)前通過停滯等待超時(shí)時(shí)間idle-timeout(簡(jiǎn)稱停滯超時(shí)時(shí)間或超時(shí)時(shí)間)調(diào)控流表資源的工作中,還沒有對(duì)控制器資源和流表資源與idle-timeout關(guān)系的深入研究與探討,且大部分側(cè)重于如何減少流表資源的使用來保證其不溢出.其實(shí),要保證流表不溢出,只需要設(shè)置很小的超時(shí)時(shí)間,但考慮在減少流表資源使用時(shí)對(duì)控制器的負(fù)載增加的研究也不多見.因此,本文綜合這兩個(gè)方面提出“空閑流表資源代價(jià)”的概念,用來評(píng)價(jià)相關(guān)算法或策略對(duì)idle-timeout的調(diào)控是否有效.此外,在不同的數(shù)據(jù)中心網(wǎng)絡(luò)流量特性下,研究流表項(xiàng)的超時(shí)設(shè)置對(duì)流表資源和控制器資源的影響,提出流表項(xiàng)的動(dòng)靜態(tài)轉(zhuǎn)換機(jī)制,從而改善流表溢出時(shí)控制器資源與流表資源之間的調(diào)度問題.
1.1流表資源問題描述
當(dāng)前流表項(xiàng)在流表中存活的時(shí)間一般為固定值或永久存在,東西向流量中的業(yè)務(wù)種類豐富,每一個(gè)流產(chǎn)生周期并不一致,如圖1,流表項(xiàng)的idle-timeout即為流匹配完畢后該流表項(xiàng)能繼續(xù)存在于流表中的時(shí)間.如果idle-timeout設(shè)置過短,對(duì)于數(shù)據(jù)間隔時(shí)間(T_interval)比較長(zhǎng)的流,就會(huì)導(dǎo)致交換機(jī)頻繁向控制器發(fā)送Packet_in消息,控制器會(huì)頻繁重復(fù)下發(fā)此流表項(xiàng),浪費(fèi)控制器資源;如果idle-timeout設(shè)置過長(zhǎng),對(duì)于數(shù)據(jù)間隔時(shí)間比較短的流,流表項(xiàng)可能在流匹配結(jié)束后在流表中繼續(xù)存在,成為無(wú)效流表項(xiàng),占用流表資源,并且由于流表的匹配機(jī)制,無(wú)效流表項(xiàng)會(huì)延長(zhǎng)流匹配的過程.所以,為了減小此類問題所產(chǎn)生的影響,平衡控制器資源與流表資源的使用,必須要對(duì)SDN網(wǎng)絡(luò)的流表資源進(jìn)行優(yōu)化.
(a) idle-timeout設(shè)置過短
(b) idle-timeout設(shè)置過長(zhǎng)圖1 停滯等待超時(shí)時(shí)間設(shè)置示例 Fig.1 Examples for idle-timeout setting
1.2空閑流表資源代價(jià)
SDN網(wǎng)絡(luò)流表項(xiàng)的idle-timeout設(shè)置是否合理,取決于是否能最大限度地節(jié)省流表資源,同時(shí)沒有帶來更多的控制器資源消耗,這里所說的控制器資源的消耗指重復(fù)流表項(xiàng)的下發(fā).如果流表資源的不足,加上控制器需要對(duì)同一條流表項(xiàng)不斷地重新下發(fā),必然大量消耗控制器的資源.
空閑流表資源是指交換機(jī)中節(jié)約的流表資源(一般以流表項(xiàng)的條目數(shù)多少來衡量).本文提出“空閑流表資源代價(jià)”,表示一條空閑的流表項(xiàng)導(dǎo)致被重復(fù)下發(fā)流表項(xiàng)的次數(shù),用于評(píng)估流表資源和控制器資源的使用效率,進(jìn)而判斷idle-timeout的設(shè)置是否合理.為了更簡(jiǎn)單討論問題,下面對(duì)問題進(jìn)行抽象,建立一個(gè)簡(jiǎn)單數(shù)學(xué)模型來描述空閑流表項(xiàng)資源與重復(fù)流表項(xiàng)數(shù)量之間的聯(lián)系.
對(duì)一個(gè)SDN網(wǎng)絡(luò)中的流量作如下假設(shè)(圖示見圖2):
圖2 流的特征參數(shù)示意Fig.2 Characteristic parameters of flows
① 取某一段通信時(shí)長(zhǎng)為T,設(shè)這段時(shí)間內(nèi)有n條不同的流{f1,f2,…,fn}傳輸,對(duì)應(yīng)著n條流表項(xiàng);
② 網(wǎng)絡(luò)中的每一條流具有這樣的特征參數(shù),如流fi:{ti,ci},i∈{1, …,n},其中ti為流fi的時(shí)間間隔特征,表示流fi每次消失后到再次出現(xiàn)所經(jīng)歷的時(shí)間段,ci表示fi每次出現(xiàn)后所持續(xù)的時(shí)間;
③ 所有流的時(shí)間間隔特征為{t1,t2,…,tn}(其中t1≤t2≤ … ≤tn),與之對(duì)應(yīng)的流持續(xù)時(shí)間為{c1,c2,…,cn};
④ 控制器默認(rèn)設(shè)置的idle-timeout為Tout,ti-1≤Tout≤ti,i∈{1,…,n}.
可得,在時(shí)間T內(nèi)重復(fù)下發(fā)的流表項(xiàng)數(shù)量為:
(1)
所有下發(fā)的流表項(xiàng)在交換機(jī)上存在的總時(shí)間為:
把TotalTime歸一化到流表資源的占用數(shù)量上,并計(jì)算出空閑的流表項(xiàng)資源數(shù)量:
化簡(jiǎn)可得:
(2)
根據(jù)定義,空閑流表資源代價(jià)可表示為:
(3)
由式(1)和式(2)可以看出,重復(fù)下發(fā)的流表項(xiàng)數(shù)量Countre_flowentries與空閑的流表項(xiàng)資源數(shù)量FreeEntries都與超時(shí)時(shí)間Tout密切相關(guān).
1.3停滯超時(shí)時(shí)間的合理設(shè)置
本節(jié)將通過實(shí)驗(yàn)來分析不同流量場(chǎng)景下,空閑流表資源代價(jià)與超時(shí)時(shí)間idle-timeout的關(guān)系.
1.3.1 仿真網(wǎng)絡(luò)及相關(guān)設(shè)置
本文采用仿真軟件搭建網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,在一臺(tái)PC機(jī)上的VMware工作站中安裝Ubantu14.04LTS虛擬機(jī),并在其中安裝OpenDaylight和Mininet.SDN控制器使用OpenDayLight的Lithium-SR2版本[7],OpenFlow交換機(jī)以及服務(wù)器結(jié)點(diǎn)(本文也稱之為主機(jī)結(jié)點(diǎn))的模擬用Mininet實(shí)現(xiàn).使用Mininet模擬的交換機(jī)是OpenvSwitch2.3.1版本,北向接口采用OpenFlow1.3.0協(xié)議.詳細(xì)軟硬件環(huán)境分別見表1和表2.
表1 硬件環(huán)境
表2 軟件仿真工具Tab.2 Simulation software
實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)洳捎脭?shù)據(jù)中心網(wǎng)絡(luò)研究中常用、目前工業(yè)界應(yīng)用最廣泛的Fat-tree[8-10]結(jié)構(gòu).如圖3,每個(gè)交換機(jī)都連接到OpenDayLight控制器,網(wǎng)絡(luò)中交換機(jī)分為核心層、匯聚層和邊緣層.虛線框內(nèi)由匯聚層和邊緣層的交換機(jī)組成一個(gè)Pod,共有4個(gè)Pod,每個(gè)邊緣交換機(jī)連接2臺(tái)服務(wù)器.在本文實(shí)驗(yàn)中進(jìn)行流表資源調(diào)控的交換機(jī)是核心交換機(jī)S4,流表容量為160條流表項(xiàng).
為了流量模擬的準(zhǔn)確性和全面性,本文參考文獻(xiàn)[11]模擬了數(shù)據(jù)中心兩種常見的流量模型:平均概率模型和選擇概率模型.平均概率模型是指主機(jī)向網(wǎng)絡(luò)中的另一任意主機(jī)以等概率發(fā)送數(shù)據(jù)包,不同主機(jī)之間為隨機(jī)通信,從而使流量在網(wǎng)絡(luò)間均勻分布,這種流量模型在實(shí)際中并不多,主要是為了理論實(shí)驗(yàn);選擇概率模型是指在網(wǎng)絡(luò)中少數(shù)的主機(jī)間會(huì)有比較大的概率互相發(fā)送數(shù)據(jù)包,而其他主機(jī)之間則是隨機(jī)通信,使網(wǎng)絡(luò)流具有明顯的局部性,這種流量模型則是為了模擬實(shí)際的數(shù)據(jù)中心流量模型.
本文實(shí)驗(yàn)只關(guān)注流的數(shù)據(jù)間隔時(shí)間以及在不同的流量模型和不同idle-timeout的設(shè)置下,虛擬交換機(jī)OpenvSwitch的流表項(xiàng)數(shù)量變化.因此,本文中虛擬主機(jī)之間通過Iperf[12]產(chǎn)生帶寬1Mbps的流量,每0.2 s會(huì)根據(jù)指定的流量模型產(chǎn)生并發(fā)送一條流數(shù)據(jù),每次流持續(xù)發(fā)送時(shí)間為6 s.
圖3 仿真實(shí)驗(yàn)網(wǎng)絡(luò)的Fat-tree架構(gòu)Fig.3 Fat-tree Architecture of the simulation network
1.3.2 實(shí)驗(yàn)結(jié)果與分析
首先基于實(shí)驗(yàn)來分析停滯等待超時(shí)時(shí)間idle-timeout對(duì)流表資源的影響.控制器下發(fā)具有默認(rèn)固定idle-timeout值的流表項(xiàng),通信時(shí)長(zhǎng)T為360 s,每隔1 s記錄交換機(jī)上流表項(xiàng)的數(shù)量,最后取流表項(xiàng)數(shù)量的平均值來表示這段時(shí)間內(nèi)流表資源的使用情況,稱為平均流表項(xiàng)數(shù)量,實(shí)驗(yàn)結(jié)果在圖4~6中給出.
圖4 不同流量模型下流表資源占用統(tǒng)計(jì)Fig.4 Flowtable resource overhead under different traffic models
圖4中橫坐標(biāo)表示交換機(jī)流表的idle-timeout值(說明:后面其他結(jié)果圖中的橫坐標(biāo)均同樣含義),縱坐標(biāo)表示在沒有任何其他資源調(diào)度程序調(diào)控時(shí),交換機(jī)上在這段時(shí)間內(nèi)的平均流表項(xiàng)數(shù)量,即流表資源的使用情況.可以看到:(1)兩種流量模型下流表資源的使用量隨idle-timeout的增加而增加;(2)不同特性的流量占用流表情況不同,其中主機(jī)之間通信完全隨機(jī)的平均概率模型下,對(duì)流表資源的占用會(huì)更高.
因?yàn)榭刂破髯钪饕墓δ芫褪歉鶕?jù)實(shí)時(shí)網(wǎng)絡(luò)信息進(jìn)行計(jì)算,產(chǎn)生并下發(fā)針對(duì)某一條流的流表項(xiàng),所以本文用控制器重復(fù)下發(fā)的流表項(xiàng)數(shù)量來表示對(duì)控制器資源的影響程度.從idle-timeout的設(shè)置上來看,只要某一條流的數(shù)據(jù)間隔時(shí)間大于idle-timeout的設(shè)置,就必然會(huì)帶來針對(duì)此流表項(xiàng)的重復(fù)下發(fā).
圖5 不同流量模型下流表項(xiàng)重復(fù)下發(fā)數(shù)量統(tǒng)計(jì)Fig.5 Numbers of repeated-forwarding flowentries under different traffic models
圖5通過流表項(xiàng)重復(fù)下發(fā)的情況,反映idle-timeout對(duì)控制器資源的影響.在選擇概率模型下,重復(fù)下發(fā)的流表項(xiàng)數(shù)量是隨著交換機(jī)流表idle-timeout的增加而逐漸減少;而在平均概率模型下,在一定idle-timeout設(shè)置的時(shí)間范圍內(nèi),重復(fù)下發(fā)的流表項(xiàng)數(shù)量隨著idle-timeout的增加變化不大.但是在實(shí)際的數(shù)據(jù)中心網(wǎng)絡(luò)中,由于流量很大,并且時(shí)有不同,所有流量全部產(chǎn)生的最短時(shí)間很難統(tǒng)計(jì).因此,idle-timeout的時(shí)間設(shè)置也不可能那么長(zhǎng),所以本實(shí)驗(yàn)的設(shè)計(jì)仍然符合數(shù)據(jù)中心網(wǎng)絡(luò)的特點(diǎn).
圖6 不同流量模型下的空閑流表資源利用情況Fig.6 Usage of free flowtable resource under different traffic models
圖6展示的是基于空閑流表資源代價(jià)來評(píng)價(jià)交換機(jī)流表的idle-timeout對(duì)空閑流表利用的影響.在平均概率模型下,空閑流表資源代價(jià)基本分布在6到11之間,呈現(xiàn)遞增趨勢(shì).在選擇概率模型下,空閑流表資源代價(jià)總體上比平均概率模型的要小,且隨著idle-timeout的增加而呈現(xiàn)遞減的趨勢(shì).實(shí)驗(yàn)結(jié)果表明,為了充分利用空閑流表資源,不同流量模型下對(duì)idle-timeout的設(shè)置應(yīng)該不同:在網(wǎng)絡(luò)流量具有平均概率特性時(shí),idle-timeout設(shè)置一個(gè)低值;而當(dāng)流量特性是選擇概率時(shí),則應(yīng)該設(shè)置較高的idle-timeout.
在上述實(shí)驗(yàn)中的平均概率模型下突發(fā)流全部是隨機(jī)的,而選擇概率模型下網(wǎng)絡(luò)中的流大部分為頻繁流,本文注意到:對(duì)隨機(jī)性的流設(shè)置較小的idle-timeout值,對(duì)持續(xù)性的流設(shè)置較長(zhǎng)的idle-timeout值,都能降低空閑流表資源代價(jià),這也是本文后面流表項(xiàng)的動(dòng)靜態(tài)轉(zhuǎn)換機(jī)制提出的基礎(chǔ).
實(shí)際的SDN交換機(jī)上的流表項(xiàng)可以永久存在,也可以設(shè)置其超時(shí)時(shí)間.基于前面實(shí)驗(yàn)數(shù)據(jù)的分析結(jié)果,本節(jié)提出一個(gè)動(dòng)態(tài)和靜態(tài)流表項(xiàng)相互轉(zhuǎn)換機(jī)制(Exchange of Static and Dynamic flowentries,ESD),對(duì)流表資源的使用進(jìn)行優(yōu)化調(diào)度.
2.1動(dòng)靜態(tài)流表項(xiàng)轉(zhuǎn)換機(jī)制
OpenFlow協(xié)議采用兩種方式設(shè)定流表項(xiàng)的存活時(shí)間,一種是停滯等待超時(shí)時(shí)間idle-timeout方式,表示在此超時(shí)時(shí)間內(nèi)如果沒有任何數(shù)據(jù)包匹配,則在超時(shí)時(shí)間到達(dá)時(shí)自動(dòng)刪除流表項(xiàng),若流表項(xiàng)的idle-timeout值設(shè)置為零,則表示此值域?qū)α鞅眄?xiàng)的存活時(shí)間不起作用,實(shí)際上對(duì)應(yīng)的是同一條流的數(shù)據(jù)間隔時(shí)間.另一種是硬超時(shí)時(shí)間hard-timeout方式,表示在此超時(shí)時(shí)間內(nèi)不管有沒有數(shù)據(jù)包匹配,只要硬超時(shí)時(shí)間到達(dá),則自動(dòng)刪除流表項(xiàng),若流表項(xiàng)的hard-timeout值設(shè)置為零,則表示此值域?qū)α鞅眄?xiàng)的存活時(shí)間不起作用,實(shí)際上對(duì)應(yīng)的是同一條流的數(shù)據(jù)持續(xù)時(shí)間.因?yàn)闃O易產(chǎn)生流匹配過程中流表項(xiàng)丟失的問題,hard-timeout方式并不適合進(jìn)行調(diào)控.因此,本文采用設(shè)置idle-timeout方式,根據(jù)SDN數(shù)據(jù)中心的流量特性來動(dòng)態(tài)設(shè)定合理的idle-timeout的值.
本文中所指的動(dòng)態(tài)流表項(xiàng)是idle-timeout值不為零而hard-timeout為零的流表項(xiàng),此情況下流表項(xiàng)存活時(shí)間(Duration)只受idle-timeout值影響;靜態(tài)流表項(xiàng)指的是idle-timeout和hard-timeout均為零的流表項(xiàng),此種情況下流表項(xiàng)的存活時(shí)間為無(wú)窮大.在ESD機(jī)制中,對(duì)于持續(xù)性的流,設(shè)置這些流對(duì)應(yīng)的流表項(xiàng)為永久存在的靜態(tài)流表項(xiàng),以減少流表項(xiàng)的重復(fù)下發(fā);對(duì)于間歇或偶爾出現(xiàn)的流的流表項(xiàng),則設(shè)置為有超時(shí)時(shí)間的動(dòng)態(tài)流表項(xiàng),從而減少不必要的流表占用.最終通過這種動(dòng)態(tài)流表項(xiàng)與靜態(tài)流表項(xiàng)的互相轉(zhuǎn)化,來降低空閑流表資源代價(jià).
在SDN應(yīng)用層面,ESD機(jī)制使用控制器OpenDayLight的北向REST API,實(shí)時(shí)獲取流表項(xiàng)的匹配包數(shù)量、生存時(shí)間等統(tǒng)計(jì)信息,動(dòng)態(tài)調(diào)整流表項(xiàng)的idle-timeout值,把流表項(xiàng)區(qū)分為動(dòng)靜態(tài)流表項(xiàng).靜態(tài)流表項(xiàng)是表示在交換機(jī)上一直存在,但在觸發(fā)某一條件時(shí)可被轉(zhuǎn)變?yōu)閯?dòng)態(tài)的流表項(xiàng).動(dòng)態(tài)流表項(xiàng)的idle-timeout值會(huì)設(shè)置為用戶允許的值,并在超時(shí)時(shí)間達(dá)到后,如果沒有被匹配則會(huì)被刪除.ESD具體流程如圖7,其中包匹配狀況的監(jiān)測(cè)時(shí)間周期idle-timeout′等于idle-timeout和流持續(xù)時(shí)間之和.ESD只專注于idle-timeout的值,對(duì)hard-timeout一直設(shè)為0(表示此域值無(wú)效).
圖7 ESD機(jī)制工作流程Fig.7 Working process of ESD mechanism
當(dāng)一條靜態(tài)流表項(xiàng)在允許的時(shí)間內(nèi)沒有匹配到任何數(shù)據(jù)包,那么就會(huì)被轉(zhuǎn)化為動(dòng)態(tài)流表項(xiàng).實(shí)際上靜態(tài)流表項(xiàng)對(duì)應(yīng)的就是網(wǎng)絡(luò)中長(zhǎng)時(shí)間持續(xù)的流,比如頻繁通信的某兩臺(tái)主機(jī),而動(dòng)態(tài)流表項(xiàng)對(duì)應(yīng)的是網(wǎng)絡(luò)中的隨機(jī)流量.ESD會(huì)對(duì)誤轉(zhuǎn)為靜態(tài)的流表項(xiàng)重新轉(zhuǎn)換為動(dòng)態(tài)流表項(xiàng),實(shí)際上是延長(zhǎng)了可能是頻繁流的流表項(xiàng)在流表上的存在時(shí)間,以此換來流表項(xiàng)重復(fù)下發(fā)數(shù)量的下降.
2.2 ESD有效性驗(yàn)證
為了驗(yàn)證ESD的有效性,是否能更好地協(xié)調(diào)流表資源和控制器資源即具有更低的流表空閑資源代價(jià),本文基于1.3.1節(jié)的實(shí)驗(yàn)環(huán)境進(jìn)行ESD與沒有調(diào)控情況的對(duì)比試驗(yàn),分別在平均概率模型和選擇概率模型下比較了平均流表數(shù)量、流表項(xiàng)重復(fù)下發(fā)數(shù)量、空閑流表資源代價(jià)的變化,各項(xiàng)結(jié)果在圖8~11中分別給出.
圖8 流表項(xiàng)重復(fù)下發(fā)數(shù)量比較(平均概率流量)Fig.8 Comparison of the numbers of repeated-forwarding flowentries(average-probability traffic)
圖9 空閑流表資源代價(jià)的比較(平均概率模型)Fig.9 Comparison of Free Entries Cost (average-probability traffic)
圖10 流表項(xiàng)重復(fù)下發(fā)數(shù)量比較(選擇概率模型)Fig.10 Comparison of the numbers of repeated-forwarding flowentries (selective-probability traffic)
圖8和圖9中,當(dāng)流量為平均概率特性時(shí),ESD的重復(fù)流表項(xiàng)下發(fā)的數(shù)量和空閑流表資源代價(jià)比沒有ESD調(diào)控時(shí)要低很多,表示ESD減少了多余流表項(xiàng)的重發(fā),從而降低對(duì)流表資源和控制器資源的消耗.圖10和圖11中,選擇概率模型的情況與平均概率模型的相似.在采用ESD機(jī)制后,重復(fù)流表項(xiàng)下發(fā)的數(shù)量和空閑流表資源代價(jià)降低很多而且相對(duì)平穩(wěn).對(duì)于流量具有平均概率特性的數(shù)據(jù)中心網(wǎng)絡(luò),采用ESD機(jī)制時(shí)設(shè)置較小的idle-timeout,而對(duì)于選擇概率情況則設(shè)置較大的idle-timeout,將更好保證資源的使用.
綜合以上結(jié)果可知,不管網(wǎng)絡(luò)的流量是具有平均概率特性還是選擇概率特性,根據(jù)空閑流表資源代價(jià)的定義,ESD機(jī)制都能有效地降低流表空閑資源代價(jià),對(duì)協(xié)調(diào)流表資源和控制器資源是有效的.
圖11 空閑流表資源代價(jià)的比較(選擇概率模型)Fig.11 Comparison of Free Entries Cost (selective-probability traffic)
本文研究如何在SDN數(shù)據(jù)中心網(wǎng)絡(luò)中合理設(shè)置停滯等待超時(shí)時(shí)間idle-timeout,以達(dá)到合理使用控制器資源和交換機(jī)的流表資源的問題.具體做了以下工作:基于不同的流量模型,分析并研究了SDN數(shù)據(jù)中心網(wǎng)絡(luò)中OpenFlow交換機(jī)的流表項(xiàng)數(shù)和控制器資源使用與idle-timeout值的關(guān)系;引出空閑流表資源代價(jià)的概念,基于仿真實(shí)驗(yàn)結(jié)果,發(fā)現(xiàn)一定程度增加持續(xù)性流的idle-timeout值和減少隨機(jī)性流的idle-timeout值,會(huì)降低空閑流表資源代價(jià);最后提出了一個(gè)基于動(dòng)靜態(tài)流表項(xiàng)轉(zhuǎn)換的流表調(diào)度機(jī)制ESD,對(duì)流表資源和控制器資源的使用進(jìn)行優(yōu)化,并對(duì)其可行性與有效性進(jìn)行了驗(yàn)證.下一步工作將研究ESD中idle-timeout值的設(shè)置方案,并進(jìn)行ESD對(duì)其他拓?fù)浣Y(jié)構(gòu)的SDN數(shù)據(jù)中心網(wǎng)絡(luò)的有效性驗(yàn)證.
[1] 王蒙蒙, 劉建偉, 陳 杰,等. 軟件定義網(wǎng)絡(luò):安全模型、機(jī)制及研究進(jìn)展[J]. 軟件學(xué)報(bào), 2016, 27(4):969-992.
[2] 鄧 罡, 龔正虎, 王 宏. 現(xiàn)代數(shù)據(jù)中心網(wǎng)絡(luò)特征研究[J]. 計(jì)算機(jī)研究與發(fā)展, 2014, 51(2): 395-407.
[3] Yu M, Rexford J, Freedman M J, et al. Scalable flow-based networking with DIFANE[J]. ACM SIGCOMM Computer Communication Review, 2011, 41(4):351-362.
[4] Banerjee S, and Kannan K. Tag-In-Tag: Efficient flow table management in SDN switches[C]// IEEE. International Conference on Network and Service Management. Rio de Janeiro: IEEE, 2014:109-117.
[5] Zhou B, Gao W, Wu C, et al. AdaFlow: adaptive control to improve availability of openflow forwarding for burst quantity of flows[C]// V. C. M. Leung et. al. (Eds.) TridentCom 2014, LNICST 137.Guangzhou: Springer, 2014:406-415.
[6] Zhu H, Fan H, Luo X, et al. Intelligent timeout master: dynamic timeout for SDN-based data centers[C]// IEEE. IFIP/IEEE International Symposium on Integrated Network Management (IM). Ottawa: IEEE, 2015:734-737
[7] Linux Foundation. OpenDayLight[EB/OL]. [2016-02-20]. http://www.opendaylight.org/.
[8] Al-Fares M, Loukissas A, and Vahdat A. A scalable, commodity data center network architecture[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(4):63-74.
[9] 丁澤柳. 數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)涮接慬J]. 中興通訊技術(shù), 2012, 18(4): 7-10.
[10] 趙 哲, 胡瑩瑩. 如何在三種典型的數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)浼軜?gòu)中進(jìn)行取舍[J]. 數(shù)字通信世界, 2016, (5):56-58.
[11] 張 歌.兩種常用流量模型運(yùn)用mininet的實(shí)現(xiàn)[EB/OL]. [2015-04-28]. http://www. sdnlab.com/11079.html.
[12] NLANR/DAST. Iperf [EB/OL]. [2016-02-20]. https://iperf.fr/.
FlowtableSchedulingOptimizationbasedonFlowentryConversioninSDN-basedDatacenterNetworks
TangWan,WangGanfu,WuJingjing,WangWentao
(1 School of Computer Science, South-Central University for Nationalities, Wuhan 430074, China;2 IT Business Unit,Wuhan FiberHome Informtion Integration Technologies Co.,Ltd.,Wuhan 430074,China)
TP393
A
1672-4321(2017)03-0111-07
2017-06-08
唐 菀 (1974-),女,教授,博士,研究方向:光/無(wú)線網(wǎng)絡(luò)協(xié)議、軟件定義網(wǎng)絡(luò)、網(wǎng)絡(luò)安全,E-mail: tangwan@scuec.edu.cn
國(guó)家自然科學(xué)基金資助項(xiàng)目(61103248)