一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置制造方法
【專利摘要】本申請(qǐng)公開了一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置,用以解決現(xiàn)有技術(shù)中SLB的負(fù)擔(dān)較大的問題。該系統(tǒng)包括SLB、RS和轉(zhuǎn)換設(shè)備,對(duì)于從客戶端發(fā)往RS的數(shù)據(jù)包,則由SLB進(jìn)行處理并發(fā)送給RS,對(duì)于從RS發(fā)往客戶端的數(shù)據(jù)包,則由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端。由于在本申請(qǐng)實(shí)施例提供的上述系統(tǒng)中,從RS中流出的流量并非是通過SLB發(fā)送給客戶端,而是由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端的,因此有效的減輕了SLB的負(fù)擔(dān)。
【專利說明】一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置。
【背景技術(shù)】
[0002]目前,隨著業(yè)務(wù)量的提高,訪問量和數(shù)據(jù)流量的快速增長(zhǎng),單一的服務(wù)器由于其處理能力的瓶頸已經(jīng)無法滿足需求,因此,采用多個(gè)服務(wù)器所構(gòu)成的服務(wù)器集群,并利用負(fù)載均衡技術(shù)將大量的數(shù)據(jù)流量分擔(dān)到集群中的多個(gè)服務(wù)器上的方法應(yīng)運(yùn)而生。
[0003]圖1為現(xiàn)有技術(shù)中負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)結(jié)構(gòu)示意圖,如圖1所示,在現(xiàn)有技術(shù)中,客戶端發(fā)送的用于訪問服務(wù)器的第一數(shù)據(jù)包先經(jīng)過負(fù)載均衡服務(wù)器(Server LoadBlancer, SLB),由SLB選擇為該客戶端服務(wù)的后臺(tái)服務(wù)器(Real Server, RS),并將客戶端發(fā)送的第一數(shù)據(jù)包發(fā)送給選擇出的RS,RS接收到該第一數(shù)據(jù)包后,同樣通過SLB向客戶端返回第二數(shù)據(jù)包,完成一次客戶端與RS的數(shù)據(jù)交互。
[0004]由上述過程可以看出,進(jìn)入RS的流量首先要經(jīng)過SLB,由SLB采用一定的負(fù)載均衡策略選擇為客戶端服務(wù)的RS,被選擇的RS再通過SLB與客戶端進(jìn)行數(shù)據(jù)交互。需要說明的是,雖然被選擇的RS是通過SLB與客戶端進(jìn)行數(shù)據(jù)交互的,也即從被選擇的RS中流出的流量也是通過SLB到達(dá)客戶端的,但是SLB對(duì)于從RS中流出的流量卻無需進(jìn)行負(fù)載均衡處理。
[0005]然而,對(duì)于RS而言,進(jìn)入RS的流量往往遠(yuǎn)小于從RS中流出的流量,這些從RS中流出的大量流量也要經(jīng)過SLB才能到達(dá)客戶端,就會(huì)增大SLB的的負(fù)擔(dān)。
【發(fā)明內(nèi)容】
[0006]本申請(qǐng)實(shí)施例提供一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置,用以解決現(xiàn)有技術(shù)中SLB的負(fù)擔(dān)較大的問題。
[0007]本申請(qǐng)實(shí)施例提供的一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng),包括:
[0008]負(fù)載均衡服務(wù)器SLB,用于接收客戶端發(fā)送的第一數(shù)據(jù)包,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇后臺(tái)服務(wù)器RS,將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的RS的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址,得到第二數(shù)據(jù)包,并將所述第二數(shù)據(jù)包發(fā)送給選擇出的RS,其中,所述客戶端發(fā)送的所述第一數(shù)據(jù)包中攜帶的目的地址為所述SLB的虛擬IP地址;
[0009]RS,用于在接收到第二數(shù)據(jù)包后,生成第三數(shù)據(jù)包并發(fā)送給所述客戶端,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)IP地址;
[0010]轉(zhuǎn)換設(shè)備,用于攔截所述RS發(fā)送的所述第三數(shù)據(jù)包,并將所述第三數(shù)據(jù)包中攜帶的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包,將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
[0011]本申請(qǐng)實(shí)施例提供的一種負(fù)載均衡下的數(shù)據(jù)交互方法,包括:
[0012]轉(zhuǎn)換設(shè)備攔截后臺(tái)服務(wù)器RS根據(jù)接收到的第二數(shù)據(jù)包向客戶端發(fā)送的第三數(shù)據(jù)包,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址;其中,所述第二數(shù)據(jù)包為:負(fù)載均衡服務(wù)器SLB接收到所述客戶端發(fā)送的目的地址為所述SLB的虛擬IP地址的第一數(shù)據(jù)包后,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇所述RS,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為所述RS的真實(shí)IP地址,得到的第二數(shù)據(jù)包;
[0013]所述轉(zhuǎn)換設(shè)備將攔截到的所述第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包;并
[0014]將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
[0015]本申請(qǐng)實(shí)施例提供的一種負(fù)載均衡下的數(shù)據(jù)交互裝置,包括:
[0016]第一攔截模塊,用于攔截后臺(tái)服務(wù)器RS根據(jù)接收到的第二數(shù)據(jù)包向客戶端發(fā)送的第三數(shù)據(jù)包,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址;其中,所述第二數(shù)據(jù)包為:負(fù)載均衡服務(wù)器SLB接收到所述客戶端發(fā)送的目的地址為所述SLB的虛擬IP地址的第一數(shù)據(jù)包后,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇所述RS,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為所述RS的真實(shí)IP地址,得到的第二數(shù)據(jù)包;
[0017]調(diào)整模塊,用于將攔截到的所述第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包;
[0018]第一發(fā)送模塊,用于將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
[0019]本申請(qǐng)實(shí)施例提供一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置,該系統(tǒng)包括SLB、RS和轉(zhuǎn)換設(shè)備,對(duì)于從客戶端發(fā)往RS的數(shù)據(jù)包,則由SLB進(jìn)行處理并發(fā)送給RS,對(duì)于從RS發(fā)往客戶端的數(shù)據(jù)包,則由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端。由于在本申請(qǐng)實(shí)施例提供的上述系統(tǒng)中,從RS中流出的流量并非是通過SLB發(fā)送給客戶端,而是由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端的,因此有效的減輕了 SLB的負(fù)擔(dān)。
【專利附圖】
【附圖說明】
[0020]圖1為現(xiàn)有技術(shù)中負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)結(jié)構(gòu)示意圖;
[0021]圖2為本申請(qǐng)實(shí)施例提供的負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)結(jié)構(gòu)示意圖;
[0022]圖3為本申請(qǐng)實(shí)施例提供的基于圖2所示的系統(tǒng)的數(shù)據(jù)交互過程;
[0023]圖4為本申請(qǐng)實(shí)施例提供的負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)詳細(xì)結(jié)構(gòu)示意圖;
[0024]圖5為本申請(qǐng)實(shí)施例提供的基于圖4所示的系統(tǒng)的數(shù)據(jù)交互詳細(xì)過程;
[0025]圖6為本申請(qǐng)實(shí)施例提供的負(fù)載均衡下的數(shù)據(jù)交互裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]在如圖1所示的現(xiàn)有系統(tǒng)中,從客戶端發(fā)往RS的一個(gè)數(shù)據(jù)包經(jīng)過SLB的處理后進(jìn)入RS, RS根據(jù)客戶端發(fā)送的該數(shù)據(jù)包,向客戶端返回另一個(gè)數(shù)據(jù)包時(shí),返回的該另一個(gè)數(shù)據(jù)包也同樣要經(jīng)過SLB才能夠返回到客戶端,而由于在實(shí)際用中,進(jìn)入RS的流量往往是遠(yuǎn)小于從RS中流出的流量的,因此現(xiàn)有技術(shù)中的系統(tǒng)會(huì)增大SLB的負(fù)擔(dān),尤其是在RS集群的規(guī)模較大時(shí),會(huì)進(jìn)一步加劇SLB的負(fù)擔(dān)。而且,由于從RS發(fā)往客戶端的數(shù)據(jù)包要經(jīng)過SLB,因此也需要將RS默認(rèn)的從RS到RS網(wǎng)關(guān)的路由修改為從RS到SLB的路由,進(jìn)而需要將RS和SLB部署在同一個(gè)虛擬局域網(wǎng)(VLAN)中,這也降低了 RS和SLB部署的靈活性。
[0027]本申請(qǐng)實(shí)施例提供一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置,該系統(tǒng)包括SLB、RS和轉(zhuǎn)換設(shè)備,對(duì)于從客戶端發(fā)往RS的數(shù)據(jù)包,則由SLB進(jìn)行處理并發(fā)送給RS,對(duì)于從RS發(fā)往客戶端的數(shù)據(jù)包,則由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端。由于在本申請(qǐng)實(shí)施例提供的上述系統(tǒng)中,從RS中流出的流量并非是通過SLB發(fā)送給客戶端,而是由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端的,因此有效的減輕了 SLB的負(fù)擔(dān)。
[0028]下面結(jié)合說明書附圖,對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)描述。
[0029]圖2為本申請(qǐng)實(shí)施例提供的負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)結(jié)構(gòu)示意圖,具體包括:SLB、若干個(gè)RS以及轉(zhuǎn)換設(shè)備。
[0030]通過如圖2所示的系統(tǒng),客戶端與RS進(jìn)行數(shù)據(jù)交互的過程具體如圖3所示。圖3為本申請(qǐng)實(shí)施例提供的基于圖2所示的系統(tǒng)的數(shù)據(jù)交互過程,具體包括以下步驟:
[0031]S301:SLB接收客戶端發(fā)送的第一數(shù)據(jù)包。
[0032]其中,客戶端發(fā)送的第一數(shù)據(jù)包中攜帶的目的地址為該SLB的虛擬網(wǎng)絡(luò)互連協(xié)議(Internet Protocol, IP)地址,第一數(shù)據(jù)包中攜帶的源地址為該客戶端的真實(shí)IP地址。
[0033]一般的,對(duì)于一個(gè)網(wǎng)站,在采用由若干個(gè)RS構(gòu)成的RS集群分擔(dān)訪問該網(wǎng)站的流量時(shí),會(huì)對(duì)SLB以及每個(gè)RS都設(shè)置同一個(gè)虛擬IP地址,以方便用戶的訪問。因此,當(dāng)用戶要訪問該網(wǎng)站時(shí),先通過其使用的客戶端發(fā)送目的地址為該虛擬IP地址的第一數(shù)據(jù)包,從而,SLB就會(huì)接收到該第一數(shù)據(jù)包。
[0034]S302 =SLB根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇RS,將第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的RS的真實(shí)IP地址,得到第二數(shù)據(jù)包。
[0035]在本申請(qǐng)實(shí)施例中,SLB接收到客戶端發(fā)送的第一數(shù)據(jù)包后,則根據(jù)預(yù)設(shè)的負(fù)載均衡策略,在RS集群中選擇出一個(gè)用于與該客戶端進(jìn)行數(shù)據(jù)交互的RS。
[0036]SLB選擇出RS后,則基于自身預(yù)先記錄的RS集群中每個(gè)RS的真實(shí)IP地址,確定選擇出的該RS的真實(shí)IP地址,再將第一數(shù)據(jù)包中攜帶的目的地址(SLB的虛擬IP地址)調(diào)整為選擇出的該RS的真實(shí)IP地址。此時(shí),SLB已將第一數(shù)據(jù)包中的目的地址調(diào)整為選擇出的該RS的真實(shí)IP地址,將調(diào)整了目的地址后的第一數(shù)據(jù)包作為第二數(shù)據(jù)包。
[0037]即,第二數(shù)據(jù)包中攜帶的目的地址為選擇出的RS的真實(shí)IP地址,第二數(shù)據(jù)包中攜帶的源地址仍然是第一數(shù)據(jù)包中攜帶的源地址,也就是客戶端的真實(shí)IP地址。
[0038]S303 =SLB將第二數(shù)據(jù)包發(fā)送給選擇出的RS。
[0039]S304:RS接收到第二數(shù)據(jù)包后,生成第三數(shù)據(jù)包并發(fā)送給客戶端。
[0040]在本申請(qǐng)實(shí)施例中,RS接收到SLB發(fā)送的第二數(shù)據(jù)包后,確定該第二數(shù)據(jù)包中攜帶的目的地址是該RS自身的真實(shí)IP地址,因此對(duì)該第二數(shù)據(jù)包進(jìn)行處理,生成第三數(shù)據(jù)包并返回客戶端。
[0041]其中,生成的該第三數(shù)據(jù)包中攜帶的源地址為該RS自身的真實(shí)IP地址,該第三數(shù)據(jù)包中攜帶的目的地址為第二數(shù)據(jù)包中攜帶的源地址,也就是客戶端的真實(shí)IP地址。
[0042]S305:轉(zhuǎn)換設(shè)備攔截RS向客戶端發(fā)送的第三數(shù)據(jù)包。
[0043]S306:轉(zhuǎn)換設(shè)備將第三數(shù)據(jù)包中攜帶的源地址調(diào)整為預(yù)先記錄的SLB的虛擬IP地址,得到第四數(shù)據(jù)包。
[0044]由于客戶端發(fā)送的第一數(shù)據(jù)包中攜帶的目的地址是SLB的虛擬IP地址,源地址是該客戶端自身的真實(shí)IP地址,因此客戶端只處理目的地址是該客戶端自身的真實(shí)IP地址、且源地址是SLB的虛擬IP地址的數(shù)據(jù)包,對(duì)于源地址不是SLB的虛擬IP地址的數(shù)據(jù)包,客戶端則不會(huì)進(jìn)行處理。從而,如果RS直接將源地址是該RS的真實(shí)IP地址的第三數(shù)據(jù)包發(fā)送給客戶端,客戶端就不會(huì)對(duì)第三數(shù)據(jù)包進(jìn)行處理,導(dǎo)致數(shù)據(jù)交互的異常。
[0045]因此,在本申請(qǐng)實(shí)施例中,轉(zhuǎn)換設(shè)備要對(duì)RS發(fā)送給客戶端的第三數(shù)據(jù)包進(jìn)行攔截,并基于預(yù)先記錄的SLB的虛擬IP地址,將第三數(shù)據(jù)包中攜帶的源地址調(diào)整為該SLB的虛擬IP地址,進(jìn)而得到第四數(shù)據(jù)包。
[0046]S卩,第四數(shù)據(jù)包中攜帶的源地址是SLB的虛擬IP地址,第四數(shù)據(jù)包中攜帶的目的地址仍然是第三數(shù)據(jù)包中攜帶的目的地址,也就是客戶端的真實(shí)IP地址。
[0047]S307:轉(zhuǎn)換設(shè)備將第四數(shù)據(jù)包發(fā)送給客戶端。
[0048]客戶端接收到該第四數(shù)據(jù)包后,由于該第四數(shù)據(jù)包中攜帶的源地址(SLB的虛擬IP地址)與客戶端發(fā)送的第一數(shù)據(jù)包中攜帶的目的地址(SLB的虛擬IP地址)相同,并且,該第四數(shù)據(jù)包中攜帶的目的地址(客戶端的真實(shí)IP地址)與客戶端發(fā)送的第一數(shù)據(jù)包中攜帶的源地址(客戶端的真實(shí)IP地址)相同,因此對(duì)該第四數(shù)據(jù)包進(jìn)行處理,從而完成客戶端與RS的數(shù)據(jù)交互。
[0049]通過上述方法,由客戶端發(fā)往RS的數(shù)據(jù)包(第一數(shù)據(jù)包)是由SLB進(jìn)行處理的,而由RS返回給客戶端的數(shù)據(jù)包(第三數(shù)據(jù)包)是由轉(zhuǎn)換設(shè)備進(jìn)行處理的,也就是說,從RS中流出的流量繞過了 SLB而通過轉(zhuǎn)換設(shè)備到達(dá)客戶端,因此可以有效的減輕SLB的負(fù)擔(dān)。
[0050]在本申請(qǐng)實(shí)施例中,當(dāng)對(duì)SLB以及RS集群中的每個(gè)RS只設(shè)置一個(gè)虛擬IP地址時(shí),則可以直接將該虛擬IP地址預(yù)置在轉(zhuǎn)換設(shè)備中,在圖3所示的步驟S306中,轉(zhuǎn)換設(shè)備可以直接基于預(yù)置的虛擬IP地址調(diào)整第三數(shù)據(jù)包的源地址。
[0051]然而,考慮到在實(shí)際應(yīng)用中,往往存在兩個(gè)甚至兩個(gè)以上的網(wǎng)站共用一個(gè)RS集群的情況,這種情況下,為SLB以及每個(gè)RS設(shè)置的虛擬IP地址也會(huì)存在兩個(gè)或兩個(gè)以上。例如,為SLB以及每個(gè)RS設(shè)置的虛擬IP地址包括VIPl和VIP2,此時(shí),如果直接將VIPl和VIP2預(yù)置在轉(zhuǎn)換設(shè)備中,則在圖3所示的步驟S306中,轉(zhuǎn)換設(shè)備在基于預(yù)先記錄的虛擬IP地址調(diào)整第三數(shù)據(jù)包中攜帶的源地址時(shí),就不能確定究竟采用VIPl和VIP2中的哪一個(gè)來調(diào)整,如果采用的虛擬IP地址不正確,則會(huì)影響客戶端與RS進(jìn)行數(shù)據(jù)交互的準(zhǔn)確性。
[0052]因此,為了保證客戶端與RS進(jìn)行數(shù)據(jù)交互的準(zhǔn)確性,在本申請(qǐng)實(shí)施例中,SLB在接收到客戶端發(fā)送的第一數(shù)據(jù)包后,對(duì)第一數(shù)據(jù)包進(jìn)行調(diào)整,得到第二數(shù)據(jù)包的方法具體為:SLB提取第一數(shù)據(jù)包中作為目的地址攜帶的該SLB的虛擬IP地址,提取第一數(shù)據(jù)包中作為目的端口號(hào)攜帶的該SLB的公共端口號(hào),并將提取的該虛擬IP地址和公共端口號(hào)插入到第一數(shù)據(jù)包的TCP選項(xiàng)中,再將第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的RS的真實(shí)IP地址,將第一數(shù)據(jù)包中攜帶的目的端口號(hào)調(diào)整為選擇出的RS的端口號(hào),得到第二數(shù)據(jù)包。
[0053]其中,客戶端發(fā)送的第一數(shù)據(jù)包中除了攜帶源地址和目的地址之外,還攜帶源端口號(hào)、目的端口號(hào)以及協(xié)議信息,第一數(shù)據(jù)包攜帶的源端口號(hào)為該客戶端的端口號(hào),目的端口號(hào)為SLB的公共端口號(hào)。
[0054]SLB通過上述方法得到的第二數(shù)據(jù)包中攜帶的目的地址為選擇出的RS的真實(shí)IP地址,目的端口號(hào)為選擇出的RS的端口號(hào),源地址仍然是客戶端的真實(shí)IP地址,源端口號(hào)仍然是該客戶端的端口號(hào),協(xié)議信息也仍然不變,并且,第二數(shù)據(jù)包的TCP選項(xiàng)中插入有SLB的虛擬IP地址和公共端口號(hào)。SLB得到該第二數(shù)據(jù)包后,將該第二數(shù)據(jù)包發(fā)送給RS。
[0055]進(jìn)一步的,轉(zhuǎn)換設(shè)備預(yù)先記錄SLB的虛擬IP地址的方法具體為:轉(zhuǎn)換設(shè)備攔截SLB向RS發(fā)送的第二數(shù)據(jù)包,根據(jù)第二數(shù)據(jù)包確定該客戶端與該RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,并記錄第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),建立確定的該數(shù)據(jù)流標(biāo)識(shí)信息與記錄的該虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系。
[0056]其中,確定的數(shù)據(jù)流標(biāo)識(shí)信息包括:第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)、協(xié)議信息中的至少一種。
[0057]較佳的,可以采用第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)以及協(xié)議信息,作為該客戶端與該RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息。也即,確定包含第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)以及協(xié)議信息的五元組,采用該五元組作為數(shù)據(jù)流標(biāo)識(shí)信息。后續(xù)則可以記錄第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),并建立該五元組與該虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系。
[0058]轉(zhuǎn)換設(shè)備建立了確定的數(shù)據(jù)流標(biāo)識(shí)信息與虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系后,則可以將攔截的該第二數(shù)據(jù)包轉(zhuǎn)發(fā)給RS,由RS根據(jù)該第二數(shù)據(jù)包繼續(xù)進(jìn)行后續(xù)處理。
[0059]相應(yīng)的,轉(zhuǎn)換設(shè)備采用上述方法記錄SLB的虛擬IP地址時(shí),將攔截到的RS發(fā)往客戶端的第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的該SLB的虛擬IP地址,得到第四數(shù)據(jù)包的方法具體為:轉(zhuǎn)換設(shè)備根據(jù)攔截的該RS發(fā)送的第三數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,查找與根據(jù)該第三數(shù)據(jù)包確定出的數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào),并將第三數(shù)據(jù)包中攜帶的源地址調(diào)整為查找到的虛擬IP地址,將第三數(shù)據(jù)包中攜帶的源端口號(hào)調(diào)整為查找到的公共端口號(hào),得到第四數(shù)據(jù)包。
[0060]圖4為本申請(qǐng)實(shí)施例提供的負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)詳細(xì)結(jié)構(gòu)示意圖,具體包括:SLB、SLB網(wǎng)關(guān)、若干個(gè)RS、轉(zhuǎn)換設(shè)備、RS網(wǎng)關(guān)。
[0061]圖5為本申請(qǐng)實(shí)施例提供的基于圖4所示的系統(tǒng)的數(shù)據(jù)交互詳細(xì)過程,具體包括以下步驟:
[0062]S501 =SLB通過SLB網(wǎng)關(guān)接收客戶端發(fā)送的第一數(shù)據(jù)包。
[0063]例如,假設(shè)該SLB的虛擬IP地址為VIP1,SLB的公共端口號(hào)為Np,客戶端的真實(shí)IP地址為IPc,客戶端的端口號(hào)為Ne,則SLB接收到的第一數(shù)據(jù)包中攜帶的源地址為IPc,目的地址為VIP1,源端口號(hào)為Ne,目的端口號(hào)為Np,協(xié)議信息為客戶端所采用的協(xié)議信息。
[0064]S502 =SLB根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇RS,提取第一數(shù)據(jù)包中作為目的地址攜帶的該SLB的虛擬IP地址,以及作為目的端口號(hào)攜帶的該SLB的公共端口號(hào),將提取的虛擬IP地址和公共端口號(hào)插入到第一數(shù)據(jù)包的TCP選項(xiàng)中,將第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的RS的真實(shí)IP地址,將第一數(shù)據(jù)包中攜帶的目的端口號(hào)調(diào)整為選擇出的RS的端口號(hào),得到第二數(shù)據(jù)包。
[0065]繼續(xù)沿用上例,SLB接收到第一數(shù)據(jù)包后,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇RS,提取第一數(shù)據(jù)包的目的地址和目的端口號(hào),也即提取VIPl和Np,將提取的VIPl和Np插入到第一數(shù)據(jù)包的TCP選項(xiàng)中。假設(shè)SLB選擇的RS的真實(shí)IP地址為IPr,該RS的端口號(hào)為Nr,則SLB再將第一數(shù)據(jù)包的目的地址調(diào)整為IPr,將第一數(shù)據(jù)包的目的端口號(hào)調(diào)整為Nr,從而得到第二數(shù)據(jù)包。
[0066]得到的第二數(shù)據(jù)包中攜帶的源地址為IPc,目的地址為IPr,源端口號(hào)為Ne,目的端口號(hào)為Nr,協(xié)議信息不變,并且TCP選項(xiàng)中插入了 VIPl和Np。
[0067]S503 =SLB將第二數(shù)據(jù)包發(fā)送給選擇出的RS。[0068]S504:轉(zhuǎn)換設(shè)備攔截SLB向RS發(fā)送的第二數(shù)據(jù)包。
[0069]S505:轉(zhuǎn)換設(shè)備根據(jù)第二數(shù)據(jù)包確定該客戶端與該RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,記錄第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),建立確定的數(shù)據(jù)流標(biāo)識(shí)信息與記錄的該虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系。
[0070]繼續(xù)沿用上例,轉(zhuǎn)換設(shè)備將攜帶的源地址為IPc、目的地址為IPr、源端口號(hào)為Ne、目的端口號(hào)為Nr、且TCP選項(xiàng)中插入了 VIPl和Np的第二數(shù)據(jù)包攔截后,將包括該第二數(shù)據(jù)包中攜帶的源地址(IPc)、目的地址(IPr)、源端口號(hào)(Ne)、目的端口號(hào)(Nr)以及協(xié)議信息的五元組確定為該客戶端與該RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,也即,采用該五元組唯一標(biāo)識(shí)該客戶端與該RS之間的數(shù)據(jù)流。然后,轉(zhuǎn)換設(shè)備再記錄第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),也即記錄VIPl和Np,并建立上述五元組與記錄的VIPl和Np之間的對(duì)應(yīng)關(guān)系。
[0071]S506:轉(zhuǎn)換設(shè)備將第二數(shù)據(jù)包轉(zhuǎn)發(fā)給RS。
[0072]S507:RS根據(jù)接收到的第二數(shù)據(jù)包,生成第三數(shù)據(jù)包,并發(fā)送給RS網(wǎng)關(guān)。
[0073]繼續(xù)沿用上例,RS接收到第二數(shù)據(jù)包后,確定第二數(shù)據(jù)包中攜帶的目的地址是IPr,也就是該RS自身的真實(shí)IP地址,并且目的端口號(hào)是Nr,也就是該RS的端口號(hào),因此根據(jù)該第二數(shù)據(jù)包生成第三數(shù)據(jù)包。
[0074]生成的該第三數(shù)據(jù)包的源地址為該RS自身的真實(shí)IP地址,也即IPr,目的地址為第二數(shù)據(jù)包的源地址,也即客戶端的真實(shí)IP地址(IPC),源端口號(hào)為該RS自身的端口號(hào),也即Nr,目的端口號(hào)為第二數(shù)據(jù)包的源端口號(hào),也即Ne,協(xié)議信息仍然不變。
[0075]生成上述第三數(shù)據(jù)包后,則RS可以按照默認(rèn)的從RS到RS網(wǎng)關(guān)的路由,將該第三數(shù)據(jù)包發(fā)送給RS網(wǎng)關(guān),使RS網(wǎng)關(guān)根據(jù)該第三數(shù)據(jù)包中攜帶的目的地址(IPc)以及目的端口號(hào)(Ne ),將該第三數(shù)據(jù)包發(fā)送給客戶端。
[0076]S508:轉(zhuǎn)換設(shè)備攔截RS發(fā)送給RS網(wǎng)關(guān)的第三數(shù)據(jù)包。
[0077]S509:轉(zhuǎn)換設(shè)備根據(jù)攔截的第三數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,查找與根據(jù)該第三數(shù)據(jù)包確定出的數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào)。
[0078]繼續(xù)沿用上例,由于在上述步驟S505中,轉(zhuǎn)換設(shè)備記錄的與VIPl和Np對(duì)應(yīng)的數(shù)據(jù)流標(biāo)識(shí)信息為包括IPc、IPr、NC、Nr、協(xié)議信息在內(nèi)的五元組,而根據(jù)第三數(shù)據(jù)包確定的數(shù)據(jù)流標(biāo)識(shí)信息仍然是上述五元組,因此,轉(zhuǎn)換設(shè)備據(jù)此可以確定該第三數(shù)據(jù)包是屬于以上述五元組所標(biāo)識(shí)的數(shù)據(jù)流(該客戶端與該RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流)中的一個(gè)數(shù)據(jù)包,從而,查找該數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào),也即查找上述五元組對(duì)應(yīng)的虛擬IP地址和公共端口號(hào),查找到的虛擬IP地址和公共端口號(hào)即為VIPl和Np。
[0079]S510:轉(zhuǎn)換設(shè)備將第三數(shù)據(jù)包中攜帶的源地址調(diào)整為查找到的虛擬IP地址,將第三數(shù)據(jù)包中攜帶的源端口號(hào)調(diào)整為查找到的公共端口號(hào),得到第四數(shù)據(jù)包。
[0080]繼續(xù)沿用上例,由于查找到的虛擬IP地址和公共端口號(hào)為VIPl和Np,因此,轉(zhuǎn)換設(shè)備將第三數(shù)據(jù)包中攜帶的源地址由IPr調(diào)整為VIPl,將源端口號(hào)由Nr調(diào)整為Np,從而得到第四數(shù)據(jù)包。
[0081]也即,得到的第四數(shù)據(jù)包中攜帶的源地址為VIP1,目的地址為IPc,源端口號(hào)為Np,目的端口號(hào)為Ne,協(xié)議信息仍然不變。
[0082]S511:轉(zhuǎn)換設(shè)備將第四數(shù)據(jù)包通過RS網(wǎng)關(guān)發(fā)送給客戶端。[0083]繼續(xù)沿用上例,轉(zhuǎn)換設(shè)備先將第四數(shù)據(jù)包發(fā)送給RS網(wǎng)關(guān),由RS網(wǎng)關(guān)根據(jù)該第四數(shù)據(jù)包中攜帶的目的地址和目的端口號(hào),將該第四數(shù)據(jù)包發(fā)送給客戶端。由于客戶端初始發(fā)出的第一數(shù)據(jù)包中攜帶的源地址為IPc,目的地址為VIPl,源端口號(hào)為Ne,目的端口號(hào)為Np,協(xié)議信息為客戶端所采用的協(xié)議信息,并且客戶端接收到的第四數(shù)據(jù)包中攜帶的源地址為VIP1,目的地址為IPc,源端口號(hào)為Np,目的端口號(hào)為Ne,協(xié)議信息仍然不變,因此,客戶端對(duì)該第四數(shù)據(jù)包進(jìn)行處理,從而完成客戶端與RS的交互。
[0084]由圖5所示的過程可見,在本申請(qǐng)實(shí)施例中,轉(zhuǎn)換設(shè)備通過數(shù)據(jù)流標(biāo)識(shí)信息來唯一標(biāo)識(shí)客戶端與RS之間進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流,并建立該數(shù)據(jù)流標(biāo)識(shí)信息與虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,當(dāng)攔截到從RS發(fā)往客戶端的數(shù)據(jù)包時(shí),就可以根據(jù)攔截到的數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,并據(jù)此查找相應(yīng)的虛擬IP地址和公共端口號(hào)對(duì)攔截到的該數(shù)據(jù)包進(jìn)行調(diào)整,保證了客戶端與RS進(jìn)行數(shù)據(jù)交互的準(zhǔn)確性。
[0085]另外,在現(xiàn)有技術(shù)中,由于從RS發(fā)往客戶端的數(shù)據(jù)包要經(jīng)過SLB,因此需要將RS默認(rèn)的從RS到RS網(wǎng)關(guān)的路由修改為從RS到SLB的路由,進(jìn)而需要將RS和SLB部署在同一個(gè)虛擬局域網(wǎng)(VLAN)中,這也降低了 RS和SLB部署的靈活性。
[0086]而由上述圖4所示的系統(tǒng)和圖5所示的過程可見,本申請(qǐng)實(shí)施例中轉(zhuǎn)換設(shè)備部署在RS和RS網(wǎng)關(guān)之間,對(duì)從RS通過RS網(wǎng)關(guān)發(fā)往客戶端的數(shù)據(jù)包進(jìn)行攔截,因此,無需修改RS默認(rèn)的從RS到RS網(wǎng)關(guān)的路由,轉(zhuǎn)換設(shè)備對(duì)于RS來說是透明的。從而,在圖4所示的系統(tǒng)中,只需將RS和轉(zhuǎn)換設(shè)備部署在同一個(gè)VLAN中即可,RS和SLB不需要部署在同一個(gè)VLAN中。也即,RS和轉(zhuǎn)換設(shè)備可以位于第一 VLAN中,SLB可以位于第二 VLAN中,有效的提高了RS和SLB部署的靈活性。
[0087]另外,在實(shí)際應(yīng)用中,在客戶端與RS進(jìn)行數(shù)據(jù)交互的過程中,首先需要進(jìn)行的就是通過三次握手的方式建立虛連接,而客戶端通過三次握手的方式與RS建立虛連接時(shí),首先發(fā)送的就是同步序列編號(hào)(Synchronize Sequence Numbers, SYN)數(shù)據(jù)包。
[0088]因此,基于上述情況,在本申請(qǐng)實(shí)施例提供的上述數(shù)據(jù)交互過程中,如果SLB確定接收到的客戶端發(fā)送的第一數(shù)據(jù)包為SYN數(shù)據(jù)包,則提取出該SYN數(shù)據(jù)包中作為目的地址攜帶的虛擬IP地址以及作為目的端口號(hào)攜帶的公共端口號(hào),并將提取的虛擬IP地址和公共端口號(hào)插入到該SYN數(shù)據(jù)包的TCP選項(xiàng)中,再對(duì)該SYN數(shù)據(jù)包的目的地址和目的端口號(hào)進(jìn)行調(diào)整,并發(fā)送給RS。相應(yīng)的,轉(zhuǎn)換設(shè)備攔截到該SYN數(shù)據(jù)包后,則根據(jù)該SYN數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,并建立該數(shù)據(jù)流標(biāo)識(shí)信息與該SYN數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,并將該SYN包發(fā)送給RS,進(jìn)行后續(xù)流程。
[0089]相反的,如果SLB確定接收到的客戶端發(fā)送的第一數(shù)據(jù)包不是SYN數(shù)據(jù)包,則說明該第一數(shù)據(jù)包所在的數(shù)據(jù)流中的SYN包之前已經(jīng)被SLB和轉(zhuǎn)換設(shè)備處理過,進(jìn)而說明該第一數(shù)據(jù)包所在的數(shù)據(jù)流的數(shù)據(jù)流標(biāo)識(shí)信息之前已經(jīng)被轉(zhuǎn)換設(shè)備確定過,并建立了該數(shù)據(jù)流標(biāo)識(shí)信息與相應(yīng)的虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,因此,SLB無需將第一數(shù)據(jù)包中的虛擬IP地址以及公共端口號(hào)插入到該第一數(shù)據(jù)包的TCP選項(xiàng)中,只需調(diào)整該第一數(shù)據(jù)包中的目的地址和目的端口號(hào),并發(fā)送給RS即可。相應(yīng)的,轉(zhuǎn)換設(shè)備攔截到該第一數(shù)據(jù)包后,由于該第一數(shù)據(jù)包的TCP選項(xiàng)中并未插入虛擬IP地址和公共端口號(hào),因此也無需確定數(shù)據(jù)流標(biāo)識(shí)信息并建立其與虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,直接將第一數(shù)據(jù)包轉(zhuǎn)發(fā)給相應(yīng)的RS,并進(jìn)行后續(xù)流程即可。[0090]在本申請(qǐng)實(shí)施例中,RS集群中的RS具體可以是虛擬機(jī)(Virtual Machine,VM)形式的RS,并可以運(yùn)行在與轉(zhuǎn)換設(shè)備位于同一 VLAN中的網(wǎng)絡(luò)設(shè)備的虛擬機(jī)監(jiān)控器Hypervisor 上。
[0091]圖6為本申請(qǐng)實(shí)施例提供的負(fù)載均衡下的數(shù)據(jù)交互裝置結(jié)構(gòu)示意圖,具體包括:
[0092]第一攔截模塊601,用于攔截后臺(tái)服務(wù)器RS根據(jù)接收到的第二數(shù)據(jù)包向客戶端發(fā)送的第三數(shù)據(jù)包,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址;其中,所述第二數(shù)據(jù)包為:負(fù)載均衡服務(wù)器SLB接收到所述客戶端發(fā)送的目的地址為所述SLB的虛擬IP地址的第一數(shù)據(jù)包后,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇所述RS,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為所述RS的真實(shí)IP地址,得到的第二數(shù)據(jù)包;
[0093]調(diào)整模塊602,用于將攔截到的所述第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包;
[0094]第一發(fā)送模塊603,用于將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
[0095]所述裝置還包括:
[0096]第二攔截模塊604,具體用于攔截所述SLB向所述RS發(fā)送的第二數(shù)據(jù)包,所述第二數(shù)據(jù)包為:所述SLB提取所述第一數(shù)據(jù)包中作為目的地址攜帶的所述SLB的虛擬IP地址,提取所述第一數(shù)據(jù)包中作為目的端口號(hào)攜帶的所述SLB的公共端口號(hào),將提取的所述虛擬IP地址和公共端口號(hào)插入到所述第一數(shù)據(jù)包的TCP選項(xiàng)中,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的所述RS的真實(shí)IP地址,將所述第一數(shù)據(jù)包中攜帶的目的端口號(hào)調(diào)整為選擇出的RS的端口號(hào),得到的第二數(shù)據(jù)包;
[0097]記錄模塊605,用于根據(jù)所述第二數(shù)據(jù)包確定所述客戶端與所述RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,并記錄所述第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),建立確定的所述數(shù)據(jù)流標(biāo)識(shí)信息與記錄的虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,其中,確定的所述數(shù)據(jù)流標(biāo)識(shí)信息包括:所述第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)、協(xié)議信息中的至少一種;
[0098]第二發(fā)送模塊606,用于將所述第二數(shù)據(jù)包發(fā)送給所述RS。
[0099]所述調(diào)整模塊602具體用于,根據(jù)攔截的所述RS發(fā)送的第三數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,查找與根據(jù)所述第三數(shù)據(jù)包確定出的數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào),并將所述第三數(shù)據(jù)包中攜帶的源地址調(diào)整為查找到的虛擬IP地址,將所述第三數(shù)據(jù)包中攜帶的源端口號(hào)調(diào)整為查找到的公共端口號(hào),得到第四數(shù)據(jù)包。
[0100]具體的上述負(fù)載均衡下的數(shù)據(jù)交互裝置可以位于轉(zhuǎn)換設(shè)備中。
[0101]本申請(qǐng)實(shí)施例提供一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng)、方法及裝置,該系統(tǒng)包括SLB、RS和轉(zhuǎn)換設(shè)備,對(duì)于從客戶端發(fā)往RS的數(shù)據(jù)包,則由SLB進(jìn)行處理并發(fā)送給RS,對(duì)于從RS發(fā)往客戶端的數(shù)據(jù)包,則由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端。由于在本申請(qǐng)實(shí)施例提供的上述系統(tǒng)中,從RS中流出的流量并非是通過SLB發(fā)送給客戶端,而是由轉(zhuǎn)換設(shè)備進(jìn)行處理并發(fā)送給客戶端的,因此有效的減輕了 SLB的負(fù)擔(dān)。
[0102]顯然,本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0103]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種負(fù)載均衡下的數(shù)據(jù)交互系統(tǒng),其特征在于,包括: 負(fù)載均衡服務(wù)器SLB,用于接收客戶端發(fā)送的第一數(shù)據(jù)包,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇后臺(tái)服務(wù)器RS,將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的RS的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址,得到第二數(shù)據(jù)包,并將所述第二數(shù)據(jù)包發(fā)送給選擇出的RS,其中,所述客戶端發(fā)送的所述第一數(shù)據(jù)包中攜帶的目的地址為所述SLB的虛擬IP地址; RS,用于在接收到第二數(shù)據(jù)包后,生成第三數(shù)據(jù)包并發(fā)送給所述客戶端,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)IP地址; 轉(zhuǎn)換設(shè)備,用于攔截所述RS發(fā)送的所述第三數(shù)據(jù)包,并將所述第三數(shù)據(jù)包中攜帶的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包,將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述SLB具體用于,提取所述第一數(shù)據(jù)包中作為目的地址攜帶的所述SLB的虛擬IP地址,并提取所述第一數(shù)據(jù)包中作為目的端口號(hào)攜帶的所述SLB的公共端口號(hào),將提取的所述虛擬IP地址和公共端口號(hào)插入到所述第一數(shù)據(jù)包的TCP選項(xiàng)中,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的RS的真實(shí)IP地址,將所述第一數(shù)據(jù)包中攜帶的目的端口號(hào)調(diào)整為選擇出的RS的端口號(hào),得到第二數(shù)據(jù)包; 所述轉(zhuǎn)換設(shè)備具體用于,攔截所述SLB向選擇出的RS發(fā)送的第二數(shù)據(jù)包,根據(jù)所述第二數(shù)據(jù)包確定所述客戶端與所述RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,并記錄所述第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),建立確定的所述數(shù)據(jù)流標(biāo)識(shí)信息與記錄的虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,將所述第二數(shù)據(jù)包發(fā)送給所述RS ;其中,確定的所述數(shù)據(jù)流標(biāo)識(shí)信息包括:所述第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)、協(xié)議信息中的至少一種; 所述RS具體用于,接收所述轉(zhuǎn)換設(shè)備發(fā)送的所述第二數(shù)據(jù)包。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述轉(zhuǎn)換設(shè)備具體用于,根據(jù)攔截的所述RS發(fā)送的第三數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,查找與根據(jù)所述第三數(shù)據(jù)包確定出的數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào),并將所述第三數(shù)據(jù)包中攜帶的源地址調(diào)整為查找到的虛擬IP地址,將所述第三數(shù)據(jù)包中攜帶的源端口號(hào)調(diào)整為查找到的公共端口號(hào),得到第四數(shù)據(jù)包。
4.如權(quán)利要求1-3任一所述的系統(tǒng),其特征在于,所述轉(zhuǎn)換設(shè)備與所述RS位于第一虛擬局域網(wǎng)VLAN中,所述SLB位于第二 VLAN中。
5.一種負(fù)載均衡下的數(shù)據(jù)交互方法,其特征在于,包括: 轉(zhuǎn)換設(shè)備攔截后臺(tái)服務(wù)器RS根據(jù)接收到的第二數(shù)據(jù)包向客戶端發(fā)送的第三數(shù)據(jù)包,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址;其中,所述第二數(shù)據(jù)包為:負(fù)載均衡服務(wù)器SLB接收到所述客戶端發(fā)送的目的地址為所述SLB的虛擬IP地址的第一數(shù)據(jù)包后,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇所述RS,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為所述RS的真實(shí)IP地址,得到的第二數(shù)據(jù)包; 所述轉(zhuǎn)換設(shè)備將攔截到的所述第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包;并 將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
6.如權(quán)利要求5所述的方法,其特征在于,所述SLB將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為所述RS的真實(shí)IP地址,得到第二數(shù)據(jù)包,具體包括: 所述SLB提取所述第一數(shù)據(jù)包中作為目的地址攜帶的所述SLB的虛擬IP地址,提取所述第一數(shù)據(jù)包中作為目的端口號(hào)攜帶的所述SLB的公共端口號(hào);并 將提取的所述虛擬IP地址和公共端口號(hào)插入到所述第一數(shù)據(jù)包的TCP選項(xiàng)中;以及將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的所述RS的真實(shí)IP地址,將所述第一數(shù)據(jù)包中攜帶的目的端口號(hào)調(diào)整為選擇出的RS的端口號(hào),得到第二數(shù)據(jù)包; 所述轉(zhuǎn)換設(shè)備預(yù)先記錄所述SLB的虛擬IP地址,具體包括: 所述轉(zhuǎn)換設(shè)備攔截所述SLB向所述RS發(fā)送的第二數(shù)據(jù)包;并根據(jù)所述第二數(shù)據(jù)包確定所述客戶端與所述RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,其中,確定的所述數(shù)據(jù)流標(biāo)識(shí)信息包括:所述第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)、協(xié)議信息中的至少一種;以及 記錄所述第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),建立確定的所述數(shù)據(jù)流標(biāo)識(shí)信息與記錄的虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系; 所述方法還包括: 所述轉(zhuǎn)換設(shè)備將所述第二數(shù)據(jù)包發(fā)送給所述RS。
7.如權(quán)利要求6所述的方法,其特征在于,所述轉(zhuǎn)換設(shè)備將攔截到的所述第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包,具體包括: 所述轉(zhuǎn)換設(shè)備根據(jù)攔截的所述RS發(fā)送的第三數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,查找與根據(jù)所述第三數(shù)據(jù)包確定出的數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào);并 將所述第三數(shù)據(jù)包中攜帶的源地址調(diào)整為查找到的虛擬IP地址,將所述第三數(shù)據(jù)包中攜帶的源端口號(hào)調(diào)整為查找到的公共端口號(hào),得到第四數(shù)據(jù)包。
8.一種負(fù)載均衡下的數(shù)據(jù)交互裝置,其特征在于,包括: 第一攔截模塊,用于攔截后臺(tái)服務(wù)器RS根據(jù)接收到的第二數(shù)據(jù)包向客戶端發(fā)送的第三數(shù)據(jù)包,所述第三數(shù)據(jù)包中攜帶的源地址為所述RS自身的真實(shí)網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址;其中,所述第二數(shù)據(jù)包為:負(fù)載均衡服務(wù)器SLB接收到所述客戶端發(fā)送的目的地址為所述SLB的虛擬IP地址的第一數(shù)據(jù)包后,根據(jù)預(yù)設(shè)的負(fù)載均衡策略選擇所述RS,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為所述RS的真實(shí)IP地址,得到的第二數(shù)據(jù)包; 調(diào)整模塊,用于將攔截到的所述第三數(shù)據(jù)包中的源地址調(diào)整為預(yù)先記錄的所述SLB的虛擬IP地址,得到第四數(shù)據(jù)包; 第一發(fā)送模塊,用于將所述第四數(shù)據(jù)包發(fā)送給所述客戶端。
9.如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第二攔截模塊,具體用于攔截所述SLB向所述RS發(fā)送的第二數(shù)據(jù)包,所述第二數(shù)據(jù)包為:所述SLB提取所述第一數(shù)據(jù)包中作為目的地址攜帶的所述SLB的虛擬IP地址,提取所述第一數(shù)據(jù)包中作為目的端口號(hào)攜帶的所述SLB的公共端口號(hào),將提取的所述虛擬IP地址和公共端口號(hào)插入到所述第一數(shù)據(jù)包的TCP選項(xiàng)中,并將所述第一數(shù)據(jù)包中攜帶的目的地址調(diào)整為選擇出的所述RS的真實(shí)IP地址,將所述第一數(shù)據(jù)包中攜帶的目的端口號(hào)調(diào)整為選擇出的RS的端口號(hào),得到的第二數(shù)據(jù)包; 記錄模塊,用于根據(jù)所述第二數(shù)據(jù)包確定所述客戶端與所述RS進(jìn)行數(shù)據(jù)交互的數(shù)據(jù)流標(biāo)識(shí)信息,并記錄所述第二數(shù)據(jù)包的TCP選項(xiàng)中插入的虛擬IP地址和公共端口號(hào),建立確定的所述數(shù)據(jù)流標(biāo)識(shí)信息與記錄的虛擬IP地址和公共端口號(hào)的對(duì)應(yīng)關(guān)系,其中,確定的所述數(shù)據(jù)流標(biāo)識(shí)信息包括:所述第二數(shù)據(jù)包中攜帶的源地址、目的地址、源端口號(hào)、目的端口號(hào)、協(xié)議信息中的至少一種; 第二發(fā)送模塊,用于將所述第二數(shù)據(jù)包發(fā)送給所述RS。
10.如權(quán)利要求9所述的裝置,其特征在于,所述調(diào)整模塊具體用于,根據(jù)攔截的所述RS發(fā)送的第三數(shù)據(jù)包確定數(shù)據(jù)流標(biāo)識(shí)信息,查找與根據(jù)所述第三數(shù)據(jù)包確定出的數(shù)據(jù)流標(biāo)識(shí)信息對(duì)應(yīng)的虛擬IP地址和公共端口號(hào),并將所述第三數(shù)據(jù)包中攜帶的源地址調(diào)整為查找到的虛擬IP地址,將所述第三數(shù)據(jù)包中攜帶的源端口號(hào)調(diào)整為查找到的公共端口號(hào),得到第四數(shù)據(jù)包。
【文檔編號(hào)】H04L12/803GK103780502SQ201210394875
【公開日】2014年5月7日 申請(qǐng)日期:2012年10月17日 優(yōu)先權(quán)日:2012年10月17日
【發(fā)明者】唐猛, 陳波, 王穎斌, 萬佳, 王倩 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司