亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于鏈路實(shí)時(shí)負(fù)載的SDN動(dòng)態(tài)負(fù)載均衡調(diào)度方法與流程

文檔序號(hào):11138463閱讀:1019來(lái)源:國(guó)知局
一種基于鏈路實(shí)時(shí)負(fù)載的SDN動(dòng)態(tài)負(fù)載均衡調(diào)度方法與制造工藝

本發(fā)明涉及數(shù)據(jù)中心網(wǎng)絡(luò)應(yīng)用技術(shù)領(lǐng)域,具體涉及一種于鏈路實(shí)時(shí)負(fù)載的SDN動(dòng)態(tài)負(fù)載均衡調(diào)度方法。



背景技術(shù):

SDN采用集中式控制策略,控制器具有全網(wǎng)的拓?fù)湟晥D,有助于對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行統(tǒng)一的管理,進(jìn)而能實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的實(shí)時(shí)監(jiān)控和調(diào)度,便于實(shí)現(xiàn)路徑優(yōu)化和負(fù)載均衡等功能,能夠有效的避免網(wǎng)絡(luò)中產(chǎn)生擁塞,提高網(wǎng)絡(luò)性能和資源利用率。它不僅可以大幅度降低硬件負(fù)載均衡設(shè)備成本,而且開放、靈活的可編程能力使得網(wǎng)絡(luò)的控制能力和自動(dòng)化管理空前提升,更有利于實(shí)現(xiàn)負(fù)載均衡。同時(shí),數(shù)據(jù)中心網(wǎng)絡(luò)作為當(dāng)前信息世界的應(yīng)用和流量核心所在,時(shí)時(shí)刻刻均承受著大量的請(qǐng)求訪問(wèn)、高性能需求和復(fù)雜的管理,大量采購(gòu)的負(fù)載均衡器導(dǎo)致了成本和管理復(fù)雜度進(jìn)一步上升。而基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)負(fù)載均衡能有效提高數(shù)據(jù)中心網(wǎng)絡(luò)資源利用率、降低設(shè)備管理復(fù)雜度。當(dāng)前基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)鏈路負(fù)載均衡主要是通過(guò)控制器對(duì)鏈路的周期性監(jiān)控以獲得流量和鏈路的狀態(tài)信息,并為流的選取合適的傳輸路徑實(shí)現(xiàn)負(fù)載均衡。

W.Braun等人在《2015International Conference and Workshops on,Cottbus,2015:1-5.》上發(fā)表題為“Load-dependent flow splitting for traffic engineering in resilient OpenFlow networks”的文章。該文章提出了流分割策略,將控制器匹配到的大流進(jìn)行分割后再進(jìn)行多路徑傳輸。首先設(shè)定了一個(gè)流速率閾值,當(dāng)某條大流f的速率超過(guò)該閾值時(shí),即判定該流為大流,并需要進(jìn)行分割。而路徑的計(jì)算則是為每對(duì)源地址與目的地址計(jì)算兩條最短路徑,同時(shí)使這兩條最短路徑的相交鏈路最少,而更短的路徑則作為主要的傳輸路徑。

Hui Long等人在《2013 IEEE 27th International Conference on,2013:25-28》上發(fā)表題為“LABERIO:Dynamic load-balanced Routing in OpenFlow-enabled Network”的文章。該文章提出了動(dòng)態(tài)負(fù)載均衡算法LABERIO,該方案采用最大最小剩余帶寬法則為流量選擇最佳下一跳鏈路,將最高負(fù)載鏈路上的最大的流調(diào)度到負(fù)載最小的鏈路上。而針對(duì)網(wǎng)絡(luò)中一些頻繁調(diào)度的大流,該算法為每條流進(jìn)一步設(shè)置了一個(gè)標(biāo)志h,用于表示流被調(diào)度后增加的傳輸跳數(shù)。該方案在無(wú)阻塞全連接網(wǎng)絡(luò)和典型的Fat-Tree拓?fù)渲蟹謩e進(jìn)行了仿真實(shí)驗(yàn),提高了網(wǎng)絡(luò)整體傳輸能力減少了時(shí)延,并通過(guò)更好利用可用資源實(shí)現(xiàn)了網(wǎng)絡(luò)吞吐量的最大化。

