• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SDN的兩級(jí)大象流負(fù)載均衡策略

      2020-03-19 06:04:28楊桂芹
      關(guān)鍵詞:數(shù)據(jù)流數(shù)據(jù)包大象

      白 雪,楊桂芹

      (蘭州交通大學(xué) 電子與信息工程學(xué)院,蘭州 730070)

      龐大的SDN數(shù)據(jù)中心網(wǎng)絡(luò)中,存在兩種數(shù)據(jù)流量:一種為生存時(shí)間短的老鼠流,攜帶信息量小;另一種為生存時(shí)間長(zhǎng)的大象流,攜帶信息量大[1],當(dāng)有大量的大象流出現(xiàn)在數(shù)據(jù)中心網(wǎng)絡(luò)中會(huì)產(chǎn)生擁塞等現(xiàn)象,對(duì)網(wǎng)絡(luò)的性能產(chǎn)生影響,因此對(duì)于大象流的識(shí)別以及大象流的路由轉(zhuǎn)發(fā)至關(guān)重要,如果對(duì)大象流不采用適當(dāng)?shù)穆酚刹呗?,將?huì)導(dǎo)致網(wǎng)絡(luò)負(fù)載不均衡,所以對(duì)于出現(xiàn)的每一條大象流,均需要精確檢測(cè),并將檢測(cè)出的大象流運(yùn)用適當(dāng)?shù)霓D(zhuǎn)發(fā)策略,使流的傳輸不影響網(wǎng)絡(luò)正常運(yùn)營(yíng).在數(shù)據(jù)中心網(wǎng)絡(luò)中,最被廣泛應(yīng)用的負(fù)載均衡算法為ECMP(equal-cost-multi-path)[2],其核心是將不同的數(shù)據(jù)流通過(guò)哈希算法隨機(jī)映射到一條可以被選擇的最短路徑上,但在ECMP算法映射時(shí)沒(méi)有考慮當(dāng)前網(wǎng)絡(luò)中鏈路的實(shí)時(shí)負(fù)載情況,是一種靜態(tài)負(fù)載均衡方式[3],因此會(huì)造成網(wǎng)絡(luò)發(fā)生擁塞,不能動(dòng)態(tài)協(xié)調(diào)全局網(wǎng)絡(luò)及實(shí)現(xiàn)全局網(wǎng)絡(luò)的負(fù)載均衡.

      本文針對(duì)以上數(shù)據(jù)中心網(wǎng)絡(luò)出現(xiàn)的問(wèn)題,提出一種基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)大象流負(fù)載均衡策略,在大象流識(shí)別第一階段通過(guò)設(shè)定一個(gè)自適應(yīng)動(dòng)態(tài)接受數(shù)據(jù)包閾值來(lái)判定可疑大象流;第二階段根據(jù)流的持續(xù)時(shí)間,判定真實(shí)大象流;最后設(shè)計(jì)整體負(fù)載均衡框架,將大象流檢測(cè)階段嵌入到整體負(fù)載均衡框架中,實(shí)現(xiàn)網(wǎng)絡(luò)的動(dòng)態(tài)負(fù)載均衡,以提高網(wǎng)絡(luò)的傳輸性能.

      1 大象流檢測(cè)及整體負(fù)載均衡策略設(shè)計(jì)

      1.1 全局網(wǎng)絡(luò)拓?fù)浍@取

      通過(guò)鏈路層發(fā)現(xiàn)協(xié)議(link layer discovery protocol,簡(jiǎn)稱LLDP)識(shí)別全局網(wǎng)絡(luò)拓?fù)鋄4],在交換機(jī)與控制器連接成功之后,Ryu控制器通過(guò)發(fā)送LLDP報(bào)文與交換機(jī)之間進(jìn)行信息交換,當(dāng)交換機(jī)收到發(fā)來(lái)的LLDP報(bào)文消息時(shí),交換機(jī)會(huì)向控制器發(fā)送相應(yīng)的端口信息,此時(shí)Ryu庫(kù)中的鏈路層發(fā)現(xiàn)協(xié)議模塊收集到交換機(jī)發(fā)來(lái)的端口消息,并對(duì)端口信息進(jìn)行匯總,繪制整體的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),若網(wǎng)絡(luò)拓?fù)浒l(fā)生變化,則需要不斷更新控制器中拓?fù)浒l(fā)現(xiàn)的收集信息,因此交換機(jī)需要周期的向網(wǎng)絡(luò)發(fā)送LLDP報(bào)文協(xié)議,當(dāng)網(wǎng)絡(luò)發(fā)生變化的時(shí)候,第一時(shí)間對(duì)拓?fù)溥M(jìn)行感知、更新,實(shí)現(xiàn)此階段的關(guān)鍵模塊在Ryu控制器下的topology模塊,該模塊文件下的switches.py文件主要負(fù)責(zé)交換機(jī)的監(jiān)測(cè)部分,目錄下的dumper.py文件負(fù)責(zé)調(diào)用switches.py文件的監(jiān)測(cè)內(nèi)容,并傳遞到控制器進(jìn)行分析操作.

      1.2 全局網(wǎng)絡(luò)狀態(tài)收集

      通過(guò)sFlow檢測(cè)網(wǎng)絡(luò)狀態(tài),sFlow由sFlow Agent和sFlow Collector組成,兩部分協(xié)同工作共同實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)的收集,主要通過(guò)采樣的方式統(tǒng)計(jì)數(shù)據(jù)流中數(shù)據(jù)包的數(shù)量,能夠很好的減小網(wǎng)絡(luò)開(kāi)銷.此處需要用到基礎(chǔ)設(shè)施Mininet,其中內(nèi)嵌有sFlow Agent模塊,需在開(kāi)啟網(wǎng)絡(luò)拓?fù)渲筮M(jìn)行端口配置[5],并在終端中開(kāi)啟sFlow Agent模塊,與sFlow Collector端口6343連接,將sFlow Agent中獲取到的接口統(tǒng)計(jì)信息和數(shù)據(jù)信息封裝成sFlow報(bào)文,發(fā)送給sFlow Collector上進(jìn)行分析,sFlow Collector負(fù)責(zé)對(duì)sFlow報(bào)文分析、匯總、生成流量報(bào)告,最后將收集以及統(tǒng)計(jì)完成的網(wǎng)絡(luò)狀態(tài)信息上傳給控制器進(jìn)行其他操作.

      1.3 大象流識(shí)別第一階段

      規(guī)定若流量的比例超過(guò)總流量θ(θ=0.1%)的數(shù)據(jù)流,將超過(guò)的數(shù)據(jù)流定義為大象流.假定在時(shí)間T內(nèi)檢測(cè)到的流量為t,用N表示接收到的數(shù)據(jù)包數(shù)量,用pi表示流i接收到的數(shù)據(jù)包,用ti表示流i的字節(jié)大小;若數(shù)據(jù)流i的流量大于所設(shè)定的總流量的數(shù)據(jù)流比重θ,則判斷當(dāng)ti≥t·θ時(shí)數(shù)據(jù)流i為可疑大象流.但僅根據(jù)流量大小判定大象流不能精確的檢測(cè)出大象流,因此還需使用sFlow對(duì)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行檢測(cè),利用隨機(jī)采樣數(shù)據(jù)包的方式對(duì)網(wǎng)絡(luò)數(shù)據(jù)流實(shí)時(shí)檢測(cè),若按照預(yù)先設(shè)定好的數(shù)據(jù)包閾值PT進(jìn)行大象流的檢測(cè),可能會(huì)出現(xiàn)錯(cuò)誤的檢測(cè),即可能將老鼠流誤認(rèn)為是大象流,出現(xiàn)的這種錯(cuò)誤識(shí)別稱之為誤檢率[6],簡(jiǎn)稱FPR(false positive rate),見(jiàn)公式(1);若在檢測(cè)大象流的過(guò)程中存在漏檢的大象流,這種漏檢的概率稱之為漏檢率,簡(jiǎn)稱FNR(false negative rate),見(jiàn)公式(2),且誤檢率與漏檢率的選取直接影響大象流的檢測(cè)效率.

      FPRi=P[pi≥PT|ti

      (1)

      FNRi=P[pi

      (2)

      在文獻(xiàn)[7]中,提到一種兩階段自適應(yīng)大象流檢測(cè)系統(tǒng).在檢測(cè)的第一階段,若發(fā)現(xiàn)一個(gè)流的數(shù)據(jù)包數(shù)量超過(guò)設(shè)定的閾值PT,則將該流暫定為可疑大象流,在此階段檢測(cè)過(guò)程中可能將老鼠流誤檢為大象流,也可能存在部分漏檢的大象流,因此導(dǎo)致第一階段得到自適應(yīng)的大象流檢測(cè)系統(tǒng)發(fā)生漏檢的概率較高,如若將大量誤檢的大象流按老鼠流的方式轉(zhuǎn)發(fā),會(huì)致使網(wǎng)絡(luò)發(fā)生堵塞,所以在第一階段大象流檢測(cè)方法中需要嚴(yán)格控制大象流漏檢率的出現(xiàn),將誤檢率與漏檢率綜合考慮,而不僅僅追求最小的平均誤檢率,因此可總結(jié)出數(shù)據(jù)包數(shù)量的閾值PT如式(3)所示.

      (3)

      式中:ε的值為根據(jù)網(wǎng)絡(luò)實(shí)時(shí)狀態(tài)所設(shè)置的流量監(jiān)測(cè)值.SDN數(shù)據(jù)中心網(wǎng)絡(luò)的流量體系規(guī)模大、種類多、具有廣泛性,在文獻(xiàn)[8]中提到在數(shù)據(jù)中心網(wǎng)絡(luò)中流量的分布呈雙峰分布,其可定義為

      (4)

      其中:μ為數(shù)據(jù)流的平均長(zhǎng)度;σ為數(shù)據(jù)流的長(zhǎng)度標(biāo)準(zhǔn)差.由于老鼠流與大象流均服從雙峰分布,根據(jù)這一特點(diǎn)可得到老鼠流與大象流的流量密度分布如圖1所示,左邊曲線為老鼠流,右邊曲線為大象流,左邊陰影部分的面積為FNR,右邊陰影部分的面積為FPR,因此可得到FNR和FPR計(jì)算公式如下:

      (5)

      (6)

      結(jié)合式(3)和式(4),可得最終的優(yōu)化閾值PT,其計(jì)算公式為

      (7)

      其中:μe表示漏檢率最大時(shí)流的平均長(zhǎng)度;σe表示漏檢率的長(zhǎng)度標(biāo)準(zhǔn)差.

      1.4 大象流第二階段識(shí)別

      設(shè)網(wǎng)絡(luò)數(shù)據(jù)包的字節(jié)數(shù)為PB(packet byte),若PB的值大于設(shè)定的字節(jié)數(shù)閾值時(shí),則認(rèn)定該流可能為真實(shí)大象流,當(dāng)字節(jié)數(shù)PB的值小于閾值時(shí),引出參數(shù)count,用來(lái)計(jì)數(shù)PB有幾次沒(méi)有超過(guò)規(guī)定的閾值.不斷檢測(cè)PB的值,若PB字節(jié)數(shù)沒(méi)有超過(guò)閾值,即可能存在變質(zhì)可疑,利用count值進(jìn)行計(jì)數(shù),若達(dá)到N時(shí)則認(rèn)定第一階段檢測(cè)的大象流變質(zhì).具體的算法步驟如下:

      1) 對(duì)第一階段識(shí)別出的可疑大象流進(jìn)行判別,第一步需要統(tǒng)計(jì)出以上可疑大象流的字節(jié)數(shù)PB,計(jì)算某一時(shí)刻字節(jié)數(shù)公式如式(8)所示.設(shè)定一個(gè)初始化變量count,用于記錄字節(jié)數(shù)小于一定閾值時(shí)的次數(shù).

      PBt=BCt-BCt-1.

      (8)

      式中:BC表示計(jì)數(shù)器統(tǒng)計(jì)的流累計(jì)字節(jié)數(shù);BCt表示在t時(shí)刻接受的字節(jié)數(shù);BCt-1表示在t-1時(shí)刻接收的字節(jié)數(shù);PBt表示在t時(shí)刻單位時(shí)間內(nèi)接收的數(shù)據(jù)包字節(jié)數(shù).

      2) 將計(jì)算出的PBt值與設(shè)定的平均字節(jié)數(shù)閾值T進(jìn)行比較,其中T的值設(shè)定為超過(guò)總字節(jié)數(shù)的0.1%,若PBt≤T,則此時(shí)該流可能變質(zhì),將count值加1,進(jìn)入步驟3);若PBt>T,則該大象流無(wú)變質(zhì)現(xiàn)象[9],重置count值為0,重新計(jì)算PBt值,返回步驟1)繼續(xù)進(jìn)行監(jiān)測(cè).

      3) 將得到count的值與設(shè)定的最大容忍次數(shù)N對(duì)比,若countT,則表明該流沒(méi)有變質(zhì),為真實(shí)大象流;反之若出現(xiàn)PBt

      1.5 大象流負(fù)載均衡整體流程

      SDN控制器接收來(lái)自網(wǎng)絡(luò)的數(shù)據(jù)流,利用LLDP獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并利用sFlow檢測(cè)網(wǎng)絡(luò)狀態(tài),對(duì)接收的數(shù)據(jù)流進(jìn)行分析.將上兩節(jié)所提到的大象流檢測(cè)模塊嵌入到整體的負(fù)載均衡框架中[10-11],若檢測(cè)為真實(shí)大象流,則進(jìn)行大象流調(diào)度算法;若為老鼠流,則用常規(guī)的ECMP算法,減少控制器開(kāi)銷.總的負(fù)載均衡流程如圖3所示.

      利用兩階段大象流識(shí)別模塊識(shí)別出大象流,進(jìn)入路徑?jīng)Q策模塊.利用Yen-KSP算法從可行路徑中計(jì)算k條最優(yōu)路徑作為備選路徑,根據(jù)當(dāng)前的網(wǎng)絡(luò)狀態(tài)計(jì)算出最佳轉(zhuǎn)發(fā)路徑,轉(zhuǎn)發(fā)大象流;不斷檢測(cè)網(wǎng)絡(luò)狀態(tài),檢測(cè)網(wǎng)絡(luò)擁塞狀態(tài)[12].若出現(xiàn)網(wǎng)絡(luò)擁塞,則在k條路徑中選取次優(yōu)先級(jí)最佳轉(zhuǎn)發(fā)路徑,轉(zhuǎn)發(fā)數(shù)據(jù)流;而對(duì)于識(shí)別出的老鼠流,老鼠流流量少、數(shù)量多,并對(duì)實(shí)時(shí)性要求較高.因此本文將檢測(cè)出的老鼠流用靜態(tài)ECMP負(fù)載均衡算法,避免持續(xù)調(diào)用控制器帶來(lái)額外負(fù)荷,提高網(wǎng)絡(luò)的傳輸速率;并在OpenFlow交換機(jī)中根據(jù)接收到的數(shù)據(jù)流進(jìn)行分析,查看路由表中是否存在該條路徑的轉(zhuǎn)發(fā)路徑.若存在則直接進(jìn)行轉(zhuǎn)發(fā),不需向控制器發(fā)送請(qǐng)求消息;若在路徑表中查詢不到轉(zhuǎn)發(fā)路徑,則OpenFlow交換機(jī)需向控制器發(fā)送Packet-in消息[13],請(qǐng)求控制器來(lái)尋找最短路徑,然后調(diào)用控制器中的負(fù)載均衡算法,對(duì)發(fā)送來(lái)的流進(jìn)行計(jì)算;計(jì)算完畢后,控制器發(fā)送Packet-out下發(fā)消息給OpenFlow交換機(jī),OpenFlow交換機(jī)再進(jìn)行流表的安裝工作[14];安裝完畢后,將安裝的流表規(guī)則下發(fā)到Mininet基礎(chǔ)設(shè)施層進(jìn)行流的轉(zhuǎn)發(fā),完成數(shù)據(jù)傳輸;與此同時(shí),實(shí)時(shí)檢測(cè)網(wǎng)絡(luò)當(dāng)前的狀態(tài),并不斷更新流表,根據(jù)網(wǎng)絡(luò)實(shí)時(shí)狀態(tài)調(diào)用不同模塊進(jìn)行負(fù)載均衡.

      2 實(shí)驗(yàn)結(jié)果分析

      在ubuntu系統(tǒng)環(huán)境下利用Ryu控制器,以Mininet為基礎(chǔ)設(shè)置層搭建胖樹(shù)拓?fù)鋱D(見(jiàn)圖4),完成大象流負(fù)載均衡的搭建以及驗(yàn)證工作[15].同時(shí),測(cè)量網(wǎng)絡(luò)的傳輸時(shí)延以及鏈路利用率,將SDN網(wǎng)絡(luò)中基于大象流識(shí)別的網(wǎng)絡(luò)負(fù)載均衡策略與ECMP算法、Hedera算法進(jìn)行對(duì)比.

      網(wǎng)絡(luò)的傳輸時(shí)延是指網(wǎng)絡(luò)在傳輸過(guò)程中數(shù)據(jù)包的傳輸時(shí)間,即發(fā)送的數(shù)據(jù)報(bào)文從源主機(jī)到目的主機(jī)之間的傳輸時(shí)間.網(wǎng)絡(luò)的傳輸時(shí)延越小,則說(shuō)明網(wǎng)絡(luò)傳輸性能越強(qiáng).本文通過(guò)利用Mininet中的pingall指令來(lái)獲取路徑的傳輸時(shí)延,然后進(jìn)行累加統(tǒng)計(jì),計(jì)算出胖樹(shù)網(wǎng)絡(luò)中各路徑的傳輸時(shí)延.計(jì)算平均傳輸時(shí)延的公式如式(9)所示.

      (9)

      通過(guò)不同程度增加流量負(fù)載的方式觀察各條路徑的時(shí)延,并在網(wǎng)絡(luò)基本穩(wěn)定時(shí)計(jì)算平均傳輸時(shí)延,測(cè)量時(shí)延結(jié)果如圖5所示.

      從圖5中可以看出,網(wǎng)絡(luò)的傳輸時(shí)延隨負(fù)載的增加而增加.當(dāng)流量負(fù)載低于300 Mbit/s時(shí),三種算法時(shí)延相差不大,但當(dāng)負(fù)載超過(guò)300 Mbit/s之后,三種算法的平均時(shí)延的上升趨勢(shì)都較為明顯.是因?yàn)殡S著流量負(fù)載不斷的增加,網(wǎng)絡(luò)鏈路的負(fù)載會(huì)出現(xiàn)擁塞等情況,因此在流量傳輸過(guò)程中會(huì)出現(xiàn)網(wǎng)絡(luò)時(shí)延增加的現(xiàn)象,但從整體來(lái)看隨著負(fù)載的增加,提出的大象流負(fù)載均衡算法更能實(shí)現(xiàn)鏈路的負(fù)載分擔(dān),有效地降低了網(wǎng)絡(luò)中的平均時(shí)延.

      網(wǎng)絡(luò)中鏈路的平均利用率是指各傳輸鏈路數(shù)據(jù)流實(shí)際帶寬與傳輸鏈路最大可用帶寬的比值[16].鏈路的平均利用率越大,表明網(wǎng)絡(luò)傳輸能力越強(qiáng).獲取實(shí)際端口占用帶寬的方法通過(guò)統(tǒng)計(jì)交換機(jī)的端口信息來(lái)實(shí)現(xiàn),并且將統(tǒng)計(jì)得到的占用帶寬與鏈路最大可用帶寬進(jìn)行比較,即可得到網(wǎng)絡(luò)鏈路的利用率.將得到的帶寬進(jìn)行累加求得平均鏈路利用率,如公式(10)所示.

      (10)

      依然根據(jù)流量負(fù)載檢測(cè)網(wǎng)絡(luò)中的鏈路平均利用率,然后計(jì)算出平均的鏈路利用率,如圖6所示.

      從圖6中可以看出,當(dāng)流量負(fù)載低于400 Mbit/s時(shí),三種算法的平均鏈路利用率十分相似,并且變化不大,這是由于低于400 Mbit/s時(shí)鏈路中剩余的帶寬較大,并有足夠的帶寬傳輸數(shù)據(jù)流,因此網(wǎng)絡(luò)中鏈路很少會(huì)出現(xiàn)擁塞;但當(dāng)流量負(fù)載處于400 Mbit/s~900 Mbit/s之間時(shí),三種算法的平均鏈路利用率均處于上升趨勢(shì),并且上升趨勢(shì)較為明顯,此時(shí)的平均鏈路利用率顯出優(yōu)勢(shì)來(lái).可看出,提出的算法在一定程度上較ECMP算法和Hedera算法更為提高了平均鏈路利用率;當(dāng)流量負(fù)載超過(guò)900 Mbit/s后,三種算法的平均鏈路利用率變化趨于平穩(wěn)并稍有下降趨勢(shì).但從整體來(lái)看,大象流負(fù)載均衡算法較其他兩種算法降低了產(chǎn)生擁塞的概率,增加了帶寬利用率.

      3 結(jié)論

      針對(duì)目前數(shù)據(jù)中心網(wǎng)絡(luò)存在的大象流識(shí)別效率低,網(wǎng)絡(luò)擁塞以及負(fù)載不均衡等現(xiàn)象,提出一種大象流負(fù)載均衡策略;在大象流的檢測(cè)算法中重點(diǎn)突出大象流漏檢率的檢測(cè),第二階段通過(guò)設(shè)定數(shù)據(jù)包閾值對(duì)第一階段的大象流繼續(xù)進(jìn)行檢測(cè),進(jìn)一步提高大象流的檢測(cè)效率,并構(gòu)建整體框架,調(diào)用不同模塊實(shí)現(xiàn)整體網(wǎng)絡(luò)的負(fù)載均衡;搭建仿真平臺(tái),使用網(wǎng)絡(luò)時(shí)延和鏈路利用率兩個(gè)指標(biāo)來(lái)驗(yàn)證提出的大象流負(fù)載均衡策略.實(shí)驗(yàn)結(jié)果表明,較之前常用的ECMP算法和Hedera算法相比,提出的大象流負(fù)載均衡策略可以實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),將網(wǎng)絡(luò)實(shí)時(shí)狀態(tài)傳輸?shù)娇刂破鬟M(jìn)行處理,通過(guò)實(shí)驗(yàn)對(duì)比驗(yàn)證了提出的大象流負(fù)載均衡策略減少了時(shí)間延遲,提高了大象流的識(shí)別效率,并且提高了鏈路利用率,為數(shù)據(jù)中心網(wǎng)絡(luò)的傳輸提供一個(gè)更好的傳輸策略.

      猜你喜歡
      數(shù)據(jù)流數(shù)據(jù)包大象
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      SmartSniff
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      大象無(wú)形
      中華奇石(2017年4期)2017-06-23 23:04:38
      認(rèn)真的大象
      大象
      幼兒園(2016年10期)2016-06-22 19:31:47
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      北醫(yī)三院 數(shù)據(jù)流疏通就診量
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
      視覺(jué)注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
      贺兰县| 武乡县| 蒙城县| 枞阳县| 田东县| 琼结县| 墨玉县| 平罗县| 高雄市| 璧山县| 吉林市| 阳春市| 资兴市| 水富县| 正镶白旗| 夏邑县| 宁化县| 仙居县| 石渠县| 丹凤县| 奉新县| 乌兰浩特市| 化隆| 阿拉善左旗| 元朗区| 鸡泽县| 佛山市| 昭通市| 西和县| 佛山市| 简阳市| 郎溪县| 司法| 开封市| 三原县| 疏附县| 安图县| 洪泽县| 云霄县| 冷水江市| 大厂|