亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于SDN的加權輪詢系統(tǒng)及算法的制作方法

文檔序號:12694838閱讀:383來源:國知局
一種基于SDN的加權輪詢系統(tǒng)及算法的制作方法與工藝

本發(fā)明涉及移動通訊技術領域,具體為一種基于SDN的加權輪詢系統(tǒng)及算法。



背景技術:

軟件定義網(wǎng)絡(SoftwareDefinedNetwork,SDN),是Emulex網(wǎng)絡一種新型網(wǎng)絡創(chuàng)新架構,是網(wǎng)絡虛擬化的一種實現(xiàn)方式,其核心技術OpenFlow通過將網(wǎng)絡設備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網(wǎng)絡流量的靈活控制,使網(wǎng)絡作為管道變得更加智能。傳統(tǒng)IT架構中的網(wǎng)絡,根據(jù)業(yè)務需求部署上線以后,如果業(yè)務需求發(fā)生變動,重新修改相應網(wǎng)絡設備(路由器、交換機、防火墻)上的配置是一件非常繁瑣的事情。在互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng)瞬息萬變的業(yè)務環(huán)境下,網(wǎng)絡的高穩(wěn)定與高性能還不足以滿足業(yè)務需求,靈活性和敏捷性反而更為關鍵。SDN所做的事是將網(wǎng)絡設備上的控制權分離出來,由集中的控制器管理,無須依賴底層網(wǎng)絡設備(路由器、交換機、防火墻),屏蔽了來自底層網(wǎng)絡設備的差異。而控制權是完全開放的,用戶可以自定義任何想實現(xiàn)的網(wǎng)絡路由和傳輸規(guī)則策略,從而更加靈活和智能。

SDN是下一代IP網(wǎng)絡管理架構設計的代表,這種思路強調拆分控制層面與轉發(fā)層面,用“流交換”替換“包轉換”,用“集中管理”取代單獨配置。OpenFlow則是實現(xiàn)這種思路時,用網(wǎng)絡集中管理平臺的流表(FlowTable,更通用的詞是NIB,即NetworkInformationBase)取代網(wǎng)絡設備路由表(RIB,RoutingInformationBase)的協(xié)議。

SDN網(wǎng)絡包括SDNController(SDN控制器)和SDN交換機。SDN控制器是軟件定義網(wǎng)絡(SDN)中的應用程序,負責流量控制以確保智能網(wǎng)絡。SDN控制器是基于如OpenFlow等協(xié)議的,允許服務器告訴交換機向哪里發(fā)送數(shù)據(jù)包。SDN控制器是整個SDN網(wǎng)絡的控制中心,SDN交換機通過OpenFlow協(xié)議,依靠SDN控制器下發(fā)各種流表進行報文轉發(fā)。SDN網(wǎng)絡中,支持OpenFlow的SDN交互機依靠流表進行業(yè)務轉發(fā),SDN交互機中的流表是SDN控制器生成并一條條下發(fā)給SDN交互機。

隨著訪問流量快速增長,業(yè)務量不斷提高,服務器往往工作在超負荷狀態(tài),因此用戶無法得到不間斷可用性及較快的系統(tǒng)反應時間?,F(xiàn)有解決方法是通過負載均衡技術,傳統(tǒng)的負載均衡集中在一個負載均衡設備中,負載均衡設備負責根據(jù)已配置均衡策略將用戶請求在服務器群組中分發(fā)。而控制粒度是基于負載均衡設備的端口設置的,使得控制粒度過大,且整個配置是分布式的(整個網(wǎng)絡存在多臺負載均衡設備),配置復雜且容易出錯。且用戶業(yè)務很多時,SDN控制器會生成大量流表項,通過OpenFlow協(xié)議本身的流表下發(fā)機制,配置SDN交換機的流表速度比較慢,因此生成流表很多,流表下發(fā)速度慢,導致業(yè)務完全生效時間會很長,影響用戶體驗。



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

