新四季網

一種負載均衡器的透明代理方法及負載均衡系統與流程

2023-05-29 20:02:16 1


本發明涉及負載均衡技術,尤其涉及一種負載均衡器的透明代理方法及負載均衡系統。



背景技術:

為了橫向擴展後端服務的能力,一般會將負載均衡器放置於多個後端伺服器的前面,起到負載均衡的作用。但負載均衡一般為代理(proxy)的工作模式,使得後端服務獲取的請求來源IP都是負載均衡器的IP,並不是真實的客戶端IP。客戶端IP是用戶請求中的重要信息,例如在分析用戶行為等業務中非常重要,所以需要提供透明代理功能,使得後端主機不做任何修改,即可獲取客戶端IP。

為了解決這個需求,目前有幾種主流的解決手段:

1,NAT(Network Address Translation,網絡地址轉換)模式,通過負載均衡器做地址轉換。這種模式的缺陷是,部署受到網絡拓撲的限制,不能橫向擴展,並且所有後端請求都要經過負載均衡器,使得後端伺服器的性能受到限制。

2.DR(Direct Routing,直接路由)模式,通過更改目的MAC地址來實現地址轉化。這種模式的缺陷是,負載均衡器需要和後端伺服器在同一個二層網絡上,同時後端伺服器需要綁定虛擬IP(VIP),配置和部署十分不靈活。

3.FULL NAT(Full Network Address Translation,完全網絡地址轉換)模式,這種方式需要修改後端主機的Linux內核,將真實地址存放在socket中,並通過修改kernel函數來實現獲取真實IP的目的。這種模式的缺陷是需要修改後端伺服器的內核,使用範圍受極大限制。



技術實現要素:

本發明解決的技術問題是針對現有技術的不足,提供一種負載均衡器的透明代理方法及負載均衡系統。

本發明解決上述技術問題的技術方案如下:一種基於軟體定義網絡的負載均衡器透明代理方法,包括:

步驟1、用軟體定義的方式創建虛擬負載均衡器和虛擬路由器,並在客戶端、虛擬負載均衡器、虛擬路由器和伺服器之間構建通路;

步驟2、所述虛擬負載均衡器接收到客戶端發送的請求數據包時,按照預設的負載均衡規則得到伺服器的IP位址和埠,對所述請求數據包進行目的地址轉換,將所述請求數據包發送到所述虛擬路由器;

步驟3、所述虛擬路由器對所述請求數據包進行目的地址轉換,並對所述虛擬負載均衡器發起的連接做標記,將所述請求數據包發送到所述伺服器;

步驟4、所述伺服器對所述請求數據包進行處理並生成響應數據包,將所述響應數據包發送至所述虛擬路由器;

步驟5、所述虛擬路由器根據所述伺服器發起的連接查找標記,根據所述標記對應的路由規則得到所述虛擬負載均衡器的IP位址和埠,對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述虛擬負載均衡器;

步驟6、所述虛擬負載均衡器對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述客戶端。

本發明的有益效果是:

1、不需要修改伺服器,用戶可根據需要為伺服器選用作業系統,使用方便;

2、基於軟體定義網絡(Software Defined Network,SDN)技術,用戶能夠隨時創建虛擬負載均衡器,無需增加硬體,從而降低硬體成本;

3、虛擬負載均衡器不在伺服器的默認路由線路上,能夠減少網絡數據的傳輸,同時可通過集群部署來水平拓展負載能力。

在上述技術方案的基礎上,本發明還可以做如下改進。

進一步,步驟3中所述虛擬路由器對所述虛擬負載均衡器發起的連接做標記的具體方法為:所述虛擬路由器解析所述負載均衡器發送的請求數據包獲取第一五元組,並對所述第一五元組進行標記,其中,所述第一五元組包括客戶端IP位址、客戶端埠、伺服器IP位址、伺服器埠和協議。

進一步,所述虛擬路由器根據所述伺服器發起的連接查找標記的具體方法為:所述虛擬路由器解析所述伺服器發送的響應數據包獲取第二五元組,根據所述第二五元組查找滿足預設條件的第一五元組,獲取所述第一五元組的標記。

進一步,所述預設條件為所述第一五元組的源IP位址和源埠與所述第二五元組的目的IP位址和目的埠相同,第一五元組的目的IP位址和目的埠與第二五元組的源IP位址和源埠相同,以及第一五元組的協議類型與第二五元組的協議相同。

進一步,步驟5中所述路由規則為:當響應數據包的源IP位址是所述標記對應的伺服器的IP位址時,將所述響應數據包發送至所述標記對應的負載均衡器。

本發明解決上述技術問題的另一種技術方案如下:一種負載均衡系統,包括虛擬負載均衡器和虛擬路由器;

虛擬負載均衡器,用於在接收到客戶端發送的請求數據包時,按照預設的負載均衡規則得到伺服器的IP位址和埠,對所述請求數據包進行目的地址轉換,將所述請求數據包發送到虛擬路由器,還用於在接收到虛擬路由器發送的響應數據包時,對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述客戶端;