A.Craig等人在《2015 IEEE International Conference on,London,2015:5789-5795》上發(fā)表題為“Load balancing for multicast traffic in SDN using real-time link cost modification”的文章。該文章根據(jù)Fat-Tree拓?fù)涞奶卣鳎瑢⒙窂椒譃樯闲新窂胶拖滦新窂?,并根?jù)下一跳鏈路負(fù)載選擇最佳路徑。當(dāng)檢測(cè)到大流f并進(jìn)行分割后,再將其分配到路徑中。同時(shí),為了避免擁塞狀況的產(chǎn)生,進(jìn)一步為鏈路負(fù)載設(shè)定了一個(gè)閾值。當(dāng)鏈路負(fù)載超過(guò)該閾值后,則對(duì)該鏈路上的流進(jìn)行調(diào)度以均衡負(fù)載。該類方案需要將網(wǎng)絡(luò)中的大流進(jìn)行分割,但并沒(méi)有提出能有效解決包失序問(wèn)題的方案,同時(shí)重路由路徑僅考慮了下一跳,可能導(dǎo)致網(wǎng)絡(luò)負(fù)載不均衡,甚至擁塞。

J.Li等人在《2014 IEEE 13th International Conference on,Beijing,2014:527-533》上發(fā)表題為“An Effective Path Load Balancing Mechanism Based on SDN”的文章。該文章基于模糊控制理論提出了模糊綜合評(píng)估機(jī)制(Fuzzy Synthetic Evaluation Mechanism,F(xiàn)SEM)實(shí)現(xiàn)路徑負(fù)載均衡,并將算法分成了兩個(gè)階段。在網(wǎng)絡(luò)初始狀態(tài)時(shí),網(wǎng)絡(luò)中并沒(méi)有流量,此時(shí)使用Top-K最短路徑算法計(jì)算出K條最短路徑。當(dāng)網(wǎng)絡(luò)中存在大量流量分布時(shí),則采用FSEM對(duì)路徑進(jìn)行評(píng)估,并計(jì)算出最佳傳輸路徑。該方案并沒(méi)有對(duì)流進(jìn)行任何區(qū)分,而是統(tǒng)一進(jìn)行路由與調(diào)度,不能實(shí)現(xiàn)高效的負(fù)載均衡調(diào)度。

由相關(guān)的研究可知,當(dāng)前的負(fù)載均衡方案主要是直接將最高負(fù)載鏈路上的最大流調(diào)度到最低負(fù)載鏈路,并沒(méi)有考慮整條鏈路的負(fù)載情況,可能由于瓶頸鏈路而造成的局部擁塞。同時(shí),直接對(duì)鏈路上的最大流進(jìn)行調(diào)度,不僅可選路徑少,甚至可能由于頻繁調(diào)度大流,導(dǎo)致網(wǎng)絡(luò)性能的下降。本發(fā)明根據(jù)數(shù)據(jù)中心網(wǎng)絡(luò)流量的特征,為鏈路設(shè)置一個(gè)權(quán)重并把所有鏈路負(fù)載的標(biāo)準(zhǔn)差作為路徑權(quán)重的一個(gè)考慮因素。本發(fā)明對(duì)鏈路上的負(fù)載和流進(jìn)行周期性監(jiān)控,若某條鏈路上的負(fù)載分布不均勻或某條鏈路超載,則優(yōu)先選擇滿足限定條件的大流進(jìn)度行調(diào)度。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明旨在解決以上現(xiàn)有技術(shù)的問(wèn)題。提出了一種方法。本發(fā)明的技術(shù)方案如下:

一種基于鏈路實(shí)時(shí)負(fù)載的SDN動(dòng)態(tài)負(fù)載均衡調(diào)度方法,其包括以下步驟:

101、控制器獲取數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)湫畔⒑蜖顟B(tài)信息;

102、根據(jù)步驟101獲取的網(wǎng)絡(luò)拓?fù)湫畔⒑蜖顟B(tài)信息,控制器為網(wǎng)絡(luò)中的路徑設(shè)置一個(gè)權(quán)重,并以此作為路徑的選擇依據(jù),從跳數(shù)最少的路徑中選擇權(quán)重最小的一條作為初始轉(zhuǎn)發(fā)路徑;

103、計(jì)算數(shù)據(jù)中心網(wǎng)絡(luò)負(fù)載均衡度,如果負(fù)載均衡度大于給定的閾值,返回步驟101;否則,進(jìn)入步驟104;

104、定位出負(fù)載最高的鏈路并檢測(cè)該鏈路是否存在大流,如果檢測(cè)不到大流,結(jié)束;否則,進(jìn)入步驟105;

