一種報文轉(zhuǎn)發(fā)方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及通信技術(shù)領(lǐng)域,特別設(shè)及一種報文轉(zhuǎn)發(fā)方法和設(shè)備。
【背景技術(shù)】
[0002] 負載均衡(LoadBalance)建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,提供了一種廉價有效透明的 方法擴展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活 性和可用性。
[0003] 現(xiàn)有的負載均衡架構(gòu)中一般包含一或兩臺負載均衡設(shè)備(LoadBalancer,LB)對 外提供VIP(VbtualIP,虛擬I巧作為提供服務(wù)的地址。在LB設(shè)備后端掛有多臺物理機或 者虛擬機。當(dāng)LB設(shè)備收到一個應(yīng)用請求時,會根據(jù)一定算法,將請求重定向到某臺后端物 理機或者虛擬機,來真正提供服務(wù)。
[0004] 如圖1A和圖1B所示,分別為現(xiàn)有技術(shù)中串聯(lián)模式組網(wǎng)的負載均衡架構(gòu)和旁掛模 式組網(wǎng)的負載均衡架構(gòu)的結(jié)構(gòu)示意圖。
[0005] 無論是哪一種應(yīng)用場景,當(dāng)其中的LB設(shè)備根據(jù)一定算法選定后端服務(wù)器后,LB設(shè) 備將用戶發(fā)送過來的請求報文按照NAT (Network AcMress Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換) 方式/化11 NAT方式轉(zhuǎn)發(fā)給后端服務(wù)器。
[0006]LB設(shè)備按照RFC(RequestForComments,是一系列W編號排定的文件)標(biāo)準(zhǔn),對 轉(zhuǎn)發(fā)到后端服務(wù)器的報文地址及報文內(nèi)部的TCP(TransmissionControlProtocol,傳輸 控制協(xié)議)或者UDPOJser化tagramProtocol,用戶數(shù)據(jù)包協(xié)議)端口號進行轉(zhuǎn)換。轉(zhuǎn)換 后的目的地址為后端服務(wù)器的實際地址。如果采用化11NAT方式,發(fā)送到服務(wù)器的報文轉(zhuǎn) 換后的源地址則轉(zhuǎn)換為LB設(shè)備的地址。如果采用普通NAT方式,則發(fā)送到服務(wù)器的報文源 地址為原始地址,不進行轉(zhuǎn)換。后端服務(wù)器直接處理轉(zhuǎn)換后的報文,并給出回應(yīng)報文?;貞?yīng) 報文的源地址為后端服務(wù)器的地址?;貞?yīng)報文必須要經(jīng)過LB設(shè)備,W便LB設(shè)備能夠?qū)?文地址和端口號轉(zhuǎn)換為原始報文及端口號,發(fā)送給真正的客戶端。
[0007] 在實現(xiàn)本申請的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在W下問題:
[0008] 對于NAT方式/化11NAT方式,考慮到有些協(xié)議報文,除了在報文頭中包含地址和 端口信息外,在報文內(nèi)容也包含有相關(guān)信息。因此,在LB設(shè)備對報文進行轉(zhuǎn)換過程中,需要 識別相關(guān)報文,并對報文內(nèi)容進行處理。該會較大的影響LB設(shè)備的性能。而且由于轉(zhuǎn)發(fā)回 程報文也必須要經(jīng)過LB設(shè)備,將報文轉(zhuǎn)換為原始的地址和端口。該對LB設(shè)備的性能會產(chǎn) 生進一步的影響,而且會限制組網(wǎng),無法實現(xiàn)報文的高效轉(zhuǎn)發(fā)。
【發(fā)明內(nèi)容】
[0009] 本申請實施例提供一種報文轉(zhuǎn)發(fā)方法和設(shè)備,解決現(xiàn)有方案中NAT模式性能及往 返路徑必須一致,會限制組網(wǎng),無法實現(xiàn)報文的高效轉(zhuǎn)發(fā)的問題。
[0010] 為達到上述目的,本申請實施例一方面提供了一種報文轉(zhuǎn)發(fā)方法,應(yīng)用于通過負 載均衡設(shè)備和多個服務(wù)器所組成的負載均衡網(wǎng)絡(luò)中,所述負載均衡網(wǎng)絡(luò)對應(yīng)一個虛擬IP 地址,各所述服務(wù)器的實際IP地址與所述虛擬IP地址相一致,各所述服務(wù)器分別對應(yīng)一個 不同的管理IP地址,并分別包括代理模塊,所述方法包括:
[0011] 當(dāng)一臺服務(wù)器接收到所述負載均衡設(shè)備發(fā)送的目的地址為所述服務(wù)器自身所對 應(yīng)的管理IP地址的報文時,所述服務(wù)器根據(jù)所述管理IP地址與所述虛擬IP地址的對應(yīng)關(guān) 系,通過自身所包括的代理模塊將所述報文的目的地址修改為所述虛擬IP地址;
[0012] 所述服務(wù)器對目的地址修改后的報文進行處理。
[0013] 另一方面,本申請實施例還提供了一種服務(wù)器,應(yīng)用于通過負載均衡設(shè)備和多個 服務(wù)器所組成的負載均衡網(wǎng)絡(luò)中,所述負載均衡網(wǎng)絡(luò)對應(yīng)一個虛擬IP地址,各所述服務(wù)器 的實際IP地址與所述虛擬IP地址相一致,各所述服務(wù)器分別對應(yīng)一個不同的管理IP地 址,所述服務(wù)器包括:
[0014]通信模塊,用于接收所述負載均衡設(shè)備所發(fā)送的報文;
[0015] 代理模塊,用于當(dāng)所述通信模塊接收到所述負載均衡設(shè)備發(fā)送的目的地址為所述 服務(wù)器自身所對應(yīng)的管理IP地址的報文時,根據(jù)所述管理IP地址與所述虛擬IP地址的對 應(yīng)關(guān)系,將所述報文的目的地址修改為所述虛擬IP地址;
[0016] 處理模塊,用于對目的地址經(jīng)所述代理模塊修改后的報文進行處理。
[0017] 另一方面,本申請實施例還提供了一種報文轉(zhuǎn)發(fā)方法,應(yīng)用于通過負載均衡設(shè)備 和多個服務(wù)器所組成的負載均衡網(wǎng)絡(luò)中,所述負載均衡網(wǎng)絡(luò)對應(yīng)一個虛擬IP地址,各所述 服務(wù)器的實際IP地址與所述虛擬IP地址相一致,各所述服務(wù)器分別對應(yīng)一個不同的管理 IP地址,并分別包括代理模塊,所述方法包括:
[0018] 當(dāng)所述負載均衡設(shè)備接收到客戶端發(fā)送的目的地址為所述虛擬IP地址的報文 時,所述負載均衡設(shè)備根據(jù)負載均衡策略和各服務(wù)器的管理IP地址,在所述多個服務(wù)器中 選擇處理所述報文的目的服務(wù)器;
[0019] 所述負載均衡設(shè)備將所述報文的目的地址修改為所述目的服務(wù)器所對應(yīng)的管理 IP地址;
[0020] 所述負載均衡設(shè)備將目的地址修改后的報文發(fā)送給所述目的服務(wù)器的代理模塊, W使所述代理模塊根據(jù)所述管理IP地址與所述虛擬IP地址的對應(yīng)關(guān)系,將所述修改后的 報文進行復(fù)原,并由所述目的服務(wù)器進行報文處理。
[0021] 另一方面,本申請實施例還提供了一種負載均衡設(shè)備,應(yīng)用于通過負載均衡設(shè)備 和多個服務(wù)器所組成的負載均衡網(wǎng)絡(luò)中,所述負載均衡網(wǎng)絡(luò)對應(yīng)一個虛擬IP地址,各所述 服務(wù)器的實際IP地址與所述虛擬IP地址相一致,各所述服務(wù)器分別對應(yīng)一個不同的管理 IP地址,并分別包括代理模塊,所述負載均衡設(shè)備包括:
[0022] 接收模塊,用于接收客戶端或各所述服務(wù)器所發(fā)送的報文;
[0023] 決策模塊,用于當(dāng)所述接收模塊接收到客戶端發(fā)送的目的地址為所述虛擬IP地 址的報文時,根據(jù)負載均衡策略和各服務(wù)器的管理IP地址,在所述多個服務(wù)器中選擇處 理所述報文的目的服務(wù)器;
[0024] 地址修改模塊,用于將所述接收模塊所接收的所述報文的目的地址修改為所述決 策模塊所選擇的目的服務(wù)器所對應(yīng)的管理IP地址;
[00巧]發(fā)送模塊,用于將所述地址修改模塊進行目的地址修改后的報文發(fā)送給所述目的 服務(wù)器的代理模塊,W使所述代理模塊根據(jù)所述管理IP地址與所述虛擬IP地址的對應(yīng)關(guān) 系,將所述修改后的報文進行復(fù)原,并由所述目的服務(wù)器進行報文處理。
[0026] 與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案具有W下優(yōu)點:
[0027] 通過應(yīng)用本申請實施例所提出的技術(shù)方案,在負載均衡網(wǎng)絡(luò)的VIP和各服務(wù)器的 RIP-致的基礎(chǔ)上,無需對報文的內(nèi)容進行識別,只需要在報文頭報文VIP與MIP的修改和 復(fù)原,實現(xiàn)報文在負載均衡網(wǎng)絡(luò)中的轉(zhuǎn)發(fā),從而,解決了現(xiàn)有技術(shù)方案中NAT模式要求性能 及往返路徑必須一致,限制組網(wǎng),無法實現(xiàn)報文的高效轉(zhuǎn)發(fā)的問題。
【附圖說明】
[0028] 圖1A為現(xiàn)有技術(shù)中串聯(lián)模式組網(wǎng)的負載均衡架構(gòu)的結(jié)構(gòu)示意圖;
[0029] 圖1B為現(xiàn)有技術(shù)中旁掛模式組網(wǎng)的負載均衡架構(gòu)的結(jié)構(gòu)示意圖;
[0030] 圖2為本申請實施例所提出的一種報文轉(zhuǎn)發(fā)方法的流程示意圖;
[0031] 圖3為本申請實施例所提出的一種報文轉(zhuǎn)發(fā)方法在負載均衡設(shè)備側(cè)的流程示意 圖;
[0032] 圖4為本申請實施例一所提出的一種具體應(yīng)用場景中的報文轉(zhuǎn)發(fā)方法的流程示 意圖;
[0033] 圖5為本申請實施例一所提出的一種報文轉(zhuǎn)發(fā)方法在一種反饋場景下的流程示 意圖;
[0034] 圖6為本申請實施例一所提出的一種報文轉(zhuǎn)發(fā)方法在另一種反饋場景下的流程 不意圖;
[0035] 圖7為本申請實施例二所提出的一種具體應(yīng)用場景中的報文轉(zhuǎn)發(fā)方法的流程示 意圖;
[0036] 圖8為本申請實施例二所提出的一種報文轉(zhuǎn)發(fā)方法在一種反饋場景下的流程示 意圖
[0037] 圖9為本申請實施例二所提出的一種報文轉(zhuǎn)發(fā)方法在另一種反饋場景下的流程 不意圖
[0038] 圖10為本申請實施例所提出的一種服務(wù)器的結(jié)構(gòu)示意圖;
[0039] 圖11為本申請實施例所提出的一種服務(wù)器在一種具體應(yīng)用場景下的結(jié)構(gòu)示意 圖;
[0040] 圖12為本申請實施例所提出的一種服務(wù)器在另一種具體應(yīng)用場景下的結(jié)構(gòu)示意 圖;
[0041] 圖13為本申請實施例所提出的一種服務(wù)器在另一種具體應(yīng)用場景下的結(jié)構(gòu)示意 圖;
[0042] 圖14為本申請實施例所提出的一種負載均衡設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0043] 為了解決現(xiàn)有方案中NAT模式性能及往返路徑必須一致,會限制組網(wǎng),無法實現(xiàn) 報文的高效轉(zhuǎn)發(fā)的問題,本申請?zhí)岢隽艘环N報文轉(zhuǎn)發(fā)方法,在負載均衡網(wǎng)絡(luò)的VIP和各服 務(wù)器的RIP-致的基礎(chǔ)上,基于報文VIP的修改,實現(xiàn)報文在負載均衡網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)。
[0044] 如圖2所示,為本申請實施例所提出的一種報文轉(zhuǎn)發(fā)方法的流程示意圖,該方法 應(yīng)用于通過負載均衡設(shè)備和多個服務(wù)器所組成的負載均衡網(wǎng)絡(luò)中,所述負載