999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于軟件定義網絡的對等網傳輸調度優化

2020-06-06 02:07:06雄,田
計算機應用 2020年3期
關鍵詞:優化

向 雄,田 檢

(1. 廣州大學華軟軟件學院網絡技術系,廣州510990; 2. 廣州大學華軟軟件學院基礎部,廣州510990)

(*通信作者電子郵箱tj@sise.com.cn)

0 引言

“互聯網+”的興起,有力地推動了云計算、物聯網、電子商務、互聯網金融的蓬勃發展,各行各業開始與信息技術緊密結合,這樣導致了以網絡為基礎的應用異常豐富。這種現象具有兩個明顯的特點:一是上層應用正在反推底層網絡架構作出改變,軟件定義網絡(Software Defined Network,SDN)[1]就是其中一個主要變化方向;二是來自于各領域的應用比如區塊鏈、視頻點播、視頻直播等,大多數都采用或以可選方式采用對等網(Peer-to-Peer,P2P)機制對信息、文件、帶寬、存儲及處理器周期等各種資源進行管理[2]。這樣就使得基于SDN 的P2P傳輸研究成為了一個很緊迫的問題。

SDN 是一種最具吸引力的未來網絡體系結構,它具有三個主要特點:集中控制、動態可編程、轉發邏輯和控制邏輯相互分離,能夠很好地滿足高帶寬、高數據量和拓撲動態可變的網絡需求。 SDN 的組成部件分為SDN 控制器(SDN Controller,SDN-C)和SDN 轉發元件(SDN Forward Element,SDN-FE)兩部分,SDN-C 和SDN-FE 之間通過可靠安全的帶外信道連接。SDN-C 是一個集中式的全局控制器,可部署在高性能的服務器(或集群)上來監控和管理整個網絡。SDN-FE是一個不具有控制功能的純轉發設備,它依據流表規則執行轉發。流表規則由SDN-C 通過帶外信道使用OpenFlow 協議安裝在SDN-FE上。

P2P 網絡是一個建立在TCP 或HTTP 協議之上的虛擬覆蓋網,每個節點在這個虛擬空間中被賦予一個用作通信地址的唯一ID,有的結構化P2P 網如內容尋址網絡(Content Addressable Network,CAN)、Pastray 等使用ID 號來定位資源。P2P 系統都包含了一套機制將ID 號映射到IP 地址以進行實際的數據傳輸。P2P 系統會采用一些網絡測量技術來使虛擬空間中的距離關系盡量與底層物理網絡相一致,比如:文獻[3]提出了一個能感知節點位置的改進型GnuTella 非結構化P2P 系統,它使用一個爬蟲(crawler)來攜帶和修改網絡拓撲圖并獲取節點的地理位置;文獻[4]則利用Gossip協議讓節點相互交換信息來獲取動態實時的網絡狀況。

從網絡的角度來看,P2P 傳輸優化問題重點就是流調度問題。ECMP(Equal Cost MultiPath Routing)這類傳統的流調度策略無差別對待所有流,看起來很公平,卻無法根據網絡狀態進行優化。Al-Fares 等[5]利用模擬退火算法或首次匹配法根據預估帶寬進行流調度,成功解決了Clos(發明者為Charles Clos)網絡中的大象流沖突問題,取得了遠高于ECMP的帶寬利用率。類似地,如何根據P2P 數據傳送特點進行傳輸調度優化呢?這就是本文要解決的問題。

P2P 網絡中的數據傳輸方式有兩種:1)點對點方式比如BitTorrent,這種方式的流調度問題可參照傳統方式解決。2)組播方式,這種方式在P2P 系統中特別是P2P 流媒體應用中非常普遍。組播樹最合適的結構就是樹結構,但樹結構有一個致命的缺點就是節點的離開會導致其子樹上的節點在組播樹重構完成之前無法接收數據,所以通常都是網狀結構,最 典 型 的 就 是ESM(End System Multicast)[6]和ALMI(Application Level Multicast Infrastructure)[7]。學術界對于選擇應用層組播(Application Layer Multicast,ALM)還是IP 組播是有爭議的[8],ALM 把應用與網絡相分離,體現了分層的原則,但會產生應用層與底層不一致的問題,無法充分利用網絡。SDN 可以彌補這一不足,通過在SDN-C 中嵌入相應的服務,就可以使P2P 系統中實施ALM 時能夠根據網絡狀態進行實時動態的流調度以滿足體驗質量(Quality of Experience,QoE)等傳輸需求[9]。