105、選擇滿足帶寬限定條件的大流進(jìn)行調(diào)度,若該鏈路存在多條滿足條件的大流,則優(yōu)先調(diào)度更大的流,實(shí)現(xiàn)動(dòng)態(tài)負(fù)載均衡調(diào)度。

進(jìn)一步的,所述步驟101控制器獲取數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)湫畔⑹峭ㄟ^(guò)鏈路層發(fā)現(xiàn)協(xié)議LLDP協(xié)議獲取并更新全局網(wǎng)絡(luò)拓?fù)涞模?dāng)檢測(cè)到網(wǎng)絡(luò)中存在失效鏈路或節(jié)點(diǎn)時(shí),則將該鏈路或節(jié)點(diǎn)從拓?fù)湟晥D中刪除,并為該鏈路上的流重新選擇一條傳輸路徑。

進(jìn)一步的,所述步驟101控制器收集數(shù)據(jù)中心網(wǎng)絡(luò)的狀態(tài)信息是通過(guò)控制器向交換機(jī)發(fā)送OFPT_STATS_REQUEST消息,獲取所需的鏈路統(tǒng)計(jì)信息和流的統(tǒng)計(jì)信息,包括收發(fā)的包數(shù)、字節(jié)數(shù)以及統(tǒng)計(jì)持續(xù)時(shí)間。

進(jìn)一步的,所述步驟102控制器為網(wǎng)絡(luò)中的路徑設(shè)置一個(gè)權(quán)重WPath

其中,m表示鏈路的個(gè)數(shù),LFi表示第i鏈路上的空閑負(fù)載,鏈路的空閑負(fù)載其中Bi表示鏈路i的已占用的帶寬,Ci表示鏈路i的最大。

進(jìn)一步的,所述步驟103網(wǎng)絡(luò)負(fù)載均衡度ρ計(jì)算公式為:其中,整個(gè)網(wǎng)絡(luò)的鏈路平均負(fù)載Lavg是由等式確定,Li為第i條鏈路上的負(fù)載,整個(gè)網(wǎng)絡(luò)的鏈路最大負(fù)載LMax=max{L1,L2,…,Ln}。

進(jìn)一步的,步驟104流的大小為其中,Mt是在t時(shí)刻交換機(jī)接收到的流字節(jié)數(shù),Mt+T表示交換機(jī)在t+T時(shí)刻接收到的流字節(jié)數(shù),T為控制器監(jiān)測(cè)統(tǒng)計(jì)周期。

進(jìn)一步的,所述流的大小為將占用5%鏈路帶寬的流設(shè)為大流。

進(jìn)一步的,步驟105所述調(diào)度的大流Fr需滿足限定條件:其中ε表示鏈路最高負(fù)載門限,Lnew表示新路徑Pnew上負(fù)載最高的鏈路lnew的負(fù)載,θ表示閾值,C表示每條鏈路的帶寬。

本發(fā)明的優(yōu)點(diǎn)及有益效果如下:

本發(fā)明提出了一種數(shù)據(jù)中心負(fù)載均衡算法,該算法從三個(gè)方面實(shí)現(xiàn)了負(fù)載均衡功能。首先,針對(duì)網(wǎng)絡(luò)中的路由選擇問(wèn)題,根據(jù)路徑的當(dāng)前負(fù)載狀況和鏈路負(fù)載波動(dòng)為路徑設(shè)置了一個(gè)權(quán)重,即本發(fā)明中將將所有鏈路負(fù)載的標(biāo)準(zhǔn)差作為路徑選擇的一個(gè)考慮因素,并以此作為路徑選擇依據(jù)。在數(shù)據(jù)傳輸過(guò)程中還需要進(jìn)一步考慮路徑的跳數(shù),有效的保證帶寬時(shí)延。其次,算法設(shè)置了一個(gè)負(fù)載均衡度用于衡量網(wǎng)絡(luò)負(fù)載狀況,當(dāng)負(fù)載均衡度較低時(shí),則判定網(wǎng)絡(luò)負(fù)載不均衡,此時(shí),將最高負(fù)載鏈路的流量調(diào)度到其它路徑以均衡全網(wǎng)負(fù)載。最后,針對(duì)需要調(diào)度的流,本算法進(jìn)一步限定了其流量大小范圍,保證了高效的流調(diào)度。調(diào)度的流的大小應(yīng)小于新路徑PNew中的最大可用帶寬,確定避免大流fe調(diào)度到路徑PNew后造成鏈路擁塞或負(fù)載過(guò)高。