本發(fā)明針對現(xiàn)有技術存在的問題,提出了一種基于SDN的加權輪詢系統(tǒng)及算法,所有的配置都集中于控制器,而且SDN交換機可以自動感知服務器并通知控制器,配置方便而簡單,由控制器統(tǒng)一控制,控制器根據(jù)上報的服務器信息制定加權輪詢策略,并下發(fā)流表,從而實現(xiàn)負載分擔功能。

本發(fā)明解決其技術問題所采用的技術方案是:

一種基于SDN的加權輪詢系統(tǒng),包括:

客戶端模塊,用于發(fā)送客戶請求;

服務器模塊,用于接收并處理所述客戶端模塊發(fā)送的客戶請求;

SDN交換機模塊,用于動態(tài)檢測所述服務器模塊,并將檢測結果上報給SDN控制器模塊;

SDN控制器模塊,用于根據(jù)所述SDN交換機模塊上報的檢測結果生成加權輪詢策略表,并根據(jù)所述加權輪詢策略表為所述客戶端模塊的客戶請求分配服務器,以及根據(jù)服務器分配結果給所述SDN交換機模塊下發(fā)流表。

作為優(yōu)選,所述SDN交換機模塊包括:

PING報文發(fā)送單元,用于向接口發(fā)送PING報文以獲取活躍服務器的IP地址;

FTP請求報文構造單元,用于構造FTP請求報文以獲取活躍FTP服務器地址;

HTTP請求報文構造單元,用于構造HTTP請求報文以獲取活躍WEB服務器地址;

報文上報單元,用于將所述PING報文發(fā)送單元、所述FTP請求報文構造單元及所述HTTP請求報文構造單元獲取的服務器信息以Experimenter報文形式上報給所述SDN控制器模塊。

作為優(yōu)選,所述SDN控制器模塊包括:

報文接收單元,用于接收所述SDN交換機模塊上報的Experimenter報文;

報文解析單元,用于解析所述報文接收單元接收的Experimenter報文以獲取服務器信息;

加權輪詢策略表生成單元,用于根據(jù)報文解析單元獲取的服務器信息生成加權輪詢策略表;

服務器分配單元,用于根據(jù)加權輪詢策略表獲得每一服務器的權重和使用次數(shù),并根據(jù)每一服務器的權重和使用次數(shù)為相應服務器分配客戶端;

流表下發(fā)單元,用于根據(jù)所述服務器分配單元的服務器分配結果計算轉發(fā)路徑,并根據(jù)所述轉發(fā)路徑向所述SDN交換機模塊下發(fā)流表。

作為優(yōu)選,所述SDN控制器模塊還包括:

閾值設置單元,用于設置流表項的閾值;

閾值檢測檢測,與所述閾值設置單元相連,用于檢測所述SDN控制器生成的流表項的數(shù)量是否超過預設的閾值;

流文件單元,與所述閾值檢測單元相連,用于在所述SDN控制器生成的流表項的數(shù)量超過預設的閾值時生成包含所述流表項的流文件;

流表信息發(fā)送單元,與所述流文件單元相連,用于向所述SDN交換機發(fā)送包含所述流文件信息的流表消息。

作為優(yōu)選,所述SDN控制器中還包括:

反饋信息接收單元,用于判定在預設時間內已收到所述SDN交換機反饋的用于確認已獲取流表項并已下發(fā)流表的反饋信息。

一種采用上述系統(tǒng)的加權輪詢算法,包括以下步驟:

1)通過客戶端模塊發(fā)送客戶請求;

2)通過SDN交換機模塊動態(tài)檢測服務器模塊,并將檢測結果上報給SDN控制器模塊;

3)通過SDN控制器模塊根據(jù)所述SDN交換機模塊上報的檢測結果生成加權輪詢策略表,并根據(jù)所述加權輪詢策略表為所述客戶端模塊的客戶請求分配服務器,以及根據(jù)服務器分配結果給所述SDN交換機模塊下發(fā)流表;

4)通過服務器模塊接收并處理所述客戶端模塊發(fā)送的客戶請求。

作為優(yōu)選,所述步驟2)具體包括:

21)通過PING報文發(fā)送單元向接口發(fā)送PING報文以獲取活躍服務器的IP地址;

22)通過FTP請求報文構造單元構造FTP請求報文以獲取活躍FTP服務器地址;