本文設計了一個基于SDN的P2P傳輸調度優化架構。其核心過程是從SDN-C 那里獲取流量矩陣,轉化成帶權重的網絡拓撲圖,在此基礎上生成組播樹,并利用神經網絡智能化地確定更新周期,能夠實現網絡性能的提升。

1 系統模型

本方案假定每個P2P 系統都使用一個UUID(Universally Unique IDentifier)作為唯一標識,任何需要加入的節點首先得獲取此標識,生成和分發此標識的過程不在本系統范圍之內。整個系統參考架構如圖1所示。

圖1 系統架構Fig. 1 System framework

SDN 實施組播并不需要通過IGMP(Internet Group Management Protocol)v1/2/3 協議來實現[10],故組播路由器地址如224.0.0.2等沒有實際意義,本文使用它來產生PacketIn事件。當一個節點加入或退出P2P 系統時,它會發送一個包含了事先協商好的UUID 的數據包給224.0.0.2。控制器事先在交換機上安裝流表項讓目的地為224.0.0.2 的數據包PacketIn 到控制器;組管理器(Multicast Manager,MM)偵聽控制器的PacketIn 事件,發現目的地為D 類IP 多播地址的話就產生組播事件(Group Event,GE),對組播感興趣的其他模塊都可以偵聽,比如IGMP 或其他組播實現方式,這樣就做到了與現有系統兼容。節點管理器(Node Manager,NM)是GE 事件的偵聽者,它收到GE事件后分析其中內容是否符合自己的應用規范,不符合則丟棄;否則轉交給拓撲管理器(Topology Manager,TM)。

TM 負責從GE 事件中取出P2P 系統標識UUID,然后根據此標識將此節點加入到對應的P2P 拓撲中。TM 周期性地從控制器那里獲取網絡流量矩陣并轉化成權重網絡圖,使用終端優先組播樹生成算法(見3.2 節)生成組播樹并交給流管理(Flow Manager,FM)模塊。

FM 根據組播樹生成相應的流表規則交給控制器下發到交換機上。在傳統非SDN 網絡中,IP 層是無法感知上層應用的,不同的IP 組播組是以組播地址來區分的,無法按應用分類。在SDN 中,根據OpenFlow 協議,只需在流表項中設置匹配域:dl_type=0x0800,nw_proto=6,nw_src=源IP,tp_src=應用程序所使用的端口,然后actions 中設置多個output,轉發到多個目標IP,即可實現將特定應用程序的數據包進行多播了。FM 根據OpenFlow 協議生成SDN 組播規則。下面對本系統中的關鍵過程進行說明。

2 流量矩陣測量

一個包含N個節點的系統的流量矩陣如矩陣M所示,其中包含了任意一對節點在t1到tp時間點的流量值,共有N2對,它是網絡設計、運維、計帳及安全的關鍵依據,也是本文中TM模塊進行拓撲優化的依據。

傳統的網絡測量框架都存在非確定性線性逆問題。這是因為直接測量法成本太高,大多數方法都是分析SNMP(Simple Network Management Protocol)、NetFlow 或sFlow 采集到的抽樣數據,然后使用最大似然法、貝葉斯方法、PCA(Principal Component Analysis)等算法進行估計,都存在一定的誤差,有時還會比較大。

SDN 與傳統網絡相比在網絡測量時更為方便。OpenFlow 協議1.3 中共定義了40 個計數器,其中有9 個是必需的,特別地有3 個基于端口必需計數器Received Packets、Transmitted Packets 和Duration 可以用來精確地獲取SDN-FE中每個鏈路上的流量。在SDN 中進行網絡測量就是通過查詢和分析上述計數器產生的統計數據來生成基于OD 對(Original-Destination Pair)流 量 矩 陣,OpenTM(OpenFlow Traffic Matrix)[11]、DCM(Distributed and Collaborative traffic Monitoring)[12]等工作很好地解決了此問題。

SDN 演變至今,目前很多SDN-C 傾向于將OpenFlow 網絡和傳統網絡混合起來統一處理,比如OpenDaylight 和ONOS(Open Network Operating System),這樣就使得上述基于OpenFlow 端口統計的流量測量工作難以應用到當前的實際網絡中,iSTAMP[13]等方法不得不擴展上述基于流的流量矩陣測量方法來增強其實用性。iSTAMP 的理論依據是壓縮感知(Compressed Sensing,CS)技術,它認為一個高波動性的稀疏矩陣中的全部數據可以通過一個精心定義的壓縮過的線性測量值估計出來。具體過程是首先精心挑選一部分流進行聚合以獲取壓縮流,然后通過MAB(Multi-Armed Bandit)算法從TCAM(Ternary Content Addressable Memory)流表中選取部分對ALM 系統影響最大的流,分別對這兩類流采樣就可以推斷出整個流量矩陣。