附圖說(shuō)明

圖1是本發(fā)明提供優(yōu)選實(shí)施例所使用的拓?fù)浣Y(jié)構(gòu)示意圖;

圖2為本發(fā)明提供的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)負(fù)載均衡算法的流程圖;

圖3為本發(fā)明提出的DCLB算法與ECMP、LABERIO算法的平均時(shí)延對(duì)比圖;

圖4為本發(fā)明提出的DCLB算法與ECMP、LABERIO算法的鏈路帶寬利用率對(duì)比圖;

圖5為本發(fā)明提出的DCLB算法與ECMP、LABERIO算法的負(fù)載分布對(duì)比圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、詳細(xì)地描述。所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例。

本發(fā)明的技術(shù)方案如下:

圖1所示為本發(fā)明所使用的拓?fù)浣Y(jié)構(gòu)示意圖。本發(fā)明所用拓?fù)涔灿?0個(gè)交換機(jī)和16個(gè)主機(jī)。了區(qū)分不同層次和不同Pod的交換機(jī),因此,對(duì)交換機(jī)進(jìn)行了統(tǒng)一與差異化命名。在20臺(tái)交換機(jī)中共有4臺(tái)核心層交換機(jī),即圖中的s101-s104交換機(jī);匯聚層交換機(jī)共有8臺(tái),即圖中的s201-s208交換機(jī);邊緣層交換機(jī)共8臺(tái),即圖中的s301-s308交換機(jī)。共有16臺(tái)主機(jī),即圖1中的h1-h16主機(jī)。同時(shí),網(wǎng)絡(luò)中所有鏈路帶寬為10Mbps,監(jiān)控周期設(shè)置為3s,負(fù)載均衡度取值0.7。本發(fā)明選擇圖1中Pod1的主機(jī)h1和Pod2的主機(jī)h5作為觀察對(duì)象。

圖2所示為本發(fā)明提出的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)負(fù)載均衡路由算法的流程圖,具體包括:

第一步:控制器獲取拓?fù)湫畔⒑褪占W(wǎng)絡(luò)的狀態(tài)信息;

控制器通過(guò)鏈路層發(fā)現(xiàn)協(xié)議(Link Layer Discovery Protocol,LLDP)協(xié)議獲取并更新全局網(wǎng)絡(luò)拓?fù)?,?dāng)檢測(cè)到網(wǎng)絡(luò)中存在失效鏈路或節(jié)點(diǎn)時(shí),則將該鏈路或節(jié)點(diǎn)從拓?fù)湟晥D中刪除,并為該鏈路上的流重新選擇一條傳輸路徑??刂破飨蚪粨Q機(jī)發(fā)送OFPT_STATS_REQUEST消息,以獲取所需的鏈路統(tǒng)計(jì)信息和流的統(tǒng)計(jì)信息,如收發(fā)的包數(shù)、字節(jié)數(shù)以及統(tǒng)計(jì)持續(xù)時(shí)間等。

第二步:根據(jù)獲取的網(wǎng)絡(luò)拓?fù)湫畔⒑蜖顟B(tài)信息,控制器為網(wǎng)絡(luò)中的路徑設(shè)置一個(gè)權(quán)重,并以此作為路徑的選擇依據(jù),從跳數(shù)最少的路徑中選擇權(quán)重最小的一條作為初始路徑;

控制器為網(wǎng)絡(luò)中的路徑設(shè)置一個(gè)權(quán)重WPath

其中,LFi表示第i鏈路上的空閑負(fù)載。鏈路的空閑負(fù)載其中Bi表示鏈路i的已占用的帶寬,Ci表示鏈路i的最大。

第三步:進(jìn)一步設(shè)置了一個(gè)負(fù)載均衡度衡量網(wǎng)絡(luò)負(fù)載均衡程度,并判斷負(fù)載均衡度是否滿足給定的閾值,如果不滿足條件,重新收集網(wǎng)絡(luò)狀態(tài)信息;否則,進(jìn)入第四步;

網(wǎng)絡(luò)負(fù)載均衡度ρ計(jì)算公式為:其中,整個(gè)網(wǎng)絡(luò)的鏈路平均負(fù)載Lavg是由等式確定,Li為第i條鏈路上的負(fù)載。整個(gè)網(wǎng)絡(luò)的鏈路最大負(fù)載LMax=max{L1,L2,…,Ln}。

