本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種基于SDN的網(wǎng)絡(luò)流量負載均衡方法。
背景技術(shù):
軟件定義網(wǎng)絡(luò)(Software DefinedNetwork,SDN),是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),是網(wǎng)絡(luò)虛擬化的一種實現(xiàn)方式,其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)作為管道變得更加智能。其主要特點為控制和轉(zhuǎn)發(fā)分離,集中控制,網(wǎng)絡(luò)能力開放,網(wǎng)絡(luò)可編程。
傳統(tǒng)網(wǎng)絡(luò)部分鏈路利用率低,但是部分鏈路又擁塞,網(wǎng)絡(luò)資源不能統(tǒng)一調(diào)度,導(dǎo)致網(wǎng)絡(luò)的靈活性和敏捷性不佳。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于SDN的網(wǎng)絡(luò)流量負載均衡方法,該基于SDN的網(wǎng)絡(luò)流量負載均衡方法可以解決網(wǎng)絡(luò)資源利用不均衡和突發(fā)流量、故障情況下網(wǎng)絡(luò)出現(xiàn)擁塞的問題。
為達到上述要求,本發(fā)明采取的技術(shù)方案是:提供一種基于SDN的網(wǎng)絡(luò)流量負載均衡方法,包括以下步驟:
S1、獲取實時鏈路屬性信息、鏈路狀態(tài)數(shù)據(jù)包及業(yè)務(wù)屬性信息;
S2、從所述鏈路狀態(tài)數(shù)據(jù)包中獲取所有路徑的起始鏈路,從所述起始鏈路中剔除重復(fù)鏈路和無效鏈路得到有效起始鏈路,從有效起始鏈路中標示出有流量路徑起始鏈路,并從所述有效起始鏈路中獲取指定路徑業(yè)務(wù)流量;
S3、根據(jù)所述業(yè)務(wù)屬性信息中的使用帶寬計算得到第一總流量;
S4、判斷所述第一總流量是否大于指定值;
S5、如果是,則根據(jù)所述第一總流量和所述有效起始鏈路的數(shù)量計算得到有效起始鏈路的平均流量;
S6、如果否,根據(jù)所述鏈路狀態(tài)數(shù)據(jù)包中的使用帶寬計算得到第二總流量,根據(jù)所述第二總流量和所述有效起始鏈路的數(shù)量計算得到有效起始鏈路的平均流量;
S7、將所述指定路徑業(yè)務(wù)流量和所述平均流量中的較大值作為衡量值,判斷本次得到的衡量值是否大于上次得到的衡量值;
S8、如果是,則將所述有流量路徑起始鏈路的流量帶寬更新為本次衡量值與向上波動緩沖系數(shù)的乘積;
S9、如果否,則將所述有流量路徑起始鏈路的流量帶寬更新為所述鏈路屬性信息中的最大可用帶寬。
該基于SDN的網(wǎng)絡(luò)流量負載均衡方法具有的優(yōu)點如下:通過將指定路徑業(yè)務(wù)流量和平均流量中的較大值作為衡量值,判斷鏈路是否需要進行流量控制,有效解決網(wǎng)絡(luò)上資源利用不均衡以及突發(fā)流量、故障情況下網(wǎng)絡(luò)出現(xiàn)擁塞的問題,實現(xiàn)網(wǎng)絡(luò)資源的統(tǒng)一調(diào)度,網(wǎng)絡(luò)更加智能化。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,在這些附圖中使用相同的參考標號來表示相同或相似的部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請的流程圖。
具體實施方式
為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖及具體實施例,對本申請作進一步地詳細說明。
在以下描述中,對“一個實施例”、“實施例”、“一個示例”、“示例”等等的引用表明如此描述的實施例或示例可以包括特定特征、結(jié)構(gòu)、特性、性質(zhì)、元素或限度,但并非每個實施例或示例都必然包括特定特征、結(jié)構(gòu)、特性、性質(zhì)、元素或限度。另外,重復(fù)使用短語“根據(jù)本申請的一個實施例”雖然有可能是指代相同實施例,但并非必然指代相同的實施例。
為簡單起見,以下描述中省略了本領(lǐng)域技術(shù)人員公知的某些技術(shù)特征。
根據(jù)本申請的一個實施例,提供一種基于SDN的網(wǎng)絡(luò)流量負載均衡方法,采用動態(tài)規(guī)劃算法對網(wǎng)絡(luò)流量進行控制,如圖1所示,包括以下步驟:
S1、獲取實時鏈路屬性信息、鏈路狀態(tài)數(shù)據(jù)包及業(yè)務(wù)屬性信息;其中鏈路狀態(tài)數(shù)據(jù)包為與該路由器直連的每條鏈路的狀態(tài),包括鄰居ID、鏈路類型和帶寬;
S2、從鏈路狀態(tài)數(shù)據(jù)包中獲取所有路徑的起始鏈路,從起始鏈路中剔除重復(fù)鏈路和無效鏈路從而得到有效起始鏈路,無效鏈路指的是LSP動態(tài)變更中的臨時或異常數(shù)據(jù),根據(jù)起始鏈路中的啟始點來確認;從有效起始鏈路中標示出有流量路徑起始鏈路,該有流量路徑起始鏈路包括最短路徑起始鏈路和其他有流量路徑起始鏈路,對無流量路徑起始鏈路不設(shè)置流量控制;并從有效起始鏈路中獲取指定路徑業(yè)務(wù)流量;
S3、根據(jù)業(yè)務(wù)屬性信息中的使用帶寬累加計算得到第一總流量;
S4、判斷第一總流量是否大于指定值;
S5、如果是,則根據(jù)第一總流量和有效起始鏈路的數(shù)量計算得到有效起始鏈路的平均流量;
S6、如果否,根據(jù)鏈路狀態(tài)數(shù)據(jù)包中的使用帶寬累加計算得到第二總流量,根據(jù)第二總流量和有效起始鏈路的數(shù)量計算得到有效起始鏈路的平均流量;
S7、將指定路徑業(yè)務(wù)流量和平均流量中的較大值作為衡量值,判斷本次得到的衡量值是否大于上次得到的衡量值;
S8、如果是,則將有流量路徑起始鏈路的流量帶寬更新為本次衡量值與向上波動緩沖系數(shù)的乘積;該向上波動緩沖系數(shù)默認為5%;
S9、如果否,則將有流量路徑起始鏈路的流量帶寬更新為鏈路屬性信息中的最大可用帶寬。
以上所述實施例僅表示本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能理解為對本發(fā)明范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明保護范圍。因此本發(fā)明的保護范圍應(yīng)該以所述權(quán)利要求為準。