一種面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)流轉(zhuǎn)發(fā)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)中心網(wǎng)絡(luò)領(lǐng)域,涉及一種面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)流轉(zhuǎn)發(fā)方法,具體涉及一種應(yīng)用在Fat-Tree網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò)中的數(shù)據(jù)流的路由轉(zhuǎn)發(fā)策略。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,尤其是云計(jì)算技術(shù)的廣泛應(yīng)用,越來越多的網(wǎng)絡(luò)應(yīng)用與服務(wù)部署在數(shù)據(jù)中心。不斷增多的用戶數(shù)量和用戶對于服務(wù)質(zhì)量要求的提高對傳統(tǒng)的數(shù)據(jù)中心網(wǎng)絡(luò)服務(wù)提出了挑戰(zhàn)。以Fat-Tree為代表的多等價(jià)路徑網(wǎng)絡(luò)拓?fù)涞某霈F(xiàn)為數(shù)據(jù)中心網(wǎng)絡(luò)服務(wù)提供了新的發(fā)展機(jī)遇。多路徑網(wǎng)絡(luò)拓?fù)淅妙~外的冗余鏈路帶寬,能夠克服由于用戶數(shù)量增加而帶來的服務(wù)瓶頸。
[0003]為了解決由于用戶數(shù)量增長而帶來的數(shù)據(jù)中心網(wǎng)絡(luò)服務(wù)瓶頸,F(xiàn)at-Tree網(wǎng)絡(luò)拓?fù)浼夹g(shù)被引入到數(shù)據(jù)中心網(wǎng)絡(luò)中。在目前應(yīng)用Fat-Tree網(wǎng)絡(luò)拓?fù)涞臄?shù)據(jù)中心網(wǎng)絡(luò)中,數(shù)據(jù)流在多路徑的選擇上采用ECMP(Equal Cost Mult1-Path)路由算法。這種路由算法在每條數(shù)據(jù)流的路由選擇上,采用哈希的映射方法,將每條數(shù)據(jù)流映射到某一條路徑上。這種基于哈希的數(shù)據(jù)流的路徑選擇策略,是一種靜態(tài)的映射方法,它僅僅是在數(shù)量上將數(shù)據(jù)流均勻的分配到拓?fù)渲械亩鄺l等價(jià)路徑上。由于采用哈希的方法進(jìn)行路徑的選擇,在數(shù)據(jù)流數(shù)量比較多的條件下,必然會出現(xiàn)多個(gè)數(shù)據(jù)流在某一條路徑上發(fā)生碰撞的情況。當(dāng)有比較大的數(shù)據(jù)流在路徑上傳輸時(shí),必然會對與這條大數(shù)據(jù)流發(fā)生碰撞的其他數(shù)據(jù)流帶來大的傳輸時(shí)延,從而降低了網(wǎng)絡(luò)服務(wù)與應(yīng)用的服務(wù)質(zhì)量。ECMP僅僅依據(jù)數(shù)據(jù)中心網(wǎng)絡(luò)中數(shù)據(jù)流的數(shù)量,而沒有考慮到數(shù)據(jù)流的大小以及網(wǎng)絡(luò)鏈路帶寬的使用情況,從而導(dǎo)致數(shù)據(jù)中心網(wǎng)絡(luò)的鏈路利用率不高,多條等價(jià)路徑下的帶寬分配不均勻。這些最終造成了數(shù)據(jù)中心網(wǎng)絡(luò)的鏈路發(fā)生擁塞,增加了數(shù)據(jù)流傳輸?shù)臅r(shí)延,降低了網(wǎng)絡(luò)應(yīng)用服務(wù)的服務(wù)質(zhì)量。已有另外一種方法以負(fù)載均衡為目標(biāo),在鏈路的選擇上考慮了鏈路的使用情況,讓各個(gè)鏈路均勻地承擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。這種以公平性為目標(biāo)的方法沒有考慮流的大小,只是單方面考慮網(wǎng)絡(luò)帶寬的使用情況,并且由于Fat-Tree拓?fù)浣Y(jié)構(gòu)的特點(diǎn),這種方法只考慮了局部的鏈路情況。這種方法最終會對大數(shù)據(jù)流造成擁塞。
【發(fā)明內(nèi)容】
[0004]為了克服現(xiàn)有技術(shù)結(jié)構(gòu)的不足,本發(fā)明面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu),提供一種基于SDN的流的路由轉(zhuǎn)發(fā)控制方法,利用全局網(wǎng)絡(luò)的信息,并結(jié)合Fat-Tree拓?fù)浣Y(jié)構(gòu)的特點(diǎn),動態(tài)地調(diào)整數(shù)據(jù)中心網(wǎng)絡(luò)中數(shù)據(jù)流路由轉(zhuǎn)發(fā)策略;初始時(shí)將多條數(shù)據(jù)流以負(fù)載均衡為目標(biāo)分配到不同的等價(jià)路徑上,減小不同數(shù)據(jù)流在同一條路徑上發(fā)生碰撞的概率;同時(shí)根據(jù)數(shù)據(jù)流的大小,動態(tài)調(diào)整大的數(shù)據(jù)流的轉(zhuǎn)發(fā)策略,減小發(fā)生擁塞的可能性;
[0005]本發(fā)明的面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)流路由轉(zhuǎn)發(fā)方法包括網(wǎng)絡(luò)鏈路信息的實(shí)時(shí)采集,數(shù)據(jù)流的統(tǒng)計(jì)信息收集和大數(shù)據(jù)流的檢測,數(shù)據(jù)流的負(fù)載均衡調(diào)度策略以及針對大數(shù)據(jù)流的調(diào)度策略。解決其技術(shù)問題所采用的技術(shù)方案是:
[0006](I)采用支持OpenFlow協(xié)議的SDN交換機(jī)來構(gòu)建Fat-Tree拓?fù)浼軜?gòu)的數(shù)據(jù)中心網(wǎng)絡(luò),利用SDN交換機(jī)的協(xié)議獲取交換機(jī)間的鏈路信息,以及網(wǎng)絡(luò)中正在轉(zhuǎn)發(fā)的流的流量統(tǒng)計(jì)信息。這部分功能主要通過部署兩個(gè)定時(shí)任務(wù)來實(shí)現(xiàn):第一個(gè)定時(shí)任務(wù)每隔一定的時(shí)間間隔1\獲得一次交換機(jī)各個(gè)端口的流量信息,定義為{swID, portNum, x},其中x表示在T1時(shí)間間隔內(nèi)傳輸?shù)淖止?jié)數(shù),在后面的計(jì)算中,通過比較不同端口的X的大小,可以比較出不同鏈路的帶寬使用率的大小;第二個(gè)定時(shí)任務(wù)是每隔一定的的時(shí)間間隔T2獲得一次網(wǎng)絡(luò)中正在轉(zhuǎn)發(fā)的流的統(tǒng)計(jì)信息,提取統(tǒng)計(jì)信息中的流的已傳輸?shù)淖止?jié)數(shù),從而作為后續(xù)判定數(shù)據(jù)流的大小的依據(jù)。
[0007](2)設(shè)計(jì)一種動態(tài)的負(fù)載均衡的路由轉(zhuǎn)發(fā)策略,在初始情況下減小各個(gè)數(shù)據(jù)流在多條等價(jià)路徑上發(fā)生碰撞的概率,更加高效地利用網(wǎng)絡(luò)拓?fù)渲械娜哂嗦窂?,具體步驟如下:
[0008]a.當(dāng)一個(gè)流進(jìn)入到數(shù)據(jù)中心網(wǎng)絡(luò)中時(shí),首先解析出這個(gè)流的源、目的地址,并計(jì)算出這個(gè)流在Fat-Tree拓?fù)渲行枰竭_(dá)的最高層;
[0009]b.為數(shù)據(jù)流自底向上逐層選擇合適的鏈路,利用⑴中得到的不同鏈路的帶寬利用率的大小,依據(jù)最壞適應(yīng)算法,選取帶寬利用率最低的那條鏈路為數(shù)據(jù)流向上轉(zhuǎn)發(fā)的路徑;
[0010]C.一旦數(shù)據(jù)流到達(dá)了所要到達(dá)的最高層,根據(jù)Fat-Tree拓?fù)涞奶攸c(diǎn),數(shù)據(jù)流由最高層向下到達(dá)目的地址的路徑已唯一確定,從而完成數(shù)據(jù)流從源地址到目的地址的路徑選擇。
[0011]d.將所選擇的路徑添加到相應(yīng)的交換機(jī)的流表中。
[0012](3)設(shè)計(jì)一種針對大的數(shù)據(jù)流的路由轉(zhuǎn)發(fā)策略,為大數(shù)據(jù)流選取全局優(yōu)化的路徑,降低大數(shù)據(jù)流的傳輸時(shí)間,減小大數(shù)據(jù)流對鏈路造成擁塞的可能,具體步驟如下:
[0013]a.當(dāng)(I)中的第二個(gè)定時(shí)任務(wù)發(fā)現(xiàn)某一個(gè)流的已傳輸字節(jié)數(shù)達(dá)到了某一個(gè)閾值,這個(gè)流將被視為一個(gè)大流;
[0014]b.當(dāng)一個(gè)數(shù)據(jù)流被判定為大流后,首先獲得這個(gè)流的源、目的地址,計(jì)算出從源地址到目的地址的所有路徑;
[0015]c.每一條路徑都由相等數(shù)目的鏈路組成,組成每條路徑的鏈路中都會有一條帶寬使用率最高的鏈路,這條鏈路將是其所在路徑的傳輸性能的瓶頸。基于最大最小公平原理,在這些帶寬利用率最高的鏈路中選取帶寬利用率最低的那條鏈路所在的路徑為當(dāng)前大流的轉(zhuǎn)發(fā)路徑。
[0016]d.在交換機(jī)中刪除這條大流原有的流表項(xiàng),并將新的轉(zhuǎn)發(fā)路徑添加到相應(yīng)的交換機(jī)中。
[0017]本發(fā)明的有益效果是一種面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的,基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)中的數(shù)據(jù)流轉(zhuǎn)發(fā)控制方法,相對于其他調(diào)度方法,本方法利用SDN交換機(jī)的協(xié)議,定時(shí)獲取網(wǎng)絡(luò)中各個(gè)鏈路的帶寬使用情況,動態(tài)地將數(shù)據(jù)流負(fù)載均衡到合適的鏈路上,減少使用原有哈希算法時(shí)多個(gè)數(shù)據(jù)流在同一條鏈路上發(fā)生碰撞的幾率;充分利用Fat-Tree這種拓?fù)鋷淼娜哂嗦窂降膬?yōu)點(diǎn),提高鏈路的使用率;并且針對大的數(shù)據(jù)流采用特定的路由轉(zhuǎn)發(fā)策略,較小鏈路發(fā)生擁塞的概率。
【附圖說明】
[0018]圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。
[0019]圖2是本發(fā)明的流程圖。
[0020]圖3是本發(fā)明的具體事例示意圖。
【具體實(shí)施方式】
[0021]以下結(jié)合【附圖說明】和技術(shù)方案進(jìn)一步說明本發(fā)明的【具體實(shí)施方式】。
[0022]如圖3所示,在一個(gè)4階的Fat-Tree拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò)中,每臺交換機(jī)都是支持OpenFlow協(xié)議的SDN交換機(jī),網(wǎng)絡(luò)中每條鏈路的帶寬均為100Mbps。如圖1所示,運(yùn)行兩個(gè)定時(shí)任務(wù),分別以1\和T2為周期收集網(wǎng)絡(luò)的所有的鏈路統(tǒng)計(jì)信息和所有正在轉(zhuǎn)發(fā)的數(shù)據(jù)流的統(tǒng)計(jì)信息。在主機(jī)Hl向主機(jī)H2發(fā)送一個(gè)數(shù)據(jù)流fl,按照圖2中的流程所示,若與Hl相連的邊緣交換機(jī)中無相應(yīng)的轉(zhuǎn)發(fā)流表項(xiàng),則開始為Π計(jì)算基于負(fù)載均衡的轉(zhuǎn)發(fā)路徑。
[0023]解析Hl與H2的地址,確定f I需要到達(dá)的最高層為核心交換機(jī)層,f I從El開始轉(zhuǎn)發(fā),逐層向上選擇當(dāng)前交換機(jī)中空閑帶寬最大的那條鏈路,直到到達(dá)核心交換機(jī)層,若Hl選擇El—Al—Cl,則從Cl到達(dá)H2的下行路徑唯一確定,即Cl一A3—E2,則Hl與H2之間的路徑為Hl—El一Al一Cl一A3一E2一H2,并在交換機(jī)E1、Al、Cl、A3、E2中添加相應(yīng)的流表項(xiàng)。
[0024]在某一時(shí)刻,若fl的轉(zhuǎn)發(fā)速率達(dá)到了 lOMb/s以上,則fl被判定為是一個(gè)大數(shù)據(jù)流,將為f I重新計(jì)算轉(zhuǎn)發(fā)路徑。Hl與H2之間共4條等價(jià)路徑El—Al一Cl一A3一E2、E1—Al一C2一A3一E2、El一A2一C3一A4一E2、El一Al一C4一A4一E2。比$父這 4 條路徑的帶寬瓶頸鏈路,選取其中空閑帶寬最大的那條帶寬瓶頸鏈路所在的路徑為fl的新的轉(zhuǎn)發(fā)路徑,并在對應(yīng)的交換機(jī)中添加相應(yīng)的流表項(xiàng)。
【主權(quán)項(xiàng)】
1.一種面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)流轉(zhuǎn)發(fā)方法,其特征在于, (1)采用支持OpenFlow協(xié)議的SDN交換機(jī)構(gòu)建三層Fat-Tree拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò);部署兩個(gè)定時(shí)任務(wù)模塊,通過SDN交換機(jī)提供的接口,分別收集網(wǎng)絡(luò)中所有鏈路的統(tǒng)計(jì)信息和網(wǎng)絡(luò)中數(shù)據(jù)流的統(tǒng)計(jì)信息,并分別以時(shí)間T1和時(shí)間T 2定期更新這些統(tǒng)計(jì)信息,從而實(shí)現(xiàn)對網(wǎng)絡(luò)鏈路情況和數(shù)據(jù)流傳輸情況的檢測; (2)初始情況,針對所有新進(jìn)入到網(wǎng)絡(luò)中的數(shù)據(jù)流,采取一種負(fù)載均衡為目的的轉(zhuǎn)發(fā)策略;每當(dāng)為一個(gè)新數(shù)據(jù)流計(jì)算轉(zhuǎn)發(fā)路由時(shí),通過源地址與目的地址確定數(shù)據(jù)流在轉(zhuǎn)發(fā)過程中需要到達(dá)的最高層是Fat-Tree拓?fù)浣Y(jié)構(gòu)中的哪一層;基于最壞適應(yīng)原理,流在向上層轉(zhuǎn)發(fā)的過程中,每次選取當(dāng)前交換機(jī)向上鏈路中空閑帶寬最大的那條鏈路到達(dá)上一層的交換機(jī),直到到達(dá)需要到達(dá)的最高層;鏈路的帶寬使用情況利用(I)中獲得的鏈路統(tǒng)計(jì)信息計(jì)算得出;基于Fat-Tree拓?fù)浣Y(jié)構(gòu)的特性,當(dāng)確定了數(shù)據(jù)流到最高點(diǎn)的路徑后,從最高點(diǎn)到目的節(jié)點(diǎn)的下行路徑就是唯一確定的;確定這個(gè)數(shù)據(jù)流的轉(zhuǎn)發(fā)路徑之后,在路徑所經(jīng)過的各個(gè)交換機(jī)上添加這個(gè)數(shù)據(jù)流的流表項(xiàng)即轉(zhuǎn)發(fā)規(guī)則; (3)當(dāng)數(shù)據(jù)流在采用(2)所得到的路徑進(jìn)行轉(zhuǎn)發(fā)的過程中,第二個(gè)定時(shí)任務(wù)以時(shí)間T2為周期獲得網(wǎng)絡(luò)中正在轉(zhuǎn)發(fā)的每個(gè)數(shù)據(jù)流的統(tǒng)計(jì)信息,并對這些信息進(jìn)行實(shí)時(shí)處理,利用這些統(tǒng)計(jì)信息計(jì)算每個(gè)數(shù)據(jù)流的傳輸速率;每當(dāng)一個(gè)數(shù)據(jù)流的傳輸速率高于鏈路帶寬的1/10時(shí),將這個(gè)數(shù)據(jù)流視為一個(gè)大數(shù)據(jù)流,并為這個(gè)大數(shù)據(jù)流重新計(jì)算轉(zhuǎn)發(fā)路由;針對大數(shù)據(jù)流的轉(zhuǎn)發(fā)策略如下: a.確定這個(gè)大數(shù)據(jù)流的源地址與目的地址,計(jì)算出其在Fat-Tree拓?fù)浣Y(jié)構(gòu)下源地址與目的地址間全部的等價(jià)路徑; b.對于求得的每條等價(jià)路徑,通過(2)中獲得的鏈路統(tǒng)計(jì)信息,找出每條等價(jià)路徑中帶寬利用率最高的那條鏈路,即每條路徑的帶寬瓶頸鏈路; c.在這些帶寬瓶頸鏈路中,選取其中空閑帶寬最大的那條帶寬瓶頸鏈路所在的等價(jià)路徑為這條大數(shù)據(jù)流的新的轉(zhuǎn)發(fā)路徑,并在路徑中的各個(gè)節(jié)點(diǎn)交換機(jī)上添加轉(zhuǎn)發(fā)流表項(xiàng); d.本策略以時(shí)間T2為周期動態(tài)地實(shí)現(xiàn)對網(wǎng)絡(luò)中的大數(shù)據(jù)流進(jìn)行路由調(diào)整。
【專利摘要】本發(fā)明公開了一種面向Fat-Tree數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)流轉(zhuǎn)發(fā)方法,屬于數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)領(lǐng)域。其特征是該方法結(jié)合數(shù)據(jù)中心網(wǎng)絡(luò)與SDN技術(shù),在以Fat-Tree為網(wǎng)絡(luò)拓?fù)涞臄?shù)據(jù)中心網(wǎng)絡(luò)中,動態(tài)地控制網(wǎng)絡(luò)中流的轉(zhuǎn)發(fā),并能根據(jù)網(wǎng)絡(luò)中流的大小,動態(tài)調(diào)整流的路由轉(zhuǎn)發(fā)策略。包括定時(shí)網(wǎng)絡(luò)鏈路信息采集模塊,數(shù)據(jù)流信息采集模塊,大數(shù)據(jù)流檢測處理模塊,負(fù)載均衡控制轉(zhuǎn)發(fā)模塊,大數(shù)據(jù)流轉(zhuǎn)發(fā)模塊功能。本發(fā)明可實(shí)現(xiàn)數(shù)據(jù)流在數(shù)據(jù)中心網(wǎng)絡(luò)中的負(fù)載均衡,根據(jù)不同的數(shù)據(jù)流大小動態(tài)地調(diào)整轉(zhuǎn)發(fā)策略,提高數(shù)據(jù)中心網(wǎng)絡(luò)的鏈路利用率,減小數(shù)據(jù)流轉(zhuǎn)發(fā)的時(shí)延,減小鏈路發(fā)生擁塞的幾率。
【IPC分類】H04L12-813, H04L12-803
【公開號】CN104767694
【申請?zhí)枴緾N201510162959
【發(fā)明人】李克秋, 王珣, 齊恒
【申請人】大連理工大學(xué)
【公開日】2015年7月8日
【申請日】2015年4月8日