李嚴(yán)偉
(山西職業(yè)技術(shù)學(xué)院 山西 太原 030000)
數(shù)據(jù)中心作為承載大規(guī)模計(jì)算和存儲(chǔ)的重要基礎(chǔ)設(shè)施,面臨著越來(lái)越大的挑戰(zhàn)。 隨著云計(jì)算、大數(shù)據(jù)、人工智能等技術(shù)的快速發(fā)展,數(shù)據(jù)中心網(wǎng)絡(luò)不僅需要滿足高帶寬和低延遲的要求,還需要具備靈活性、可管理性和可擴(kuò)展性等特性[1-3]。 傳統(tǒng)的數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu)在面對(duì)快速增長(zhǎng)的網(wǎng)絡(luò)流量時(shí),容易發(fā)生網(wǎng)絡(luò)阻塞和性能瓶頸問(wèn)題。 因此,如何優(yōu)化數(shù)據(jù)中心網(wǎng)絡(luò)的性能和解決網(wǎng)絡(luò)阻塞成了迫切需要解決的問(wèn)題。
當(dāng)前,學(xué)術(shù)界和工業(yè)界已經(jīng)對(duì)軟件定義網(wǎng)絡(luò)(software-defined networking,SDN)在數(shù)據(jù)中心網(wǎng)絡(luò)中的應(yīng)用進(jìn)行了廣泛研究[4-6]。 SDN 的核心思想是將網(wǎng)絡(luò)控制平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面進(jìn)行解耦,實(shí)現(xiàn)網(wǎng)絡(luò)的集中管理和編程。 在數(shù)據(jù)中心網(wǎng)絡(luò)中引入SDN 技術(shù),可以通過(guò)靈活的網(wǎng)絡(luò)編程和流量控制,提高網(wǎng)絡(luò)的性能和可管理性。 關(guān)于數(shù)據(jù)中心網(wǎng)絡(luò)的優(yōu)化,胖樹(shù)拓?fù)浣Y(jié)構(gòu)被廣泛應(yīng)用[7-8]。 胖樹(shù)拓?fù)渫ㄟ^(guò)多層交換機(jī)的層次化結(jié)構(gòu),提供了高帶寬、低延遲和高可用性的網(wǎng)絡(luò)連接。 然而,傳統(tǒng)的胖樹(shù)拓?fù)湓诿鎸?duì)網(wǎng)絡(luò)阻塞時(shí)缺乏動(dòng)態(tài)調(diào)整和流量?jī)?yōu)化的能力。
本研究旨在將SDN 技術(shù)應(yīng)用于胖樹(shù)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)阻塞的優(yōu)化和性能的提升。 首先研究了胖樹(shù)拓?fù)浣Y(jié)構(gòu)的適用性,然后設(shè)計(jì)和實(shí)現(xiàn)SDN 控制器,實(shí)現(xiàn)對(duì)胖樹(shù)拓?fù)渲薪粨Q機(jī)的集中管理和編程,在此基礎(chǔ)上進(jìn)行網(wǎng)絡(luò)阻塞優(yōu)化的理論研究,最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估和分析,驗(yàn)證SDN 在胖樹(shù)拓?fù)浣Y(jié)構(gòu)下的優(yōu)化效果。 通過(guò)以上研究,為數(shù)據(jù)中心網(wǎng)絡(luò)的優(yōu)化和性能提升提供一種有效的解決方案,為數(shù)據(jù)中心的高效運(yùn)行和應(yīng)用提供支持和指導(dǎo)。
胖樹(shù)拓?fù)浣Y(jié)構(gòu)包括接入層、聚合層和核心層,如圖1所示。
圖1 胖樹(shù)拓?fù)浣Y(jié)構(gòu)
接入層是胖樹(shù)拓?fù)浣Y(jié)構(gòu)中最底層的交換機(jī)層,負(fù)責(zé)與終端設(shè)備(如服務(wù)器、存儲(chǔ)設(shè)備等)直接連接。 其主要功能是提供對(duì)終端設(shè)備的接入和轉(zhuǎn)發(fā)功能。 接入層交換機(jī)通常具有較多的端口數(shù)量,以支持連接大量的終端設(shè)備。在接入層中,使用標(biāo)準(zhǔn)的以太網(wǎng)協(xié)議進(jìn)行數(shù)據(jù)傳輸。 聚合層是胖樹(shù)拓?fù)浣Y(jié)構(gòu)中的中間層,位于接入層和核心層之間。 聚合層的主要任務(wù)是收集和聚合從接入層交換機(jī)上的流量,并將其傳遞到核心層交換機(jī)進(jìn)行進(jìn)一步處理。 聚合層交換機(jī)具有更高的處理能力和轉(zhuǎn)發(fā)能力,以滿足聚合和轉(zhuǎn)發(fā)大量流量的需求。 核心層是胖樹(shù)拓?fù)浣Y(jié)構(gòu)中的頂層,也稱(chēng)為胖樹(shù)的根。 核心層交換機(jī)在整個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)中承擔(dān)著核心的轉(zhuǎn)發(fā)和路由功能。 核心層交換機(jī)連接到聚合層交換機(jī),并通過(guò)胖樹(shù)拓?fù)浣Y(jié)構(gòu)將流量引導(dǎo)到目標(biāo)終端設(shè)備或其他數(shù)據(jù)中心網(wǎng)絡(luò)中的節(jié)點(diǎn)。 核心層交換機(jī)通常具有更高的帶寬和更快的轉(zhuǎn)發(fā)速度,以滿足高容量流量的傳輸要求。
當(dāng)終端設(shè)備之間需要進(jìn)行數(shù)據(jù)通信時(shí),數(shù)據(jù)將通過(guò)接入層交換機(jī)傳輸?shù)骄酆蠈咏粨Q機(jī)。 聚合層交換機(jī)根據(jù)預(yù)先配置的路由規(guī)則和負(fù)載均衡策略,將數(shù)據(jù)轉(zhuǎn)發(fā)到核心層交換機(jī)。 核心層交換機(jī)根據(jù)目標(biāo)設(shè)備的地址或路由表將數(shù)據(jù)轉(zhuǎn)發(fā)到相應(yīng)的目標(biāo)設(shè)備或其他數(shù)據(jù)中心網(wǎng)絡(luò)中的節(jié)點(diǎn)。 胖樹(shù)拓?fù)浣Y(jié)構(gòu)中的數(shù)據(jù)中心網(wǎng)絡(luò)通過(guò)多個(gè)路徑和并行連接,實(shí)現(xiàn)了負(fù)載均衡的功能。 在聚合層和核心層交換機(jī)之間,流量可以通過(guò)不同的路徑進(jìn)行傳輸,避免出現(xiàn)瓶頸和擁塞。 通過(guò)動(dòng)態(tài)調(diào)整流量的分布和路徑選擇,可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的均衡分配,提高整個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)的性能和可用性。
胖樹(shù)拓?fù)浣Y(jié)構(gòu)和工作模式為數(shù)據(jù)中心網(wǎng)絡(luò)的高效運(yùn)行和大規(guī)模數(shù)據(jù)傳輸提供了良好的支持。
SDN 控制器是SDN 架構(gòu)中的核心組件,負(fù)責(zé)對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行集中管理、控制和編程。 如圖2 所示,SDN 控制器由控制平面、數(shù)據(jù)平面和控制器應(yīng)用組成。
圖2 SDN 控制器的組成
(1)控制平面是軟件定義網(wǎng)絡(luò)控制器的核心組成部分,用于實(shí)現(xiàn)網(wǎng)絡(luò)的控制功能。 它包括以下4 個(gè)主要模塊:①拓?fù)涔芾砟K負(fù)責(zé)監(jiān)控整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),并將拓?fù)湫畔⒎答伣o其他模塊。 ②流表管理模塊負(fù)責(zé)維護(hù)和管理網(wǎng)絡(luò)中的流表。 它根據(jù)網(wǎng)絡(luò)中的流量規(guī)則和策略,向交換機(jī)下發(fā)流表項(xiàng),并在需要時(shí)更新和刪除流表項(xiàng)。 通過(guò)流表管理模塊,控制器可以對(duì)網(wǎng)絡(luò)流量進(jìn)行靈活地控制和調(diào)度。 ③路由引擎模塊負(fù)責(zé)實(shí)現(xiàn)路由算法和路徑計(jì)算。它根據(jù)網(wǎng)絡(luò)中的拓?fù)湫畔⒑吐酚刹呗裕?jì)算出數(shù)據(jù)包的最佳路徑,并將路由信息下發(fā)給相應(yīng)的交換機(jī)。 ④策略引擎模塊負(fù)責(zé)實(shí)施網(wǎng)絡(luò)策略和訪問(wèn)控制策略。
(2)數(shù)據(jù)平面。 數(shù)據(jù)平面是軟件定義網(wǎng)絡(luò)控制器的另一個(gè)重要組成部分,用于處理網(wǎng)絡(luò)中的數(shù)據(jù)包轉(zhuǎn)發(fā)。 數(shù)據(jù)平面通常由一組交換機(jī)組成,交換機(jī)與控制器進(jìn)行通信,并根據(jù)控制器下發(fā)的指令執(zhí)行數(shù)據(jù)包的轉(zhuǎn)發(fā)操作。
(3)控制器應(yīng)用是在軟件定義網(wǎng)絡(luò)控制器上運(yùn)行的具體應(yīng)用程序或服務(wù)。 控制器應(yīng)用可以根據(jù)特定的需求和場(chǎng)景,提供各種網(wǎng)絡(luò)管理和控制功能,如流量監(jiān)控、服務(wù)質(zhì)量保證、安全策略管理等。 控制器應(yīng)用通過(guò)與控制平面進(jìn)行交互,獲取網(wǎng)絡(luò)狀態(tài)信息并對(duì)網(wǎng)絡(luò)進(jìn)行管理和控制。
通過(guò)動(dòng)態(tài)優(yōu)化路由和流量調(diào)度,軟件定義網(wǎng)絡(luò)控制器可以有效地優(yōu)化胖樹(shù)拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)中心網(wǎng)絡(luò)的網(wǎng)絡(luò)阻塞問(wèn)題。 它通過(guò)實(shí)時(shí)監(jiān)測(cè)和收集流量信息,進(jìn)行路由優(yōu)化和流量調(diào)度,最大限度地提高網(wǎng)絡(luò)資源的利用效率,減少網(wǎng)絡(luò)擁塞,并提升數(shù)據(jù)中心網(wǎng)絡(luò)的性能和可靠性。 本研究提出了優(yōu)化方法來(lái)優(yōu)化網(wǎng)絡(luò)阻塞。 該算法基于流量工程的思想,通過(guò)動(dòng)態(tài)地調(diào)整網(wǎng)絡(luò)流量的路徑選擇和負(fù)載分配,以緩解網(wǎng)絡(luò)擁塞和提高網(wǎng)絡(luò)性能。 具體算法如下:
值得注意的是,賣(mài)房求生的*ST大唐同時(shí)還在賣(mài)股權(quán)。11月27日,*ST大唐披露稱(chēng),公司正在籌劃將所持成都線纜46.478%的股權(quán)轉(zhuǎn)讓給烽火通信,此次交易如果能夠年內(nèi)完成,將進(jìn)一步減輕*ST大唐的暫停上市壓力。
定義符號(hào):
G =(V,E) :表示SDN 網(wǎng)絡(luò)的拓?fù)鋱D,其中V為交換機(jī)集合,E為鏈路集合。
ci,j:表示鏈路(i,j) 的容量。
ti,j:表示鏈路(i,j) 上的實(shí)時(shí)流量。
pi,j:表示鏈路(i,j) 上的路徑選擇變量,取值為0 或1,表示路徑是否選擇。
li:表示交換機(jī)i的負(fù)載。
網(wǎng)絡(luò)阻塞優(yōu)化的目標(biāo)是最小化網(wǎng)絡(luò)鏈路的負(fù)載,并保持鏈路容量的合理利用。 可以將其建模為如下的最小化問(wèn)題:
該網(wǎng)絡(luò)阻塞優(yōu)化算法的流程如下:
步驟1:初始化路徑選擇變量pi,j,可以根據(jù)網(wǎng)絡(luò)拓?fù)浜土髁壳闆r設(shè)置初始路徑選擇。
步驟2:根據(jù)當(dāng)前的路徑選擇,計(jì)算交換機(jī)的負(fù)載li和鏈路的負(fù)載li,j。
步驟3:根據(jù)鏈路的負(fù)載情況,調(diào)整路徑選擇變量pi,j。 如果鏈路(i,j) 的負(fù)載過(guò)高,可以將pi,j設(shè)置為0,表示不選擇該路徑;如果鏈路(i,j) 的負(fù)載較低,可以將pi,j設(shè)置為1,表示選擇該路徑。
步驟4:重復(fù)步驟2 和步驟3,直到鏈路負(fù)載達(dá)到可接受的范圍或達(dá)到迭代次數(shù)上限。
通過(guò)不斷地調(diào)整路徑選擇變量,該算法可以實(shí)現(xiàn)網(wǎng)絡(luò)流量的動(dòng)態(tài)優(yōu)化和負(fù)載均衡,從而緩解網(wǎng)絡(luò)阻塞問(wèn)題。
本實(shí)驗(yàn)使用Mininet[9-11]搭建胖樹(shù)拓?fù)浣Y(jié)構(gòu)并生成傳輸控制協(xié)議(transmission control protocol,TCP)流,以及集成網(wǎng)絡(luò)阻塞優(yōu)化算法到SDN 控制器進(jìn)行仿真實(shí)驗(yàn)。
(1)拓?fù)湓O(shè)計(jì)和搭建:使用Mininet 搭建胖樹(shù)拓?fù)浣Y(jié)構(gòu),包括接入層、聚合層和核心層交換機(jī),以及它們之間的鏈路連接,如圖1 所示。
(2)TCP 流生成:使用Mininet 提供的工具生成TCP流量,以模擬實(shí)際數(shù)據(jù)中心網(wǎng)絡(luò)中的應(yīng)用通信。
(3)SDN 控制器集成和算法實(shí)現(xiàn):選擇POX 型的SDN控制器平臺(tái),并實(shí)現(xiàn)網(wǎng)絡(luò)阻塞優(yōu)化算法的代碼邏輯。 將算法集成到SDN 控制器中,確保能夠根據(jù)實(shí)時(shí)的網(wǎng)絡(luò)狀態(tài)信息進(jìn)行路徑選擇和負(fù)載調(diào)整。
(4)實(shí)驗(yàn)運(yùn)行和數(shù)據(jù)收集:在Mininet 環(huán)境中運(yùn)行設(shè)計(jì)好的實(shí)驗(yàn)場(chǎng)景,收集實(shí)驗(yàn)數(shù)據(jù)。 可以監(jiān)測(cè)鏈路負(fù)載、延遲、吞吐量等關(guān)鍵指標(biāo),并記錄實(shí)驗(yàn)過(guò)程中的事件和狀態(tài)信息。
本實(shí)驗(yàn)要對(duì)鏈路負(fù)載、延遲、吞吐量3 個(gè)指標(biāo)進(jìn)行監(jiān)測(cè),結(jié)果如表1 所示。
表1 優(yōu)化前后的負(fù)載、延遲和吞吐量情況
由表1 可得,在負(fù)載方面,在優(yōu)化前鏈路1-2 的負(fù)載為80%,而經(jīng)過(guò)優(yōu)化后,負(fù)載降至60%。 表明優(yōu)化算法成功減輕了該鏈路的負(fù)載壓力;同樣的鏈路1-3 和2-3 的負(fù)載在優(yōu)化后也出現(xiàn)了明顯的降低,分別從70%和90%降至50%和65%。 顯示了優(yōu)化算法對(duì)兩條鏈路的有效性;在延遲方面,優(yōu)化前鏈路1-2 的延遲為10 ms,而優(yōu)化后延遲降至8 ms。 說(shuō)明優(yōu)化算法改善了鏈路的傳輸延遲。 類(lèi)似鏈路1-3 和2-3 的延遲在優(yōu)化后也有所降低,分別從12 ms 和15 ms 降至9 ms 和12 ms。 證明優(yōu)化算法成功減少了鏈路的傳輸延遲;在吞吐量方面,優(yōu)化前鏈路1-2 的吞吐量為500 Mbps,經(jīng)過(guò)優(yōu)化后,吞吐量增加至600 Mbps。 表明優(yōu)化算法提高了鏈路的數(shù)據(jù)傳輸能力;同樣的鏈路1-3 和2-3的吞吐量在優(yōu)化后也得到了顯著提升,分別從400 Mbps 和600 Mbps 增加至550 Mbps 和700 Mbps。 顯示了優(yōu)化算法對(duì)兩條鏈路的性能改善。
綜上所述,通過(guò)對(duì)比優(yōu)化前后的數(shù)據(jù),可以明顯看出優(yōu)化算法在減輕鏈路負(fù)載、降低傳輸延遲和提高數(shù)據(jù)吞吐量方面的優(yōu)勢(shì)。 優(yōu)化后的鏈路表現(xiàn)出更好的性能和更高的傳輸效率,從而有效改善了網(wǎng)絡(luò)阻塞問(wèn)題。 該結(jié)果支持優(yōu)化算法在實(shí)際數(shù)據(jù)中心網(wǎng)絡(luò)中的應(yīng)用價(jià)值,并提供了科學(xué)的實(shí)驗(yàn)證據(jù),證明其在優(yōu)化網(wǎng)絡(luò)性能方面的有效性和可行性。
綜上所述,本研究以胖樹(shù)拓?fù)浣Y(jié)構(gòu)為基礎(chǔ)進(jìn)行了軟件定義網(wǎng)絡(luò)在數(shù)據(jù)中心網(wǎng)絡(luò)中的研究。 通過(guò)將SDN 技術(shù)應(yīng)用于胖樹(shù)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò),利用優(yōu)化算法有效解決了網(wǎng)絡(luò)阻塞問(wèn)題。 本研究的貢獻(xiàn)在于將軟件定義網(wǎng)絡(luò)技術(shù)應(yīng)用于胖樹(shù)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò),并提出了一種有效的網(wǎng)絡(luò)阻塞優(yōu)化算法。 實(shí)驗(yàn)結(jié)果表明,該算法能夠顯著改善網(wǎng)絡(luò)性能,提高數(shù)據(jù)中心網(wǎng)絡(luò)的傳輸效率和吞吐能力。 未來(lái)的研究方向可以考慮進(jìn)一步優(yōu)化算法的效率和性能,并在更大規(guī)模和復(fù)雜的網(wǎng)絡(luò)環(huán)境中進(jìn)行驗(yàn)證和應(yīng)用。