第四步:針對(duì)第三步負(fù)載均衡度小于給定閾值的限制情況,定位出負(fù)載最高的鏈路并檢測(cè)該鏈路是否存在大流,如果檢測(cè)大流,方法結(jié)束;否則,進(jìn)入第五步;

流的大小為其中,Mt是在t時(shí)刻交換機(jī)接收到的流字節(jié)數(shù),Mt+T表示交換機(jī)在t+T時(shí)刻接收到的流字節(jié)數(shù),T為控制器監(jiān)測(cè)統(tǒng)計(jì)周期。本發(fā)明將占用5%鏈路帶寬的流設(shè)為大流。

第五步:針對(duì)檢測(cè)到的大流滿足限定的條件,選擇滿足限定條件的大流進(jìn)行調(diào)度,若該鏈路存在多條滿足條件的大流,則優(yōu)先調(diào)度更大的流,實(shí)現(xiàn)高效的負(fù)載均衡;

調(diào)度的大流Fr需滿足限定條件:其中ε表示鏈路最高負(fù)載門限,Lnew表示新路徑Pnew上負(fù)載最高的鏈路lnew的負(fù)載,θ表示閾值,C表示每條鏈路的帶寬。本發(fā)明中若鏈路上存在多條滿足調(diào)度條件的大流,則優(yōu)先調(diào)度最大的流。

對(duì)本發(fā)明提出的DCLB算法的性能進(jìn)行對(duì)比和分析,使用平均傳輸時(shí)延、鏈路帶寬利用率和負(fù)載分布三個(gè)網(wǎng)絡(luò)性能指標(biāo)與ECMP、LABERIO算法進(jìn)行對(duì)比。

在本實(shí)施例中,圖3給出本發(fā)明所提DCLB算法與ECMP、LABERIO算法的平均時(shí)延對(duì)比圖。由圖3可見(jiàn):所提實(shí)施方法DCLB算法較ECMP算法和LABERIO算法所得到的平均時(shí)延更穩(wěn)定且較小。由于ECMP算法沒(méi)有考慮鏈路狀況,使得網(wǎng)絡(luò)中部分鏈路的負(fù)載過(guò)高,進(jìn)而影響了報(bào)文傳輸?shù)臅r(shí)間和穩(wěn)定,導(dǎo)致傳輸時(shí)延的快速上升和較大抖動(dòng);LABERIO算法只考慮了最佳的下一跳鏈路,隨著網(wǎng)絡(luò)中負(fù)載的增加,網(wǎng)絡(luò)中存在瓶頸鏈路,因此導(dǎo)致時(shí)延增加。

在本實(shí)施例中,圖4給出本發(fā)明所提DCLB算法與ECMP、LABERIO算法的鏈路帶寬利用率對(duì)比圖。由圖4可見(jiàn):所提實(shí)施方法DCLB算法的帶寬利用率優(yōu)于ECMP算法和LABERIO算法。由于ECMP算法是隨機(jī)選擇路徑,多條大流在同一條鏈路中碰撞,導(dǎo)致Pod內(nèi)部產(chǎn)生熱點(diǎn)路徑,因此,核心交換機(jī)與匯聚層交換機(jī)鏈路的帶寬利用率較低;LABERIO算法是基于單跳貪婪策略,且僅在鏈路負(fù)載超過(guò)門限閾值時(shí)實(shí)現(xiàn)對(duì)流的調(diào)度,不能主動(dòng)均衡鏈路負(fù)載,因此,在網(wǎng)絡(luò)負(fù)載較高的情況下,鏈路利用率較低。

在本實(shí)施例中,圖5給出本發(fā)明所提DCLB算法與ECMP、LABERIO算法的負(fù)載分布對(duì)比圖。由圖5可見(jiàn):所提實(shí)施方法DCLB算法較ECMP算法和LABERIO算法所得到的核心交換機(jī)的負(fù)載分布更均勻。在ECMP算法下,核心交換機(jī)的負(fù)載范圍為[2008,3107]Mbit,平均負(fù)載為2505Mbit,方差為461.4。在LABERIO算法下,核心交換機(jī)的負(fù)載范圍為[2503,3014]Mbit,平均負(fù)載為2718Mbit,方差為254.5。在DCLB算法下,核心交換機(jī)的負(fù)載范圍為[2638,3006]Mbit,平均負(fù)載為2837Mbit,方差為157.9。通過(guò)方差的比較,可以發(fā)現(xiàn)DCLB算法的負(fù)載分布得更加均勻。

以上這些實(shí)施例應(yīng)理解為僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1