中國通信建設(shè)集團(tuán)設(shè)計(jì)院有限公司第四分公司 孫鵬飛
基于S D N流量測(cè)量的數(shù)據(jù)中心多路徑傳輸研究
中國通信建設(shè)集團(tuán)設(shè)計(jì)院有限公司第四分公司 孫鵬飛
因?yàn)閿?shù)據(jù)中心在流量布局上出現(xiàn)很多不均勻的情況,造成在傳輸?shù)臅r(shí)候經(jīng)常發(fā)生網(wǎng)絡(luò)擁堵的問題,而且由于數(shù)據(jù)中心在流量方面具有一定的特殊性,造成傳統(tǒng)網(wǎng)絡(luò)的流量工程和數(shù)據(jù)中心的流量傳輸無法相互適應(yīng),所以,本文利用仿真平臺(tái)來進(jìn)行一定的模擬,進(jìn)行流量工程方案的制定,以供參考。
網(wǎng)絡(luò)擁塞;SDN;鏈路關(guān)鍵度;多路徑路由;流量均衡
和單路徑進(jìn)行比較后發(fā)現(xiàn),多路徑的路由可以非常有效地防止由于鏈路失效或是出現(xiàn)鏈路擁塞的情況導(dǎo)致數(shù)據(jù)包丟失的情況出現(xiàn),更好地保證傳輸過程中的可靠性。把數(shù)據(jù)流在節(jié)點(diǎn)在一定范圍內(nèi)進(jìn)行多條路徑的動(dòng)態(tài)分配,讓網(wǎng)絡(luò)里面每一個(gè)鏈路的資源通過率可以達(dá)到一個(gè)均衡,這樣可以很好地控制網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中擁塞的情況,讓數(shù)據(jù)包的丟失率降低到一定的程度。
因?yàn)閿?shù)據(jù)中心的所有者歸屬比較單一,這就很好地達(dá)到了SDN所要求的集中控制。集中控制主要是根據(jù)對(duì)全局網(wǎng)絡(luò)的管控來進(jìn)行的,依照數(shù)據(jù)流的調(diào)度算法來進(jìn)行,對(duì)最佳的轉(zhuǎn)發(fā)策略進(jìn)行計(jì)算,然后向交換機(jī)進(jìn)行下發(fā),只有這樣才可以更精確地對(duì)流量均衡進(jìn)行控制。SDN在數(shù)據(jù)的分組轉(zhuǎn)發(fā)和控制分離過程中是非常重要的技術(shù),通過控制器對(duì)數(shù)據(jù)分組接入的情況和路由進(jìn)行控制,能非常好地保持細(xì)粒度流量的均衡。然而同時(shí)也出現(xiàn)控制器平臺(tái)在處理能力方面不足的情況、這是尤其需要考慮的情況。
2.1.1 全局路徑時(shí)延探測(cè)
為了讓F-TAM觸發(fā)的首個(gè)熔斷周期進(jìn)行控制,需要在其之前進(jìn)行各條F-TAM傳輸路徑情況的評(píng)估,并對(duì)熔斷周期T w值進(jìn)行計(jì)算,需要在每個(gè)O-D對(duì)范圍內(nèi)的預(yù)設(shè)路徑里面進(jìn)行測(cè)量,通過收到的探測(cè)包來對(duì)路徑時(shí)延值進(jìn)行判斷。這種探測(cè)一般情況下被叫做全局路徑的探測(cè),這些探測(cè)包被一般情況下被叫做全局路徑探測(cè)包.需要進(jìn)行關(guān)注的點(diǎn)在于這一過程會(huì)一直進(jìn)行持續(xù),不管是否出現(xiàn)路徑把F-TAM觸發(fā)了。探測(cè)包在發(fā)送的間隔方面一定要保持適當(dāng),如果時(shí)間太長(zhǎng),那么得到的數(shù)據(jù)在時(shí)效性方面就無法達(dá)到要求,太短則會(huì)讓交換機(jī)到控制器的通信鏈路的時(shí)延情況進(jìn)一步被放大。
2.1.2 F-TAM路徑時(shí)延探測(cè)
測(cè)量某一個(gè)大流在所有F-TAM的路徑里面出現(xiàn)的時(shí)延情況時(shí),其目的與全局探測(cè)是非常相似的。當(dāng)啟動(dòng)F-TAM后,須要依照路徑的時(shí)延來對(duì)最優(yōu)路徑進(jìn)行選擇.因?yàn)樵谔綔y(cè)的過程中開銷非常小,所以這種探測(cè)和全局探測(cè)進(jìn)行比較的時(shí)候可以發(fā)現(xiàn)時(shí)間的間隔非常短,一般設(shè)置在1秒左右。
2.1.3 F-TAM測(cè)量機(jī)制執(zhí)行算法
下面進(jìn)行具體步驟的闡述:步驟1,由通過探測(cè)包生產(chǎn)函數(shù)對(duì)探測(cè)包進(jìn)行生成。步驟2,利用探測(cè)流表生成函數(shù)來進(jìn)行探測(cè)包轉(zhuǎn)發(fā)流表項(xiàng)的生成工作;探測(cè)包的觸發(fā)器對(duì)探測(cè)包的觸發(fā)函數(shù)進(jìn)行執(zhí)行工作,通過邊緣層交換機(jī)對(duì)傳輸路徑集進(jìn)行遍歷,并且進(jìn)行合并把探測(cè)包進(jìn)行下發(fā),探測(cè)包通過已安裝的轉(zhuǎn)發(fā)流表進(jìn)行規(guī)定路徑的傳輸工作。步驟3,探測(cè)包接收器需要對(duì)探測(cè)包回收函數(shù)進(jìn)行執(zhí)行,如果出現(xiàn)探測(cè)包超時(shí)檢驗(yàn)函數(shù)回復(fù)真的情況,則推送信號(hào)給控制器。
2.2.1 大流探測(cè)
采取的相應(yīng)手段是改進(jìn)交換機(jī)推送消息的手段,也就是在流表項(xiàng)里面進(jìn)行觸發(fā)器的添加,當(dāng)數(shù)據(jù)流計(jì)數(shù)器符合對(duì)大流的閾值進(jìn)行設(shè)定的要求時(shí),將向控制器進(jìn)行消息的推送;另外,需要把大流閾值控制在1到10MB之間,只有這樣才是可以依照網(wǎng)絡(luò)負(fù)載的狀態(tài)保持負(fù)載的均衡,充分通過對(duì)網(wǎng)絡(luò)資源的利用來讓額外開銷的情況降低。如果網(wǎng)絡(luò)的負(fù)載比較輕,則需要把閾值設(shè)大,比如說設(shè)到10MB;如果網(wǎng)絡(luò)的負(fù)載比較重,則需要把閾值設(shè)小,比如說1MB左右。
2.2.2 鏈路負(fù)載探測(cè)
F-TAM的觸發(fā)條件在于大流導(dǎo)致其中一條鏈路出現(xiàn)負(fù)載達(dá)到閾值的情況,所以必須要測(cè)量大流里面每一個(gè)F-TAM路徑里面的鏈路負(fù)載情況,這就被叫做單一路徑的鏈路檢測(cè)。在這個(gè)過程中不需要在鏈路上進(jìn)行探測(cè)包的下發(fā)工作,只需要對(duì)控制器上傳的端口進(jìn)行定向統(tǒng)計(jì)數(shù)據(jù)就可以了。
2.2.3 F-TAM觸發(fā)機(jī)制執(zhí)行算法
下面進(jìn)行具體步驟的闡述:步驟1,首先需要進(jìn)行大流判斷函數(shù)的執(zhí)行,讓大流集合得以生成,同時(shí)對(duì)上一個(gè)熔斷周期里面執(zhí)行的F-TAM數(shù)據(jù)流進(jìn)行獲取,并通過prev-ftamf l ows的相關(guān)定義集合。步驟2,需要進(jìn)行大流集合的遍歷,并對(duì)大流傳輸路徑信息進(jìn)行獲取。步驟3,對(duì)大流屬于prev-ftamflows集合的情況進(jìn)行判斷,如果是真,則把算法1觸發(fā),同時(shí)利用執(zhí)行鏈路負(fù)載閾值來進(jìn)行大流傳輸路徑有無鏈路達(dá)到閾值來進(jìn)行判斷,如果是真則把算法1觸發(fā)了,并添加數(shù)據(jù)流到prev-ftamf l ows集合里面去。
在仿真平臺(tái)里面進(jìn)行運(yùn)行的宿主機(jī)主要是Opti-Ple×9020,里面進(jìn)行了一個(gè)8核,3.4GHz主頻的64位處理器的設(shè)置,內(nèi)存有大約10GB,并進(jìn)行了Ubuntu12.04操作系統(tǒng)的安裝,主機(jī)進(jìn)行Mininet v2.0仿真平臺(tái)的安裝。
數(shù)據(jù)中心的網(wǎng)絡(luò)流量在一般情況下具有高突發(fā)性,另外95%以上的數(shù)據(jù)流往往是TCP流,因?yàn)槲锢礞溌吩诟邘挼蜁r(shí)延的時(shí)候,造成了數(shù)據(jù)流在傳輸?shù)臅r(shí)候出現(xiàn)大量的由于等待接收端確認(rèn)而造成暫停發(fā)送的情況,出現(xiàn)很多空閑時(shí)間的間隔,這些間隔在一定范圍內(nèi)傳輸數(shù)據(jù)包和流片非常類似。F-TAM在算法方面定義了熔斷時(shí)間Tw進(jìn)行了定義,若是出現(xiàn)設(shè)置的熔斷時(shí)間值能和TCP的擁塞控制協(xié)議進(jìn)行配合,讓發(fā)送間隔非常自然則屬于最優(yōu)的狀態(tài)。分析一個(gè)含有30個(gè)機(jī)架數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)流特性后得出結(jié)論,每個(gè)機(jī)架能進(jìn)行4500臺(tái)虛擬主機(jī)的提供量,這個(gè)提供量能夠?qū)?000個(gè)不同的企業(yè)級(jí)運(yùn)用進(jìn)行支撐。
3.3.1 數(shù)據(jù)包亂序比較
防止在接收端出現(xiàn)數(shù)據(jù)包亂序的情況是對(duì)多路徑實(shí)施流量工程可靠性進(jìn)行評(píng)價(jià)的一個(gè)非常重要的指標(biāo),F(xiàn)-TAM算法在設(shè)計(jì)的過程中就考慮到避免采取多路徑的傳輸通道而導(dǎo)致接收端出現(xiàn)數(shù)據(jù)包亂序的情況出現(xiàn),通過一定的實(shí)驗(yàn)結(jié)果表明了當(dāng)F-TAM采取多路徑傳輸?shù)倪^程中,能夠科學(xué)有效地避免接收端出現(xiàn)數(shù)據(jù)包亂序的情況。
3.3.2 吞吐量比較
數(shù)據(jù)中心在遷移虛擬機(jī)、備份數(shù)據(jù)的過程中,一般情況下需要非常高的吞吐量來進(jìn)行保障,這是根據(jù)多路徑路由機(jī)制來做好流量工程非常重要的一種體現(xiàn)。通過相關(guān)的實(shí)驗(yàn)結(jié)果體現(xiàn)出以下特點(diǎn):當(dāng)節(jié)點(diǎn)交換機(jī)采取F-TAM方式進(jìn)行路由策略部署的過程中,與采取ECMP的策略或是GFF部署的策略進(jìn)行比較,網(wǎng)絡(luò)的吞吐量比后兩者明顯高。盡管F-TAM可以進(jìn)行熔斷緩存、控制傳輸大流的動(dòng)作,然而動(dòng)作需要通過交換機(jī)來進(jìn)行執(zhí)行,目標(biāo)是防止鏈路發(fā)生擁塞的情況,依照TCP擁塞的相關(guān)控制手段來進(jìn)行,這樣的條件下不單單可以控制源端的發(fā)送速率,而且可以通過多路徑傳輸來加強(qiáng)網(wǎng)絡(luò)的吞吐量。
本文對(duì)于數(shù)據(jù)中心的網(wǎng)絡(luò)進(jìn)行一種根據(jù)多路徑的傳輸動(dòng)態(tài)負(fù)載情況計(jì)算的路由算法Dramp。這種算法主要是通過對(duì)理論進(jìn)行優(yōu)化,來進(jìn)行核心優(yōu)化問題的處理,利用目標(biāo)函數(shù)的求解,獲取節(jié)點(diǎn)在一定范圍內(nèi)路徑上流量分配值的最佳方案,保證關(guān)鍵鏈路沒有出現(xiàn)非常擁塞的鏈路。Dramp在對(duì)細(xì)粒度流量均衡進(jìn)行控制的過程中,能非常好地對(duì)控制器的額計(jì)算開銷進(jìn)行控制,并且從當(dāng)前的角度上分析,不需要對(duì)通信協(xié)議進(jìn)行一定程度的改動(dòng)。
[1]周偉.基于SCTP的多路徑并行傳輸數(shù)據(jù)亂序問題研究[D].西安電子科技大學(xué),2012.