虛擬路由器,用於對所述請求數據包進行目的地址轉換,並對所述虛擬負載均衡器發起的連接做標記,將所述請求數據包發送到所述伺服器,還用於根據伺服器發起的連接查找標記,並根據所述標記對應的路由規則得到所述虛擬負載均衡器的IP位址和埠,對所述伺服器發送的響應數據包進行源地址轉換,將所述響應數據包發送至所述虛擬負載均衡器。

本發明的有益效果是:

1、不需要修改伺服器,用戶可根據需要為伺服器選用作業系統,使用方便;

2、基於軟體定義網絡(Software Defined Network,SDN)技術,用戶能夠隨時創建虛擬負載均衡器,無需增加硬體,從而降低硬體成本;

3、虛擬負載均衡器不在伺服器的默認路由線路上,能夠減少網絡數據的傳輸,同時可通過集群部署來水平拓展負載能力。

在上述技術方案的基礎上,本發明還可以做如下改進。

進一步,所述虛擬路由器用於解析所述負載均衡器發送的請求數據包獲取第一五元組,並對所述第一五元組進行標記,其中,所述第一五元組包括客戶端IP位址、客戶端埠、伺服器IP位址、伺服器埠和協議。

進一步,所述虛擬路由器用於解析所述伺服器發送的響應數據包獲取第二五元組,根據所述第二五元組查找滿足預設條件的第一五元組,獲取所述第一五元組的標記。

進一步,所述預設條件為所述第一五元組的源IP位址和源埠與所述第二五元組的目的IP位址和目的埠相同,第一五元組的目的IP位址和目的埠與第二五元組的源IP位址和源埠相同,以及第一五元組的協議類型與第二五元組的協議相同。

進一步,所述路由規則為:當響應數據包的源IP位址是所述標記對應的伺服器的IP位址時,將所述響應數據包發送至所述標記對應的負載均衡器。

附圖說明

圖1為本發明實施例提供的一種負載均衡器的透明代理方法的流程圖;

圖2為本發明實施例提供的負載均衡器的透明代理方法的應用示意圖;

圖3為本發明實施例提供的一種負載均衡系統的結構示意圖;

具體實施方式

以下結合附圖對本發明的原理和特徵進行描述,所舉實例只用於解釋本發明,並非用於限定本發明的範圍。

圖1為本發明實施例提供的一種負載均衡器的透明代理方法的流程圖,該方法包括以下步驟:

步驟1、用軟體定義的方式創建虛擬負載均衡器和虛擬路由器,並在客戶端、虛擬負載均衡器、虛擬路由器和伺服器之間構建通路;

步驟2、所述虛擬負載均衡器接收到客戶端發送的請求數據包時,按照預設的負載均衡規則得到伺服器的IP位址和埠,對所述請求數據包進行目的地址轉換,將所述請求數據包發送到所述虛擬路由器;

步驟3、所述虛擬路由器對所述請求數據包進行目的地址轉換,並對所述虛擬負載均衡器發起的連接做標記,將所述請求數據包發送到所述伺服器;

步驟4、所述伺服器對所述請求數據包進行處理並生成響應數據包,將所述響應數據包發送至所述虛擬路由器;

步驟5、所述虛擬路由器根據所述伺服器發起的連接查找標記,根據所述標記對應的路由規則得到所述虛擬負載均衡器的IP位址和埠,對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述虛擬負載均衡器;

步驟6、所述虛擬負載均衡器對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述客戶端。

下面結合圖2對該實施例做進一步詳細說明,圖2為本發明實施例提供的負載均衡器的透明代理方法的應用示意圖,步驟1是用軟體定義的方式創建虛擬負載均衡器和虛擬路由器,並在客戶端、虛擬負載均衡器、虛擬路由器和伺服器之間構建通路,則虛擬負載均衡器和客戶端之間通過公網進行數據交互,虛擬負載均衡器和虛擬路由器之間通過虛擬網絡進行數據交互,虛擬路由器和伺服器之間通過私網進行數據交互。假設客戶端的IP為1.2.3.4,埠為12345,虛擬負載均衡器的公網IP為5.6.7.8,VIP(Virtual IP,虛擬IP)為10.1.1.2,埠為56789,虛擬路由器的虛擬IP為10.1.1.1,私網IP為192.168.100.1,埠為23456,伺服器1的私網IP為192.168.100.2,伺服器2的私網IP為192.168.100.3。

步驟2中虛擬負載均衡器接收的請求數據包的源IP位址和埠是客戶端的IP位址1.2.3.4和埠12345,目的IP位址和目的埠是虛擬負載均衡器的公網IP位址5.6.7.8和埠56789。假設虛擬負載均衡器根據負載均衡規則選擇的伺服器為伺服器1,虛擬負載均衡器對請求數據包進行目的地址轉換後,請求數據包的目的IP位址和目的埠被修改為虛擬路由器的虛擬IP位址10.1.1.1和埠23456。