23)通過HTTP請求報文構造單元構造HTTP請求報文以獲取活躍WEB服務器地址;

24)通過報文上報單元將所述PING報文發(fā)送單元、所述FTP請求報文構造單元及所述HTTP請求報文構造單元獲取的服務器信息以Experimenter報文形式上報給所述SDN控制器模塊。

作為優(yōu)選,所述步驟3)具體包括:

31)通過報文接收單元接收所述SDN交換機模塊上報的Experimenter報文;

32)通過報文解析單元解析所述報文接收單元接收的Experimenter報文以獲取服務器信息;

33)通過加權輪詢策略表生成單元根據(jù)報文解析單元獲取的服務器信息生成加權輪詢策略表;

34)通過服務器分配單元根據(jù)加權輪詢策略表獲得每一服務器的權重和使用次數(shù),并根據(jù)每一服務器的權重和使用次數(shù)為相應服務器分配客戶端;

35)通過流表下發(fā)單元根據(jù)所述服務器分配單元的服務器分配結果計算轉發(fā)路徑,并根據(jù)所述轉發(fā)路徑向所述SDN交換機模塊下發(fā)流表。

作為優(yōu)選,所述SDN控制器的加權輪詢算法還包括以下步驟:

41)通過閾值設置單元設置流表項的閾值;

42)通過閾值檢測單元檢測所述SDN控制器生成的流表項的數(shù)量是否超過預設的閾值;

43)通過流文件單元用于在所述SDN控制器生成的流表項的數(shù)量超過預設的閾值時生成包含所述流表項的流文件;

44)通過流表信息發(fā)送單元向所述SDN交換機發(fā)送包含所述流文件信息的流表消息。

作為優(yōu)選,所述SDN控制器的加權輪詢算法還包括以下步驟:

通過反饋信息接收單元判定在預設時間內已收到所述SDN交換機反饋的用于確認已獲取流表項并已下發(fā)流表的反饋信息;

在預設時間內未收到所述SDN交換機反饋的反饋信息時,所述流表下發(fā)單元向所述SDN交換機下發(fā)包含所述流表項的流表。

本發(fā)明的有益效果是:

基于SDN架構,加權輪詢的策略基于整個網(wǎng)絡,提供端到端的服務,SDN交換機具備定時感知服務器的功能,并通過Experimenter報文上報給SDN控制器,控制器根據(jù)上報的服務器信息制定加權輪詢策略,并下發(fā)流表,從而實現(xiàn)負載分擔功能。

附圖說明

圖1為本發(fā)明基于SDN的加權輪詢系統(tǒng)的結構示意圖;

圖2為本發(fā)明基于SDN的加權輪詢算法的示意圖;

圖3為本發(fā)明基于SDN的加權輪詢算法的總流程圖;

圖4為本發(fā)明SDN交換機模塊的處理流程示意圖;

圖5為本發(fā)明SDN控制器模塊的處理流程示意圖;

圖6為本發(fā)明SDN控制器模塊的加權輪詢示意圖。

具體實施方式

以下是本發(fā)明的具體實施例并結合附圖,對本發(fā)明的技術方案作進一步的描述,但本發(fā)明并不限于這些實施例。

如圖1-2所示,一種基于SDN的加權輪詢系統(tǒng),包括:

客戶端模塊,用于發(fā)送客戶請求,包括若干客戶端設備。

服務器模塊,用于接收并處理所述客戶端模塊發(fā)送的客戶請求。包括若干服務器,多臺服務器組成一個群組,它們通過網(wǎng)絡設備相連接,這些服務器提供相同或相似的網(wǎng)絡服務。

如圖4所示,SDN交換機模塊,用于動態(tài)檢測所述服務器模塊,并將檢測結果上報給SDN控制器模塊。所述SDN交換機模塊包括,PING報文發(fā)送單元,用于向接口發(fā)送PING報文以獲取活躍服務器的IP地址;FTP請求報文構造單元,用于構造FTP請求報文以獲取活躍FTP服務器地址;HTTP請求報文構造單元,用于構造HTTP請求報文以獲取活躍WEB服務器地址;報文上報單元,用于將所述PING報文發(fā)送單元、所述FTP請求報文構造單元及所述HTTP請求報文構造單元獲取的服務器信息以Experimenter報文形式上報給所述SDN控制器模塊。