3 拓撲管理

拓撲管理模塊TM 根據網絡狀態修改ALM 樹,這需要解決兩個關鍵問題:應用層組播與底層的不一致問題和可擴展性Steiner 樹問題。下面首先闡述這兩個問題,然后給出解決方式。

3.1 應用層組播與底層的不一致問題

圖2 ALM樹與基礎網絡Fig. 2 ALM tree and basic network

假設n1是組播源,則其ALM樹為(n1(n2(n3),n4)),由于傳統網絡中應用層的組播在底層仍然是單播,其實際IP 層的傳播樹可能是(n1(s1(s2(s5(s3(n2(s5(n3)))))))),數據包從n1 到n2 時要經過鏈路s5-s3,從n2 到n3 時也要經過鏈路s3-s5,這是一種無意義的重復流量。

在SDN 中,TM 模塊會從SDN-C 那里獲取交換機連接方式,然后將上述ALM樹的IP層傳輸路徑修改為:(n1(s1(s2(s5(s3(n2),n2))))),從而解決應用層組播與底層的不一致問題。

3.2 可擴展性Steiner樹

在SDN 中實施多播既可以用一個流表項對應多個output動作來實現,也可以使用組表中的action bucket 來實現,但這二者都面臨著一種可擴展性問題。因為在SDN-FE 中,流表是一種受限資源,硬流表如TCAM 價格昂貴,軟流表如OVSDB(Open Virtual Switch Data-Base)則速度堪憂,都不能有效地應對指數級的組播樹數目[14]。為了解決此問題,本文提出了一種終端優先組播樹(Terminal First Steiner Tree,TFST)。

TM 周期性地與SDN-C 通信獲取網絡的流量矩陣M并其中的數據量化到[1,10]區間,就可以得到如圖3(a)所示的帶權重的網絡。TFST 將實施多播的流表條目只存儲在分支節點(至少包含三條邊的節點,用空心圓表示)上,中間節點(黑色實心圓)以單播隧道方式進行數據包的轉發,無需安裝組播流表項,這樣就減少了流表的數量,從而可解決多播樹的可擴展性問題。

圖2 顯示了由n1~n4 四個節點組成的位于應用層的ALM樹,節點之間進行通信的基礎網絡由s1~s5 五個OpenFlow 交換機組成。

TFST算法中的起點可以選擇任意一個終端節點。算法分為樹的生成和優化兩個階段。第2)步是生成階段,它在經典Dijkstra算法基礎上進行了兩點改進:1)若被展開的節點是終端節點,則將其距離值設置為0。因為所有終端節點都是組播樹的必經之地,所以每到達一個最近的終端節點就可以把它當作新的起點。2)若遍歷到的鄰居已經被訪問過了,說明它已經在組播樹上但與被展開節點不在樹的同一分支上,于是將此邊加入樹中并尋找所形成一個環路,隨后去掉這個環路中的最大邊。這樣就既降低了樹的總代價又保持了連通性,從而得到一棵近似Steiner樹。優化階段分3)4)5)步進行,主要過程是第5)步以降低公式c(T)+α*b(T)的值為目標將所有分支節點按度從小到大的順序進行重連。由于c(T)是組播樹中所有邊的權重和,代表流量代價。b(T)是組播樹中分支節點數量,分支數量越多,意味著要消耗的流表資源越多,組播實施代價越高。通過調整參數α,就可以在流量代價和實施代價之間進行權衡調節。

TFST 算法的時間復雜度主要取決于樹生成階段。若節點數、終端節點數分別用N、M表示,其時間復雜度上界為O(N2M),與其他經典的Steiner樹生成算法一致。

圖3 TFST的構建Fig. 3 Construction of TFST

4 更新周期管理

組播樹的不斷調整會導致SDN-C 對SDN-FE 中的分支節點進行大量的流表更新,這樣一方面會導致數據包的丟失,另一方面還可能引起網絡的不一致性,導致一些安全、認證等策略失效。數據包的丟失可以通過應用層重傳來解決,網絡不一致性也可以通過一些日志重放方法來恢復,但頻繁更新顯然會導致網絡性能下降。本文設計了一個精巧的基于神經網絡的模型來讓其自動選擇更新間隔。

