黃浩
摘 要 云計算的發(fā)展使得越來越多的服務選擇部署在大型的數(shù)據(jù)中心,而不是部署在本地服務器上。傳統(tǒng)的數(shù)據(jù)中心流量主要是來自數(shù)據(jù)中外部客戶端請求訪問數(shù)據(jù)中心內(nèi)部服務器的流量,近年來隨著分布式業(yè)務的發(fā)展,數(shù)據(jù)中心內(nèi)部服務器之間的流量大幅增加,例如主從備份、設(shè)備動態(tài)遷移等。這些流量稱為“東西向”流量,現(xiàn)在數(shù)據(jù)中心中“東西向”流量占總流量的80%,即數(shù)據(jù)中心內(nèi)部服務器之間的通信流量占絕大多數(shù)。數(shù)據(jù)中心網(wǎng)絡的特點是服務器之間的流量大、突發(fā)流量大等,通常數(shù)據(jù)中心是通過增加冗余鏈路來達到增加帶寬的目的,如何調(diào)度多個鏈路成為提高網(wǎng)絡性能的關(guān)鍵,所以需要為數(shù)據(jù)中心制定高效可行的流量調(diào)度方法,來緩解網(wǎng)絡流量壓力。
關(guān)鍵詞 流量調(diào)度;多路徑傳輸;軟件定義網(wǎng)絡;數(shù)據(jù)中心網(wǎng)絡
引言
隨著網(wǎng)絡的不斷發(fā)展,伴隨著云服務和網(wǎng)絡服務器虛擬化的出現(xiàn),網(wǎng)絡中流量的大量增長。數(shù)據(jù)中心網(wǎng)絡(DCN,DataCenterNetwork)[1]提供非常高的聚合帶寬,使得網(wǎng)絡中心的數(shù)十萬臺服務器承載的各種各樣的應用程序,包含有Web服務、電子商務、網(wǎng)絡游戲等。DCN中的流量[2]主要可分為兩類:批量數(shù)據(jù)傳輸(俗稱大象流,由數(shù)據(jù)備份和虛擬機遷移等進程產(chǎn)生),對帶寬需求較高和短期數(shù)據(jù)交換(也稱為老鼠流,由Web服務和分布式計算等應用進程)。延遲對于用戶的服務質(zhì)量有重大影響。數(shù)據(jù)中心流量研究報告[3]顯示,網(wǎng)絡中大象流承載了整個網(wǎng)絡80%的流量。因此,解決數(shù)據(jù)中心網(wǎng)絡中流量沖突造成的擁塞,必須對網(wǎng)絡中的大象流進行合理調(diào)控。
1SDN的發(fā)展及體系架構(gòu)
SDN技術(shù)主要由一個分布式轉(zhuǎn)發(fā)功能與集中控制平面兩部分網(wǎng)絡框架構(gòu)成,采用軟件技術(shù)編程的思想將不同的功能分離運行,以達到對數(shù)據(jù)進行集中式控制管理的目的,并與開放式的網(wǎng)絡進行對接,達到靈活利用資源的目的。SDN技術(shù)是一種新式的網(wǎng)絡架構(gòu)技術(shù),具有控制與轉(zhuǎn)發(fā)分離功能,實現(xiàn)網(wǎng)絡數(shù)據(jù)的集中控制與優(yōu)化的功能,并能通過網(wǎng)絡實現(xiàn)數(shù)據(jù)業(yè)務的編程,在網(wǎng)絡架構(gòu)上具有開放的接口,實現(xiàn)網(wǎng)絡數(shù)據(jù)分布式轉(zhuǎn)發(fā)與控制。
2多路徑調(diào)度算法設(shè)計
2.1 大象流檢測模型
本文使用sFlowagent統(tǒng)計交換機中的流量,使用sFlowrt作為收集器。整個過程中sFlowagent過濾掉已經(jīng)被認定為大象流的流量不必全量采樣,且對數(shù)據(jù)包的處理過程發(fā)生在數(shù)據(jù)平面,這樣有效地減少了控制平面的額外負擔。采樣率設(shè)置為1/z,表示每z個數(shù)據(jù)包采樣一個數(shù)據(jù)包,采樣率必須設(shè)置合理,過大會導致大象流的丟失,影響準確性,過小會增加內(nèi)存和計算負擔。整個過程中,采樣的數(shù)據(jù)包需要實時計算自適應閾值σ來判斷是否是大象流。數(shù)據(jù)中心的流量服從重尾分布,大象流的數(shù)量很少,但卻占據(jù)了大部分的網(wǎng)絡流量,老鼠流的數(shù)量很多,卻只占有很少的流量,數(shù)據(jù)中心經(jīng)常使用這一特性改善網(wǎng)絡鏈路。
2.2 拓撲發(fā)現(xiàn)與K最短路徑算法
不失一般性,本文使用的網(wǎng)絡拓撲為Fat-Tree拓撲,用G(V,L)表示網(wǎng)絡,其中V表示網(wǎng)絡鏈路所有節(jié)點,L表示網(wǎng)絡鏈路集合Fat-Tree網(wǎng)絡結(jié)構(gòu)分為Core、Aggregation和Edge三層,主機連接在Edge層交換機,Core層交換機與控制器相連接。K元Fat-Tree的任意兩個Pod主機之間的拓撲存在K條路徑,在網(wǎng)絡中兩個主機通信具有多條路徑選擇,某一鏈路失效可切換到其他路徑,所以該網(wǎng)絡拓撲具有一定的網(wǎng)絡容錯功能,還可實現(xiàn)網(wǎng)絡流量的負載均衡。根據(jù)Fat-tree網(wǎng)絡拓撲的特點,發(fā)現(xiàn)在不同端主機之間存在多條基于跳數(shù)的最短路徑,K元Fat-tree拓撲中,不同Pod內(nèi)的通信源目的主機之間有k2/4個等價路徑,所以對于大象流的調(diào)度方案是根據(jù)一種K最短路徑算法(KShortestPaths,KSP) 求出最短偏離路徑合集{L1,L2,L3…Ln}之后,對網(wǎng)絡中OpenFlow交換機的工作狀態(tài)與鏈路剩余帶寬進行度量,最后選擇一條負載較輕的路徑。
2.3 可行路徑計算
K-podFattree網(wǎng)絡分為3個層次:自上而下分別為邊緣層、匯聚層和核心層,圖2給出了一個4-podFattree網(wǎng)絡架構(gòu)的示例。拓撲含有(k/2)2個核心交換機,其中匯聚層交換機與邊緣層交換機構(gòu)成一個pod,每個pod有k/2個匯聚層交換機。在此網(wǎng)絡拓撲中,pod間任何主機對之間都存在(k/2)2條相同的最短路徑。pod內(nèi)流分為2種情況:如果2個主機連接在一個交換機上,那么就只有一條最短路徑可選,如果不在同一個交換機上則有k/2條最短路徑。本文采用K短路徑算法(KSP)來得到跳數(shù)最少的k條路徑,并計算鏈路代價作為每條路徑的優(yōu)先級,最后下發(fā)組表和流表。本文將此算法稱為動態(tài)優(yōu)先級多路徑調(diào)度算法(DPMS)。
2.4 網(wǎng)絡鏈路負載計算
網(wǎng)絡鏈路的使用狀況對于大象流路徑的轉(zhuǎn)發(fā)具有特別大的影響,對于給定的網(wǎng)絡拓撲G(V,L),Pi表示在源目的節(jié)點之間的第i條路徑。對于網(wǎng)絡中流用集合F表示,表示W(wǎng)l鏈路l上的流量帶寬之和,鏈路l的容量用C表示,由此可得鏈路l的帶寬使用率根據(jù)網(wǎng)絡中OpenFlow交換機的度量值M與網(wǎng)絡鏈路帶寬使用率Ul兩方面對網(wǎng)絡負載進行評估,得到網(wǎng)絡負載度量值E。上述網(wǎng)絡度量值描述的是網(wǎng)絡中一條鏈路的綜合負載(包括鏈路帶寬利用率,交換機負載),在公式中M1,M2表示鏈路兩端交換機的負載度量值,E值越小說明網(wǎng)絡鏈路負載越低,反之亦然。
3結(jié)束語
SDN技術(shù)在網(wǎng)絡通信中的應用,對實現(xiàn)網(wǎng)絡智能控制具有十分重要的作用,作為一種靈活的技術(shù)架構(gòu)方式,SDN技術(shù)在可持續(xù)演進網(wǎng)絡中,可以讓網(wǎng)絡系統(tǒng)的架構(gòu)更加靈活,更加智能化,特別是SDN技術(shù)在網(wǎng)絡中的應用,可提高網(wǎng)絡的新架構(gòu)與新的運營模式,實現(xiàn)網(wǎng)絡系統(tǒng)架構(gòu)的集約化發(fā)展,實現(xiàn)網(wǎng)絡管理的智能化與自動化,以及網(wǎng)絡數(shù)據(jù)的快速處理。
參考文獻
[1] 徐儉.SDN疊加虛擬化網(wǎng)絡技術(shù)探究[J].電視工程,2018(4):14-17.
[2] 高平,張帆,張東,等.基于SDN的云架構(gòu)網(wǎng)絡高確定性流量控制方法[J].計算機工程,2018,44(12):74-78,84.
[3] 朱曉榮,張倩.面向多業(yè)務需求的NFV和SDN融合的資源優(yōu)化算法[J].通信學報,2018,39(11):54-62.