段 晨,彭 偉,王寶生
(國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙 410073)
路由是數(shù)據(jù)中心網(wǎng)絡(luò)的關(guān)鍵技術(shù)之一,負(fù)責(zé)在數(shù)據(jù)中心內(nèi)部以及跨數(shù)據(jù)中心為流量選路。數(shù)據(jù)中心由服務(wù)器和交換機(jī)2種設(shè)備組成,服務(wù)器主要運(yùn)行各種云計(jì)算應(yīng)用,交換機(jī)實(shí)現(xiàn)組網(wǎng)通信。數(shù)據(jù)中心網(wǎng)絡(luò)通常使用傳統(tǒng)TCP/IP協(xié)議棧進(jìn)行通信,也有研究提出了一些不采用TCP/IP的專用協(xié)議,以更好地利用數(shù)據(jù)中心網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和流量特點(diǎn)。
傳統(tǒng)因特網(wǎng)中的路由主要考慮網(wǎng)絡(luò)可達(dá)性,提供盡力而為的服務(wù)。而運(yùn)行在數(shù)據(jù)中心的應(yīng)用服務(wù)普遍具有更嚴(yán)格的低時(shí)延和高可靠性要求,因此數(shù)據(jù)中心網(wǎng)絡(luò)路由需要為數(shù)據(jù)流提供更精確的選路策略。
數(shù)據(jù)中心網(wǎng)絡(luò)路由研究中常常需要考慮以下4個(gè)方面的問(wèn)題:(1)路由方法的可擴(kuò)展性:能否適應(yīng)數(shù)據(jù)中心網(wǎng)絡(luò)規(guī)模的不斷增長(zhǎng);(2)路由方法的部署成本:能否直接部署在現(xiàn)有的商用交換機(jī)上;(3)能否為不同服務(wù)質(zhì)量要求的流量提供差異化的路由轉(zhuǎn)發(fā)服務(wù),以及能否實(shí)現(xiàn)自適應(yīng)負(fù)載均衡;(4)路由方法的容錯(cuò)能力:能否從網(wǎng)絡(luò)故障中快速恢復(fù)。當(dāng)前,數(shù)據(jù)中心網(wǎng)絡(luò)路由的研究大都集中在流量感知、多路徑計(jì)算和負(fù)載均衡的流量分發(fā)等方面,目標(biāo)是提高網(wǎng)絡(luò)整體吞吐率或帶寬利用率,縮短數(shù)據(jù)流的傳輸完成時(shí)間等。
在數(shù)據(jù)中心網(wǎng)絡(luò)路由相關(guān)的綜述中,Habib等[1]對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)路由技術(shù)進(jìn)行了分類,但分類粒度較大,對(duì)已有研究工作的分析對(duì)比不夠清晰,缺少對(duì)近年來(lái)最新研究成果的分析;Quttoum等[2]對(duì)數(shù)據(jù)中心互聯(lián)拓?fù)浣Y(jié)構(gòu)、路由與流量工程進(jìn)行了介紹,其中路由與流量工程部分側(cè)重闡述了面臨的問(wèn)題和協(xié)議設(shè)計(jì)原則,但缺少對(duì)路由已有研究成果的詳細(xì)梳理和分析。
本文對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)路由技術(shù)的當(dāng)前研究進(jìn)展進(jìn)行綜述。首先對(duì)路由問(wèn)題和路由方法進(jìn)行分類,然后重點(diǎn)闡述數(shù)據(jù)中心網(wǎng)絡(luò)單播路由技術(shù)的研究進(jìn)展。接著進(jìn)一步闡述了擁塞感知的單播路由方法的研究成果,從多個(gè)維度進(jìn)行分析對(duì)比,為數(shù)據(jù)中心網(wǎng)絡(luò)擁塞控制與負(fù)載均衡問(wèn)題提供了研究思路和方向。本文還關(guān)注了基于光交換的數(shù)據(jù)中心網(wǎng)絡(luò)和有線無(wú)線混合的新型數(shù)據(jù)中心網(wǎng)絡(luò)中的路由問(wèn)題,為未來(lái)的研究工作提供了研究方向。
數(shù)據(jù)中心是支持各種網(wǎng)絡(luò)應(yīng)用、政企業(yè)務(wù)和科學(xué)計(jì)算的基礎(chǔ)設(shè)施,內(nèi)部網(wǎng)絡(luò)設(shè)備規(guī)模巨大且通信流量復(fù)雜。面臨的挑戰(zhàn)之一是如何能夠構(gòu)建一個(gè)可擴(kuò)展的數(shù)據(jù)中心網(wǎng)絡(luò),為應(yīng)用提供大規(guī)模的聚合網(wǎng)絡(luò)帶寬,并在此基礎(chǔ)上提供高效的負(fù)載均衡路由。
從路由的角度看,數(shù)據(jù)中心網(wǎng)絡(luò)的主要目標(biāo)是實(shí)現(xiàn)服務(wù)器之間大量的互聯(lián)互通,且具有高效傳輸與容錯(cuò)機(jī)制。數(shù)據(jù)中心網(wǎng)絡(luò)通信模型可以分為一對(duì)一、一對(duì)多和多對(duì)多3種,相應(yīng)地?cái)?shù)據(jù)中心網(wǎng)絡(luò)路由也可以分為單播路由與組播路由;根據(jù)路由服務(wù)所在的層級(jí),可以分為網(wǎng)絡(luò)層路由與應(yīng)用層路由。
目前大多數(shù)研究都集中于一對(duì)一通信模型的單播路由,主要目標(biāo)是利用多路徑傳輸解決數(shù)據(jù)中心網(wǎng)絡(luò)單播流量的負(fù)載均衡問(wèn)題。存在的主要問(wèn)題是面對(duì)大量的不可預(yù)估流量時(shí),如何利用網(wǎng)絡(luò)中存在的冗余路徑進(jìn)行合理的調(diào)度,滿足應(yīng)用服務(wù)的需求,減少網(wǎng)絡(luò)擁塞,提升網(wǎng)絡(luò)整體性能。數(shù)據(jù)中心網(wǎng)絡(luò)的單播路由可以借用已有的因特網(wǎng)路由協(xié)議來(lái)完成,也可以采用新的技術(shù)途徑,設(shè)計(jì)新的負(fù)載均衡路由協(xié)議。
常用的因特網(wǎng)單播路由協(xié)議有開(kāi)放式最短路徑優(yōu)先OSPF(Open Shortest Path First)、中間系統(tǒng)到中間系統(tǒng)IS-IS(Intermediate System-to-Intermediate System)和邊界網(wǎng)關(guān)協(xié)議BGP(Border Gateway Protocol)[3]等。OSPF和IS-IS是鏈路狀態(tài)協(xié)議,當(dāng)網(wǎng)絡(luò)中有鏈路狀態(tài)發(fā)生改變時(shí),鏈路狀態(tài)改變信息需要以泛洪方式傳送給所有路由節(jié)點(diǎn),洪泛的過(guò)程會(huì)消耗網(wǎng)絡(luò)帶寬資源,因此不適用于大規(guī)模的數(shù)據(jù)中心網(wǎng)絡(luò)。并且OSPF和IS-IS在路由策略支持上不如BGP靈活。結(jié)合實(shí)際部署經(jīng)驗(yàn),OSPF通常被用于中小規(guī)模的數(shù)據(jù)中心網(wǎng)絡(luò),BGP則被用于大型數(shù)據(jù)中心網(wǎng)絡(luò)。BGP設(shè)計(jì)的初衷是用于因特網(wǎng)自治系統(tǒng)AS(Autonomous System)之間的域間路由互通,并不直接適用于數(shù)據(jù)中心,因此Internet協(xié)會(huì)頒布的RFC 7938中提出了大規(guī)模數(shù)據(jù)中心中使用BGP路由協(xié)議需要考慮的問(wèn)題以及相應(yīng)的建議[4]。RFC 7938選擇外部邊界網(wǎng)關(guān)協(xié)議eBGP(extern Border Gateway Protocol)作為路由協(xié)議,主要原因是eBGP比內(nèi)部網(wǎng)關(guān)協(xié)議iBGP(internal Border Gateway Protocol)更容易部署和管理。采用BGP實(shí)現(xiàn)組網(wǎng),會(huì)面臨BGP私有自治系統(tǒng)號(hào)不足的問(wèn)題,因此建議使用4字節(jié)AS號(hào)或在數(shù)據(jù)中心網(wǎng)絡(luò)核心層重用AS號(hào)。由于數(shù)據(jù)中心網(wǎng)絡(luò)存在大量的點(diǎn)到點(diǎn)直連鏈路,在路由通告中宣告這些鏈路可能會(huì)帶來(lái)大量的轉(zhuǎn)發(fā)表FIB(Forwarding Information Database)和路由表RIB(Routing Information Database)開(kāi)銷。RFC 7938提出了2種解決方案,分別是不宣告鏈路地址和宣告鏈路地址并進(jìn)行路由匯總。不宣告鏈路地址不會(huì)對(duì)網(wǎng)絡(luò)設(shè)備通信產(chǎn)生影響,但運(yùn)維和監(jiān)控會(huì)變得更復(fù)雜;宣告鏈路地址并進(jìn)行路由匯總需要對(duì)網(wǎng)絡(luò)地址進(jìn)行合理規(guī)劃,給路由器之間的鏈路地址分配連續(xù)可匯總的地址段。在數(shù)據(jù)中心網(wǎng)絡(luò)中存在許多等價(jià)多路徑ECMP(Equal-Cost Multi-Path),數(shù)據(jù)中心BGP路由可以實(shí)現(xiàn)基于多AS號(hào)的ECMP,允許AS_PATH長(zhǎng)度相同但內(nèi)容不同的等價(jià)多路徑生效。針對(duì)BGP在因特網(wǎng)中會(huì)出現(xiàn)路由黑洞和收斂慢的問(wèn)題,RFC 7938指出如果支持BGP對(duì)等會(huì)話快速失效(BGP Fast Peering Session Deactivation),鏈路失效時(shí)RIB和FIB及時(shí)更新,就可以實(shí)現(xiàn)亞秒級(jí)的路由收斂。同時(shí)也可以通過(guò)配置BGP連接的保持時(shí)間(hold-time)、存活時(shí)間(keep-alive)和更新報(bào)文定時(shí)器等參數(shù),實(shí)現(xiàn)路由快速收斂。
很多研究人員設(shè)計(jì)了新的數(shù)據(jù)中心單播路由方法,本文第3節(jié)將重點(diǎn)闡述這些方法,并對(duì)其進(jìn)行比較分析。
組播路由將源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)復(fù)制給多個(gè)加入組播組的節(jié)點(diǎn),屬于一對(duì)多通信模型。它存在的主要問(wèn)題是如何構(gòu)建并維護(hù)一個(gè)組播樹(shù),以實(shí)現(xiàn)高效的組播數(shù)據(jù)包分發(fā)。傳統(tǒng)的IP組播需要運(yùn)行復(fù)雜的組播路由協(xié)議,同時(shí)還要維護(hù)每條流的轉(zhuǎn)發(fā)狀態(tài),由于其可擴(kuò)展性低而沒(méi)有得到大規(guī)模的使用。隨著數(shù)據(jù)中心內(nèi)部點(diǎn)到多點(diǎn)通信流量的快速增加,部署IP組播的吸引力在不斷增加。隨著軟件定義網(wǎng)絡(luò)SDN(Software Defined Network)技術(shù)的發(fā)展,使用集中式控制器優(yōu)化交換機(jī)和路由器轉(zhuǎn)發(fā)組播流量的方法備受關(guān)注。由Li等[5]提出的數(shù)據(jù)中心高效可擴(kuò)展組播路由機(jī)制ESM(Efficient and Scalable Multicast routing scheme)將入包布隆過(guò)濾器(Bloom Filters)與交換機(jī)內(nèi)轉(zhuǎn)發(fā)表相結(jié)合。一方面,入包布隆過(guò)濾器用于小規(guī)模組播組,節(jié)約交換機(jī)內(nèi)部路由表空間,同時(shí)將大的組播組路由條目下發(fā)給交換機(jī),減少帶寬開(kāi)銷。模擬實(shí)驗(yàn)結(jié)果表明,與接收端驅(qū)動(dòng)的組播路由相比,ESM可以減少40%~50%的網(wǎng)絡(luò)流量且應(yīng)用吞吐量提高了2倍,入包布隆過(guò)濾器和交換機(jī)轉(zhuǎn)發(fā)表的組合路由機(jī)制顯著減少了交換機(jī)所需的路由條數(shù)。
在大規(guī)模數(shù)據(jù)中心中,大多數(shù)的網(wǎng)絡(luò)架構(gòu)都是由企業(yè)網(wǎng)或因特網(wǎng)演化而來(lái)的,系統(tǒng)運(yùn)行基于傳統(tǒng)的網(wǎng)絡(luò)層路由模型。網(wǎng)絡(luò)層提供分組轉(zhuǎn)發(fā)和路由選擇功能。當(dāng)分組從發(fā)送方流向接收方時(shí),網(wǎng)絡(luò)層為這些分組決定所采用的路徑,其中計(jì)算路徑的方法稱為路由選擇算法。在網(wǎng)絡(luò)層路由模型中,網(wǎng)絡(luò)管理員控制路由策略并下發(fā)配置,業(yè)務(wù)服務(wù)器與網(wǎng)絡(luò)核心相互隔離。從數(shù)據(jù)中心運(yùn)營(yíng)商的角度看,網(wǎng)絡(luò)層路由模型便于管理,并且能夠在多租戶場(chǎng)景中更好地滿足客戶需求,提高數(shù)據(jù)中心網(wǎng)絡(luò)整體性能。然而從數(shù)據(jù)中心應(yīng)用的角度看,網(wǎng)絡(luò)內(nèi)部是一個(gè)黑盒,應(yīng)用服務(wù)無(wú)法控制數(shù)據(jù)包的轉(zhuǎn)發(fā)決策。
應(yīng)用層路由允許終端服務(wù)器參與到路由中,可以根據(jù)應(yīng)用層服務(wù)的需求,定制路由協(xié)議或決定如何轉(zhuǎn)發(fā)。英國(guó)微軟研究院的Abu-Libdeh等[6]在CamCube項(xiàng)目中提出一種應(yīng)用層實(shí)現(xiàn)路由的方法,應(yīng)用可以根據(jù)自身需求在路由的不同目標(biāo)之間進(jìn)行不同的平衡,從而解決了單一路由協(xié)議優(yōu)化目標(biāo)單一的問(wèn)題,提高了應(yīng)用的路由性能。2014年Chen等[7]提出一個(gè)將路由作為服務(wù)、租戶可以直接定向路由控制的框架RaaS(Routing-as-a-Service)。在多租戶數(shù)據(jù)中心環(huán)境下,路由控制可看作是一個(gè)售票過(guò)程,租戶向運(yùn)營(yíng)商提交路由控制請(qǐng)求,運(yùn)營(yíng)商為租戶完成路由傳輸服務(wù),租戶與運(yùn)行商之間緊密耦合。RaaS將路由視作服務(wù),只需要很少的管理開(kāi)銷,租戶可以獨(dú)立地進(jìn)行路由控制,且可以直接利用現(xiàn)有技術(shù)運(yùn)行在商用交換機(jī)上,不需要改變數(shù)據(jù)中心的網(wǎng)絡(luò)硬件基礎(chǔ)設(shè)施。
數(shù)據(jù)中心可以被定義為能提供大規(guī)模計(jì)算和多種網(wǎng)絡(luò)服務(wù)的基礎(chǔ)設(shè)施,隨著因特網(wǎng)應(yīng)用的不斷增加,軟件開(kāi)發(fā)者和用戶都需要更加高效的數(shù)據(jù)存儲(chǔ)平臺(tái),因此人們對(duì)數(shù)據(jù)中心的性能需求也不斷提高。
路由協(xié)議決定了路由器之間的通信過(guò)程,也決定了最優(yōu)路由。因?yàn)閿?shù)據(jù)流量可能流向數(shù)據(jù)中心內(nèi)部、外部或交換機(jī)之間,因此路由協(xié)議必須能在所有服務(wù)器之間路由并轉(zhuǎn)發(fā)數(shù)據(jù),保證網(wǎng)絡(luò)的連通性。為了有效利用數(shù)據(jù)中心基礎(chǔ)設(shè)施,需要設(shè)計(jì)比傳統(tǒng)因特網(wǎng)路由協(xié)議更加高效的路由協(xié)議,因此近年來(lái)提出了很多數(shù)據(jù)中心網(wǎng)絡(luò)路由方法。
根據(jù)關(guān)注要素的不同,路由方法可以劃分為拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法、流量相關(guān)的路由方法和能量感知的路由方法。拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法通常依賴于某種特定拓?fù)?,在此基礎(chǔ)上設(shè)計(jì)編址與路由轉(zhuǎn)發(fā)方法,支持最短路徑、非最短路徑和多路徑路由等。流量相關(guān)的路由方法主要關(guān)注數(shù)據(jù)中心內(nèi)部流量調(diào)度,優(yōu)化流量轉(zhuǎn)發(fā)路徑實(shí)現(xiàn)全局負(fù)載均衡,對(duì)拓?fù)浣Y(jié)構(gòu)不敏感。能量感知路由方法的主要目標(biāo)是在不影響性能的前提下降低數(shù)據(jù)中心能耗,主要面臨2個(gè)問(wèn)題:首先是如何篩選出冗余鏈路,其次是如何在動(dòng)態(tài)拓?fù)涞那榫诚聻榱髁窟x路,因此能量感知的路由方法對(duì)效率和可靠性要求較高,需要在通信性能和節(jié)能之間達(dá)到合理的平衡。
為了更直觀方便地對(duì)不同路由方法進(jìn)行比較,Besta等[8]提出了以下6個(gè)路由方法的評(píng)價(jià)指標(biāo),本文根據(jù)路由方法對(duì)交換機(jī)的要求添加了第7個(gè)指標(biāo)。
(1)最短路徑SP(Shortest Paths)的支持:是否可使用任意的最短路徑。
(2)非最短路徑的利用NP(Non-minimal Paths):是否可利用非最短路徑。
(3)多路徑支持MP(Multi-Path):是否可同時(shí)使用多條路徑。
(4)不相交多路徑DP(Disjoint Paths):是否支持不相交的多路徑。
(5)自適應(yīng)負(fù)載平衡ALB(Adaptive Load Balancing):是否具有自適應(yīng)負(fù)載平衡的能力。
(6)拓?fù)湎嚓P(guān)性TD(Topology Dependency):是否依賴于特定的網(wǎng)絡(luò)拓?fù)洹?/p>
(7)交換機(jī)可編程SPA(Switch Programm Ability):是否要求數(shù)據(jù)中心交換機(jī)可編程,如采用白盒交換機(jī)。大多數(shù)商用交換機(jī)可以支持OpenFlow協(xié)議,因而可以利用交換機(jī)的可編程性來(lái)實(shí)現(xiàn)功能更強(qiáng)的路由控制方法。
借助已知的拓?fù)浣Y(jié)構(gòu)知識(shí),優(yōu)化路由轉(zhuǎn)發(fā)的路由方法稱為拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法,這類路由方法又分為以交換機(jī)為中心(Switch-Centric)的路由方法和以服務(wù)器為中心(Server-Centric)的路由方法。
當(dāng)采用交換機(jī)來(lái)構(gòu)建數(shù)據(jù)中心網(wǎng)絡(luò)時(shí),根據(jù)交換機(jī)的開(kāi)放可編程情況,一般采用2類路由協(xié)議:一類是直接利用商用交換機(jī)提供的路由協(xié)議,如常見(jiàn)的OSPF和BGP路由協(xié)議;另一類要求交換機(jī)是開(kāi)放可編程的白盒交換機(jī),支持用戶設(shè)計(jì)實(shí)現(xiàn)自己的路由協(xié)議。
3.2.1 以交換機(jī)為中心的路由
在傳統(tǒng)的因特網(wǎng)中,網(wǎng)絡(luò)終端只負(fù)責(zé)數(shù)據(jù)包的發(fā)送與接收,數(shù)據(jù)包轉(zhuǎn)發(fā)都交給了網(wǎng)絡(luò)核心的交換機(jī)與路由器完成。類似地,在數(shù)據(jù)中心網(wǎng)絡(luò)中,在交換機(jī)上運(yùn)行路由協(xié)議,通過(guò)交換機(jī)來(lái)構(gòu)建數(shù)據(jù)中心網(wǎng)絡(luò),如典型的Clos結(jié)構(gòu)網(wǎng)絡(luò),基于這種網(wǎng)絡(luò)的路由方法稱之為以交換機(jī)為中心的路由方法。
以交換機(jī)為中心的路由可以在已有拓?fù)涞幕A(chǔ)上,添加對(duì)虛擬機(jī)遷移前后不改變地址的支持或提供統(tǒng)一的高容量傳輸。如Greenberg等[9]提出的虛擬二層VL2(Virtual Layer 2)數(shù)據(jù)中心架構(gòu),由低開(kāi)銷的專用交換機(jī)組成Clos拓?fù)浣Y(jié)構(gòu)。這種網(wǎng)絡(luò)架構(gòu)可以提供所有服務(wù)器之間統(tǒng)一的高容量、同一臺(tái)服務(wù)器上的服務(wù)之間性能隔離,還支持以太網(wǎng)二層語(yǔ)義,管理員可以給服務(wù)分配任意服務(wù)器并配置任意IP地址。VL2的一個(gè)限制在于它不能提供服務(wù)器之間的帶寬保證,對(duì)于很多要求實(shí)時(shí)性的應(yīng)用來(lái)說(shuō)是不足的。Al-Fares等[10]提出了一個(gè)可擴(kuò)展的商用數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu),支持任意主機(jī)之間充分利用本地網(wǎng)絡(luò)接口的帶寬進(jìn)行通信。該架構(gòu)使用胖樹(shù)(Fat-tree)拓?fù)?,根?jù)服務(wù)器所處的機(jī)架以及接入交換機(jī)的位置進(jìn)行編址,設(shè)計(jì)了二級(jí)查表匹配的路由方法,一級(jí)表使用前綴匹配,二級(jí)表使用后綴匹配,在存在多路徑的情況下,可以將相同目的地的連續(xù)數(shù)據(jù)包沿相同路徑轉(zhuǎn)發(fā),避免數(shù)據(jù)包重排序。
Besta等[8]提出了一個(gè)簡(jiǎn)單、通用、健壯的以太網(wǎng)路由架構(gòu)FatPaths,能充分利用數(shù)據(jù)中心的路徑多樣性,同時(shí)支持最短路徑和非最短路徑。通過(guò)形式化分析,實(shí)現(xiàn)了非常高的以太網(wǎng)性能提升,可以應(yīng)用于超算系統(tǒng)和數(shù)據(jù)中心。FatPaths重新設(shè)計(jì)了傳輸層協(xié)議,改善了TCP啟動(dòng)慢等性能障礙,且使用流粒度交換,能避免TCP報(bào)文重排序,因此可以很簡(jiǎn)單高效地實(shí)現(xiàn)負(fù)載均衡。另外,作者使用了最多一百萬(wàn)個(gè)終端節(jié)點(diǎn)進(jìn)行模擬,結(jié)果表明使用FatPaths的短直徑拓?fù)浔菷at-tree結(jié)構(gòu)性能更好。
3.2.2 以服務(wù)器為中心的路由
以服務(wù)器為中心的路由方法在服務(wù)器上運(yùn)行路由協(xié)議,目的是充分利用服務(wù)器的硬件資源,減小核心交換機(jī)的壓力,因此服務(wù)器在多跳通信中起到了中繼節(jié)點(diǎn)的作用;并且以服務(wù)器為中心的路由方法常常將拓?fù)湓O(shè)計(jì)為由遞歸或模塊化的方式得到,具有很好的擴(kuò)展性,如BCube[11]和Dcell[12]等。
BCube整個(gè)結(jié)構(gòu)采用遞歸定義,結(jié)構(gòu)雖然工整但是比較復(fù)雜。BCube的拓?fù)浣Y(jié)構(gòu)中一個(gè)BCubek是由n個(gè)BCubek-1和nk個(gè)n端口交換機(jī)組成。Guo等[11]針對(duì)BCube結(jié)構(gòu)設(shè)計(jì)了BCube源路由算法,數(shù)據(jù)源服務(wù)器會(huì)持續(xù)發(fā)送探測(cè)報(bào)文探測(cè)鏈路可用帶寬,同時(shí)還使用寬度優(yōu)先搜索算法進(jìn)行替代路徑查詢,具有很好的容錯(cuò)性。
類似地,DCell也以遞歸定義的方式來(lái)連接服務(wù)器[12],即高維的DCell由許多低維DCell遞歸連接而成,具有很好的容錯(cuò)性,且提供高了吞吐量。Wang等[13]提出的SprintNet拓?fù)浣Y(jié)構(gòu)也是以服務(wù)器為中心的路由方法,它使用分割轉(zhuǎn)發(fā)單元的方法提供可擴(kuò)展的網(wǎng)絡(luò)架構(gòu),且能夠保證轉(zhuǎn)發(fā)路徑較短。
3.2.3 拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法小結(jié)
基于上述評(píng)價(jià)指標(biāo),表1對(duì)與上述拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法的研究工作進(jìn)行了比較。從表1中可以得知,拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法通常依賴于某種特定拓?fù)?,在此基礎(chǔ)上設(shè)計(jì)編址與路由轉(zhuǎn)發(fā)方法,從而實(shí)現(xiàn)比胖樹(shù)(Fat-Tree)和葉脊(Spine-Leaf)架構(gòu)更好的性能。然而,由于它們與底層路由機(jī)制相互獨(dú)立,因此在實(shí)踐中難以實(shí)現(xiàn)理論的高帶寬,同時(shí)還需要對(duì)網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)協(xié)議棧進(jìn)行修改或重新設(shè)計(jì),增加了實(shí)際部署的難度。
Table 1 Comparison among topology-aware routing methods
流量相關(guān)的路由方法是指能夠根據(jù)數(shù)據(jù)中心內(nèi)部流量特點(diǎn)進(jìn)行調(diào)度的方法,路由算法根據(jù)不同的優(yōu)化目標(biāo)做出滿足服務(wù)需求的轉(zhuǎn)發(fā)決策,總而言之以提升網(wǎng)絡(luò)整體帶寬利用率、實(shí)現(xiàn)負(fù)載均衡等為主要目標(biāo)。Benson等[14]指出,傳統(tǒng)的流量相關(guān)的路由方法只能達(dá)到最優(yōu)路由機(jī)制80%~85%的性能。主要原因包括3點(diǎn):(1)沒(méi)有利用數(shù)據(jù)中心多路徑特性;(2)無(wú)法自適應(yīng)動(dòng)態(tài)流量負(fù)載;(3)進(jìn)行路由決策時(shí)沒(méi)有掌握全局視圖。本節(jié)將參考以上3個(gè)因素,對(duì)流量相關(guān)的路由方法進(jìn)行分析與評(píng)估。
流量相關(guān)的路由方法可以從2個(gè)維度進(jìn)行分類。首先,根據(jù)轉(zhuǎn)發(fā)決策所掌握的信息和決策范圍可以分為分布式路由方法和集中式路由方法。分布式路由方法使用局部或全局信息進(jìn)行局部決策,集中式路由方法使用全局信息進(jìn)行全局決策。其次,根據(jù)流量調(diào)度是否能提前避免擁塞事件的發(fā)生可以分為主動(dòng)式流量調(diào)度和被動(dòng)式流量調(diào)度。主動(dòng)式流量調(diào)度能在網(wǎng)絡(luò)故障或突發(fā)流量發(fā)生時(shí),在網(wǎng)絡(luò)擁塞導(dǎo)致丟包前,一定程度上避免網(wǎng)絡(luò)擁塞,但靈活性不足;被動(dòng)式流量調(diào)度通常依賴網(wǎng)絡(luò)負(fù)載信息做出判斷,具有較強(qiáng)的靈活性,但不可避免地會(huì)引入反饋時(shí)延。
3.3.1 分布式路由方法vs集中式路由方法
分布式路由方法中網(wǎng)絡(luò)設(shè)備使用局部或全局信息進(jìn)行局部決策。Wu等[15]提出了數(shù)據(jù)中心網(wǎng)絡(luò)分布式自適應(yīng)路由框架DARD(Distributed Adaptive Routing architecture for Datacenter networks)。該算法的目標(biāo)是不對(duì)現(xiàn)有的基礎(chǔ)設(shè)施進(jìn)行修改或升級(jí),且輕量可擴(kuò)展,能充分利用數(shù)據(jù)中心對(duì)分帶寬(Bisection Bandwidth),同時(shí)能在大流之間提供公平性。DARD運(yùn)行在終端主機(jī)上而不是交換機(jī)上,對(duì)網(wǎng)絡(luò)中的動(dòng)態(tài)流量負(fù)載敏感,可以將超載路徑上的流量高效分擔(dān)到空閑路徑。DARD的設(shè)計(jì)目標(biāo)之一是解決大流之間的公平性問(wèn)題,因此不可避免地忽略了小流的調(diào)度。在數(shù)據(jù)中心網(wǎng)絡(luò)中,小流產(chǎn)生的流量占比小于10%,流數(shù)量卻占總流數(shù)量的99%。每條小流都必須由交換機(jī)進(jìn)行轉(zhuǎn)發(fā)決策,因此對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)性能也產(chǎn)生了很大的影響。Li等[16]提出了任務(wù)級(jí)性能優(yōu)化專用調(diào)度器OPTAS(OPtimize TAsk-level performance Scheduler),這是一個(gè)分布式小任務(wù)感知的流監(jiān)控和調(diào)度系統(tǒng),主要解決目前很多研究中小流被忽略或小流給集中式調(diào)度帶來(lái)的開(kāi)銷過(guò)高的問(wèn)題。OPTAS 的架構(gòu)包括運(yùn)行在數(shù)據(jù)接收端的任務(wù)監(jiān)控器(Task Monitor)和決策計(jì)算模塊(Policy Calculator),其中任務(wù)監(jiān)視器用來(lái)識(shí)別任務(wù)的開(kāi)始與結(jié)束;還包括運(yùn)行在發(fā)送端的緩存監(jiān)控器(Buffer Monitor)和決策執(zhí)行模塊(Policy Enforcer),可以根據(jù)緩沖區(qū)待發(fā)送數(shù)據(jù)大小區(qū)分大任務(wù)和小任務(wù)。OPTAS會(huì)給小任務(wù)分配更高的優(yōu)先級(jí)。實(shí)驗(yàn)結(jié)果表明,OPTAS的調(diào)度速率比公平調(diào)度快2.2倍,比僅分配小任務(wù)最高優(yōu)先級(jí)快1.2倍。
在數(shù)據(jù)中心網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備由運(yùn)營(yíng)商統(tǒng)一管理,具有網(wǎng)絡(luò)拓?fù)涞娜忠晥D,因此集中式路由方法被認(rèn)為是可行的數(shù)據(jù)中心路由方法。集中式路由方法將數(shù)據(jù)平面與控制平面分離,將OpenFlow協(xié)議視作網(wǎng)絡(luò)設(shè)備數(shù)據(jù)平面的標(biāo)準(zhǔn)化編程接口。一些研究為了實(shí)現(xiàn)功能更強(qiáng)的路由控制,使用可編程的白盒交換機(jī)。
Hedera是由Al-Fares等[17]提出的一個(gè)集中式可擴(kuò)展、動(dòng)態(tài)流調(diào)度器,可以有效利用數(shù)據(jù)中心網(wǎng)絡(luò)中的聚合網(wǎng)絡(luò)資源。它的主要目標(biāo)是以最少的調(diào)度開(kāi)銷最大化對(duì)分帶寬的利用率。Hedera實(shí)現(xiàn)了路由和流量信息的全局視圖,調(diào)度器從邊緣交換機(jī)收集流信息來(lái)挑選無(wú)擁塞路徑,然后交換機(jī)負(fù)責(zé)轉(zhuǎn)發(fā)流量。作者提出了全局首次適配(Global First Fit)和模擬退火(Simulated Annealing)2種啟發(fā)式算法來(lái)解決流調(diào)度的NP完全問(wèn)題。與Hedera相似,農(nóng)黃武等[18]提出了基于SDN的胖樹(shù)數(shù)據(jù)中心網(wǎng)絡(luò)的多路徑路由算法。針對(duì)Hedera提出的全局首次適配算法無(wú)法達(dá)到全局最優(yōu),而模擬退火法收斂速度可能很慢的問(wèn)題,該算法使用基于深度優(yōu)先查找的思路計(jì)算緩存網(wǎng)絡(luò)中所有節(jié)點(diǎn)對(duì)的多路徑信息,以提高響應(yīng)速度。當(dāng)新的數(shù)據(jù)流到來(lái)時(shí),使用最差適應(yīng)法確定備選路徑,即在所有的路徑中,挑選出瓶頸鏈路負(fù)載最小的路徑,實(shí)現(xiàn)了快速有效的流量負(fù)載均衡。
另外,Hedera忽略了數(shù)據(jù)中心網(wǎng)絡(luò)流數(shù)量中占據(jù)大多數(shù)的小流,無(wú)法精確地實(shí)現(xiàn)負(fù)載均衡。楊洋等[19]提出了一個(gè)基于多路徑傳輸?shù)膭?dòng)態(tài)路由算法Dramp。Dramp對(duì)鏈路權(quán)值進(jìn)行優(yōu)化,在節(jié)點(diǎn)對(duì)之間的多條有效路徑上合理地分配流量,確保關(guān)鍵鏈路不會(huì)成為產(chǎn)生擁塞的瓶頸鏈路。并且Dramp在完成細(xì)粒度流量均衡的同時(shí),能很好地控制控制器的額外計(jì)算開(kāi)銷,也不需要對(duì)目前的通信協(xié)議進(jìn)行任何改動(dòng)。彭大芹等[20]提出了基于SDN的胖樹(shù)數(shù)據(jù)中心網(wǎng)絡(luò)多路徑路由算法,將數(shù)據(jù)流分為大流和小流,大流根據(jù)路徑權(quán)重值進(jìn)行路由,小流數(shù)量多但處理的復(fù)雜性要求較低,選擇可用剩余帶寬最大的路徑,這樣能夠提高胖樹(shù)數(shù)據(jù)中心網(wǎng)絡(luò)的平均鏈路利用率和網(wǎng)絡(luò)吞吐量。
集中式控制方法面臨單點(diǎn)失效、控制器負(fù)載過(guò)重等問(wèn)題。如果使用冗余備份控制器,則會(huì)增加部署成本和控制器同步開(kāi)銷。為了改善如Hedera使用一個(gè)控制器掌握全局視圖導(dǎo)致的負(fù)載過(guò)重問(wèn)題,Tam等[21]引入了下放控制器的概念,為集中式路由方法提供了新的思路。每個(gè)小控制器只負(fù)責(zé)局部的網(wǎng)絡(luò)視圖,但是所有的控制器可以覆蓋整個(gè)網(wǎng)絡(luò),并提出了路徑分區(qū)啟發(fā)式算法和分區(qū)路徑算法為流分配路徑。Tam等[21]在Spring等[22]測(cè)量得到的ISP拓?fù)浣Y(jié)構(gòu)上,對(duì)這2種算法進(jìn)行評(píng)估,結(jié)果表明這2種算法都可以很好地限制控制器負(fù)載,雖然找到的不是全局最優(yōu)解,但找到的解和模擬退火算法找到的解相近且速度更快。
也有研究對(duì)單個(gè)控制器進(jìn)行優(yōu)化,通過(guò)減少與控制器的通信過(guò)程,減小控制器負(fù)擔(dān)。Ramos等[23]提出了SlickFlow可靠的源路由方法,使用OpenFlow協(xié)議實(shí)現(xiàn),把源路由與備用路徑信息搭載在數(shù)據(jù)包頭部,實(shí)現(xiàn)支持快速故障恢復(fù)的彈性源路由機(jī)制。當(dāng)首選路徑出現(xiàn)故障時(shí),數(shù)據(jù)包可以通過(guò)交換機(jī)重路由到備用路徑而不需要詢問(wèn)控制器,但需要交換機(jī)支持對(duì)數(shù)據(jù)包備用路徑的解析。Wang等[24]提出了一個(gè)低開(kāi)銷的、負(fù)載均衡路由管理框架L2RM(Low-cost, Load-balanced Route Management framework),通過(guò)持續(xù)監(jiān)控網(wǎng)絡(luò)流量并計(jì)算負(fù)載偏差參數(shù)來(lái)檢驗(yàn)是否有交換機(jī)鏈路負(fù)載過(guò)重,如果有則觸發(fā)路由修改機(jī)制,將流分發(fā)到不同的鏈路實(shí)現(xiàn)平衡負(fù)載。與此同時(shí)還采用輪詢的方式查詢交換機(jī)的狀態(tài),減少控制器的開(kāi)銷。
以上2種方式都是嘗試減少與控制器的通信,提高調(diào)度實(shí)時(shí)性,但必然會(huì)面臨可擴(kuò)展性的問(wèn)題,即隨著網(wǎng)絡(luò)規(guī)模的增大,要保證在可接受的時(shí)間內(nèi)完成路由優(yōu)化。陳松等[25]提出了一種新穎的面向數(shù)據(jù)中心網(wǎng)絡(luò)流量的路由優(yōu)化算法,其主要優(yōu)化對(duì)象是具有語(yǔ)義相關(guān)性的Coflow流(指數(shù)據(jù)中心中傳輸?shù)木哂邢嚓P(guān)性的若干個(gè)流),并提出了面向海量流采用GPU并行計(jì)算的路由優(yōu)化算法。相比于CPU,GPU可以支持?jǐn)?shù)百倍數(shù)量的線程。算法還使用了拉格朗日松弛方法分解路由優(yōu)化問(wèn)題,利用Bellman-Ford最短路徑算法為每個(gè)業(yè)務(wù)計(jì)算路由,結(jié)果表明該算法可以提高流量調(diào)度的實(shí)時(shí)性。
3.3.2 主動(dòng)式流量調(diào)度vs被動(dòng)式流量調(diào)度
路由方法根據(jù)流量調(diào)度是否能提前避免擁塞事件的發(fā)生,可以分為主動(dòng)式流量調(diào)度和被動(dòng)式流量調(diào)度[26]。主動(dòng)式流量調(diào)度主動(dòng)進(jìn)行流量調(diào)度,從而達(dá)到避免擁塞發(fā)生的目的;被動(dòng)式流量調(diào)度是在擁塞事件發(fā)生后,再相應(yīng)地進(jìn)行流量調(diào)度,以緩解網(wǎng)絡(luò)擁塞。
ECMP是最常見(jiàn)的主動(dòng)式流量調(diào)度方法,它是一個(gè)具有主動(dòng)特性且無(wú)狀態(tài)調(diào)度的負(fù)載均衡方法。通過(guò)對(duì)流的頭部字段進(jìn)行哈希運(yùn)算,根據(jù)哈希值決定流的傳輸路徑。ECMP的缺陷在于難以適應(yīng)非對(duì)稱拓?fù)浜痛笮×骰旌系膱?chǎng)景。盡管如此,研究表明[27],隨著流的數(shù)量增加以及流的大小分布的方差減小,ECMP的缺陷可以得到緩解并獲得近似最優(yōu)解。He等[26]提出了一個(gè)基于軟件邊緣的主動(dòng)式流量調(diào)度方案Presto,利用邊緣虛擬交換機(jī)(Virtual Switch)將每條流整形成相似大小的子流,并且將它們均勻地分發(fā)到網(wǎng)絡(luò)中,從而實(shí)現(xiàn)負(fù)載均衡。Presto可以提升網(wǎng)絡(luò)吞吐率和流調(diào)度公平性,降低網(wǎng)絡(luò)延遲,同時(shí)能夠縮短小流的流完成時(shí)間。
被動(dòng)式流量調(diào)度是當(dāng)調(diào)度器或交換機(jī)感知到網(wǎng)絡(luò)擁塞事件后,再進(jìn)行流量調(diào)度。如果突發(fā)流量的持續(xù)時(shí)間很短,被動(dòng)式流量調(diào)度則難以發(fā)揮很好的作用。很多集中式流量調(diào)度機(jī)制處理網(wǎng)絡(luò)擁塞時(shí)都是采用被動(dòng)方式,并且由于它們的控制環(huán)路存在時(shí)間延遲,因此只能實(shí)現(xiàn)粗粒度優(yōu)化,如上文提到的Hedera[17]和Dramp[19]。
3.3.3 流量相關(guān)的路由方法小結(jié)
流量相關(guān)路由方法主要關(guān)注數(shù)據(jù)中心內(nèi)部流量調(diào)度,針對(duì)不同的流量模型設(shè)計(jì)調(diào)度策略。上述流量相關(guān)的路由方法都不依賴于特定網(wǎng)絡(luò)拓?fù)?,也不保證對(duì)所有數(shù)據(jù)流都支持使用非最短路徑或不相交路徑。因此,表2主要關(guān)注路由方法對(duì)交換機(jī)的可編程要求(SPA),并使用是否支持多路徑(MP)、自適應(yīng)負(fù)載均衡(ALB)和拓?fù)湟蕾囆?TD)3個(gè)指標(biāo)進(jìn)行對(duì)比。
Table 2 Comparison among traffic-aware routing methods
大型數(shù)據(jù)中心全天候運(yùn)行數(shù)十萬(wàn)臺(tái)網(wǎng)絡(luò)設(shè)備,為了節(jié)約能量,可以讓不參與通信的設(shè)備在不影響網(wǎng)絡(luò)性能的前提下進(jìn)入休眠狀態(tài),因此需要有高效的能量感知路由方法。目前有很多研究對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)能量感知路由方法進(jìn)行探索,由于該優(yōu)化問(wèn)題屬于NP難問(wèn)題,因此大多數(shù)研究都選擇啟發(fā)式算法求解該問(wèn)題。
Shang等[28]提出了數(shù)據(jù)中心網(wǎng)絡(luò)綠色路由,嘗試從路由的角度減少數(shù)據(jù)中心能源消耗。該方法建立了能量感知的路由模型,證明了問(wèn)題的NP難性質(zhì)并設(shè)計(jì)了一個(gè)啟發(fā)式算法,將網(wǎng)絡(luò)吞吐量視為性能的度量值。該算法首先在所有交換機(jī)上計(jì)算最短路由,稱之為基本路由。然后逐一地將流量負(fù)載最低的交換機(jī)設(shè)置為睡眠狀態(tài),直到網(wǎng)絡(luò)吞吐量下降到某個(gè)閾值,達(dá)到了網(wǎng)絡(luò)管理者對(duì)網(wǎng)絡(luò)吞吐量的最低要求,算法結(jié)束,并更新拓?fù)浣Y(jié)構(gòu),移除處于睡眠狀態(tài)的交換機(jī)。類似地,Xu等[29]提出了具有吞吐量保證的能耗感知路由算法,主要目標(biāo)是減少密集連接數(shù)據(jù)中心中網(wǎng)絡(luò)設(shè)備的能耗。該啟發(fā)式算法首先將拓?fù)浣Y(jié)構(gòu)、流量矩陣和吞吐量閾值等輸入路由生成(Route Generation)模塊,為流量矩陣中的每條流計(jì)算一條傳輸路徑;然后經(jīng)過(guò)吞吐量計(jì)算(Throughput Computation)模塊得到網(wǎng)絡(luò)吞吐量,再判斷是否需要移除交換機(jī)或鏈路;最后輸出新的網(wǎng)絡(luò)拓?fù)?。同時(shí),為了提高可靠性,用戶可以在可靠性適應(yīng)(Reliability Adaptation)模塊中通過(guò)配置可靠性參數(shù)確定為每條流保留備選路徑的數(shù)量。如果由于網(wǎng)絡(luò)故障等原因,導(dǎo)致之前移除交換機(jī)和鏈路后產(chǎn)生的路徑不可達(dá),流可以切換到備選路徑中。
這2種能量感知路由協(xié)議都需要預(yù)先知道流量矩陣。如果流量矩陣不準(zhǔn)確,可能會(huì)出現(xiàn)網(wǎng)絡(luò)無(wú)連接的問(wèn)題。何榮希等[30]提出了軟件定義數(shù)據(jù)中心網(wǎng)絡(luò)多約束節(jié)能路由算法MER(Multi-constrained Energy-saving Routing),考慮網(wǎng)絡(luò)連通性和時(shí)延等因素,選擇代價(jià)最小的路徑傳輸數(shù)據(jù)流。
由于能量感知路由方法的目的是降低數(shù)據(jù)中心能耗,而3.1節(jié)中的7個(gè)指標(biāo)主要關(guān)注路由方法的功能,因此表3從能量感知路由方法的目標(biāo)和主要思路2方面進(jìn)行比較。
Table 3 Comparison among energy-aware routing methods
根據(jù)對(duì)上述能量感知路由方法的相關(guān)研究比較分析,可以得出能量感知的路由方法的本質(zhì)是在變化拓?fù)湎碌牧髁空{(diào)度問(wèn)題。與流量相關(guān)的路由方法的不同之處在于,能量感知的路由方法需要根據(jù)網(wǎng)絡(luò)流量狀況休眠部分網(wǎng)絡(luò)設(shè)備,因此關(guān)鍵問(wèn)題是如何篩選出網(wǎng)絡(luò)中存在的冗余設(shè)備,而流量調(diào)度問(wèn)題則可以交給流量相關(guān)的路由方法負(fù)責(zé)解決。
數(shù)據(jù)中心網(wǎng)絡(luò)時(shí)常發(fā)生網(wǎng)絡(luò)擁塞事件,傳統(tǒng)的TCP/IP協(xié)議棧使用TCP協(xié)議實(shí)現(xiàn)擁塞控制,而網(wǎng)絡(luò)層路由對(duì)網(wǎng)絡(luò)擁塞狀態(tài)是無(wú)感知的。因此,TCP擁塞控制機(jī)制無(wú)法充分利用數(shù)據(jù)中心網(wǎng)絡(luò)的冗余傳輸路徑,且對(duì)時(shí)延敏感的流量不友好。一些研究工作提出了適用于數(shù)據(jù)中心的傳輸層協(xié)議,根據(jù)擁塞控制的位置分為發(fā)送端擁塞控制和接收端擁塞控制。發(fā)送端擁塞控制是指發(fā)送端根據(jù)擁塞狀況調(diào)節(jié)發(fā)送速率,比較典型的有數(shù)據(jù)中心傳輸控制協(xié)議DCTCP(Data Center Transmission Control Protocol)[31]、流截止時(shí)間感知的數(shù)據(jù)中心傳輸控制協(xié)議D2TCP(Deadline-aware Datacenter Transmission Control Protocol)[32]、基于延遲測(cè)量的傳輸層協(xié)議TIMELY(Transport Informed by MEasurement of LatencY)[33]和數(shù)據(jù)中心量化擁塞通知DCQCN(Data Center Quantized Congestion Notification)[34]。接收端擁塞控制是指接收端根據(jù)擁塞狀況來(lái)調(diào)節(jié)控制發(fā)送端的發(fā)送速率,如Homa[35]和ExpressPass[36]。DCTCP、D2TCP和DCQCN借助擁塞信號(hào)完成閉環(huán)擁塞控制,TIMELY通過(guò)往返時(shí)間RTT(Round Trip Time)調(diào)節(jié)發(fā)送速率,但是由于一個(gè)RTT內(nèi)數(shù)據(jù)包往返轉(zhuǎn)發(fā)路徑可能不同,因此無(wú)法精確感知擁塞狀況。在Homa和ExpressPass中,接收端為發(fā)送端發(fā)送數(shù)據(jù)授權(quán)并指派優(yōu)先級(jí),從而控制發(fā)送端的發(fā)送速率。以上擁塞控制協(xié)議都發(fā)生在終端主機(jī)的傳輸層,網(wǎng)絡(luò)層路由器的路由轉(zhuǎn)發(fā)決策對(duì)傳輸層而言是透明的,無(wú)法充分利用數(shù)據(jù)中心網(wǎng)絡(luò)的多路徑特性。因此,路由協(xié)議能夠根據(jù)網(wǎng)絡(luò)擁塞狀態(tài)為流量選擇不同的路徑,成為提高數(shù)據(jù)中心網(wǎng)絡(luò)通信性能的重要途徑,這樣的路由方法稱為擁塞感知的路由方法。
根據(jù)現(xiàn)有研究,擁塞感知的路由方法可以分為集中式擁塞感知路由與分布式擁塞感知路由。集中式擁塞感知路由通常使用集中控制器獲取全局擁塞信息,為流分配傳輸路徑并將轉(zhuǎn)發(fā)表項(xiàng)下發(fā)到交換機(jī)上。分布式擁塞感知路由通常使用全局或局部擁塞信息在網(wǎng)絡(luò)局部實(shí)現(xiàn)優(yōu)化,局部?jī)?yōu)化的決策設(shè)備分為網(wǎng)絡(luò)邊緣設(shè)備和網(wǎng)絡(luò)交換設(shè)備。
Kanagevlu等[37]提出了一個(gè)針對(duì)大小流混合的邊緣到邊緣重路由機(jī)制,當(dāng)發(fā)生擁塞時(shí),考慮到小流存在周期短,重路由會(huì)增加它們的延遲和開(kāi)銷,因此只將大流重路由到備用路徑。Kanagevlu等[38]還提出了一個(gè)局部重路由機(jī)制,基于SDN技術(shù)在數(shù)據(jù)中心網(wǎng)絡(luò)中高效管理鏈路擁塞或故障。不同于其它研究中通過(guò)通知源節(jié)點(diǎn)進(jìn)行適當(dāng)?shù)乃俾收{(diào)整,以及在源節(jié)點(diǎn)進(jìn)行重路由來(lái)處理?yè)砣?,局部重路由機(jī)制是在擁塞發(fā)生點(diǎn)或擁塞發(fā)生點(diǎn)的上一跳,根據(jù)流分類機(jī)制把數(shù)據(jù)流重路由到其它可能的路徑。類似地,F(xiàn)astpass也是一個(gè)集中式控制系統(tǒng)[39],其目的是能夠?qū)崿F(xiàn)交換機(jī)零隊(duì)列(或非常淺的隊(duì)列)。它使用集中式控制器決定每個(gè)數(shù)據(jù)包的傳輸時(shí)間和傳輸路徑,因此該系統(tǒng)的關(guān)鍵在于時(shí)間片分配算法和路徑分配算法??刂破餍枰焖夙憫?yīng)用戶發(fā)送數(shù)據(jù)的請(qǐng)求。同時(shí)控制協(xié)議要非常穩(wěn)定,否則數(shù)據(jù)沒(méi)有得到分配的時(shí)間片,無(wú)法發(fā)送數(shù)據(jù),因此Fastpass在實(shí)現(xiàn)上受到了可擴(kuò)展性與可靠性的限制。與上述2種方法不同,Vissicchio等[40]提出的Fibbing是一個(gè)在分布式路由之上使用集中式控制的聯(lián)合優(yōu)化架構(gòu)。Fibbing不需要可編程交換機(jī),可以直接部署在商用交換機(jī)上,集中控制器會(huì)生成一個(gè)增強(qiáng)型拓?fù)?,其中包含一些?shí)際不存在的節(jié)點(diǎn)和鏈路。例如,這些實(shí)際不存在的鏈路可以組成一條新的最短路徑,且第一跳與實(shí)際拓?fù)渲械姆亲疃搪窂街丿B,則集中控制器下發(fā)偽造的最短路徑后,在實(shí)際轉(zhuǎn)發(fā)過(guò)程中流量會(huì)沿著實(shí)際拓?fù)渲械姆亲疃搪窂睫D(zhuǎn)發(fā),從而達(dá)到網(wǎng)絡(luò)路由優(yōu)化的目的。生成增強(qiáng)型拓?fù)涞年P(guān)鍵在于能夠避免環(huán)路和路由黑洞,且生成的拓?fù)湟M可能小。如果給定希望得到的轉(zhuǎn)發(fā)條目和路由協(xié)議,F(xiàn)ibbing會(huì)計(jì)算出應(yīng)當(dāng)通告給路由器的消息,可以實(shí)現(xiàn)流量工程、負(fù)載均衡和故障恢復(fù)。
以上3種集中式擁塞感知路由都是使用SDN對(duì)數(shù)據(jù)流的傳輸進(jìn)行集中式控制,以此減少或避免擁塞,但存在集中式方法的單點(diǎn)失效等問(wèn)題。
CONGA(CONGestion-Aware load balancing scheme)是一個(gè)分布式擁塞感知的路由方法[41],使用全局擁塞信息以流片(flowlet)粒度決策,比流粒度調(diào)度的方式更精確。一條流包含了一系列的突發(fā)流量,當(dāng)一條流中2個(gè)數(shù)據(jù)包到達(dá)的時(shí)間間隔超過(guò)某一閾值,則將之前的數(shù)據(jù)包劃分為一個(gè)流片[42]。CONGA將擁塞控制的功能從網(wǎng)絡(luò)核心設(shè)備卸載到網(wǎng)絡(luò)邊緣的接入交換機(jī)上,數(shù)據(jù)包會(huì)攜帶該條路徑上的最大負(fù)載并抵達(dá)目的交換機(jī),目的交換機(jī)將負(fù)載信息搭載在返回的數(shù)據(jù)包中,從而實(shí)現(xiàn)一個(gè)擁塞感知的反饋機(jī)制。CONGA在二層葉脊拓?fù)渲锌梢赃_(dá)到很好的效果,但在復(fù)雜拓?fù)渲?,因?yàn)橐粭l路徑由多條鏈路組成,降低了CONGA的擁塞控制效果。與CONGA類似,逐跳帶寬利用率感知的負(fù)載均衡框架HULA(Hop-by-hop Utilization-aware Load balancing Architecture)也是一個(gè)使用全局信息實(shí)現(xiàn)擁塞控制的路由機(jī)制[43]。但是,HULA以逐跳的方式實(shí)現(xiàn)反饋,每一個(gè)交換機(jī)節(jié)點(diǎn)會(huì)周期性地向其它節(jié)點(diǎn)發(fā)送自身負(fù)載信息。這引入了不必要的探測(cè)數(shù)據(jù)包開(kāi)銷,尤其是當(dāng)網(wǎng)絡(luò)處于擁塞狀態(tài)時(shí),探測(cè)數(shù)據(jù)包不僅無(wú)法抵達(dá)目的地,而且還可能會(huì)加劇擁塞程度。Fan等[44]提出了一個(gè)基于全局信息決策的分布式數(shù)據(jù)驅(qū)動(dòng)的擁塞反饋機(jī)制,對(duì)CONGA和HULA進(jìn)行改進(jìn),可以在大規(guī)模多級(jí)胖樹(shù)拓?fù)渲袑?shí)現(xiàn)很好的性能。它將網(wǎng)絡(luò)劃分為多個(gè)獨(dú)立的路由域,不同路由域之間的數(shù)據(jù)包經(jīng)過(guò)核心交換機(jī)時(shí)會(huì)攜帶網(wǎng)絡(luò)接口的負(fù)載信息,因此路由域具有網(wǎng)絡(luò)的全局負(fù)載信息。路由域內(nèi)的交換機(jī)負(fù)責(zé)維護(hù)域內(nèi)和域外負(fù)載矩陣,以流片粒度為數(shù)據(jù)包選路。一般情況下路由算法若要掌握全局信息需要巨大的控制報(bào)文開(kāi)銷,但Fan等提出的機(jī)制將負(fù)載信息搭載在數(shù)據(jù)包中,大大減少了控制報(bào)文開(kāi)銷。
對(duì)于基于全局擁塞信息進(jìn)行優(yōu)化的方法,研究認(rèn)為其控制環(huán)路所消耗的時(shí)間可能大于大多數(shù)擁塞事件的持續(xù)時(shí)間,因此無(wú)法對(duì)網(wǎng)絡(luò)擁塞做出及時(shí)的響應(yīng)。
Zhang等[45]提出了分布式擁塞感知自適應(yīng)轉(zhuǎn)發(fā)方法CAAR(Congestion-Aware Adaptive foRwarding),交換機(jī)僅依賴于局部信息(鄰居節(jié)點(diǎn)的隊(duì)列長(zhǎng)度)就可以實(shí)現(xiàn)流量負(fù)載均衡,其中心思想是選擇鏈路帶寬未被充分使用的路徑進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)。如果所選擇的路徑在傳輸過(guò)程中發(fā)生擁塞,流可以重定向到另一條未充分利用的路徑。模擬實(shí)驗(yàn)顯示,CAAR可以在多種流量模型下自適應(yīng)流量變化,相比于ECMP可以很好地提高冗余帶寬利用率,但它需要交換機(jī)可編程,具有一定的部署難度。Ghorbani等[46]提出了一個(gè)針對(duì)Clos網(wǎng)絡(luò)拓?fù)涞奈⒚霑r(shí)間尺度的網(wǎng)絡(luò)內(nèi)部分布式隨機(jī)本地負(fù)載均衡DRILL(Distributed Randomized In-network Localized Load balancing)機(jī)制。每個(gè)數(shù)據(jù)包僅根據(jù)局部交換機(jī)隊(duì)列占用情況和隨機(jī)算法分發(fā)負(fù)載,就能夠快速對(duì)擁塞做出反應(yīng)。DRILL使用了類似power of two choices[47]的調(diào)度算法,選路時(shí)會(huì)隨機(jī)選取2個(gè)可用的出接口,并與上一次決策時(shí)選擇的最低負(fù)載出接口的隊(duì)列占用情況進(jìn)行對(duì)比,選擇3個(gè)接口中負(fù)載最小的出接口發(fā)送數(shù)據(jù)包。DRILL還對(duì)常常面臨的數(shù)據(jù)包重排序與非對(duì)稱拓?fù)鋯?wèn)題進(jìn)行研究并提出了解決方案。與CONGA相比,DRILL可以在隊(duì)列長(zhǎng)度開(kāi)始增加時(shí)就迅速調(diào)整流量分發(fā)。在80%的流量負(fù)載下,DRILL可以實(shí)現(xiàn)99%的流完成時(shí)間比CONGA的快1.4倍。Huang等[48]提出了隊(duì)列延遲感知的數(shù)據(jù)包分發(fā)負(fù)載均衡機(jī)制QDAPS(Queueing Delay Aware Packet Spraying for load balancing)。QDAPS以數(shù)據(jù)包粒度進(jìn)行轉(zhuǎn)發(fā),針對(duì)數(shù)據(jù)包粒度轉(zhuǎn)發(fā)面臨的共同問(wèn)題——非對(duì)稱拓?fù)鋾?huì)引起數(shù)據(jù)包重排序,QDAPS根據(jù)這條流的上一個(gè)數(shù)據(jù)包在隊(duì)列中的排隊(duì)延遲決定輸出端口,讓先到達(dá)的數(shù)據(jù)包比后到達(dá)的數(shù)據(jù)包先發(fā)送,從而解決該問(wèn)題。文中還指出以流粒度、流片粒度轉(zhuǎn)發(fā)雖然可以避免數(shù)據(jù)包重排序問(wèn)題,但是靈活性不足,會(huì)降低鏈路利用率。
也有一些研究立足于在盡可能不改變交換機(jī)硬件的前提下實(shí)現(xiàn)分布式擁塞感知的負(fù)載均衡路由。Kabbani等[49]提出了一個(gè)流級(jí)別的擁塞感知路由方法Flicr。Flicr利用ECN感知擁塞,當(dāng)擁塞發(fā)生時(shí),主機(jī)修改流的VLAN字段實(shí)現(xiàn)重路由。目前商用交換機(jī)都支持VLAN功能,因此Flicr不需要改變交換機(jī)硬件,只需要修改主機(jī)內(nèi)核、并對(duì)交換機(jī)進(jìn)行VLAN相關(guān)配置,就可以快速完成部署。Flicr不僅降低了鏈路故障導(dǎo)致的流恢復(fù)時(shí)間,而且還適用于非對(duì)稱網(wǎng)絡(luò)拓?fù)洹?/p>
表4對(duì)擁塞感知的路由方法進(jìn)行比較,主要分析了集中式/分布式、擁塞控制設(shè)備、擁塞控制使用的擁塞感知信息和擁塞控制粒度4個(gè)特征??偟膩?lái)說(shuō),集中式擁塞感知路由方法普遍掌握全局擁塞信息視圖,為交換機(jī)下發(fā)配置,需要解決的關(guān)鍵問(wèn)題是實(shí)時(shí)性和可擴(kuò)展性問(wèn)題;而分布式擁塞感知路由方法更加靈活,且獲取擁塞信息的方法簡(jiǎn)單快速,需要解決的關(guān)鍵問(wèn)題是局部擁塞信息帶來(lái)的局限性。另外,不同路由方法選取的擁塞控制粒度不同,數(shù)據(jù)包粒度實(shí)現(xiàn)簡(jiǎn)單,但需要解決數(shù)據(jù)包重排序問(wèn)題;流相關(guān)粒度不會(huì)面臨數(shù)據(jù)包重排序問(wèn)題,但需要解決的關(guān)鍵問(wèn)題是流表規(guī)模、查表速度以及在大小流混合的流量模型中如何均勻轉(zhuǎn)發(fā)大小流實(shí)現(xiàn)擁塞避免。
Table 4 Comparison among congestion-aware routing methods
云計(jì)算和Web服務(wù)要求數(shù)據(jù)中心能提供非常高的通信帶寬。相比由商用以太網(wǎng)交換機(jī)構(gòu)成的數(shù)據(jù)中心網(wǎng)絡(luò),光交換網(wǎng)絡(luò)可以提供更高的吞吐量、減少能量消耗且具有可重構(gòu)特點(diǎn),是未來(lái)數(shù)據(jù)中心網(wǎng)絡(luò)的發(fā)展方向。目前已有DETOUR[50]、c-Through[51]、Helios[52]和MegaSwitch[53]等光交換數(shù)據(jù)中心網(wǎng)絡(luò),它們使用高容量的光纖和光交換機(jī)互聯(lián),可以實(shí)現(xiàn)光電路交換、光分組交換或光突發(fā)交換。光分組交換和光突發(fā)交換由于帶寬資源粒度較小,可以滿足突發(fā)性較大的業(yè)務(wù)流量的交換[54]。
傳統(tǒng)交換機(jī)存在入接口和出接口緩沖區(qū),負(fù)責(zé)暫存數(shù)據(jù)包。對(duì)于一個(gè)數(shù)據(jù)包而言,最優(yōu)的情況是當(dāng)它經(jīng)過(guò)交換機(jī)時(shí),入接口緩沖區(qū)和出接口緩沖區(qū)都為空,可以直接為它提供服務(wù),如Fastpass[39]通過(guò)集中式調(diào)度為所有數(shù)據(jù)包分配發(fā)送時(shí)間片和傳輸路徑,避免數(shù)據(jù)包排隊(duì)甚至擁塞。然而由于缺乏全網(wǎng)同步機(jī)制,F(xiàn)astpass也需要很小的緩沖區(qū)。在全光或混合數(shù)據(jù)中心網(wǎng)絡(luò),光纖會(huì)引入特定的傳播延遲,但只要交換機(jī)在延遲時(shí)間內(nèi)能夠完成數(shù)據(jù)包選路,就不需要交換機(jī)接口緩沖區(qū)[52]。因此,光數(shù)據(jù)中心網(wǎng)絡(luò)的路由方法需要在非常短的時(shí)間內(nèi)實(shí)現(xiàn)選路并完成重構(gòu)。
傳統(tǒng)交換機(jī)基于數(shù)據(jù)包頭部?jī)?nèi)容或數(shù)據(jù)包元數(shù)據(jù)為其選路。OpenFlow協(xié)議作為SDN網(wǎng)絡(luò)設(shè)備數(shù)據(jù)平面的標(biāo)準(zhǔn)化編程接口,使用集中控制器為流計(jì)算路由并將流表項(xiàng)下發(fā)到轉(zhuǎn)發(fā)表,并可以基于更多字段為數(shù)據(jù)包選路。光數(shù)據(jù)包交換OPS(Optical Packet Switching)查表可以在有限的時(shí)間內(nèi)完成標(biāo)簽提取和重構(gòu)操作,光纖延遲線引入的延遲起到了緩存數(shù)據(jù)包的作用,等待OPS查表完成后轉(zhuǎn)發(fā)數(shù)據(jù)包。這種方法非常適用于光數(shù)據(jù)中心網(wǎng)絡(luò)。另一種光數(shù)據(jù)中心網(wǎng)絡(luò)常用的選路方法是波長(zhǎng)查表,即將接收到的具有特定波長(zhǎng)的光信號(hào)轉(zhuǎn)發(fā)到特定端口,因此波長(zhǎng)選路不需要提取任何標(biāo)簽字段,直接使用波長(zhǎng)實(shí)現(xiàn)路由決策,但前提是需要預(yù)先建立波長(zhǎng)電路[55]。與電路交換類似,波長(zhǎng)選路的優(yōu)勢(shì)在于選路迅速且選路過(guò)程中不需要任何內(nèi)存和處理資源。Wang等[56]提出全光交換的數(shù)據(jù)中心網(wǎng)絡(luò)端到端調(diào)度方法,其主要目標(biāo)是解決網(wǎng)絡(luò)內(nèi)部零緩沖和不可忽視的重構(gòu)時(shí)延,并提出了2種具有重構(gòu)時(shí)延的交換機(jī)調(diào)度算法。
目前光數(shù)據(jù)包交換查表的路由方法如果出現(xiàn)查表時(shí)間超出時(shí)間界限,則數(shù)據(jù)包會(huì)被丟棄并重傳。未來(lái),光數(shù)據(jù)包交換查表的路由方法可以考慮的研究方向應(yīng)當(dāng)是有上下界決策時(shí)間保證的路由方法,能夠形式化證明路由方法的決策時(shí)間上下界,從而為光數(shù)據(jù)中心網(wǎng)絡(luò)提供更高的可靠性。另外,波長(zhǎng)查表的路由方法可以充分利用物理特性進(jìn)行轉(zhuǎn)發(fā),但需要集中控制器參與,類似于OpenFlow的方式,為不同波長(zhǎng)的光信號(hào)分配時(shí)間片和路徑并下發(fā)給交換機(jī)。未來(lái),研究波長(zhǎng)查表的路由方法可以根據(jù)集中式調(diào)度引入的額外時(shí)延開(kāi)銷,考慮分別對(duì)不同階段所引入的時(shí)延進(jìn)行優(yōu)化,如發(fā)送方上報(bào)時(shí)延、集中式算法運(yùn)行時(shí)延等,從而降低集中式控制對(duì)實(shí)時(shí)性的影響。
有線數(shù)據(jù)中心網(wǎng)絡(luò)面臨布線復(fù)雜與熱點(diǎn)鏈路2個(gè)不可避免的問(wèn)題,導(dǎo)致了很高的部署和運(yùn)維成本,并且熱點(diǎn)鏈路會(huì)產(chǎn)生擁塞事件以致影響全局性能。因此,一些研究工作建議將無(wú)線通信技術(shù)應(yīng)用于數(shù)據(jù)中心網(wǎng)絡(luò)。其設(shè)計(jì)的初衷是在不降低鏈路傳輸速率的前提下,服務(wù)器之間采用無(wú)線連接減輕核心交換機(jī)負(fù)載,降低布線復(fù)雜度和運(yùn)維成本,方便擴(kuò)展數(shù)據(jù)中心網(wǎng)絡(luò)。
目前無(wú)線網(wǎng)絡(luò)的特點(diǎn)是:高頻段速率快且穩(wěn)定,但容易被遮擋和干擾;低頻段不易受干擾但速率慢;另外無(wú)線設(shè)備的天線方向也對(duì)傳輸性能影響比較大。因此,將無(wú)線通信應(yīng)用于數(shù)據(jù)中心還面臨以下難點(diǎn):首先必須提供高速率通信技術(shù),60 GHz技術(shù)的發(fā)展使得高速無(wú)線通信技術(shù)應(yīng)用于數(shù)據(jù)中心成為可能,Kandula等[57]提出在架頂ToR(Top of Rack)交換機(jī)之間添加60 GHz的無(wú)線鏈路來(lái)緩解局部熱點(diǎn)的擁塞問(wèn)題。其次為了保證各機(jī)柜之間快速建立高速鏈接,必須優(yōu)化數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),傳統(tǒng)基于行的數(shù)據(jù)中心機(jī)架排布方式在一定程度上阻礙了機(jī)架間建立無(wú)線連接[58]。第三還需要設(shè)計(jì)合理的資源分配機(jī)制,為數(shù)據(jù)流分配互不干擾的信道。清華大學(xué)Cui等[59]對(duì)無(wú)線數(shù)據(jù)中心網(wǎng)絡(luò)面臨的實(shí)際部署問(wèn)題進(jìn)行了研究,文中將信道分配問(wèn)題形式化為一個(gè)最大化無(wú)線傳輸總利用率的優(yōu)化問(wèn)題,為此設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Hungarian算法[60]的啟發(fā)式算法。針對(duì)以上問(wèn)題目前已經(jīng)有許多研究成果,為無(wú)線數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)計(jì)提供了參考。
為解決無(wú)線數(shù)據(jù)中心網(wǎng)絡(luò)中的負(fù)載均衡問(wèn)題,Celik等[61]提出了應(yīng)用于光無(wú)線數(shù)據(jù)中心網(wǎng)絡(luò)的流量聚合路由方法。它只對(duì)小流采用三步流聚合3SFG(Three-Step Flow Grooming)的方法處理。3SFG方法發(fā)生在源服務(wù)器節(jié)點(diǎn)與交換機(jī)上,分為以下3個(gè)步驟:(1)服務(wù)器到服務(wù)器S2S(Server-to-Server):源服務(wù)器節(jié)點(diǎn)聚合所有去往相同目的服務(wù)器的小流,生成S2S數(shù)據(jù)流;(2)服務(wù)器到機(jī)架S2R(Server-to-Rack):源服務(wù)器聚合所有去往相同機(jī)架交換機(jī)的S2S數(shù)據(jù)流,并轉(zhuǎn)發(fā)給機(jī)架交換機(jī);(3)機(jī)架到機(jī)架R2R(Rack-to-Rack):機(jī)架交換機(jī)將收到的S2S數(shù)據(jù)流根據(jù)目的機(jī)架不同,聚合成多條R2R數(shù)據(jù)流,然后使用R2R光無(wú)線鏈路傳輸數(shù)據(jù)流。3SFG方法會(huì)根據(jù)機(jī)架間的長(zhǎng)期流量統(tǒng)計(jì)數(shù)據(jù)決定R2R數(shù)據(jù)流的路徑容量和路由。由于大流已經(jīng)有明確的流量需求如流的大小、持續(xù)時(shí)間等,因此當(dāng)檢測(cè)到大流后,不需要流聚合,機(jī)架交換機(jī)會(huì)建立從源到目的的光無(wú)線鏈路,當(dāng)大流傳輸完成后終止鏈路連接。由于3SFG方法使用長(zhǎng)期流量統(tǒng)計(jì)信息,因此被稱為長(zhǎng)期負(fù)載均衡,無(wú)法在具有突發(fā)流或流量頻繁變化的流量模型中實(shí)現(xiàn)負(fù)載均衡。AlGhadhban等[62]提出了一個(gè)靈活的短期負(fù)載均衡機(jī)制SoftFG(Soft-reconfigurations and Flow Grooming)。SoftFG能夠應(yīng)對(duì)變化的流量模型,可以在無(wú)線數(shù)據(jù)中心網(wǎng)絡(luò)中,對(duì)不同類別數(shù)據(jù)流對(duì)應(yīng)的多個(gè)虛擬拓?fù)鋵?shí)現(xiàn)負(fù)載均衡。SoftFG可以在不對(duì)路徑容量進(jìn)行硬件重構(gòu)的前提下,將擁塞路徑上的大流重路由到未完全利用的鏈路上。考慮到重路由引起的重排序開(kāi)銷對(duì)小流影響較大,因此SoftFG不對(duì)小流進(jìn)行處理。SoftFG作為內(nèi)核模塊被安裝在虛擬交換機(jī)中,它可以基于源和目的之間的協(xié)作機(jī)制收集數(shù)據(jù)流的統(tǒng)計(jì)信息,同時(shí)結(jié)合主動(dòng)探測(cè)技術(shù),確保對(duì)網(wǎng)絡(luò)路徑的實(shí)時(shí)監(jiān)測(cè)、早期擁塞感知和快速準(zhǔn)確的重路由。網(wǎng)絡(luò)模擬顯示,在部署SoftFG的無(wú)線數(shù)據(jù)中心網(wǎng)絡(luò)中,數(shù)據(jù)流完成時(shí)間比部署LetFlow(Let the flowlets Flow)[63]和CONGA[41]分別快了12倍和17倍。
未來(lái),針對(duì)有線無(wú)線混合的數(shù)據(jù)中心,應(yīng)當(dāng)提出更多能充分利用無(wú)線通信技術(shù)特點(diǎn)的路由方法。其次由于無(wú)線網(wǎng)絡(luò)也存在多路徑,且鏈路狀況更加復(fù)雜,SoftFG沒(méi)有解決數(shù)據(jù)包重排序問(wèn)題,未來(lái)可以借鑒文獻(xiàn)[10,48]中解決重排序問(wèn)題的方法實(shí)現(xiàn)更好的路由。最后,由于無(wú)線網(wǎng)絡(luò)通信不需要繁瑣的布線且容易改變位置和天線方向,因此可以以綠色節(jié)能為優(yōu)化目標(biāo),借鑒文獻(xiàn)[28 - 30]中的方法,實(shí)現(xiàn)有線無(wú)線混合數(shù)據(jù)中心能量感知的路由方法。
本文綜述了數(shù)據(jù)中心網(wǎng)絡(luò)路由技術(shù)的研究發(fā)展現(xiàn)狀,通過(guò)對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)路由模型進(jìn)行分類比較,討論了近年來(lái)數(shù)據(jù)中心網(wǎng)絡(luò)路由方法的相關(guān)研究。本文重點(diǎn)關(guān)注數(shù)據(jù)中心網(wǎng)絡(luò)單播路由方法,分別從拓?fù)浣Y(jié)構(gòu)相關(guān)的路由方法、流量相關(guān)的路由方法和能量感知的路由方法3個(gè)角度,列舉分析了現(xiàn)有的研究工作,并使用合理的評(píng)價(jià)指標(biāo)對(duì)其進(jìn)行比較。并進(jìn)一步介紹了擁塞感知的負(fù)載均衡路由方法,通過(guò)對(duì)現(xiàn)有研究工作的整理分析,比較展示了擁塞感知路由方法的一些重要研究成果,為未來(lái)的研究提供了思路。最后,介紹了新型數(shù)據(jù)中心網(wǎng)絡(luò)——基于光交換的數(shù)據(jù)中心網(wǎng)絡(luò)和有線無(wú)線混合的數(shù)據(jù)中心網(wǎng)絡(luò),對(duì)2種數(shù)據(jù)中心網(wǎng)絡(luò)路由技術(shù)的難點(diǎn)和技術(shù)途徑進(jìn)行了分析,闡述了對(duì)未來(lái)該領(lǐng)域研究方向的一些認(rèn)識(shí)與理解。