網絡性能的主要指標有時延(Delay)、帶寬、丟包率(Loss)。SDN 環境下有很多可用的網絡測量方法及工具[15-16]來測量這三個指標。帶寬通常比較穩定,那么衡量網絡性能變化的主要指標就是擁塞指標P=Delay+Loss了。用L表示由流量矩陣M′所反映的網絡負載,那么P既與L相關,又與更新間隔T有關,所以P是L和T的函數,記作P=f(L,T),P和L都是可測量的,確定T值的問題就是一個根據樣本值P,L對參數T進行估計的問題,顯然f形式未知且非線性,無法采用傳統的參數估計和線性回歸等工具來計算T值。為此,本文設計了一個如圖4 所示的帶反饋環的逆系統來根據P自動調整T,其中的下標i表示第i次迭代。

圖4 帶反饋環的逆系統Fig. 4 Inverse system with feedback loop

Hornik已經證明,只需一個包含足夠多神經元的隱層,多層前饋網絡就能以任意精度逼近任意復雜度的連續函數[17]。函數逼近問題的本質是一種有監督的學習。為了實現上述逆系統,本文設計了一個如圖5 所示的遞歸神經網絡模型來逼近f函數,輸入層中的x1、x2、x3、x4 分別表示流量矩陣M中的流量均值、眾數、方差、鏈路流量平均變化率,刻畫了網絡負載的四個特征;x5 和x6 分別表示丟包率和平均延遲,反映了網絡性能特征。x7 是模型的輸出結果T的反饋輸入。偏置值x0=1(圖并未畫出),隱藏層采用6個神經元,激活函數采用ReLU(Rectified Liner Uints)。損失函數定義為當前網絡擁塞指標與理想擁塞指標之差:|P-Popt|,優化器采用隨機梯度下降(Stochastic Gradient Descent,SGD)算法。為避免數據規模對結果的影響,P和T等所有數據都用雙正切函數映射到(0,1)區間。

圖5 遞歸神經網絡模型Fig. 5 Recursive neural network model

5 實驗與仿真

本文仿真網絡采用Mininet,控制器采用ryu,python 版本為3.6,機器學習模塊采用谷歌的TensorFlow。仿真時使用的網絡拓撲由networkx 庫中的函數random_kernel_graph 隨機生成,隨機選擇一定數量的節點作為終端節點,終端節點占全部節點的比例r是一個可調整的參數,鏈路上的帶寬在30 MB/s、40 MB/s、50 MB/s 中隨機選擇,每個終端節點連接一臺主機,主機上運行iperf,每隔1 s向網絡發送隨機10~20 MB/s的隨機流量。

5.1 有效性

圖6是有效性仿真結果,橫軸是以秒為單位的運行時間,縱軸是每隔5 s 計算所得的P值,也就是歸一化后的Delay+Loss值,Loss通過ryu 控制器的Web 管理界面統計得出,Delay為所有終端節點的平均接收延遲。由于注入網絡的流量總體上小于鏈路的帶寬,整體上網絡性能都比較好。剛開始時優化網絡的擁塞指標高于原始網絡,這是由于更新周期較小,控制器頻繁地更新流表導致了網絡性能下降;大約10 s以后,優化模塊的效果開始顯現,P值一直平穩地低于未經優化的原始網絡。從總體上看,原始網絡P均值為0.15,優化后為0.08,網絡擁塞指標在原來的基礎上降低了47%。

圖6 優化效果Fig. 6 Result of optimization

5.2 參數組合

從表1 所列出的部分結果可以看出:1)不同的網絡測量方法istamp(用i表示)和opentm(用o表示)所測得的流量矩陣對優化結果影響不大。2)α值對系統有較大影響,主要原因是α值增加時,TFST 算法主要側重于組播樹的可擴展性,減少了分支節點數量,從而加大了組播的流量代價,導致P值增加。3)增加節點的度可以顯著提升網絡性能。這是因為可選路徑大量增加后,流量可以靈活地被實時調度到空閑的鏈路上。

表1 不同參數組合運行結果比較Tab. 1 Running results comparison in different parameter combinations

5.3 更新周期的變化規律

在mininet 中生成仿真網絡后立即進行網絡性能測量的結果作為網絡的最優性能Popt。圖7 顯示了運行過程中更新周期T隨著性能P的變化情況,從圖中可以看出,當性能穩定下來之后,更新周期會逐漸變長,最后逐漸收斂于1,這意味著網絡性能已經趨于穩定,優化過程對網絡性能的提升作用已經很小了,調整模塊無需頻繁介入。當網絡性能發生較大變化時,特別是當P增加時,此時意味著性能下降,調整模塊會不斷嘗試最優路徑,最終達到提升網絡性能的目的。

