董希杰++尚智婕++李雨泰
摘 要:軟件定義網(wǎng)絡(luò)是一種新型化的網(wǎng)絡(luò)架構(gòu)形式,是促成網(wǎng)絡(luò)實現(xiàn)自動化部署安排的重要手段。對軟件定義網(wǎng)絡(luò)技術(shù)的應(yīng)用能夠?qū)崿F(xiàn)數(shù)據(jù)與控制平面的分隔,進而達到對網(wǎng)絡(luò)流量的精準化控制。文章在軟件定義網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上對數(shù)據(jù)中心網(wǎng)絡(luò)路由算法展開具體分析,以期能夠通過更低的網(wǎng)絡(luò)成本與最短安全路徑來實現(xiàn)對網(wǎng)絡(luò)路由效率與資源的充分應(yīng)用。
關(guān)鍵詞:軟件定義網(wǎng)絡(luò)架構(gòu);數(shù)據(jù)中心網(wǎng)絡(luò);路由算法
隨著當前網(wǎng)絡(luò)信息技術(shù)的快速化發(fā)展,網(wǎng)絡(luò)架構(gòu)形式也愈發(fā)趨向于復(fù)雜化。為了能夠積極適應(yīng)新型網(wǎng)絡(luò)技術(shù)與架構(gòu)研究所提出的新要求,滿足更加多樣化、個性化的業(yè)務(wù)需求,軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)技術(shù)也隨之產(chǎn)生[1]。通過對于此項技術(shù)的應(yīng)用能夠?qū)崿F(xiàn)轉(zhuǎn)發(fā)層和控制層的分離,使之達到更加靈活化的資源調(diào)度,并可減小網(wǎng)絡(luò)管理及運維成本,現(xiàn)已成為網(wǎng)絡(luò)研究的一項主要課題內(nèi)容。對此,就針對基于SDN架構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò)路由算法需求展開相關(guān)的研究工作有著一定的現(xiàn)實意義。
1 SDN概述
SND是基于Emulex網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)之上所發(fā)展衍生出的一種新型化網(wǎng)絡(luò)架構(gòu)形式,是實現(xiàn)網(wǎng)絡(luò)虛擬化最為重要的手段之一[2],其中最為關(guān)鍵的技術(shù)手段OpenFlow主要是借助于對網(wǎng)絡(luò)設(shè)備數(shù)據(jù)面與控制面的互相分隔,來達到對網(wǎng)絡(luò)數(shù)據(jù)流量的精準化控制,從而促使網(wǎng)絡(luò)作為一種通信管道達到更高的智能化程度[3-4]。
數(shù)據(jù)中心網(wǎng)絡(luò)拓撲十分復(fù)雜,單個網(wǎng)絡(luò)系統(tǒng)常常會同時包括有多項子網(wǎng)系統(tǒng),并且每一個子網(wǎng)還存在著多項數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備,例如較為常見的路由器、交換機等,對于個人用戶而言均要途經(jīng)最少一條數(shù)據(jù)轉(zhuǎn)發(fā)途徑才能夠?qū)崿F(xiàn)對目標主機的訪問。為了防范木馬病毒、黑客攻擊等意外情況的影響,用戶還需借助于一些安全服務(wù)來保證所獲取的數(shù)據(jù)信息不會受到安全威脅。針對用戶個體的網(wǎng)絡(luò)應(yīng)用途徑與范圍不同,相應(yīng)其所需要的安全服務(wù)也將有所差異,如果每一名用戶都要配備安全設(shè)施,所需應(yīng)用到的網(wǎng)絡(luò)資源將成倍增加,而且很大一部分網(wǎng)絡(luò)資源也無法發(fā)揮出應(yīng)有的作用價值而被無端浪費。為了能夠切實提升對設(shè)備資源的利用率,便可應(yīng)用虛擬化網(wǎng)絡(luò)功能技術(shù),來把預(yù)先安裝于子網(wǎng)內(nèi)的安全設(shè)備抑或是中間件盒子來合并成為安全資源中心,應(yīng)用SDN技術(shù)來實現(xiàn)對安全資源中心的管理與控制,合理配置網(wǎng)絡(luò)資源,依據(jù)用戶的實際需求來選取調(diào)出相應(yīng)的安全功能,以便為廣大用戶提供以更具針對性的安全服務(wù)。
2 數(shù)據(jù)中心網(wǎng)絡(luò)路由技術(shù)
多路徑數(shù)據(jù)傳輸是數(shù)據(jù)中心網(wǎng)絡(luò)所必須要能夠滿足的要求,數(shù)據(jù)中信網(wǎng)絡(luò)拓撲結(jié)構(gòu)的多樣化特征能夠給予鏈路多路徑輸送帶來更加便利性的條件,實施多路徑數(shù)據(jù)傳輸能夠有效減小丟包率,降低網(wǎng)絡(luò)服務(wù)延遲并促進網(wǎng)絡(luò)吞吐量的全面提升,以使得對網(wǎng)絡(luò)資源的利用率能夠達到更加合理化的程度。當前對于不同路徑流量分隔,提升網(wǎng)絡(luò)性能均已成為新路由研究的重點內(nèi)容,具體的研究內(nèi)容包括以下幾個方面。
2.1 單一靜態(tài)轉(zhuǎn)發(fā)
依據(jù)源頭抑或是目的地址來把數(shù)據(jù)流映射于固定化的鏈路之上,單一靜態(tài)轉(zhuǎn)發(fā)方式可以更為簡便、高效化地實現(xiàn)網(wǎng)絡(luò)流處置,然而卻不能從根本上保證每一鏈路間的流量均等,而且也無法依據(jù)網(wǎng)絡(luò)內(nèi)各主機交互的頻繁性與鏈路承載能力來針對路由路徑制定動態(tài)化的調(diào)整策略,并以此來適應(yīng)于網(wǎng)絡(luò)流量及鏈路變化[5]。
2.2 隨機等價分發(fā)
隨機等價分發(fā)(Equal Cost Mutipath,ECMP)算法是利用隨機等價的形式對于網(wǎng)絡(luò)結(jié)構(gòu)內(nèi)的流量進行分發(fā),可依據(jù)網(wǎng)絡(luò)之中的流關(guān)鍵字來將不同的流配置于多條路徑之上,隨機等價分發(fā)最為突出的一項特征即為基于各條鏈路價值完全相同的基礎(chǔ)上來確保多路徑的負載均衡和流量備份目的,隨機等級分發(fā)路由的一個重要基礎(chǔ)便是假定每一條鏈路在帶寬和輸送能力上均完全一致。然而在網(wǎng)絡(luò)系統(tǒng)的實際運行過程中數(shù)據(jù)中心當中所接入的每一條鏈路其帶寬、延時、穩(wěn)定性均有明顯差異,一旦各路徑間的差異較為明顯之時,再采用隨機等級分發(fā)便很難獲得較為滿意的效果。
2.3 智能啟發(fā)算法
這一算法形式是處理服務(wù)質(zhì)量(Quality of Service,QoS)路由問題最常用到的一種算法形式,其中主要就包括了較為常見的蟻群算法、遺傳算法、模擬退火算法等,通過對智能啟發(fā)算法的應(yīng)用可以十分有效地實現(xiàn)對網(wǎng)絡(luò)性能的優(yōu)化改進。例如研究人員在流量工程內(nèi)采用了蟻群算法來進行路由優(yōu)化改進,將路由器內(nèi)緩沖隊列的利用率作為接電選擇標準,鏈路利用率可充當蟻群算法當中全局更新信息素,選取多條鏈路來開展數(shù)據(jù)輸送。盡管智能啟發(fā)式算法可以對與整體網(wǎng)絡(luò)性能起到十分顯著的改進、優(yōu)化效果,然而每一種算法間還存在著十分明顯的缺陷性,例如遺傳算法編碼及解碼均十分繁復(fù),進行計算處理所耗費的時間相對較常,而模擬退火算法則會對于原始參數(shù)信息產(chǎn)生出更加明顯依賴性,路徑搜尋效率極為低下。對于算法內(nèi)目標函數(shù)的創(chuàng)建和算法迭代次數(shù)的設(shè)定是未來在啟發(fā)式算法研究領(lǐng)域內(nèi)的一個主要研究方向。
3 基于SDN的數(shù)據(jù)中心路由算法
3.1 QoS路由機制
3.1.1 路由模型
隨著當前網(wǎng)絡(luò)技術(shù)的高速化發(fā)展,網(wǎng)絡(luò)業(yè)務(wù)對于傳輸延時、帶寬容量、吞吐量等也提出了更高的要求,由此也便需要網(wǎng)絡(luò)能夠提供QoS保障。為了解決傳統(tǒng)網(wǎng)絡(luò)轉(zhuǎn)發(fā)形式所存在著的缺陷問題,研究人員提出了IntServ與DiffServ兩種QoS網(wǎng)絡(luò)架構(gòu),但是因為原有缺陷仍然存在,其均無法得到大規(guī)模的推廣普及。InServ可借助于資源預(yù)留來提供以端與端之間的連接QoS保障,系統(tǒng)在發(fā)出請求信息后經(jīng)由傳統(tǒng)的路由協(xié)議來發(fā)送至最短路徑之上,若此路徑已嚴重阻塞,則請求將會返回,所要到達的目的地一致,其余路徑依然具備充足帶寬資源。DiffServ所采用的方法有所不同,其并非為所有流均預(yù)先留置資源,DiffServ是基于網(wǎng)絡(luò)入口位置標識出數(shù)據(jù)包,同時對其開展有限分類,盡管采取此種方案相較于InServ在拓展性上有所加強,然而其結(jié)構(gòu)內(nèi)網(wǎng)絡(luò)和端系統(tǒng)并不具備信令通信,既能夠做到對性能的保障,無法對端到端做出QoS保證。endprint
綜上,在本次研究中將通過對IntServ與DiffServ的合并應(yīng)用來實現(xiàn)對端到端的QoS保證。在整個SND架構(gòu)體系內(nèi),實現(xiàn)對數(shù)據(jù)與控制兩平面的分隔,轉(zhuǎn)發(fā)平面僅完成數(shù)據(jù)包互換,以及針對各項和QoS有關(guān)的數(shù)據(jù)包處置。
3.1.2 約束條件
考慮到本次研究所針對的是數(shù)據(jù)中心網(wǎng)絡(luò),從絕大多數(shù)的數(shù)據(jù)中心網(wǎng)絡(luò)方面來看,網(wǎng)絡(luò)流將會體現(xiàn)出十分顯著的大象流與老鼠流特征,若流較小則會對延時性有著更高的要求,而對帶寬要求則相對較低;大象流則需時常進行大規(guī)模數(shù)據(jù)信息的傳輸,對于延時性的要求相對較低,然而在帶寬要求上則相對更高,一旦不能夠達到帶寬要求時便會造成延時增多,諸如備份與后置操作,從這一方面來思考,本文將對QoS的約束條件主要從延時和帶寬兩個方面來展開分析。依據(jù)路由過程之內(nèi)網(wǎng)絡(luò)當中有可能會發(fā)生的阻塞情況,需針對后續(xù)新流實施調(diào)度處置,以免擴大目前鏈路的阻塞。
可選用圖論形式來表述網(wǎng)絡(luò)節(jié)點拓撲結(jié)構(gòu),網(wǎng)絡(luò)加權(quán)可表述為:G(V,E)。
在此之中V={v1,v2,…,vn}表示網(wǎng)絡(luò)內(nèi)的節(jié)點集合,E={e1,e2,…,en}表示網(wǎng)絡(luò)當中的鏈路集合。
多路徑路由問題即為在G當中找出不少于一條發(fā)源于源點,直至目的地節(jié)點d的最短路徑。路徑p即為符合以上條件當中的一條路徑,其中主要就包括了所有參與路徑傳輸?shù)慕粨Q機節(jié)點,對于網(wǎng)絡(luò)加權(quán)圖G設(shè)置標記變量λij,相應(yīng)的若λij={1,0},那么λij=1則代表鏈路ij位于路徑P之上。λij=0代表鏈路ij位于路徑P之外。
3.2 QoS路由算法
3.2.1 流量監(jiān)控模塊
此模塊采用Flow_request向交換機發(fā)出流量請求信息,交換機在接收到信息以后回復(fù)信息,控制器解析以后便可獲得交換機的端口信息,并且在模塊內(nèi)定義Storage,以用作對所獲得的交換機信息進行存儲,且為之后的路由計算模塊及阻塞調(diào)度模塊應(yīng)用提供便利。還需注意的是,控制器和交換機的交互行為過于頻繁會導(dǎo)致通信壓力驟增,但若交互間隔時間過長又難以體現(xiàn)端口的流量變化情況。因此,根據(jù)實際測算,將時間間隔確定為5秒較為合理。
3.2.2 路由計算模塊
依據(jù)現(xiàn)已掌握的昂羅拓撲結(jié)構(gòu)與鏈路負載信息應(yīng)用多約束QoS路由算法來求出符合于約束條件的最短路徑,而后再調(diào)取應(yīng)用pushRoute方式來發(fā)出Flow-mod消息并對交換機發(fā)送流表,并同時使流表被裝設(shè)于各交換機匹配規(guī)則當中,以完成數(shù)據(jù)包轉(zhuǎn)發(fā)功能[6]。
路由計算模塊主要方法包括:(1)Protected與QoSpath Routing,其參數(shù)為簇、源、目的和延時約束,返回類型為QoSpath,計算符合于QoS約束條件的所有路徑;(2)protect rpule getRoutes,其參數(shù)為源ID以及目的ID號,返回值為route,返回制定節(jié)點的相對路徑;(3)protected與QosPath delayADB,其參數(shù)與Routing方法總的參數(shù)基本一致,主要區(qū)別是帶寬約束條件不同,這一方法可被Routing調(diào)用,以實現(xiàn)對兩個約束條件的路徑計算。
4 結(jié)語
總而言之,基于SDN架構(gòu)之下的數(shù)據(jù)中心網(wǎng)絡(luò)路由算法,可以在極度復(fù)雜的網(wǎng)絡(luò)模型、安全設(shè)備綜合化布置情形下來獲得個性化的安全服務(wù)支持,能創(chuàng)建出一種經(jīng)過優(yōu)化處理后的安全設(shè)備路由算法,在全面提升設(shè)備應(yīng)用率基礎(chǔ)上降低對有限網(wǎng)絡(luò)資源的占用率[7]。網(wǎng)絡(luò)功能虛擬化程度的不斷加劇使得路由管理所面臨著的復(fù)雜性大大加劇,未經(jīng)過優(yōu)化改進的路由算法,必將會對其未來的發(fā)展產(chǎn)生不利影響。而通過將SDN技術(shù)運用到網(wǎng)絡(luò)設(shè)備管理及路由優(yōu)化方面,必將會成為未來網(wǎng)絡(luò)技術(shù)研究領(lǐng)域內(nèi)的一項重點內(nèi)容。
[參考文獻]
[1]楊洋,楊家海,溫皓森,等.基于SDN流量測量的數(shù)據(jù)中心多路徑傳輸研究[J].華中科技大學學報(自然科學版),2016(11):53-58.
[2]孫三山,汪帥,樊自甫,等.軟件定義網(wǎng)絡(luò)架構(gòu)下基于流調(diào)度代價的數(shù)據(jù)中心網(wǎng)絡(luò)擁塞控制路由算法[J].計算機應(yīng)用,2016(7):1784-1788.
[3]吳舜,邢寧哲,張輝,等.基于OpenFlow的數(shù)據(jù)中心名址分離及其路由算法研究[C].北京:中國電機工程學會電力通信專業(yè)委員會第十屆學術(shù)年會論文集,2015.
[4]董宏成,鄭飛毅.基于OpenFlow的數(shù)據(jù)中心網(wǎng)絡(luò)負載均衡算法[J].電子技術(shù)應(yīng)用,2016(5):120-123.
[5]王昌平,蔡岳平.數(shù)據(jù)中心網(wǎng)絡(luò)流量分類路由機制研究[J].小型微型計算機系統(tǒng),2016(11):2488-2492.
[6]王冰,趙書宜,張丹,等.基于Qos的SDN數(shù)據(jù)中心網(wǎng)絡(luò)控制架構(gòu)的研究和分析[J].信息通信,2016(2):32-33.
[7]賴香武,彭大芹,黃德玲,等.基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)路由算法研究[J].無線互聯(lián)科技,2016(24):38-40.endprint