Sdn網絡基于用戶報文時間反饋的負載均衡處理方法及系統的制作方法
【專利摘要】本發明公開了一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法及系統,該方法包含步驟:SDN控制器負載均衡初始化;網絡交換器收到用戶的連接請求,并送至SDN控制器處理;網絡交換器根據匹配的流表,發送報文到對應的服務器,服務器通過網絡交換器將響應報文上報給SDN控制器;SDN控制器檢查是否接收到服務器響應報文;若SDN控制器收到服務器響應報文,則執行步驟5;若SDN控制器未收到服務器響應報文,則說明當前沒有可用的服務器;SDN控制器接收到第一個到達的服務器響應報文,檢查目的IP是否為用戶IP,如果是該用戶IP,則該所述的服務器響應最快,負載最小;SDN控制器選擇最優的鏈路。本發明能夠合理分配客戶的訪問,使用戶對服務器的訪問達到均衡。
【專利說明】SDN網絡基于用戶報文時間反饋的負載均衡處理方法及系 統
【技術領域】
[0001] 本發明涉及通訊領域的負載均衡處理,特別涉及一種SDN網絡基于用戶報文時間 反饋的負載均衡處理方法及系統。
【背景技術】
[0002] 隨著大數據時代的到來,用戶訪問量快速增長,使得單一的服務器設備根本無法 承擔,通過負載均衡(又稱為負載分擔,英文名稱為Load Balance)技術可將服務分攤到多 個不同服務器上進行處理,傳統負載均衡處理包括靜態算法和動態算法。
[0003] 常見的負載均衡靜態算法 (1) 輪循均衡(Round Robin):輪詢均衡的思想最為簡單明了,就是按照輪流且循環 的原則分配任務。將服務器按照某種順序編號,如從1至N(N為自然數),每個編號對應一 臺服務器的IP地址,將收到的任務請求按照順序轉到相應的IP地址的服務器,當轉到最后 一個序號為N的服務器時下一次分配再回到序號為1的服務器,如此往復循環。當網絡中 的服務器在軟、硬件性能(或者說處理能力)上越接近(理想狀態下服務器完全相同),輪 詢均衡算法最為有效 (2) 權重輪循均衡(Weighted Round Robin):與普通輪詢循環不同,權重輪詢循環結 合了加權算法。根據網絡中服務器的軟、硬件配置或者說處理能力的差異來設置權重,并根 據權重值來分配任務。權值的安排可以有多種方式。例如:網絡中有三臺性能依次增強的 服務器A、B、C,但是序號可以設置為十個,第一個序號對應服務器A的地址,第二個到第四 個序號都對應服務器B的地址,而第五個到最后都對應服務器C的地址。任務分配據此編 號輪詢,則三臺服務器在每一次循環中接受的任務量分別占到一成、三成、六成,如此高等 級服務器可以多分擔工作量,優化整體網絡。
[0004] (3)隨機均衡(Random):隨機均衡與輪詢循環的差異在于,隨機均衡沒有固定的 順序,而是根據每次隨機生成的隨機數所對應的地址將任務轉到相應的服務器上。這種方 式在整體負載較低的情況下較為有效。
[0005] (4)權重隨機均衡(Weighted Random):同樣權重隨機均衡也是在隨機均衡的技 術上結合了加權算法,權重隨機均衡的不同之處在于服務器的權值所決定的是其被選中的 概率,而分配是隨機選擇的過程,所以實際分配的任務量并不一定嚴格按照概率的數值,而 是會有一定的偏差。盡管如此,還是可以起到充分利用網絡資源的作用。
[0006] (5)最少連接數均衡(Least Connection):這里的連接數指的是服務器同時處 理的任務的連接數量,也就是當前服務器正在處理的任務的個數,所謂最少連接就是指選 擇當前正在處理的任務數量最少的服務器來分配新到任務。不同檔次的服務器所能夠同時 處理的任務的數量是不同的,這個數量稱之為最大連接數,對最少連接的理解既可以是簡 單的絕對數量的最低也可以使當前連接數量和最大連接數量的比值,當然也可以是其他的 量化標準。
[0007] 常見的負載均衡動態算法 (1)響應速度均衡(Response Time):響應速度均衡對服務器考察的主要指標就是 響應速度,眾所周知,輕負載(或高性能)服務器的響應速度必然快于重負載(或低性能) 服務器。最簡單的實現手段就是Ping,根據服務器對負載均衡設備的響應時間來分配任務, 負載均衡設備一般處于網絡的接口處,基本可以代表客戶端位置。此算法雖然主要面對的 是服務器,但是響應速度在某種程度上也可以反映鏈路的情況,考慮的較為全面。
[0008] (2)處理能力均衡(Process Capacity):處理能力是一種綜合的概念,需要綜合 考慮服務器的軟、硬件情況(如CPU的性能、數量、內存的大小、當前連接數以及0S類型等 等),根據特定的負載均衡計算得到處理能力這一指標,并據此均衡任務。此算法靈活性較 強,可以根據不同的情況增減計算的指標數量以及指標的權重,考慮全面,所以此種負載均 衡算法更加精確,尤其適合運用到第七層(應用層)負載均衡的情況。
[0009] 采用靜態算法的負載均衡,無法檢測服務器中服務程序的健康,當服務器中的服 務程序出現異常,容易建立無效連接,影響用戶體驗,也沒有考慮服務器的實時處理能力, 不能達到最佳的負載均衡。
[0010] 采用動態算法的負載均衡,其中響應速度均衡目前的實現手段是Ping,但Ping 僅僅反應服務器對Ping應答的響應時間,無法反應服務器真正處理用戶請求服務的負載 能力,也無法檢測服務器中服務程序的健康。
[0011] 動態算法中的處理能力均衡,雖然可以精確反應服務器的負載情況,但需要在服 務器端額外開發程序,定時傳出服務器的負載信息,由于服務器多樣,又占用額外帶寬,缺 乏通用性。
【發明內容】
[0012] 本發明的目的是提供一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法 及系統,利用用戶報文,檢查服務器提供服務程序的健康,同時探測服務器的響應時間,來 評估服務器的負載能力,根據評估結果,找到當前負載最低的服務器,合理分配客戶的訪 問,使用戶對服務器的訪問達到均衡。
[0013] 為了實現以上目的,本發明是通過以下技術方案實現的: 一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特點是,該方法包含如 下步驟: Sl,SDN控制器負載均衡初始化; 52, 網絡交換器收到用戶的連接請求,并送至SDN控制器處理; 53, 網絡交換器根據匹配的流表,發送報文到對應的服務器,服務器通過網絡交換器將 響應報文上報給SDN控制器; 54, SDN控制器檢查是否接收到服務器響應報文; S4. 1若SDN控制器收到服務器響應報文,則執行步驟5 ; 54, 2,若SDN控制器未收到服務器響應報文,則說明當前沒有可用的服務器; 55, SDN控制器接收到第一個到達的服務器響應報文,檢查目的IP是否為用戶IP,如果 是該用戶IP,則該所述的服務器響應最快,負載最小; 56, SDN控制器根據服務器響應最快的報文反饋,選擇最優的鏈路,所述的最優的鏈路 即為負載最小的鏈路。
[0014] 所述的S1包含以下步驟: S1. 1,SDN控制器建立IP虛擬池及虛擬IP ; S1. 2, SDN控制器將每個服務器的IP加入到IP虛擬池中; 51. 3,設定SDN控制器報文響應定時器時間。
[0015] 所述的步驟S2包含以下步驟: 52. 1,網絡交換器收到新用戶的連接請求,源IP為用戶IP,目的IP為虛擬IP,流表中 無匹配規則,報文上送SDN控制器處理; S2. 2, SDN控制器處理接收所述的報文,復制若干份報文,并依次修改報文目的IP為已 加入虛擬池中的服務器IP,源IP為用戶IP,目的IP修改為不同的服務器IP ; S2. 3, SDN控制器下發多份流表到網絡交換器,所述的流表規則為:源IP為用戶IP,目 的IP為虛擬池中的所有服務器IP ; 52. 4, SDN控制器發送修改后的所有報文到網絡交換器,同時為用戶啟動一個已設定的 報文響應定時器。
[0016] 所述的S3包含以下步驟: 53. 1,網絡交換器根據匹配的流表,發送報文到對應的服務器; S3. 2,每個服務器響應用戶請求,發送回應報文給網絡交換器,所述的回應報文源IP 為服務器IP,目的IP為用戶IP; 53. 3,網絡交換器收到服務器發送的響應報文,流表中無匹配規則,報文上送SDN控制 器。
[0017] 所述步驟3. 2中回應報文的源IP為服務器IP,目的IP為用戶IP。
[0018] 所述的步驟S6后進一步包含如下步驟: 57, SDN控制器關閉針對用戶的報文響應定時器; 58, SDN控制器下發雙向流表,建立用戶與服務器的雙向連接。
[0019] 所述的步驟S4. 2包含如下步驟: 54. 2. 1,SDN控制器檢查用戶的報文響應器是否超時,若報文響應器超時,SDN控制器 不再接收服務器響應報文; S4. 2. 2, SDN控制器發出警告信息,提示系統管理員服務器響應超時,用戶無法連接。
[0020] 所述的雙向流表包含用戶到服務器流表和服務器到用戶流表; 所述用戶到服務器流表的規則為:源IP匹配用戶IP,目的IP匹配虛擬IP,流表動作修 改目的IP為響應時間最快的服務器IP ; 所述服務器到用戶流表的規則為:源IP匹配服務器IP,目的IP匹配用戶IP,流表動作 修改源IP為虛擬IP。
[0021] 一種SDN網絡基于用戶報文時間反饋的負載均衡處理系統,其特點是,該系統包 含: 網絡交換器; 與網絡交換器分別相連的SDN控制器和若干個服務器,所述的SDN控制器建立虛擬池 和一個虛擬IP。
[0022] 本發明與現有技術相比,具有以下優點: 本發明利用用戶報文,檢查服務器提供服務程序的健康,同時探測服務器的響應時間, 來評估服務器的負載能力,根據評估結果,找到當前負載最低的服務器,合理分配客戶的訪 問,使用戶對服務器的訪問達到均衡。
【專利附圖】
【附圖說明】
[0023] 圖1為本發明一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法的流程 圖; 圖2為本發明一種SDN網絡基于用戶報文時間反饋的負載均衡的系統框圖。
【具體實施方式】
[0024] 以下結合附圖,通過詳細說明一個較佳的具體實施例,對本發明做進一步闡述。
[0025] 如圖1所示,一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法,該方法包 含如下步驟: Sl,SDN控制器負載均衡初始化; S1. 1,SDN控制器建立IP虛擬池及虛擬IP ; S1. 2, SDN控制器將每個服務器的IP加入到IP虛擬池中; 51. 3,設定SDN控制器報文響應定時器時間,該響應定時器缺省時間設為3秒; 52, 網絡交換器收到用戶的連接請求,并送至SDN控制器處理; S2. 1,網絡交換器收到新用戶的連接請求,源IP為用戶IP,目的IP為虛擬IP,流表中 無匹配規則,報文上送SDN控制器處理; S2. 2, SDN控制器處理接收所述的報文,復制若干份報文,并依次修改報文目的IP為已 加入虛擬池中的服務器IP,源IP為用戶IP,目的IP修改為不同的服務器IP ; S2. 3, SDN控制器下發多份流表到網絡交換器,所述的流表規則為:源IP為用戶IP,目 的IP為虛擬池中的所有服務器IP ; 52. 4, SDN控制器發送修改后的所有報文到網絡交換器,同時為用戶啟動一個已設定的 報文響應定時器,當所有服務器失效或所有服務器負載過大響應超時時,向系統管理員發 出警告,用戶無法和服務器建立連接。
[0026] S3,網絡交換器根據匹配的流表,發送報文到對應的服務器,服務器通過網絡交換 器將響應報文上報給SDN控制器; 53. 1,網絡交換器根據匹配的流表,發送報文到對應的服務器; S3. 2,每個服務器響應用戶請求,發送回應報文給網絡交換器,所述的回應報文源IP 為服務器IP,目的IP為用戶IP; 53. 3,網絡交換器收到服務器發送的響應報文,流表中無匹配規則,報文上送SDN控制 器。
[0027] S4, SDN控制器檢查是否接收到服務器響應報文; 54. 1若SDN控制器收到服務器響應報文,則執行步驟5 ; 54. 2,若SDN控制器未收到服務器響應報文,則說明當前沒有可用的服務器; 55, SDN控制器接收到第一個到達的服務器響應報文,檢查目的IP是否為用戶IP,如果 是該用戶IP,則該所述的服務器響應最快,負載最小; 56, SDN控制器根據服務器響應最快的報文反饋,選擇最優的鏈路,所述的最優的鏈路 即為負載最小的鏈路。
[0028] 上述的步驟S6后進一步包含如下步驟: 57, SDN控制器關閉針對用戶的報文響應定時器,避免定時器超時,提示錯誤信息; 58, SDN控制器根據響應最快的報文,確定最優負載鏈路,并下發雙向流表,建立用戶與 服務器的雙向連接,雙向流表包含用戶到服務器流表和服務器到用戶流表;用戶到服務器 流表的規則為:源IP匹配用戶IP,目的IP匹配虛擬IP,流表動作修改目的IP為響應時間 最快的服務器IP ;服務器到用戶流表的規則為:源IP匹配服務器IP,目的IP匹配用戶IP, 流表動作修改源IP為虛擬IP。
[0029] 上述的步驟S4. 2包含如下步驟: S4. 2. 1,SDN控制器檢查用戶的報文響應器是否超時,若報文響應器超時,說明SDN控 制器沒有在規定時間內收到服務器發回的響應,鏈路延時過長,SDN控制器不再接收服務器 響應報文,避免發出警告后,建立用戶與服務器的連接; S4. 2. 2, SDN控制器發出警告信息,提示系統管理員服務器響應超時,用戶無法連接。
[0030] 如圖2所示,一種SDN網絡基于用戶報文時間反饋的負載均衡處理系統,該系統 包含:網絡交換器;與網絡交換器分別相連的SDN控制器和若干個服務器,所述的SDN控 制器建立虛擬池和一個虛擬IP。本實施例中,服務器的數量為3臺,服務器的IP地址分 別為:172. 17. 60. 1 ;172. 17. 60. 2 ;172. 17. 60. 3, SDN 控制器建立的虛擬 IP (VIP)地址為 192. 168. 1. 1. SDN控制器將每個服務器的IP加入到IP虛擬池中,作為虛擬池的成員,即虛 擬池中成員 IP 地址也為 172. 17. 60. 1 ;172· 17. 60. 2 ;172· 17. 60. 3。
[0031] 綜上所述,本發明一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法及系 統,利用用戶報文,檢查服務器提供服務程序的健康,同時探測服務器的響應時間,來評估 服務器的負載能力,根據評估結果,找到當前負載最低的服務器,合理分配客戶的訪問,使 用戶對服務器的訪問達到均衡。
[0032] 盡管本發明的內容已經通過上述優選實施例作了詳細介紹,但應當認識到上述的 描述不應被認為是對本發明的限制。在本領域技術人員閱讀了上述內容后,對于本發明的 多種修改和替代都將是顯而易見的。因此,本發明的保護范圍應由所附的權利要求來限定。
【權利要求】
1. 一種SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征在于,該方法包 含如下步驟: Sl,SDN控制器負載均衡初始化; 52, 網絡交換器收到用戶的連接請求,并送至SDN控制器處理; 53, 網絡交換器根據匹配的流表,發送報文到對應的服務器,服務器通過網絡交換器將 響應報文上報給SDN控制器; 54, SDN控制器檢查是否接收到服務器響應報文; S4. 1若SDN控制器收到服務器響應報文,則執行步驟5 ; 54, 2,若SDN控制器未收到服務器響應報文,則說明當前沒有可用的服務器; 55, SDN控制器接收到第一個到達的服務器響應報文,檢查目的IP是否為用戶IP,如果 是該用戶IP,則該所述的服務器響應最快,負載最小; 56, SDN控制器根據服務器響應最快的報文反饋,選擇最優的鏈路,所述的最優的鏈路 即為負載最小的鏈路。
2. 如權利要求1所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述的S1包含以下步驟: S1. 1,SDN控制器建立IP虛擬池及虛擬IP ; S1. 2, SDN控制器將每個服務器的IP加入到IP虛擬池中; 51. 3,設定SDN控制器報文響應定時器時間。
3. 如權利要求1所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述的步驟S2包含以下步驟: 52. 1,網絡交換器收到新用戶的連接請求,源IP為用戶IP,目的IP為虛擬IP,流表中 無匹配規則,報文上送SDN控制器處理; S2. 2, SDN控制器處理接收所述的報文,復制若干份報文,并依次修改報文目的IP為已 加入虛擬池中的服務器IP,源IP為用戶IP,目的IP修改為不同的服務器IP ; S2. 3, SDN控制器下發多份流表到網絡交換器,所述的流表規則為:源IP為用戶IP,目 的IP為虛擬池中的所有服務器IP ; 52. 4, SDN控制器發送修改后的所有報文到網絡交換器,同時為用戶啟動一個已設定的 報文響應定時器。
4. 如權利要求1所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述的S3包含以下步驟: 53. 1,網絡交換器根據匹配的流表,發送報文到對應的服務器; S3. 2,每個服務器響應用戶請求,發送回應報文給網絡交換器; S3. 3,網絡交換器收到服務器發送的響應報文,流表中無匹配規則,報文上送SDN控制 器。
5. 如權利要求4所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述步驟3. 2中回應報文的源IP為服務器IP,目的IP為用戶IP。
6. 如權利要求1所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述的步驟S6后進一步包含如下步驟: 57, SDN控制器關閉針對用戶的報文響應定時器; S8, SDN控制器下發雙向流表,建立用戶與服務器的雙向連接。
7. 如權利要求1所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述的步驟S4. 2包含如下步驟: S4. 2. 1,SDN控制器檢查用戶的報文響應器是否超時,若報文響應器超時,SDN控制器 不再接收服務器響應報文; S4. 2. 2, SDN控制器發出警告信息,提示系統管理員服務器響應超時,用戶無法連接。
8. 如權利要求6所述的SDN網絡基于用戶報文時間反饋的負載均衡處理方法,其特征 在于,所述的雙向流表包含用戶到服務器流表和服務器到用戶流表; 所述用戶到服務器流表的規則為:源IP匹配用戶IP,目的IP匹配虛擬IP,流表動作修 改目的IP為響應時間最快的服務器IP ; 所述服務器到用戶流表的規則為:源IP匹配服務器IP,目的IP匹配用戶IP,流表動作 修改源IP為虛擬IP。
9. 一種SDN網絡基于用戶報文時間反饋的負載均衡處理系統,其特征在于,該系統包 含: 網絡交換器; 與網絡交換器分別相連的SDN控制器和若干個服務器,所述的SDN控制器建立虛擬池 和一個虛擬IP。
【文檔編號】H04L12/26GK104158758SQ201410423320
【公開日】2014年11月19日 申請日期:2014年8月26日 優先權日:2014年8月26日
【發明者】王超 申請人:上海斐訊數據通信技術有限公司