圖7 T隨P變化的趨勢Fig. 7 Trend of T varying with P

5.4 不同更新方式對比

圖8 顯示了當組播樹發生變化時,不同的更新周期管理方式所得到的網絡性能的對比結果。PN 是采用神經網絡模塊確定新流表的部署時機,P0 表示立即部署,P5 表示固定間隔5 s 部署一次。從圖中可以看出P0 方式雖然有時能取得較好的性能,P 值大幅下降,但總體水平還是略高于神經網絡方式。經計算,PN、P0、P5三種方式得到的網絡擁塞指標均值分別為0.42、0.51 和0.56,前者與后二者相比,分別降低了17.6%和25%;標準差分別為0.06、0.12 和0.13,這說明神經網絡模塊在網絡中等負載的情況下既能抑制網絡性能下降果,又能將網絡性能穩定在一個相對較為理想的水平。

圖8 不同更新方式的效果對比Fig. 8 Effect comparison between different update methods

6 結語

SDN 與傳統網絡相比更能貼近應用的需求,能充分利用人工智能和大數據技術向網絡注入智能。本文提出的方案一方面能夠使SDN 中應用層組播像IP 組播一樣節省流量,無需像IP 組播一樣運行繁瑣的組播協議,另一方面在網絡智能化方面進行了有效的探索。本文雖只是針對P2P應用中的ALM特點對網絡性能優化,但這樣的研究對如何針對網絡中多種多樣流量特點進行優化調整[18],促使SDN 在安全模型、運行機制[19]等方面全方位智能化有很大的啟發作用,這將是我們下一步研究目標。

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 亚洲成网站| 国产一级毛片yw| 极品国产一区二区三区| 久久精品国产在热久久2019| 国产大全韩国亚洲一区二区三区| 香蕉久久永久视频| 这里只有精品在线| 丝袜亚洲综合| 玖玖精品视频在线观看| av午夜福利一片免费看| 91蝌蚪视频在线观看| 国产精品第页| 无码av免费不卡在线观看| 国产乱人伦AV在线A| 99伊人精品| 免费观看无遮挡www的小视频| 日本免费精品| 亚洲欧美不卡视频| 日韩性网站| 香蕉久久国产精品免| 中文字幕亚洲乱码熟女1区2区| 91蜜芽尤物福利在线观看| 999福利激情视频| 亚洲一区二区无码视频| 欧美不卡视频一区发布| 亚洲中文制服丝袜欧美精品| 69综合网| 欧洲一区二区三区无码| 国产黄色片在线看| 国产欧美视频综合二区| 久久夜色精品国产嚕嚕亚洲av| 无码中文字幕精品推荐| 91网在线| 国产青榴视频| 亚洲欧洲免费视频| 欧美在线一二区| 免费一级大毛片a一观看不卡| 国产乱人伦AV在线A| 在线不卡免费视频| 亚洲精品第一页不卡| 色亚洲激情综合精品无码视频| 国产精品亚洲欧美日韩久久| 18黑白丝水手服自慰喷水网站| 日本免费精品| 毛片视频网址| 久久久久亚洲AV成人网站软件| 在线a网站| 欧美激情福利| 视频二区欧美| 伊人无码视屏| 99尹人香蕉国产免费天天拍| 国产精品久久久免费视频| 久久99国产精品成人欧美| 成人免费网站久久久| 国产18在线播放| 日本三级黄在线观看| 免费看美女毛片| 亚洲无码高清一区二区| 中文字幕2区| 精品国产成人a在线观看| 国产精品粉嫩| 欧美精品啪啪一区二区三区| 人人澡人人爽欧美一区| 亚洲最大情网站在线观看| 狠狠操夜夜爽| 欧美视频在线观看第一页| 中国一级毛片免费观看| 亚洲va欧美ⅴa国产va影院| 五月婷婷导航| 国产人成乱码视频免费观看| 国产精品区网红主播在线观看| 爽爽影院十八禁在线观看| 麻豆国产在线不卡一区二区| 久久国产精品电影| 国外欧美一区另类中文字幕| 精品少妇人妻无码久久| 亚洲第一区在线| 国产美女自慰在线观看| 日韩av资源在线| 国产毛片不卡| 亚洲成网777777国产精品| 日韩二区三区无|