步驟3中虛擬路由器對虛擬負載均衡器每次發起的連接均做不同的標記,這樣,虛擬負載均衡器可通過設置多個虛擬IP位址的方式來實現集群部署,虛擬路由器對請求數據包進行目的地址轉換後,請求數據包的目的IP位址和目的埠被修改為伺服器的私網IP位址192.168.100.2和埠34567。

步驟4中伺服器1生成的響應數據包的源IP位址和源埠成為伺服器1的私網IP位址192.168.100.2和埠34567,目的IP位址和目的埠為客戶端的IP位址1.2.3.4和埠12345。

步驟5中,由於虛擬路由器已對請求數據包做了標記,因此虛擬路由器根據伺服器發起的連接查找標記,根據標記對應的路由規則得到虛擬負載均衡器的公網IP位址5.6.7.8和埠56789。虛擬路由器對響應數據包進行源地址轉換後,響應數據包的源IP位址和源埠被修改為虛擬路由器的虛擬IP位址10.1.1.1和埠23456,然後將響應數據包發送到得到的虛擬負載均衡器的虛擬IP位址10.1.1.2。

步驟6中,虛擬負載均衡器對響應數據包進行源地址轉換後,響應數據包的源IP位址和源埠被修改為虛擬負載均衡器的公網IP位址5.6.7.8和埠56789。

可選地,在該實施例中,步驟3中所述虛擬路由器對所述虛擬負載均衡器發起的連接做標記的具體方法為:所述虛擬路由器解析所述負載均衡器發送的請求數據包獲取第一五元組,並對所述第一五元組進行標記,其中,所述第一五元組包括客戶端IP位址、客戶端埠、伺服器IP位址、伺服器埠和協議。

具體的,結合圖2,第一五元組的源IP位址為客戶端IP位址1.2.3.4,源埠為客戶端埠12345,目的IP位址為伺服器1的私網IP位址192.168.100.2,目的埠為伺服器1的埠34567,協議為tcp協議,標記的具體格式為:#mark=123:src 1.2.3.4:12345→dst 192.168.100.2:34567,protocol=tcp。

可選地,在該實施例中,所述虛擬路由器根據所述伺服器發起的連接查找標記的具體方法為:所述虛擬路由器解析所述伺服器發送的響應數據包獲取第二五元組,根據所述第二五元組查找滿足預設條件的第一五元組,獲取所述第一五元組的標記。

可選地,在該實施例中,所述預設條件為所述第一五元組的源IP位址和源埠與所述第二五元組的目的IP位址和目的埠相同,第一五元組的目的IP位址和目的埠與第二五元組的源IP位址和源埠相同,以及第一五元組的協議類型與第二五元組的協議相同。

可選地,在該實施例中,步驟5中所述路由規則為:當響應數據包的源IP位址是所述標記對應的伺服器的IP位址時,將所述響應數據包發送至所述標記對應的負載均衡器。

具體的,結合圖2,虛擬路由器查找到標記後,因為標記與第一五元組相對應,而第一五元組中包括了伺服器1的私網IP位址192.168.100.2,如果響應數據包的源IP位址是標記對應的伺服器1的私網IP位址,則將響應數據包發送到標記對應的虛擬負載均衡器。

圖3為本發明實施例提供的一種負載均衡系統的結構示意圖,本實施例提供的系統用於實現圖1所示的方法。如圖3所示,該負載均衡系統包括虛擬負載均衡器和虛擬路由器;

虛擬負載均衡器,用於在接收到客戶端發送的請求數據包時,按照預設的負載均衡規則得到伺服器的IP位址和埠,對所述請求數據包進行目的地址轉換,將所述請求數據包發送到虛擬路由器,還用於在接收到虛擬路由器發送的響應數據包時,對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述客戶端;

虛擬路由器,用於對所述虛擬負載均衡器發起的連接做標記,並對所述請求數據包進行目的地址轉換,將所述請求數據包發送到伺服器,還用於根據伺服器發起的連接查找標記,根據所述標記對應的路由規則得到所述虛擬負載均衡器的IP位址和埠,對所述響應數據包進行源地址轉換,將所述響應數據包發送至所述虛擬負載均衡器

可選地,在該實施例中,所述虛擬路由器用於解析所述負載均衡器發送的請求數據包獲取第一五元組,並對所述第一五元組進行標記,其中,所述第一五元組包括客戶端IP位址、客戶端埠、伺服器IP位址、伺服器埠和協議。

可選地,在該實施例中,所述虛擬路由器用於解析所述伺服器發送的響應數據包獲取第二五元組,根據所述第二五元組查找滿足預設條件的第一五元組,獲取所述第一五元組的標記。

可選地,在該實施例中,所述預設條件為所述第一五元組的源IP位址和源埠與所述第二五元組的目的IP位址和目的埠相同,第一五元組的目的IP位址和目的埠與第二五元組的源IP位址和源埠相同,以及第一五元組的協議類型與第二五元組的協議相同。

可選地,在該實施例中,所述路由規則為:當響應數據包的源IP位址是所述標記對應的伺服器的IP位址時,將所述響應數據包發送至所述標記對應的負載均衡器。

以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