一種集群系統(tǒng)對報文進行負載分擔(dān)的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種對報文負載分擔(dān)的方法,包括:位于第一網(wǎng)絡(luò)的每一個集群服務(wù)器分別向位于第二網(wǎng)絡(luò)的LNS設(shè)備請求建立L2TP連接,且均請求LNS將第一IP地址分配給自身;LNS與每一個集群服務(wù)器建立L2TP連接,且給每一個集群服務(wù)器分配所述第一IP地址;且LNS設(shè)置自身主動向目的地址為第一IP地址的設(shè)備通信的默認(rèn)L2TP隧道為與集群服務(wù)器中的主服務(wù)器建立的L2TP隧道;LNS接收到目的地址為第一IP的報文后,將該報文從默認(rèn)的L2TP隧道發(fā)送;主服務(wù)器對接收到該L2TP隧道報文解封裝獲得目的IP為第一IP的報文,根據(jù)預(yù)設(shè)的負載分擔(dān)策略,將該報文發(fā)送給第一集群服務(wù)器處理。本發(fā)明方案實現(xiàn)了對終端設(shè)備發(fā)送報文的負載分擔(dān)。
【專利說明】一種集群系統(tǒng)對報文進行負載分擔(dān)的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及集群【技術(shù)領(lǐng)域】,尤其涉及一種集群系統(tǒng)對報文進行負載分擔(dān)的方法和 系統(tǒng)。
【背景技術(shù)】
[0002] 隨著視頻監(jiān)控業(yè)務(wù)的廣泛應(yīng)用,視頻管理服務(wù)器VM所需管理的前端攝像機數(shù)量 呈幾何級在增長,從最初的幾十臺前端設(shè)備到現(xiàn)在的幾萬臺甚至是幾十萬臺前端設(shè)備。單 臺視頻管理服務(wù)器已經(jīng)無法滿足管理得性能要求,在這種應(yīng)用背景下,集群系統(tǒng)應(yīng)運而生。
[0003] 集群系統(tǒng)采用的負載分擔(dān)技術(shù),一般都是以直接路由(Direct Routing,以下簡稱 DR)的方式進行負載分擔(dān)。請參圖1,該集群系統(tǒng)包括三個服務(wù)器:服務(wù)器UServerl)、服 務(wù)器2 (Served)、服務(wù)器3 (Serverf)。集群系統(tǒng)的服務(wù)器除了本身的IP地址,都需要額外 的再配置VIP (虛擬IP,即集群系統(tǒng)對外提供服務(wù)的IP地址)。比如說圖1中,服務(wù)器1、服 務(wù)器2和服務(wù)器3的VIP均為1. 1. 1. 1。這三個服務(wù)器另外,在圖1的組網(wǎng)圖中,在連線交 叉的地方省略了二層交換機,這里共需要兩個二層交換機。
[0004] 下面再結(jié)合圖2介紹下以直連路由方式進行負載分擔(dān)的集群系統(tǒng)的工作流程。
[0005] 步驟(1):主機(Host)以VIP為目的地址發(fā)送服務(wù)請求報文。
[0006] 在圖1所示的組網(wǎng)里表現(xiàn)為Clientl或Client2以VIP1. 1. 1. 1為目的IP地址發(fā) 送服務(wù)請求。
[0007] 步驟(2):路由設(shè)備General Device收到請求后轉(zhuǎn)發(fā)給負載均衡服務(wù)器。
[0008] General device在圖1中表現(xiàn)為路由器Router。Router收到請求報文后,根據(jù)目 的IP地址進行轉(zhuǎn)發(fā)。由于集群中的服務(wù)器的VIP均為1. 1. 1. 1,所以需要選舉一個主服務(wù) 器來接收外部設(shè)備發(fā)送的報文。該主服務(wù)器通常也就是負載均衡服務(wù)器。主服務(wù)器需要對 外部設(shè)備發(fā)送的針對VIP1. 1. 1. 1的ARP請求,以自身的MAC地址進行應(yīng)答。這樣目的IP 為1. 1. 1. 1的報文將會被發(fā)送到該主服務(wù)器,即負載均衡服務(wù)器。
[0009] 步驟(3):負載均衡服務(wù)器收到請求后,借助調(diào)度算法計算出應(yīng)該將請求分發(fā)給 哪臺 Server。
[0010] 比如說,根據(jù)集群系統(tǒng)中服務(wù)器的負荷量進行調(diào)度;根據(jù)請求的業(yè)務(wù)類型來進行 調(diào)度。
[0011] 步驟(4):負載均衡服務(wù)器分發(fā)報文。
[0012] 負載均衡服務(wù)器在確定發(fā)給集群中哪臺服務(wù)器后,在封裝報文時,目的IP依舊為 VIP,目的MAC需修改為該臺要分發(fā)的服務(wù)器的MAC地址,這樣就能保證請求報文能順利轉(zhuǎn) 發(fā)給相應(yīng)的服務(wù)器進行處理。
[0013] 步驟(5):該服務(wù)器接收到請求報文,處理該請求報文并返回響應(yīng)報文給General Device。
[0014] 該響應(yīng)報文的目的IP為主機Host的IP,直接發(fā)往路由設(shè)備General Device。在 圖1所示的組網(wǎng)里表現(xiàn)為某臺Server收到負載均衡服務(wù)器轉(zhuǎn)發(fā)過來的請求后將應(yīng)答報文 發(fā)給 Router。
[0015] 步驟(6):路由設(shè)備General Device收到響應(yīng)報文后,直接將報文轉(zhuǎn)發(fā)給Host。 在圖1所示的組網(wǎng)里表現(xiàn)為Router將Server發(fā)過來的應(yīng)答報文按照目的IP直接轉(zhuǎn)發(fā)給 Clientl 或 Client2〇
[0016] 但是在一些特定的應(yīng)用場景下,集群系統(tǒng)與Client設(shè)備處于不同的公私網(wǎng)絡(luò),需 要借助于L2TP的技術(shù),來保證業(yè)務(wù)互通。目前應(yīng)用VPN技術(shù)都需要采用路由器等網(wǎng)絡(luò)設(shè) 備,由這些網(wǎng)絡(luò)設(shè)備來進行L2TP的連通與處理,這對方案成本的增加以及組網(wǎng)適應(yīng)性等都 有很大的挑戰(zhàn)。所以集群系統(tǒng)如何與L2TP技術(shù)進行融合來實現(xiàn)Client與Server的交互, 即集群系統(tǒng)如何對于不同Client發(fā)送的報文進行負載分擔(dān)是本發(fā)明需要解決的問題。
【發(fā)明內(nèi)容】
[0017] 有鑒于此,本發(fā)明提供一種對報文進行負載分擔(dān)的方法和系統(tǒng)。
[0018] 該方法應(yīng)用于集群系統(tǒng)和L2TP LNS設(shè)備上,該集群系統(tǒng)位于第一網(wǎng)絡(luò),包括若干 集群服務(wù)器,該L2TP LNS設(shè)備位于第二網(wǎng)絡(luò),該方法包括:位于第一網(wǎng)絡(luò)的每一個集群服 務(wù)器分別向位于第二網(wǎng)絡(luò)的L2TP LNS設(shè)備請求建立L2TP連接,并且均請求L2TP LNS設(shè)備 將第一 IP地址分配給自身;L2TP LNS設(shè)備與每一個集群服務(wù)器建立L2TP連接,并且給每一 個集群服務(wù)器分配所述第一 IP地址;并且L2TP LNS設(shè)備設(shè)置自身主動向目的地址為第一 IP地址的設(shè)備通信的默認(rèn)L2TP隧道為與集群服務(wù)器中的主服務(wù)器建立的L2TP隧道;L2TP LNS設(shè)備接收到目的地址為第一 IP地址的報文后,將該報文進行L2TP隧道封裝后從所述默 認(rèn)的L2TP隧道進行發(fā)送;所述主服務(wù)器接收到該L2TP隧道報文后進行解封裝獲得內(nèi)層報 文的目的IP為第一 IP地址,根據(jù)預(yù)設(shè)的負載分擔(dān)策略,將該報文發(fā)送給第一集群服務(wù)器進 行處理。
[0019] 優(yōu)選地,該第一集群服務(wù)器將該報文處理完成后發(fā)送回應(yīng)報文,該回應(yīng)報文經(jīng)過 L2TP隧道封裝后從該第一集群服務(wù)器與L2TP LNS設(shè)備建立的L2TP隧道進行發(fā)送。
[0020] 優(yōu)選地,每一個集群服務(wù)器在向L2TP LNS設(shè)備請求建立L2TP連接時,告知L2TP LNS設(shè)備自身在集群系統(tǒng)中的主從身份,以便L2TP LNS設(shè)備確定與主服務(wù)器建立的L2TP隧 道。
[0021] 優(yōu)選地,集群系統(tǒng)中的每一個集群服務(wù)器還具有面向第一網(wǎng)絡(luò)中的終端設(shè)備提供 負載分擔(dān)服務(wù)的第二虛擬IP地址。
[0022] 本發(fā)明提供的一種對報文進行負載分擔(dān)的系統(tǒng)包括集群系統(tǒng)和L2TP LNS設(shè)備,該 集群系統(tǒng)位于第一網(wǎng)絡(luò),包括若干集群服務(wù)器,該L2TP LNS設(shè)備位于第二網(wǎng)絡(luò),位于第一 網(wǎng)絡(luò)的每一個集群服務(wù)器分別向位于第二網(wǎng)絡(luò)的L2TP LNS設(shè)備請求建立L2TP連接,并且 均請求L2TP LNS設(shè)備將第一 IP地址分配給自身;L2TP LNS設(shè)備與每一個集群服務(wù)器建立 L2TP連接,并且給每一個集群服務(wù)器分配所述第一 IP地址;并且L2TP LNS設(shè)備設(shè)置自身 主動向目的地址為第一 IP地址的設(shè)備通信的默認(rèn)L2TP隧道為與集群服務(wù)器中的主服務(wù)器 建立的L2TP隧道;L2TP LNS設(shè)備接收到目的地址為第一 IP地址的報文后,將該報文進行 L2TP隧道封裝后從所述默認(rèn)的L2TP隧道進行發(fā)送;所述主服務(wù)器接收到該L2TP隧道報文 后進行解封裝獲得內(nèi)層報文的目的IP為第一 IP地址,根據(jù)預(yù)設(shè)的負載分擔(dān)策略,將該報文 發(fā)送給第一集群服務(wù)器進行處理。
[0023] 優(yōu)選地,該第一集群服務(wù)器將該報文處理完成后發(fā)送回應(yīng)報文,該回應(yīng)報文經(jīng)過 L2TP隧道封裝后從該第一集群服務(wù)器與L2TP LNS設(shè)備建立的L2TP隧道進行發(fā)送。
[0024] 優(yōu)選地,每一個集群服務(wù)器在向L2TP LNS設(shè)備請求建立L2TP連接時,告知L2TP LNS設(shè)備自身在集群系統(tǒng)中的主從身份,以便L2TP LNS設(shè)備確定與主服務(wù)器建立的L2TP隧 道。
[0025] 優(yōu)選地,每一個集群服務(wù)器還具有面向第一網(wǎng)絡(luò)中的終端設(shè)備發(fā)送的報文進行負 載分擔(dān)的第二虛擬IP地址。
[0026] 相較于現(xiàn)有技術(shù),本發(fā)明提供的方案融合了集群系統(tǒng)與L2TP的隧道機制,實現(xiàn)了 集群系統(tǒng)中的服務(wù)器與隧道對端設(shè)備所連接的終端設(shè)備的交互,達到了對終端設(shè)備發(fā)送的 報文的負載分擔(dān)。
【專利附圖】
【附圖說明】
[0027] 圖1是現(xiàn)有的一種集群系統(tǒng)網(wǎng)絡(luò)圖。
[0028] 圖2是現(xiàn)有的集群系統(tǒng)工作原理圖。
[0029] 圖3是本發(fā)明的一種集群系統(tǒng)網(wǎng)絡(luò)圖。
[0030] 圖4是本發(fā)明實施例流程圖。
[0031] 圖5是應(yīng)用本發(fā)明方案的集群系統(tǒng)網(wǎng)絡(luò)圖。
【具體實施方式】
[0032] L2TP隧道機制的應(yīng)用,主要是因為集群系統(tǒng)和需要與該集群系統(tǒng)進行通信的終端 設(shè)備位于不同的網(wǎng)絡(luò)。比如說集群系統(tǒng)位于NAT1設(shè)備構(gòu)建的私網(wǎng)1中,終端設(shè)備位于NAT2 設(shè)備構(gòu)建的私網(wǎng)2中,此時就可以通過L2TP隧道建立起集群系統(tǒng)與終端設(shè)備之間的隧道鏈 路。請參圖3,集群系統(tǒng)包括節(jié)點1、節(jié)點2和節(jié)點3,這三個節(jié)點服務(wù)器位于私網(wǎng)1中;若 干終端設(shè)備位于私網(wǎng)2中,這些終端設(shè)備可以是網(wǎng)絡(luò)攝像機等設(shè)備,通常數(shù)量眾多,需要由 集群系統(tǒng)中的服務(wù)器負載分擔(dān)地給它們提供服務(wù)。私網(wǎng)2中存在一設(shè)備作為L2TP網(wǎng)絡(luò)服 務(wù)器LNS,比如說在私網(wǎng)2中的路由器上實現(xiàn)LNS的功能,或者在作為監(jiān)控網(wǎng)絡(luò)一部分的私 網(wǎng)2中的媒體交換服務(wù)器MS上實現(xiàn)LNS的功能。節(jié)點1、節(jié)點2和節(jié)點3作為LAS分別向 該LNS設(shè)備發(fā)起L2TP連接,建立L2TP隧道。終端設(shè)備通過L2TP隧道已經(jīng)能實現(xiàn)和節(jié)點1、 節(jié)點2以及節(jié)點3的通信,但是集群本身所具有的負載分擔(dān)的特性此時卻無法利用。
[0033] 針對上述問題,發(fā)明人設(shè)計了如下的方案來實現(xiàn)集群服務(wù)器與LNS設(shè)備建立L2TP 隧道鏈路下,集群服務(wù)器負載分擔(dān)地為LNS設(shè)備側(cè)的終端設(shè)備提供服務(wù)。
[0034] 請參圖4所示的本發(fā)明實施例流程圖。
[0035] S41、位于第一網(wǎng)絡(luò)的每一個集群服務(wù)器分別向位于第二網(wǎng)絡(luò)的L2TP LNS設(shè)備請 求建立L2TP連接,并且均請求L2TP LNS設(shè)備將第一 IP地址分配給自身。
[0036] 本步驟中需要指出的是,集群系統(tǒng)中的每一個服務(wù)器向L2TP LNS設(shè)備請求和終端 設(shè)備通信的IP地址為相同的IP地址,該IP地址也就是集群系統(tǒng)在L2TP的VPN網(wǎng)絡(luò)中對 外提供服務(wù)的虛擬IP地址。為了表述方便,這里將該虛擬IP地址稱為第一 IP地址。
[0037] 由于L2TP建立的是PPP鏈路,即使集群中每個節(jié)點服務(wù)器獲取相同的IP地址也 不會產(chǎn)生地址沖突,因為PPP鏈路中不存在ARP這樣的協(xié)議報文。
[0038] S42、L2TP LNS設(shè)備與每一個集群服務(wù)器建立L2TP連接,并且給每一個集群服務(wù) 器分配所述第一 IP地址;并且L2TP LNS設(shè)備設(shè)置自身主動向目的地址為第一 IP地址的設(shè) 備通信的默認(rèn)L2TP鏈路為與集群服務(wù)器中的主服務(wù)器建立的L2TP鏈路。
[0039] 對于L2TP的LNS設(shè)備而言,多個客戶端來請求建立連接,并且都希望獲得相同的 IP地址,L2TP自身的機制是允許建立連接的,所以L2TP LNS設(shè)備會與每一個集群服務(wù)器建 立L2TP連接,并且給每一個集群服務(wù)器分配它們所希望獲取的IP地址。
[0040] 雖然從集群服務(wù)器到LNS設(shè)備方向,多個集群服務(wù)器可以同時向LNS設(shè)備發(fā)送報 文,但從LNS設(shè)備到集群服務(wù)器方向,LSN設(shè)備只能與集群服務(wù)器中的一個節(jié)點服務(wù)器進行 通信。所以,在本步驟中,在LNS設(shè)備上,需要固定的設(shè)置LNS設(shè)備與集群系統(tǒng)進行通信的 集群服務(wù)器。通常地,集群系統(tǒng)中的主服務(wù)器將被選做與LNS設(shè)備進行通信的服務(wù)器,即當(dāng) LNS需要主動與集群系統(tǒng)進行通信時,報文都只走LNS與集群服務(wù)器中主節(jié)點建立的隧道。 在確定哪條L2TP鏈接是與主節(jié)點建立的連接時,可以按照下述方法判斷:集群系統(tǒng)的每一 個服務(wù)器在請求L2TP連接,告知LNS設(shè)備自身在集群系統(tǒng)中的主從身份;據(jù)此,LNS設(shè)備在 和主服務(wù)器建立L2TP連接后,就設(shè)置該條L2TP連接為默認(rèn)的LNS設(shè)備與集群系統(tǒng)通信的 隧道鏈路。若集群系統(tǒng)中的各服務(wù)器都是對等的,即沒有性能、功能等方面的任何差異,任 何一臺服務(wù)器都可以作為主服務(wù)器時,LNS設(shè)備可以按照一定的策略,比如說將第一個與其 建立L2TP鏈接的服務(wù)器作為主服務(wù)器,對應(yīng)的該L2TP鏈路就被設(shè)置為默認(rèn)的LNS設(shè)備與 集群系統(tǒng)通信的隧道鏈路。后續(xù),當(dāng)有終端設(shè)備封裝目的IP為集群系統(tǒng)在L2TP的VPN網(wǎng) 絡(luò)中對外提供的虛擬IP地址的報文時,LNS設(shè)備將通過上述默認(rèn)的隧道鏈路來發(fā)送該終端 設(shè)備的報文。
[0041] S43、和集群服務(wù)器不位于同一網(wǎng)絡(luò)的終端設(shè)備請求集群系統(tǒng)的服務(wù)器提供服務(wù), 目的地址為第一 IP地址的請求報文發(fā)送到L2TP LNS設(shè)備。
[0042] 如前文所述,本步驟中的終端設(shè)備在請求集群系統(tǒng)的服務(wù)器提供服務(wù)時,所要封 裝的服務(wù)請求報文的目的IP地址為集群系統(tǒng)在L2TP的VPN網(wǎng)絡(luò)中對外提供的虛擬IP地 址,該目的IP地址的報文必然先被轉(zhuǎn)發(fā)到LNS設(shè)備。
[0043] S44、L2TP LNS設(shè)備接收到目的地址為第一 IP地址的報文后,將該報文進行L2TP 隧道封裝后從所述默認(rèn)的L2TP鏈路進行發(fā)送。
[0044] 本步驟中,隧道封裝后的內(nèi)層報文的目的IP地址為第一 IP地址,即上述虛擬IP 地址,源IP地址為終端設(shè)備的IP地址。
[0045] S45、主服務(wù)器接收到該L2TP隧道報文后進行解封裝獲得內(nèi)層報文的目的IP為第 一 IP地址后,根據(jù)預(yù)設(shè)的負載分擔(dān)策略,將該報文發(fā)送給第一集群服務(wù)器進行處理。
[0046] 本步驟中的負載分擔(dān)策略可以是逐包調(diào)度策略、加權(quán)調(diào)度策略等等,對此本發(fā)明 沒有限制。在根據(jù)負載分擔(dān)策略確定由集群系統(tǒng)中的哪個服務(wù)器進行報文處理后,主服務(wù) 器將解封裝后的內(nèi)層報文轉(zhuǎn)發(fā)給該選定的服務(wù)器。為表述方便,這里將該選定的服務(wù)器稱 為第一集群服務(wù)器。
[0047] S46、該第一集群服務(wù)器將該報文處理完成后發(fā)送回應(yīng)報文,該回應(yīng)報文經(jīng)過L2TP 隧道封裝后從該第一集群服務(wù)器與L2TP LNS設(shè)備建立的L2TP鏈路進行發(fā)送。
[0048] 第一集群服務(wù)器接收到上述終端設(shè)備的報文后進行處理,然后回復(fù)終端設(shè)備,該 回應(yīng)報文直接走該第一集群服務(wù)器與LNS設(shè)備建立的隧道鏈路。第一集群服務(wù)器封裝的隧 道報文的內(nèi)層目的IP地址為終端設(shè)備的IP地址,內(nèi)層報文的源IP地址為上述虛擬IP地 址。這里,回應(yīng)報文不再經(jīng)過集群系統(tǒng)的主節(jié)點服務(wù)器,這樣處理可以最大限度的提高工作 效率。
[0049] S47、L2TP LNS設(shè)備接收到第一集群服務(wù)器發(fā)送的回應(yīng)報文后,將該報文解封裝后 轉(zhuǎn)發(fā)給上述終端設(shè)備。
[0050] 經(jīng)過隧道發(fā)送的回應(yīng)報文到達LNS設(shè)備后,LNS將對其進行解封裝,然后根據(jù)終端 設(shè)備的IP地址將該報文發(fā)送給終端設(shè)備。
[0051] 至此,對經(jīng)過L2TP連接的集群系統(tǒng)與終端設(shè)備的交互流程介紹完畢。下面在通過 一個具體的例子來進一步闡述本發(fā)明實施例。
[0052] 請參圖5, 一臺終端設(shè)備IPC通過L2TP隧道連接到LNS上,建立一個PPP鏈路隧 道,鏈路兩端的IP地址假設(shè)分別是10. 〇. 〇. 1和10. 〇. 〇. 2。這里,終端設(shè)備和LNS設(shè)備并不 像圖3 -樣位于同一個網(wǎng)絡(luò),所以在終端設(shè)備和LNS設(shè)備間也建立了 L2TP連接。集群系統(tǒng) 中的各個節(jié)點服務(wù)器也都分別與LNS設(shè)備建立了連接,集群系統(tǒng)中的各個節(jié)點服務(wù)器建立 連接獲取的IP地址都是10. 〇. 〇. 4,即集群系統(tǒng)的虛擬IP地址VIP'。依據(jù)本發(fā)明方案,需 要在LNS設(shè)備上設(shè)置:當(dāng)LNS要轉(zhuǎn)發(fā)目的地址為10. 0. 0. 4的數(shù)據(jù)報文時,都默認(rèn)只走一條 L2TP連接,該連接是LNS與集群服務(wù)器中主節(jié)點建立的L2TP連接。
[0053] 假設(shè)該IPC通過L2TP隧道連接,訪問集群系統(tǒng)所提供的服務(wù)。IPC發(fā)出的數(shù)據(jù)報 文源IP地址是10. 0.0. 1,目的IP地址是10. 0.0. 4。由于在IPC上去往10. 0.0. 4的路由是 走L2TP隧道連接,數(shù)據(jù)報文被轉(zhuǎn)發(fā)到L2TP的LNS上,LNS設(shè)備根據(jù)路由發(fā)現(xiàn)去往10. 0. 0. 4 的路由有3條L2TP隧道連接。根據(jù)在LNS設(shè)備上的設(shè)置,選擇3條隧道連接中與主節(jié)點 服務(wù)器的連接。如此一來,來自IPC的數(shù)據(jù)報文被轉(zhuǎn)發(fā)到了集群系統(tǒng)中的主節(jié)點服務(wù)器 上。集群系統(tǒng)中的主節(jié)點服務(wù)器把收到的隧道報文拆除掉L2TP頭后,獲得了目的IP地址 是10. 0.0. 4,源IP地址是10. 0.0. 1的內(nèi)層報文。由于目的地址是10. 0.0. 4的報文需要 進行負載均衡,于是集群系統(tǒng)中的主節(jié)點服務(wù)器根據(jù)一定的調(diào)度策略確定處理該報文的集 群服務(wù)器。這里假設(shè)主節(jié)點服務(wù)器選中了節(jié)點1,由節(jié)點1服務(wù)器為此次IPC發(fā)起的請求 進行服務(wù)。集群系統(tǒng)中的主節(jié)點服務(wù)器向選中的節(jié)點1服務(wù)器發(fā)送該IPC的報文,封裝的 以太網(wǎng)報文的目的MAC地址為節(jié)點1的MAC地址。該報文根據(jù)基本的二層轉(zhuǎn)發(fā)被節(jié)點1收 至IJ。節(jié)點1的處理如下:節(jié)點1收到報文后,解開報文發(fā)現(xiàn)此報文的目的IP是10. 〇. 〇. 4, 而節(jié)點1服務(wù)器有一個接口的IP地址就是10. 〇. 〇. 4,于是節(jié)點1會把這個報文上送到應(yīng)用 層程去處理,處理完發(fā)回應(yīng)報文。此時回應(yīng)報文的目的IP是之前來的報文的源IP地址,即 10. 0. 0. 1,回應(yīng)報文的源IP地址是10. 0. 0. 4。節(jié)點1根據(jù)回應(yīng)報文的目的IP地址查詢本 地路由,該回應(yīng)報文從節(jié)點1與LNS設(shè)備建立的L2TP隧道連接出去,于是回應(yīng)報文按照正 常的轉(zhuǎn)發(fā)流程被送往LNS設(shè)備。LNS設(shè)備也繼續(xù)根據(jù)報文的目的IP地址10. 0. 0. 1進行查 路由轉(zhuǎn)發(fā)送往IPC。值得注意的時,報文來時是經(jīng)過了群系統(tǒng)中的主節(jié)點服務(wù)器調(diào)度的,而 回應(yīng)報文則直接由節(jié)點1發(fā)出不再經(jīng)過集群系統(tǒng)中的主節(jié)點服務(wù)器,這樣可以最大限度的 提高工作效率。圖5中的實線表示隧道,虛線表示報文路徑。
[0054] 如果有若干個終端設(shè)備請求集群系統(tǒng)提供服務(wù),該若干個終端設(shè)備發(fā)送的請求報 文通過LNS設(shè)備與集群服務(wù)器建立的L2TP連接被發(fā)送到了集群系統(tǒng)的主節(jié)點服務(wù)器;該主 節(jié)點服務(wù)器通過預(yù)設(shè)的策略將各請求報文分別發(fā)送給不同的集群服務(wù)器進行處理,從而實 現(xiàn)了負載分擔(dān)。
[0055] 進一步參圖5,該集群系統(tǒng)的每個服務(wù)器還具有另一個虛擬IP地址VIP :1. 1. 1. 1, 該VIP是提供給與集群系統(tǒng)位于同一網(wǎng)絡(luò)(比如說私網(wǎng)1)的終端設(shè)備服務(wù)的。這些終端 設(shè)備無需進行L2TP撥號操作,直接按照現(xiàn)有的方式訪問VIP1. 1. 1. 1即可。所以本發(fā)明方 案和現(xiàn)有的集群方案實現(xiàn)了完美的兼容。
[0056] 綜上,本發(fā)明提供的方案融合了集群系統(tǒng)與L2TP的隧道機制,實現(xiàn)了集群系統(tǒng)中 的服務(wù)器與隧道對端設(shè)備所連接的終端設(shè)備的交互,達到了對終端設(shè)備發(fā)送的報文的負載 分擔(dān)。
[0057] 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1. 一種對報文進行負載分擔(dān)的方法,該方法應(yīng)用于集群系統(tǒng)和L2TP LNS設(shè)備上,該集 群系統(tǒng)位于第一網(wǎng)絡(luò),包括若干集群服務(wù)器,該L2TP LNS設(shè)備位于第二網(wǎng)絡(luò),其特征在于, 該方法包括: 位于第一網(wǎng)絡(luò)的每一個集群服務(wù)器分別向位于第二網(wǎng)絡(luò)的L2TP LNS設(shè)備請求建立 L2TP連接,并且均請求L2TP LNS設(shè)備將第一 IP地址分配給自身; L2TP LNS設(shè)備與每一個集群服務(wù)器建立L2TP連接,并且給每一個集群服務(wù)器分配所 述第一 IP地址;并且L2TP LNS設(shè)備設(shè)置自身主動向目的地址為第一 IP地址的設(shè)備通信的 默認(rèn)L2TP隧道為與集群服務(wù)器中的主服務(wù)器建立的L2TP隧道; L2TP LNS設(shè)備接收到目的地址為第一 IP地址的報文后,將該報文進行L2TP隧道封裝 后從所述默認(rèn)的L2TP隧道進行發(fā)送; 所述主服務(wù)器接收到該L2TP隧道報文后進行解封裝獲得內(nèi)層報文的目的IP為第一 IP 地址,根據(jù)預(yù)設(shè)的負載分擔(dān)策略,將該報文發(fā)送給第一集群服務(wù)器進行處理。
2. 如權(quán)利要求1所述的方法,其特征在于,該第一集群服務(wù)器將該報文處理完成后發(fā) 送回應(yīng)報文,該回應(yīng)報文經(jīng)過L2TP隧道封裝后從該第一集群服務(wù)器與L2TP LNS設(shè)備建立 的L2TP隧道進行發(fā)送。
3. 如權(quán)利要求1所述的方法,其特征在于,每一個集群服務(wù)器在向L2TP LNS設(shè)備請求 建立L2TP連接時,告知L2TP LNS設(shè)備自身在集群系統(tǒng)中的主從身份,以便L2TP LNS設(shè)備 確定與主服務(wù)器建立的L2TP隧道。
4. 如權(quán)利要求1所述的方法,其特征在于,集群系統(tǒng)中的每一個集群服務(wù)器還具有面 向第一網(wǎng)絡(luò)中的終端設(shè)備提供負載分擔(dān)服務(wù)的第二虛擬IP地址。
5. -種對報文進行負載分擔(dān)的系統(tǒng),該系統(tǒng)包括集群系統(tǒng)和L2TP LNS設(shè)備,該集群系 統(tǒng)位于第一網(wǎng)絡(luò),包括若干集群服務(wù)器,該L2TP LNS設(shè)備位于第二網(wǎng)絡(luò),其特征在于, 位于第一網(wǎng)絡(luò)的每一個集群服務(wù)器分別向位于第二網(wǎng)絡(luò)的L2TP LNS設(shè)備請求建立 L2TP連接,并且均請求L2TP LNS設(shè)備將第一 IP地址分配給自身; L2TP LNS設(shè)備與每一個集群服務(wù)器建立L2TP連接,并且給每一個集群服務(wù)器分配所 述第一 IP地址;并且L2TP LNS設(shè)備設(shè)置自身主動向目的地址為第一 IP地址的設(shè)備通信的 默認(rèn)L2TP隧道為與集群服務(wù)器中的主服務(wù)器建立的L2TP隧道; L2TP LNS設(shè)備接收到目的地址為第一 IP地址的報文后,將該報文進行L2TP隧道封裝 后從所述默認(rèn)的L2TP隧道進行發(fā)送; 所述主服務(wù)器接收到該L2TP隧道報文后進行解封裝獲得內(nèi)層報文的目的IP為第一 IP 地址,根據(jù)預(yù)設(shè)的負載分擔(dān)策略,將該報文發(fā)送給第一集群服務(wù)器進行處理。
6. 如權(quán)利要求5所述的系統(tǒng),其特征在于,該第一集群服務(wù)器將該報文處理完成后發(fā) 送回應(yīng)報文,該回應(yīng)報文經(jīng)過L2TP隧道封裝后從該第一集群服務(wù)器與L2TP LNS設(shè)備建立 的L2TP隧道進行發(fā)送。
7. 如權(quán)利要求5所述的系統(tǒng),其特征在于,每一個集群服務(wù)器在向L2TP LNS設(shè)備請求 建立L2TP連接時,告知L2TP LNS設(shè)備自身在集群系統(tǒng)中的主從身份,以便L2TP LNS設(shè)備 確定與主服務(wù)器建立的L2TP隧道。
8. 如權(quán)利要求5所述的系統(tǒng),其特征在于,每一個集群服務(wù)器還具有面向第一網(wǎng)絡(luò)中 的終端設(shè)備發(fā)送的報文進行負載分擔(dān)的第二虛擬IP地址。
【文檔編號】H04L12/715GK104158756SQ201410394426
【公開日】2014年11月19日 申請日期:2014年8月12日 優(yōu)先權(quán)日:2014年8月12日
【發(fā)明者】周迪, 王軍, 任俊峰, 杜超華 申請人:浙江宇視科技有限公司