一種用于全局ip調(diào)度的負載均衡方法
【技術(shù)領域】
[0001]本發(fā)明涉及SDN網(wǎng)絡的負載均衡技術(shù)領域,具體涉及一種用于全局ip調(diào)度的負載均衡方法,通過蟻群算法時刻檢測和計算網(wǎng)絡中各個交換機的狀態(tài),并通過SDN控制器下發(fā)流表給各個交換機,從而控制數(shù)據(jù)轉(zhuǎn)發(fā)路徑,提高數(shù)據(jù)轉(zhuǎn)發(fā)效率,以及實現(xiàn)全局網(wǎng)絡的負載均衡調(diào)控。
【背景技術(shù)】
[0002]負載均衡建立在現(xiàn)有網(wǎng)絡結(jié)構(gòu)之上,它提供了一種廉價有效透明的方法擴展網(wǎng)絡設備和服務器的帶寬、增加吞吐量、加強網(wǎng)絡數(shù)據(jù)處理能力、提高網(wǎng)絡的靈活性和可用性。負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執(zhí)行,例如Web服務器、FTP服務器、企業(yè)關(guān)鍵應用服務器和其它關(guān)鍵任務服務器等,從而共同完成工作任務。
[0003]在傳統(tǒng)網(wǎng)絡中,負載均衡算法有以下幾種:Static算法、Random算法、Roundrobin算法、Hash算法、CARP算法和Consistent hash算法。其中Hash算法最為普遍,它通過單射不可逆的HASH函數(shù),按照某種規(guī)則將網(wǎng)絡請求發(fā)往集群節(jié)點。采取基于數(shù)據(jù)包源地址的哈希映射可以在一定程度上解決這個問題:將具有相同源地址的數(shù)據(jù)包發(fā)給同一服務器節(jié)點,這使得基于高層會話的事務可以以適當?shù)姆绞竭\行。相對稱的是,基于目的地址的哈希調(diào)度算法可以用在Web Cache集群中,指向同一個目標站點的訪問請求都被負載平衡器發(fā)送到同一個Cache服務節(jié)點上,以避免頁面缺失而帶來的更新Cache問題。
[0004]近年來,SDN網(wǎng)絡技術(shù)逐漸成為網(wǎng)絡領域的研究重點,它要求將數(shù)據(jù)傳輸和網(wǎng)絡控制功能分離開來,這意味著SDN控制器雖然可以基于服務器活動進行簡單的負載均衡決策,但并不能基于數(shù)據(jù)本身的內(nèi)容進行決策。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題是:在SDN網(wǎng)絡中,本發(fā)明的重點是如何實現(xiàn)各個交換機之間負載均衡地轉(zhuǎn)發(fā)數(shù)據(jù),從而實現(xiàn)整個網(wǎng)絡的穩(wěn)定運行。
[0006]在大型網(wǎng)絡中,某一節(jié)點交換機到另一節(jié)點交換機的路徑遠遠不止一條,這些路徑交錯復雜,形成了復雜的互聯(lián)網(wǎng)絡。眾多冗余的網(wǎng)絡路徑對于預防單點失效具有積極的作用,事實上,在數(shù)據(jù)轉(zhuǎn)發(fā)過程中,根據(jù)現(xiàn)有的路由轉(zhuǎn)發(fā)算法,交換機通常會選擇最短的路徑進行數(shù)據(jù)轉(zhuǎn)發(fā),如果數(shù)據(jù)量較少,最短路徑的轉(zhuǎn)發(fā)能夠起到有效的轉(zhuǎn)發(fā)效率。然而當數(shù)據(jù)量較大時,僅僅依據(jù)一條路徑進行數(shù)據(jù)轉(zhuǎn)發(fā),數(shù)據(jù)轉(zhuǎn)發(fā)效率會大大下降,而且轉(zhuǎn)發(fā)交換機的負載負擔會大大增加。如何有效的利用那些冗余路徑,提高其他交換機的轉(zhuǎn)發(fā)效率,是解決大數(shù)據(jù)轉(zhuǎn)發(fā)過程的重要方法。
[0007]本發(fā)明所采用的技術(shù)方案為:
一種用于全局ip調(diào)度的負載均衡方法,所述方法通過蟻群算法時刻檢測和計算網(wǎng)絡中各個交換機的狀態(tài),并通過SDN控制器下發(fā)流表給各個交換機,從而控制數(shù)據(jù)轉(zhuǎn)發(fā)路徑,提高數(shù)據(jù)轉(zhuǎn)發(fā)效率,以及實現(xiàn)全局網(wǎng)絡的負載均衡調(diào)控,其中:
SDN控制器使用了 LLDP (Link Layer Discovery Protocol,鏈路層發(fā)現(xiàn)協(xié)議)作為鏈路發(fā)現(xiàn)協(xié)議,該協(xié)議提供了一種標準的鏈路發(fā)現(xiàn)方式,可以將本端設備的主要能力、管理地址、設備標識、接口標識等信息組織成不同的TLVCType/Length/Value,類型/長度/ 值),并封裝在 LLDI3DU (Link Layer Discovery Protocol Date Unit,鏈路層發(fā)現(xiàn)協(xié)議數(shù)據(jù)單元)中發(fā)布于自己直連的鄰居,鄰居收到這些信息后,將其以標準MIB (ManagementInformat1n Base,管理信息庫)的形式保存起來,以供網(wǎng)絡管理系統(tǒng)查詢機判斷鏈路的通信狀況;
當獲得全局網(wǎng)絡的拓撲結(jié)構(gòu)后,在控制器采用蟻群算法,計算出源交換機到目的交換機的所有有效路徑,并且依據(jù)概率統(tǒng)計出有效路徑的排序;
接著,采用矩陣方式,計算各個有效路徑的相同節(jié)點的個數(shù),并且保證各個路徑之間的相同節(jié)點不超過2個,因此,為了使得滿足上述的有效路徑條數(shù)越多,那么就要時刻計算出有效路徑的個數(shù);最后根據(jù)這些有效路徑的概率比例,分配ip數(shù)據(jù)包的轉(zhuǎn)發(fā)數(shù)量,以達到負載均衡的目的。
[0008]所述方法操作流程如下:
1)SDN控制器通過廣播方式發(fā)送LLDP報文給各個交換機,獲取整個網(wǎng)絡的拓撲結(jié)構(gòu);
2)SDN控制器計算從源交換機到目標交換機的可用路徑;
3)SDN控制器通過蟻群算法,計算出用于負載平衡的所有路徑,均衡各個交換機轉(zhuǎn)發(fā)數(shù)據(jù)流量的負擔;
4)按照SDN計算的轉(zhuǎn)發(fā)路徑,下發(fā)流表到各個交換機中,那么交換機按照流表進行數(shù)據(jù)轉(zhuǎn)發(fā)即可;如果網(wǎng)絡拓撲發(fā)生變化,那么在控制器中重新計算新的鏈路,并形成流表,再下發(fā)給各個交換機。
[0009]所述依據(jù)概率統(tǒng)計出有效路徑的排序方式為:約定概率越大的路徑,排序越靠前,最小排序為I。
[0010]本發(fā)明的有益效果為:
本發(fā)明能夠有效利用冗余路徑,提高了其他交換機的轉(zhuǎn)發(fā)效率,是解決大數(shù)據(jù)轉(zhuǎn)發(fā)過程的重要方法。
【附圖說明】
[0011]圖1為本發(fā)明用于全局ip調(diào)度的負載均衡方法流程圖;
圖2為SDN網(wǎng)絡的基本拓撲圖。
【具體實施方式】
[0012]下面參照附圖所示,通過【具體實施方式】對本發(fā)明進一步說明:
實施例1:
一種用于全局ip調(diào)度的負載均衡方法,所述方法通過蟻群算法時刻檢測和計算網(wǎng)絡中各個交換機的狀態(tài),并通過SDN控制器下發(fā)流表給各個交換機,從而控制數(shù)據(jù)轉(zhuǎn)發(fā)路徑,提高數(shù)據(jù)轉(zhuǎn)發(fā)效率,以及實現(xiàn)全局網(wǎng)絡的負載均衡調(diào)控,其中:
SDN控制器使用了 LLDP (Link Layer Discovery Protocol,鏈路層發(fā)現(xiàn)協(xié)議)作為鏈路發(fā)現(xiàn)協(xié)議,該協(xié)議提供了一種標準的鏈路發(fā)現(xiàn)方式,可以將本端設備的主要能力、管理地址、設備標識、接口標識等信息組織成不同的TLVCType/Length/Value,類型/長度/ 值),并封裝在 LLDI3DU (Link Layer Discovery Protocol Date Unit,鏈路層發(fā)現(xiàn)協(xié)議數(shù)據(jù)單元)中發(fā)布于自己直連的鄰居,鄰居收到這些信息后,將其以標準MIB (ManagementInformat1n Base,管理信息庫)的形式保存起來,以供網(wǎng)絡管理系統(tǒng)查詢機判斷鏈路的通信狀況;
當獲得全局網(wǎng)絡的拓撲結(jié)構(gòu)后,在控制器采用蟻群算法,計算出源交換機到目的交換機的所有有效路徑,并且依據(jù)概率統(tǒng)計出有效路徑的排序;
接著,采用矩陣方式,計算各個有效路徑的相同節(jié)點的個數(shù),并且保證各個路徑之間的相同節(jié)點不超過2個,因此,為了使得滿足上述的有效路徑條數(shù)越多,那么就要時刻計算出有效路徑的個數(shù);最后根據(jù)這些有效路徑的概率比例,分配ip數(shù)據(jù)包的轉(zhuǎn)發(fā)數(shù)量,以達到負載均衡的目的。
[0013]實施例2:
在實施例1的基礎上,本實施例在openflow交換機的網(wǎng)絡系統(tǒng)中,控制器全局調(diào)控所有的的openflow交換機,如圖2所示的網(wǎng)絡拓撲場景中,如圖1所示,所述方法操作流程如下:
1)SDN控制器通過廣播方式發(fā)送LLDP報文給各個交換機,獲取整個網(wǎng)絡的拓撲結(jié)構(gòu);
2)SDN控制器計算從源交換機到目標交換機的可用路徑;
3)SDN控制器通過蟻群算法,計算出用于負載平衡的所有路徑,均衡各個交換機轉(zhuǎn)發(fā)數(shù)據(jù)流量的負擔;
4)按照SDN計算的轉(zhuǎn)發(fā)路徑,下發(fā)流表到各個交換機中,那么交換機按照流表進行數(shù)據(jù)轉(zhuǎn)發(fā)即可;如果網(wǎng)絡拓撲發(fā)生變化,那么在控制器中重新計算新的鏈路,并形成流表,再下發(fā)給各個交換機。
[0014]實施例3:
如圖1所示,在實施例1或2的基礎上,本實施例所述依據(jù)概率統(tǒng)計出有效路徑的排序方式為:約定概率越大的路徑,排序越靠前,最小排序為I。
[0015]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權(quán)利要求限定。
【主權(quán)項】
1.一種用于全局ip調(diào)度的負載均衡方法,其特征在于:所述方法通過蟻群算法時刻檢測和計算網(wǎng)絡中各個交換機的狀態(tài),并通過SDN控制器下發(fā)流表給各個交換機,從而控制數(shù)據(jù)轉(zhuǎn)發(fā)路徑,提高數(shù)據(jù)轉(zhuǎn)發(fā)效率,以及實現(xiàn)全局網(wǎng)絡的負載均衡調(diào)控,其中: SDN控制器使用了 LLDP,將本端設備的主要能力、管理地址、設備標識、接口標識等信息組織成不同的TLV,并封裝在LLDroU中發(fā)布于自己直連的鄰居,鄰居收到這些信息后,將其以標準MIB的形式保存起來,以供網(wǎng)絡管理系統(tǒng)查詢機判斷鏈路的通信狀況; 當獲得全局網(wǎng)絡的拓撲結(jié)構(gòu)后,在控制器采用蟻群算法,計算出源交換機到目的交換機的所有有效路徑,并且依據(jù)概率統(tǒng)計出有效路徑的排序; 接著,采用矩陣方式,計算各個有效路徑的相同節(jié)點的個數(shù),并且保證各個路徑之間的相同節(jié)點不超過2個,最后根據(jù)這些有效路徑的概率比例,分配ip數(shù)據(jù)包的轉(zhuǎn)發(fā)數(shù)量,以達到負載均衡的目的。2.根據(jù)權(quán)利要求1所述的一種用于全局ip調(diào)度的負載均衡方法,其特征在于,所述方法操作流程如下: 1)SDN控制器通過廣播方式發(fā)送LLDP報文給各個交換機,獲取整個網(wǎng)絡的拓撲結(jié)構(gòu); 2)SDN控制器計算從源交換機到目標交換機的可用路徑; 3)SDN控制器通過蟻群算法,計算出用于負載平衡的所有路徑,均衡各個交換機轉(zhuǎn)發(fā)數(shù)據(jù)流量的負擔; 4)按照SDN計算的轉(zhuǎn)發(fā)路徑,下發(fā)流表到各個交換機中,那么交換機按照流表進行數(shù)據(jù)轉(zhuǎn)發(fā)即可;如果網(wǎng)絡拓撲發(fā)生變化,那么在控制器中重新計算新的鏈路,并形成流表,再下發(fā)給各個交換機。3.根據(jù)權(quán)利要求1或2所述的一種用于全局ip調(diào)度的負載均衡方法,其特征在于,所述依據(jù)概率統(tǒng)計出有效路徑的排序方式為:約定概率越大的路徑,排序越靠前,最小排序為1
【專利摘要】本發(fā)明公開了一種用于全局ip調(diào)度的負載均衡方法,所述方法通過蟻群算法時刻檢測和計算網(wǎng)絡中各個交換機的狀態(tài),并通過SDN控制器下發(fā)流表給各個交換機,從而控制數(shù)據(jù)轉(zhuǎn)發(fā)路徑,提高數(shù)據(jù)轉(zhuǎn)發(fā)效率,以及實現(xiàn)全局網(wǎng)絡的負載均衡調(diào)控。本發(fā)明能夠有效利用冗余路徑,提高了其他交換機的轉(zhuǎn)發(fā)效率,是解決大數(shù)據(jù)轉(zhuǎn)發(fā)過程的重要方法。
【IPC分類】H04L12/803, H04L29/08
【公開號】CN105007234
【申請?zhí)枴緾N201510425891
【發(fā)明人】鐘超群, 吳登勇, 陳乃闊
【申請人】山東超越數(shù)控電子有限公司
【公開日】2015年10月28日
【申請日】2015年7月20日