如圖5-6所示,SDN控制器模塊,用于根據(jù)所述SDN交換機模塊上報的檢測結果生成加權輪詢策略表,并根據(jù)所述加權輪詢策略表為所述客戶端模塊的客戶請求分配服務器,以及根據(jù)服務器分配結果給所述SDN交換機模塊下發(fā)流表。通過控制器感知服務器群組,根據(jù)加權輪詢的策略,將用戶請求在服務器群組中的分發(fā),為用戶提供服務,并對服務器可用性進行維護。加權輪詢的策略基于整個網(wǎng)絡,提供端到端的服務,SDN交換機具備定時感知服務器的功能,并通過Experimenter報文上報給SDN控制器,控制器根據(jù)上報的服務器信息制定加權輪詢策略,并下發(fā)流表,從而實現(xiàn)負載分擔功能。

控制器應支持基于SDN的控制平面硬件限流配置任務序列,應包括:基于SDN的控制平面硬件限流功能打開或關閉,硬件限流策略表。配置項包括基于SDN的加權輪詢功能,用于打開或關閉基于SDN的加權輪詢功能和加權輪詢策略表,加權輪詢策略表由上報的Experimenter報文創(chuàng)建,可由用戶靜態(tài)修改配置。

Experimenter報文的字段包括服務器IP地址,此字段定義服務器IP地址;服務器類型,此字段定義服務器類型,1為FTP服務器,2為WEB服務器;交換機ID,此字段指定連接服務器的交換機ID;交換機端口,此字段指定連接服務器的交換機的端口;權重,此字段指定服務器的權重;使用次數(shù),此字段指定服務器被使用的次數(shù)。

從SDN交換機模塊到SDN控制器模塊的私有擴展Experimenter報文的格式中,Experimenter值為255需要向ONF組織申請,Experimenter type值為1表明是從SDN交換機到控制器方向。當服務器檢測結束以后,私有擴展Experimenter報文由SDN交換機上報給控制器。其中服務器信息包括:服務器IP地址和服務器類型。

所述SDN控制器模塊包括,報文接收單元,用于接收所述SDN交換機模塊上報的Experimenter報文;報文解析單元,用于解析所述報文接收單元接收的Experimenter報文以獲取服務器信息;加權輪詢策略表生成單元,用于根據(jù)報文解析單元獲取的服務器信息生成加權輪詢策略表;服務器分配單元,用于根據(jù)加權輪詢策略表獲得每一服務器的權重和使用次數(shù),并根據(jù)每一服務器的權重和使用次數(shù)為相應服務器分配客戶端;流表下發(fā)單元,用于根據(jù)所述服務器分配單元的服務器分配結果計算轉發(fā)路徑,并根據(jù)所述轉發(fā)路徑向所述SDN交換機模塊下發(fā)流表。

當用戶業(yè)務很多時,SDN控制器模塊會生成大量流表項,通過OpenFlow協(xié)議本身的流表下發(fā)機制,配置SDN交換機模塊的流表速度比較慢,因此生成流表很多,流表下發(fā)速度慢,導致業(yè)務完全生效時間會很長,影響用戶體驗。因此,所述SDN控制器模塊還包括,閾值設置單元,用于設置流表項的閾值,流表項的閾值可根據(jù)網(wǎng)絡負載能力、網(wǎng)絡速度等進行設定。通過SDN控制器模塊向SDN交換機模塊下發(fā)流表,進一步提高了服務器的分配效率。

閾值檢測檢測,與所述閾值設置單元相連,用于檢測所述SDN控制器生成的流表項的數(shù)量是否超過預設的閾值。當流表項的數(shù)量沒有超過閾值時,SDN控制器模塊繼續(xù)以傳統(tǒng)流表下發(fā)方式到SDN交換機模塊,即SDN控制器模塊生成流表并一條條下發(fā)給SDN交換機模塊。當SDN控制器模塊生成的流表項的數(shù)量超過預設的流表項的閾值,則所述流文件單元生成包含所述流表項的流文件。

流文件單元,與所述閾值檢測單元相連,用于在所述SDN控制器生成的流表項的數(shù)量超過預設的閾值時生成包含所述流表項的流文件。流表信息發(fā)送單元,與所述流文件單元相連,用于向所述SDN交換機發(fā)送包含所述流文件信息的流表消息。在生成包含所述流表項的流文件后,所述流表信息發(fā)送單元向所述SDN交換機發(fā)送包含所述流文件信息的流表消息,其中所述流表信息中至少包括流文件標識和流文件的名稱。

所述SDN交換機模塊還包含:流表信息接收單元,流表項獲取單元以及配置下發(fā)單元。所述流表信息接收單元用于從SDN控制器模塊接收包含流文件信息的流表消息;所述流表項獲取單元與所述流表信息接收單元相連,用于根據(jù)接收到的所述流表消息以預設的網(wǎng)絡訪問方式從所述SDN控制器模塊獲取所述流文件中的流表項。

此外,在向所述SDN交換機模塊發(fā)送包含所述流文件信息的流表消息之后,為確保SDN交換機模塊已經獲取流文件中的流表項,所述SDN控制器模塊發(fā)送一詢問消息詢問所述SDN交換機模塊是否已經獲取流文件中的流表項。因此,所述SDN交換機模塊內還包含:反饋信息發(fā)送單元,與所述配置下發(fā)單元相連,用于向所述SDN控制器模塊發(fā)送用于確認已獲取流表項并已下發(fā)流表的反饋信息。所述SDN控制器中還包括,反饋信息接收單元,用于判定在預設時間內已收到所述SDN交換機反饋的用于確認已獲取流表項并已下發(fā)流表的反饋信息。反饋信息接收單元在預設時間內未收到所述SDN交互機反饋的反饋信息時,所述流表下發(fā)單元向所述SDN交換機模塊下發(fā)包含所述流表項的流表。也就是說,所述反饋信息接收單元在預設時間內未收到所述反饋信息發(fā)送單元反饋的用于確認已獲取流表項并已下發(fā)流表的反饋信息時,SDN控制器模塊繼續(xù)以傳統(tǒng)流表下發(fā)方式到SDN交換機模塊,即SDN控制器模塊生成流表并一條條下發(fā)給SDN交換機模塊。

如圖3所示,一種加權輪詢算法,其包括以下步驟:

1)通過客戶端模塊發(fā)送客戶請求;

2)通過SDN交換機模塊動態(tài)檢測服務器模塊,并將檢測結果上報給SDN控制器模塊。所述步驟2)具體包括,21)通過PING報文發(fā)送單元向接口發(fā)送PING報文以獲取活躍服務器的IP地址;22)通過FTP請求報文構造單元構造FTP請求報文以獲取活躍FTP服務器地址;23)通過HTTP請求報文構造單元構造HTTP請求報文以獲取活躍WEB服務器地址;24)通過報文上報單元將所述PING報文發(fā)送單元、所述FTP請求報文構造單元及所述HTTP請求報文構造單元獲取的服務器信息以Experimenter報文形式上報給所述SDN控制器模塊。

3)通過SDN控制器模塊根據(jù)所述SDN交換機模塊上報的檢測結果生成加權輪詢策略表,并根據(jù)所述加權輪詢策略表為所述客戶端模塊的客戶請求分配服務器,以及根據(jù)服務器分配結果給所述SDN交換機模塊下發(fā)流表。

所述步驟3)具體包括,31)通過報文接收單元接收所述SDN交換機模塊上報的Experimenter報文;32)通過報文解析單元解析所述報文接收單元接收的Experimenter報文以獲取服務器信息;33)通過加權輪詢策略表生成單元根據(jù)報文解析單元獲取的服務器信息生成加權輪詢策略表;34)通過服務器分配單元根據(jù)加權輪詢策略表獲得每一服務器的權重和使用次數(shù),并根據(jù)每一服務器的權重和使用次數(shù)為相應服務器分配客戶端;35)通過流表下發(fā)單元根據(jù)所述服務器分配單元的服務器分配結果計算轉發(fā)路徑,并根據(jù)所述轉發(fā)路徑向所述SDN交換機模塊下發(fā)流表。

4)通過服務器模塊接收并處理所述客戶端模塊發(fā)送的客戶請求。

所述SDN控制器的加權輪詢算法還包括以下步驟,41)通過閾值設置單元設置流表項的閾值;42)通過閾值檢測單元檢測所述SDN控制器生成的流表項的數(shù)量是否超過預設的閾值;43)通過流文件單元用于在所述SDN控制器生成的流表項的數(shù)量超過預設的閾值時生成包含所述流表項的流文件;44)通過流表信息發(fā)送單元向所述SDN交換機發(fā)送包含所述流文件信息的流表消息。

所述SDN控制器的加權輪詢算法還包括以下步驟,通過反饋信息接收單元判定在預設時間內已收到所述SDN交換機反饋的用于確認已獲取流表項并已下發(fā)流表的反饋信息;在預設時間內未收到所述SDN交換機反饋的反饋信息時,所述流表下發(fā)單元向所述SDN交換機下發(fā)包含所述流表項的流表。也就是說,所述SDN控制器模塊在預設時間內未收到所述SDN交換機模塊反饋的用于確認已獲取流表項并已下發(fā)流表的反饋信息時,SDN控制器模塊繼續(xù)以傳統(tǒng)流表下發(fā)方式到SDN交換機模塊,即SDN控制器模塊生成流表并一條條下發(fā)給SDN交換機模塊。

SDN控制器模塊負責對整個SDN網(wǎng)絡(Software Defined Network,軟件定義網(wǎng)絡)的集中化控制,對于把握全網(wǎng)資源視圖、改善網(wǎng)絡資源交付質量具有非常重要的作用。單一的控制器無法應對跨越多個地域的SDN網(wǎng)絡問題;需要有多臺控制器形成的分布式集群,避免單一的控制器節(jié)點造成的可靠性、擴展性、性能等方面的問題。

因此,所述SDN交換機模塊還包括通信處理單元,所述SDN控制器模塊包括:第一SDN控制器、至少一個第二SDN控制器、及配置管理單元。所述第一SDN控制器,用于同所述SDN交換機模塊的通信處理單元建立主連接;所述第二SDN控制器,用于同所述SDN交換機模塊的通信處理單元建立輔連接;所述配置管理單元,用于在所述主連接失效的情況下,在所述SDN交換機模塊的各所述輔連接中選定的新主連接。所述新主連接的SDN控制器與舊主連接的SDN控制器間保持數(shù)據(jù)同步,所述SDN控制器模塊中失去活性(例如出現(xiàn)故障而使主連接失效)的SDN控制器的負載根據(jù)預設的負載分擔算法被平均分配至其他具有活性的SDN控制器。

為了使SDN交換機模塊可以從舊主連接切換至新主連接,所述SDN交換機模塊和SDN控制器模塊之間需存在對應的通信交互。具體的,所述配置管理單元的在所述SDN交換機模塊的各所述輔連接中選定的新主連接,包括:接收包含所述SDN交換機MAC地址的第一Experimenter報文,并根據(jù)所述SDN控制器模塊的IP地址和所述MAC地址進行計算來確定各SDN控制器與所述SDN交換機模塊的連接類型,所述連接類型為所述主連接或輔連接,然后,向所述SDN交換機模塊發(fā)送第二Experimenter報文,每個所述第二Experimenter報文包含所述SDN控制器模塊內的一個SDN控制器的IP地址和連接類型。

所述SDN控制器間的同步分為實時同步和周期同步,實時同步是增量同步,引起實時同步的因素包括四點:統(tǒng)計信息變化、編排器變化、北向應用變化和OF消息變化等;周期同步是全數(shù)據(jù)庫的同步,由于花費時間較長,應后臺處理。除了連接狀態(tài)信息,各個SDN控制器的數(shù)據(jù)庫中的數(shù)據(jù)內容可保持完全一致。

本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術領域的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權利要求書所定義的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1