專利名稱:一種實(shí)現(xiàn)非狀態(tài)多主備份的方法及代理網(wǎng)關(guān)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,特別是涉及一種實(shí)現(xiàn)非狀態(tài)多主備份的方法 及代理網(wǎng)關(guān)。
背景技術(shù):
高可靠性是網(wǎng)絡(luò)設(shè)備的一項(xiàng)重要功能。為了防止關(guān)鍵路徑上的單點(diǎn)故障, 一般在組網(wǎng)時(shí)部署多臺(tái)功能一樣的設(shè)備,其中一臺(tái)設(shè)備為主設(shè)備,負(fù)責(zé)正常的 業(yè)務(wù)處理,其它的設(shè)備作為冗余設(shè)備進(jìn)行備份。當(dāng)主設(shè)備宕機(jī)時(shí),備份設(shè)備可 以自動(dòng)接管業(yè)務(wù)處理,保證整個(gè)系統(tǒng)的正常運(yùn)行。
按照可靠性保障的強(qiáng)度來(lái)分, 一般有兩個(gè)級(jí)別
(1) 狀態(tài)備份
設(shè)備正常運(yùn)行時(shí)有很多中間狀態(tài)數(shù)據(jù),如TCP連接的收發(fā)序列號(hào)、安全 套接層(Security Socket Layer, SSL)連接的會(huì)話密鑰等。主備設(shè)備間通過(guò)共 享存儲(chǔ)、數(shù)據(jù)拷貝等方法實(shí)現(xiàn)狀態(tài)數(shù)據(jù)的備份。 一旦主設(shè)備故障,備份設(shè)備由 于擁有與主設(shè)備上一樣的狀態(tài)數(shù)據(jù),可以實(shí)現(xiàn)無(wú)縫的業(yè)務(wù)切換,絲毫不會(huì)中斷 當(dāng)前正在處理的業(yè)務(wù)會(huì)話。所以狀態(tài)備份可以提供很高的系統(tǒng)可靠性。
由于狀態(tài)數(shù)據(jù)的量很大且變化頻繁,要真正實(shí)現(xiàn)上述備份效果難度很大, 因而實(shí)現(xiàn)狀態(tài)備份的設(shè)備價(jià)格也較高。所以,狀態(tài)備份一般僅用在對(duì)系統(tǒng)可靠 性要求很高的場(chǎng)合。
(2) 非狀態(tài)備份
這種備份技術(shù)不對(duì)主設(shè)備的狀態(tài)數(shù)據(jù)進(jìn)行備份。當(dāng)備份設(shè)備檢測(cè)到主設(shè)備 故障時(shí),會(huì)自動(dòng)接管后續(xù)的業(yè)務(wù)處理。由于沒(méi)有備份主設(shè)備的狀態(tài)數(shù)據(jù),因而 原來(lái)在主設(shè)備上處理的業(yè)務(wù)會(huì)話將會(huì)中斷。備份設(shè)備只能處理后續(xù)新建的業(yè)務(wù) 會(huì)話。由于一般應(yīng)用程序都有一定的故障保護(hù)能力,在發(fā)現(xiàn)通訊故障時(shí),會(huì)自 動(dòng)重試連接,因而這種非狀態(tài)備份技術(shù)可以滿足很多對(duì)可靠性要求不很高的系 統(tǒng)。另外,由于非狀態(tài)備份實(shí)現(xiàn)起來(lái)比較容易,該功能的引入不會(huì)增加太多的 設(shè)備成本,因而^皮廣泛應(yīng)用。
在實(shí)現(xiàn)非狀態(tài)備份的技術(shù)中,按照主備設(shè)備的運(yùn)行狀態(tài)劃分,又有兩種運(yùn)
行模式
(1 )主備模式(Active/Standby ): —臺(tái)設(shè)備作為主設(shè)備運(yùn)行,處理業(yè)務(wù) 流量,另一臺(tái)設(shè)備為備^i殳備,不負(fù)責(zé)處理業(yè)務(wù)流量。當(dāng)主設(shè)備發(fā)生故障時(shí), 備份設(shè)備將自動(dòng)切換自己為主設(shè)備,處理后續(xù)的業(yè)務(wù)流量。
(2)雙主模式(Active/Active):正常工作時(shí),兩臺(tái)設(shè)備分別處理一部分 通訊業(yè)務(wù)。當(dāng)一臺(tái)設(shè)備故障時(shí),另一臺(tái)設(shè)備將接管原來(lái)由故障設(shè)備負(fù)責(zé)處理的 業(yè)務(wù)。當(dāng)故障設(shè)備恢復(fù)正常時(shí),原有的通訊流量將重新分配回去。
主備模式部署起來(lái)相對(duì)簡(jiǎn)單,但是設(shè)備的利用率不高。用戶購(gòu)買了兩臺(tái)設(shè) 備,正常情況下卻只有一臺(tái)設(shè)備在工作。雙主模式下互為備份的設(shè)備都能處理 業(yè)務(wù)流量,既為系統(tǒng)提供了一定的可靠性,又提高了設(shè)備的利用率。但如何實(shí) 現(xiàn)業(yè)務(wù)流量在兩臺(tái)設(shè)備之間的自動(dòng)分配卻并不容易,這使得雙主模式部署起來(lái) 有一些困難。
目前實(shí)現(xiàn)雙機(jī)冗余備份的常用方法是虛擬路由器冗余協(xié)議(Virtual Router Redundancy Protocol, VRRP)技術(shù)。利用VRRP技術(shù)實(shí)現(xiàn)冗余備份的方案也 有上述的兩種模式主備模式和雙主模式,以下分別介紹之。
圖1為利用VRRP實(shí)現(xiàn)主備模式的冗余備份的組網(wǎng)示意圖,如圖1所示 主設(shè)備Gwl和備份設(shè)備Gw2構(gòu)成一個(gè)VRRP組。Gwl擁有真實(shí)的接口 IP地址IP1和相對(duì)應(yīng)的MAC地址MAC 1, Gw2擁有真實(shí)的接口 IP地址IP2 和相對(duì)應(yīng)的MAC地址MAC2。整個(gè)VRRP組對(duì)外表現(xiàn)得像一臺(tái)網(wǎng)關(guān)GwO, GwO擁有IP地址IPO及其對(duì)應(yīng)的MAC地址MACO。 IPO和MAC0不必是設(shè) 備接口上配置的真實(shí)值,因而^^稱作虛擬IP和虛擬MAC。 IP1和IP2 —般不 必是公網(wǎng)IP地址。
上一跳路由器(Router)和Gwl、 Gw2處在同一個(gè)廣播網(wǎng)段中,這樣同 一個(gè)廣播報(bào)文在此網(wǎng)段中傳播時(shí),Gwl和Gw2都能接收到。
當(dāng)Router為尋找IPO的MAC地址而廣^番地址解析協(xié)議(Address Resolution Protocol, ARP )請(qǐng)求時(shí),主設(shè)備Gwl會(huì)用MACO應(yīng)答。此后Router便使用MAC0向IPO發(fā)送報(bào)文。作為主設(shè)備Gwl會(huì)接收目的MAC地址為 MACO的報(bào)文,而備份設(shè)備Gw2則會(huì)丟棄目的MAC地址為MACO的報(bào)文。 這樣就保證了所有的^^文都經(jīng)由Gwl處理。
主設(shè)備Gwl會(huì)定時(shí)向備份設(shè)備Gw2發(fā)送VRRP健康檢測(cè)報(bào)文。當(dāng)Gwl 發(fā)生故障時(shí),Gw2會(huì)發(fā)現(xiàn)這種情況。此時(shí),Gw2會(huì)切換為VRRP組的主設(shè)備。 對(duì)隨后發(fā)送給MACO的才艮文,Gw2會(huì)接收并進(jìn)行相應(yīng)的處理。
Gwl恢復(fù)運(yùn)行后,發(fā)現(xiàn)VRRP組中已有主設(shè)備在運(yùn)行,此時(shí)可以采用搶 占方式,通過(guò)VRRP協(xié)議重新選舉主設(shè)備;也可以采用非搶占方式,運(yùn)行于 備份狀態(tài)。
圖2為利用VRRP實(shí)現(xiàn)雙主模式的冗余備份的組網(wǎng)示意圖,如圖2所示 在Gwl和Gw2上配置兩個(gè)VRRP組。在一個(gè)VRRP組中,虛擬一個(gè)網(wǎng) 關(guān)GwO,使用IPO和MACO作為通訊地址;在該組中使用Gwl為主設(shè)備,Gw2 為備份設(shè)備。在另 一個(gè)VRRP組中,虛擬一個(gè)網(wǎng)關(guān)GwOO,使用IPOO和MACOO 作為通訊地址;在該組中使用Gw2為主設(shè)備,Gwl為備份設(shè)備。在Router上 配置策略路由,使得一部分報(bào)文去往GwO;而另 一部分報(bào)文去往GwOO。 圖2所示的方案雖然實(shí)現(xiàn)了雙主模式的冗余備份,但存在如下缺點(diǎn) (1)需要配置兩個(gè)VRRP組,配置復(fù)雜。
(2 )在上一跳路由器上配置的策略路由是根據(jù)IP地址和端口號(hào)進(jìn)行的固 定轉(zhuǎn)發(fā),不能根據(jù)后面設(shè)備的實(shí)際負(fù)載情況進(jìn)行均衡分配。
(3)需要在上一跳路由器中進(jìn)行比較復(fù)雜的配置,維護(hù)較麻煩。如果上 一跳路由器是運(yùn)營(yíng)商管理的,則配置和維護(hù)將更加困難。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種實(shí)現(xiàn)非狀態(tài)多主備份的方法及代 理網(wǎng)關(guān),在保證高可靠性的同時(shí),實(shí)現(xiàn)了負(fù)載均衡。 為解決上述技術(shù)問(wèn)題,本發(fā)明提供技術(shù)方案如下
一種實(shí)現(xiàn)非狀態(tài)多主備份的方法,用于配置有包括主代理網(wǎng)關(guān)和備份代理 網(wǎng)關(guān)的VRRP組的系統(tǒng)中,包括
主代理網(wǎng)關(guān)接收用戶發(fā)送的要求登錄網(wǎng)關(guān)的登錄請(qǐng)求,對(duì)所述登錄請(qǐng)求進(jìn) 行負(fù)載均衡處理;主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由自身處理時(shí),直接對(duì)所述登錄請(qǐng)求執(zhí)行
代理操作;
主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由備份代理網(wǎng)關(guān)處理時(shí),向所述用戶發(fā)送 重定向報(bào)文,所述重定向報(bào)文中攜帶所確定的備份代理網(wǎng)關(guān)的地址信息。
上述的方法,其中,還包括備份代理網(wǎng)關(guān)接收到用戶發(fā)送的要求登錄網(wǎng) 關(guān)的登錄請(qǐng)求時(shí),直接對(duì)所述登錄請(qǐng)求執(zhí)行代理操作。
上述的方法,其中,還包括主代理網(wǎng)關(guān)或備份代理網(wǎng)關(guān)接收到用戶發(fā)送 的請(qǐng)求報(bào)文時(shí),若該請(qǐng)求不是登錄網(wǎng)關(guān)的登錄請(qǐng)求,直接對(duì)該請(qǐng)求執(zhí)行代理操 作。
上述的方法,其中,在配置所述VRRP組時(shí),將代理網(wǎng)關(guān)的地址和VRRP 組的虛擬地址均i殳置為網(wǎng)地址。
上述的方法,其中,在配置所述VRRP組時(shí),將代理網(wǎng)關(guān)的地址和VRRP 組的虛擬地址均設(shè)置為私網(wǎng)地址;所述方法還包括在上一跳路由器中設(shè)置地 址轉(zhuǎn)換表,所述地址轉(zhuǎn)換表中包括所述私網(wǎng)地址與對(duì)應(yīng)的公網(wǎng)地址的轉(zhuǎn)換關(guān) 系;所述上一跳路由器在接收到報(bào)文時(shí),根據(jù)所述地址轉(zhuǎn)換表進(jìn)行地址轉(zhuǎn)換后 再對(duì)所述^R文進(jìn)行轉(zhuǎn)發(fā)。
上述的方法,其中,所述重定向報(bào)文中攜帶的地址信息為所確定的備份代 理網(wǎng)關(guān)的私網(wǎng)i也址對(duì)應(yīng)的7>網(wǎng)地址。
上述的方法,其中,還包括主代理網(wǎng)關(guān)定時(shí)向備份代理網(wǎng)關(guān)發(fā)送探測(cè)負(fù) 載情況的請(qǐng)求報(bào)文,根據(jù)備份代理網(wǎng)關(guān)的響應(yīng)獲取所述備份代理網(wǎng)關(guān)的負(fù)載情 況。
上述的方法,其中,還包括主代理網(wǎng)關(guān)定時(shí)向備份代理網(wǎng)關(guān)發(fā)送VRRP 健康檢測(cè)報(bào)文;備份代理網(wǎng)關(guān)在預(yù)定時(shí)間內(nèi)沒(méi)有收到所述健康檢測(cè)報(bào)文時(shí),重 新選舉主代理網(wǎng)關(guān)。
一種代理網(wǎng)關(guān),包括,VRRP模塊、業(yè)務(wù)識(shí)別模塊、負(fù)載均衡模塊、應(yīng)用 代理模塊、重定向模塊,其中
所述VRRP模塊,用于接收并處理目的地址為VRRP組的虛擬地址的請(qǐng) 求報(bào)文;
所述業(yè)務(wù)識(shí)別模塊,用于判斷所述請(qǐng)求報(bào)文是否為要求登錄網(wǎng)關(guān)的登錄請(qǐng)求,若是,將該登錄請(qǐng)求發(fā)送給所述負(fù)載均衡模塊,否則,將該請(qǐng)求報(bào)文發(fā)送
給所述應(yīng)用代理模塊;
負(fù)載均衡模塊,用于對(duì)所述登錄請(qǐng)求進(jìn)行負(fù)載均^f軒處理,在確定所述登錄 請(qǐng)求由本代理網(wǎng)關(guān)處理時(shí),將該登錄請(qǐng)求發(fā)送給所述應(yīng)用代理模塊,在確定所 述登錄請(qǐng)求由備份代理網(wǎng)關(guān)處理時(shí),發(fā)送所確定的備份代理網(wǎng)關(guān)信息到所述重 定向模塊;
所述重定向模塊,用于向用戶發(fā)送重定向報(bào)文,所述重定向報(bào)文中包括所
述確定的備份代理網(wǎng)關(guān)的地址信息;
應(yīng)用代理模塊,用于對(duì)接收到的請(qǐng)求報(bào)文執(zhí)行代理操作。 上述的代理網(wǎng)關(guān),其中,還包括配置模塊,用于將代理網(wǎng)關(guān)和VRRP
組的虛擬地址均設(shè)置為公網(wǎng)地址。
上述的代理網(wǎng)關(guān),其中,還包括配置模塊,用于將代理網(wǎng)關(guān)和VRRP
組的虛擬地址均設(shè)置為私網(wǎng)地址;所述重定向模塊,進(jìn)一步將發(fā)送給用戶的重
定向報(bào)文中包括的地址信息設(shè)置為所述確定的備份代理網(wǎng)關(guān)的私網(wǎng)地址對(duì)應(yīng)
的7>網(wǎng)地址。
上述的代理網(wǎng)關(guān),其中,所述負(fù)載均衡模塊,還用于定時(shí)向備份代理網(wǎng)關(guān) 發(fā)送探測(cè)負(fù)載情況的請(qǐng)求報(bào)文,根據(jù)備份代理網(wǎng)關(guān)的響應(yīng)獲取所述備份代理網(wǎng) 關(guān)的負(fù)載情況。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是
(1) 實(shí)現(xiàn)了真正的負(fù)載均衡,而又沒(méi)有單點(diǎn)故障;
(2) 實(shí)施簡(jiǎn)單,成本低VRRP、重定向、負(fù)載均衡算法都是易于實(shí)現(xiàn) 的技術(shù),組網(wǎng)上不需要配置額外的負(fù)載均衡設(shè)備,也不需要在上一跳路由器上 配置策略路由;
(3) 采用重定向進(jìn)行負(fù)載均衡,可以避免為了實(shí)現(xiàn)會(huì)話的一致性而采取 的復(fù)雜算法。
圖1為現(xiàn)有技術(shù)中利用VRRP實(shí)現(xiàn)主備模式的冗余備份的組網(wǎng)示意圖; 圖2為現(xiàn)有技術(shù)中利用VRRP實(shí)現(xiàn)雙主模式的冗余備份的組網(wǎng)示意圖; 圖3為本發(fā)明實(shí)施例的實(shí)現(xiàn)非狀態(tài)多主備份的方法流程圖;圖4為本發(fā)明實(shí)施中使用一個(gè)公網(wǎng)IP地址的雙主備份方案組網(wǎng)示意圖; 圖5為本發(fā)明實(shí)施例的代理網(wǎng)關(guān)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明中提出了 一種實(shí)現(xiàn)非狀態(tài)多主備份的方法,用于配置有包括主代理 網(wǎng)關(guān)和備份代理網(wǎng)關(guān)的VRRP組的系統(tǒng)中,其關(guān)鍵在于在VRRP中引入負(fù) 載均衡技術(shù)和重定向技術(shù)。為便于更好的理解本發(fā)明的實(shí)施例,這里先對(duì)代理 網(wǎng)關(guān)和重定向技術(shù)進(jìn)行簡(jiǎn)單介紹。
代理網(wǎng)關(guān) 一種網(wǎng)絡(luò)設(shè)備,其接收客戶端對(duì)服務(wù)器發(fā)來(lái)的請(qǐng)求,對(duì)該請(qǐng)求 進(jìn)行處理后,代理客戶端與服務(wù)器進(jìn)行交互,并對(duì)服務(wù)器返回的響應(yīng)進(jìn)行處理 后,再返回給客戶端。
重定向 一種協(xié)議交互功能,服務(wù)器對(duì)客戶端發(fā)來(lái)的請(qǐng)求不直接返回相應(yīng) 的服務(wù)應(yīng)答,而是在返回的響應(yīng)報(bào)文中通知客戶端去另一個(gè)服務(wù)地址獲取相應(yīng) 的服務(wù)??蛻舳私邮沾酥囟ㄏ驁?bào)文后,將向新的服務(wù)地址發(fā)出新的請(qǐng)求。Http 協(xié)議的重定向機(jī)制就提供這樣的功能。凡是能夠?qū)崿F(xiàn)所述重定向功能的協(xié)議或 機(jī)制都可以在本發(fā)明所述的方案中采用。
參照?qǐng)D3,本發(fā)明實(shí)施例的實(shí)現(xiàn)非狀態(tài)多主備份的方法主要包括如下步
驟
步驟301: VRRP組中的主代理網(wǎng)關(guān)接收用戶發(fā)送的要求登錄網(wǎng)關(guān)的登錄 請(qǐng)求,對(duì)所述登錄請(qǐng)求進(jìn)行負(fù)載均衡處理。
在本步驟中,主代理網(wǎng)關(guān)接收目的地址為VRRP組的虛擬地址的請(qǐng)求報(bào) 文,對(duì)該請(qǐng)求報(bào)文進(jìn)行判斷,若該請(qǐng)求報(bào)文為要求登錄網(wǎng)關(guān)的登錄請(qǐng)求,則對(duì) 其進(jìn)行負(fù)載均衡處理,否則,直接對(duì)該請(qǐng)求執(zhí)行代理操作。這里,負(fù)載均衡處 理是指,主代理網(wǎng)關(guān)根據(jù)VRRP組中各代理網(wǎng)關(guān)的當(dāng)前負(fù)載,按照預(yù)定的負(fù) 載均衡算法,確定該登錄請(qǐng)求應(yīng)由哪臺(tái)代理網(wǎng)關(guān)進(jìn)行處理。
另外,主代理網(wǎng)關(guān)通過(guò)定時(shí)向備份代理網(wǎng)關(guān)發(fā)送探測(cè)負(fù)載情況的請(qǐng)求報(bào) 文,根據(jù)備份代理網(wǎng)關(guān)的響應(yīng)來(lái)獲取所述備份代理網(wǎng)關(guān)的負(fù)載情況。
步驟302:主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由自身處理時(shí),直接對(duì)所述登 錄請(qǐng)求執(zhí)行代理操作。
步驟303:主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由備^f分代理網(wǎng)關(guān)處理時(shí),向所述用戶發(fā)送重定向報(bào)文,所述重定向報(bào)文中攜帶所確定的備份代理網(wǎng)關(guān)的地址 信息。
本發(fā)明實(shí)施例通過(guò)采用重定向技術(shù)進(jìn)行負(fù)載均衡??蛻舳耸盏街囟ㄏ驁?bào)文 后,根據(jù)其中的地址信息,重新向?qū)?yīng)的備份代理網(wǎng)關(guān)發(fā)送登錄請(qǐng)求。備份代 理網(wǎng)關(guān)接收到用戶發(fā)送的要求登錄網(wǎng)關(guān)的登錄請(qǐng)求時(shí),直接對(duì)所述登錄請(qǐng)求執(zhí) 行代理操作。
本發(fā)明由于采用了 VRRP技術(shù),主代理網(wǎng)關(guān)會(huì)定時(shí)向備份代理網(wǎng)關(guān)發(fā)送 VRRP健康檢測(cè)報(bào)文;備份代理網(wǎng)關(guān)在預(yù)定時(shí)間內(nèi)沒(méi)有收到所述健康檢測(cè)報(bào)文 時(shí),重新選舉主代理網(wǎng)關(guān)。如此,實(shí)現(xiàn)了系統(tǒng)的可靠性。
其中,在配置所述VRRP組時(shí),可以將代理網(wǎng)關(guān)的地址和VRRP組的虛 擬地址均i殳置為/〉網(wǎng)地址,也可以將代理網(wǎng)關(guān)的地址和VRRP組的虛擬地址 均^殳置為私網(wǎng)地址。
在將代理網(wǎng)關(guān)的地址和VRRP組的虛擬地址均設(shè)置為私網(wǎng)地址的情況下, 還需要在上一跳路由器中設(shè)置地址轉(zhuǎn)換表,所述地址轉(zhuǎn)換表中包括所述私網(wǎng)地 址與對(duì)應(yīng)的公網(wǎng)地址的轉(zhuǎn)換關(guān)系;所述上一跳路由器在接收到報(bào)文時(shí),根據(jù)所 述地址轉(zhuǎn)換表進(jìn)行地址轉(zhuǎn)換后再對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)。并且,所述重定向報(bào)文 中攜帶的地址信息為所確定的備份代理網(wǎng)關(guān)的私網(wǎng)地址對(duì)應(yīng)的公網(wǎng)地址。
以下給出本發(fā)明的方法應(yīng)用于SSL VPN中的2個(gè)具體實(shí)施例。在描述具 體實(shí)施例前,先筒單介紹SSLVPN技術(shù)。
SSLVPN是一種采用SSL加密連接實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的VPN技術(shù)。遠(yuǎn)程主機(jī) 與SSL VPN網(wǎng)關(guān)之間建立SSL連接,以加密方式在Internet上傳送報(bào)文;而 SSLVPN網(wǎng)關(guān)終結(jié)了 SSL連接,與內(nèi)網(wǎng)的服務(wù)器之間建立TCP連接,以明文 方式傳送遠(yuǎn)程主機(jī)發(fā)來(lái)的請(qǐng)求,并將服務(wù)器的應(yīng)答通過(guò)SSL連接發(fā)給遠(yuǎn)程主 機(jī)。SSL VPN網(wǎng)關(guān)以代理方式響應(yīng)遠(yuǎn)程主機(jī)的請(qǐng)求,SSL VPN的遠(yuǎn)程用戶一 般首先使用Web瀏覽器登錄到SSLVPN網(wǎng)關(guān),之后網(wǎng)關(guān)才允許遠(yuǎn)程主機(jī)訪問(wèn) 內(nèi)網(wǎng)資源。
實(shí)施例1
該實(shí)施例的組網(wǎng)結(jié)構(gòu)請(qǐng)參照?qǐng)D1。 (1)準(zhǔn)備主設(shè)備Gwl和備份設(shè)備Gw2構(gòu)成一個(gè)VRRP組。Gwl擁有真實(shí)的接口 IP地址IP1和相對(duì)應(yīng)的MAC地址MAC1, Gw2擁有真實(shí)的接口 IP地址IP2 和相對(duì)應(yīng)的MAC地址MAC2。整個(gè)VRRP組對(duì)外表現(xiàn)得像一臺(tái)網(wǎng)關(guān)Gw0, GwO擁有IP地址IPO及其對(duì)應(yīng)的MAC地址MACO。 IPO和MACO不必是設(shè) 備4妻口上配置的真實(shí)值,因而凈皮稱作虛擬IP和虛擬MAC。
其中,Gwl負(fù)責(zé)接收對(duì)IPO和MACO的訪問(wèn);Gw2只監(jiān)聽(tīng)VRRP報(bào)文, 不處理對(duì)IPO和MACO的訪問(wèn)。
與普通VRRP組網(wǎng)不同的是,Gwl和Gw2分別擁有各自的公網(wǎng)IP地址 IPl和IP2,這樣整個(gè)VRRP組擁有三個(gè)公網(wǎng)IP地址(包括IPO )。 Gwl會(huì)接 收并處理目的IP為IPl的報(bào)文,Gw2會(huì)接收并處理目的IP為IP2的報(bào)文。 (2)負(fù)載的均衡
SSLVPN用戶訪問(wèn)SSLVPN網(wǎng)絡(luò)時(shí),首先需要通過(guò)Web瀏覽器訪問(wèn)SSL VPN網(wǎng)關(guān)的Web首頁(yè)進(jìn)行用戶登錄。網(wǎng)關(guān)群組對(duì)外公開(kāi)的訪問(wèn)地址是VRRP 的虛擬IP地址IPO,這樣用戶訪問(wèn)SSL VPN網(wǎng)關(guān)首頁(yè)的請(qǐng)求將會(huì)發(fā)送給IPO。 負(fù)載均衡的處理過(guò)程如下
a) 正常情況下,Gwl作為VRRP組中的主設(shè)備將會(huì)接收目的IP為IPO 報(bào)文,因而會(huì)收到用戶對(duì)SSLVPN網(wǎng)關(guān)首頁(yè)的http請(qǐng)求。
b) Gwl根據(jù)負(fù)載均衡算法確定此請(qǐng)求該由群組內(nèi)的哪臺(tái)設(shè)備來(lái)處理。如 果應(yīng)該Gwl自己處理,則Gwl將自行處理請(qǐng)求,并將響應(yīng)返回給遠(yuǎn)程主機(jī)。 如果應(yīng)該由其它設(shè)備處理,如Gw2, Gwl則可以發(fā)送http重定向報(bào)文給遠(yuǎn)程 主機(jī),通知遠(yuǎn)程主機(jī)上的Web瀏覽器重新發(fā)送http請(qǐng)求到IP2。
c) 遠(yuǎn)程瀏覽器接收到重定向報(bào)文后,會(huì)自動(dòng)向IP2發(fā)送新的獲取網(wǎng)關(guān)登 錄首頁(yè)的http請(qǐng)求。
d) Gw2接收到訪問(wèn)首頁(yè)的http請(qǐng)求后,會(huì)返回自己的網(wǎng)關(guān)首頁(yè)。在后續(xù) 的會(huì)話過(guò)程中,用戶將通過(guò)Gw2來(lái)訪問(wèn)SSLVPN網(wǎng)絡(luò)。如此,SSL VPN群組
就實(shí)現(xiàn)了基于用戶的負(fù)載均衡。 在這里有幾點(diǎn)說(shuō)明
a) 負(fù)載均衡技術(shù)已比較成熟,有多種算法,在網(wǎng)關(guān)上實(shí)現(xiàn)比較容易。
b) 作為主設(shè)備的Gwl可以定時(shí)向備份設(shè)備發(fā)送探測(cè)性的http請(qǐng)求報(bào)文。備份設(shè)備收到該報(bào)文后,可以將自己的負(fù)載情況作為響應(yīng)。這樣主設(shè)備可以及 時(shí)了解備份設(shè)備是否運(yùn)行正常,以及目前處理負(fù)載的能力如何。
c) http重定向功能是HTTP協(xié)議所規(guī)定的必備功能,可以得到任何Web 瀏覽器的支持。Http重定向報(bào)文有多種,可以選用協(xié)議規(guī)定的302、 303、 307 號(hào)報(bào)文。
(3)故障切換與恢復(fù)
當(dāng)主設(shè)備Gwl出現(xiàn)故障時(shí),備份設(shè)備Gw2通過(guò)VRRP協(xié)議檢測(cè)到后,可
以切換自己為主設(shè)備。此后,Gw2將負(fù)責(zé)接收發(fā)往IP0和MAC0的http請(qǐng)求。
從而保障了整個(gè)系統(tǒng)的通訊正常。
Gw2還會(huì)定期向故障設(shè)備Gwl發(fā)送探測(cè)性的http請(qǐng)求。 當(dāng)故障設(shè)備Gwl恢復(fù)正常后,通過(guò)VRRP協(xié)議會(huì)發(fā)現(xiàn)VRRP組中已經(jīng)存
在了一個(gè)主設(shè)備。此時(shí)Gwl采用非搶占方式,作為VRRP組中的備份設(shè)備運(yùn)行。
Gw2在探測(cè)到Gwl正常運(yùn)行后,就可以使用(2)中所述的方法將一部 分http請(qǐng)求重定向到IP1,將用戶請(qǐng)求交給Gwl處理,從而實(shí)現(xiàn)了新的負(fù)載 均衡。
實(shí)施例1的方案中包括了 2臺(tái)網(wǎng)關(guān)設(shè)備,本領(lǐng)域技術(shù)人員容易知道,該方 案完全適用于由任意多臺(tái)設(shè)備構(gòu)成的備份組中,從而實(shí)現(xiàn)更大規(guī)模的多主備份 群組。
實(shí)施例2
在實(shí)際使用中,實(shí)施例1的方案有一個(gè)缺點(diǎn)就是要使用多個(gè)公網(wǎng)IP地址。 為此可以使用地址轉(zhuǎn)換(NAT)的方法實(shí)施這種方案。圖4為使用一個(gè)公網(wǎng) IP地址的雙主備份方案組網(wǎng)示意圖。
如圖4所示Router為局域網(wǎng)的出口路由器,擁有一個(gè)公網(wǎng)IP地址IP—0。 Gwl和Gw2為處于內(nèi)網(wǎng)的兩臺(tái)網(wǎng)關(guān)設(shè)備,各自擁有一個(gè)私網(wǎng)IP地址IP1和IP2。 Gwl和Gw2構(gòu)成一個(gè)VRRP組,使用一個(gè)私網(wǎng)的IP地址IP0。假設(shè)網(wǎng)關(guān)設(shè)備 上提供一個(gè)TCP服務(wù),該服務(wù)的監(jiān)聽(tīng)端口號(hào)為port0。
在出口路由器上啟用NAT Server功能,配置以下幾條地址轉(zhuǎn)換規(guī)則
IP—O/port—0 —> IPO/portO<formula>formula see original document page 14</formula><formula>formula see original document page 14</formula>
網(wǎng)關(guān)對(duì)外公布的服務(wù)地址為IP—0/port—0,這樣遠(yuǎn)程用戶可以通過(guò)公網(wǎng)訪問(wèn) 此安全服務(wù)時(shí),報(bào)文將到達(dá)出口路由器Router。 Router對(duì)地址進(jìn)行轉(zhuǎn)換后,IP 報(bào)文的目的變?yōu)镮P0/port0 ,此報(bào)文將到達(dá)VRRP組,被當(dāng)前的主設(shè)備Gw 1處理。
Gwl如果要將請(qǐng)求進(jìn)行重定向,需要將重定向地址寫為IP_0/port—2,這 樣遠(yuǎn)程主機(jī)將向IP_0/port_2發(fā)起新的請(qǐng)求。該請(qǐng)求報(bào)文經(jīng)過(guò)地址轉(zhuǎn)換,變?yōu)?去往IP2/portO的報(bào)文,將被Gw2接收并處理。
這樣整個(gè)方案只使用了一個(gè)公網(wǎng)IP地址,只要在出口路由器上配置多條 Nat Server轉(zhuǎn)換表項(xiàng)即可。
圖5為本發(fā)明實(shí)施例的代理網(wǎng)關(guān)的結(jié)構(gòu)示意圖,如圖5所示,代理網(wǎng)關(guān) 系統(tǒng)分為兩個(gè)層次應(yīng)用層和IP層,IP層中包括有VRRP模塊,應(yīng)用層中包 括有業(yè)務(wù)識(shí)別模塊、負(fù)載均衡模塊、應(yīng)用代理模塊和重定向模塊。另外,還可 包括向系統(tǒng)中可模塊配置參數(shù)的配置模塊。
IP層負(fù)責(zé)收發(fā)IP報(bào)文,其中的VRRP模塊是執(zhí)行VRRP協(xié)議的模塊, 可以與IP層協(xié)同工作,當(dāng)IP層啟動(dòng)VRRP模塊時(shí),如果設(shè)備為VRRP主設(shè)備, IP層將接收目的地址為虛擬IP或虛MAC的報(bào)文;如果設(shè)備為VRRP備份設(shè) 備,IP層將丟棄收到的目的地址為虛擬IP或虛擬MAC的報(bào)文。
應(yīng)用層負(fù)責(zé)處理應(yīng)用業(yè)務(wù)的代理工作,其中
業(yè)務(wù)識(shí)別模塊識(shí)別用戶發(fā)來(lái)的請(qǐng)求是否為要求登錄網(wǎng)關(guān)的登錄請(qǐng)求(在 http協(xié)議中可以根據(jù)所請(qǐng)求的路徑來(lái)判斷),如果是,將此請(qǐng)求轉(zhuǎn)給負(fù)載均衡 模塊處理;否則,交由本設(shè)備上的應(yīng)用代理模塊處理。
負(fù)載均衡模塊當(dāng)本設(shè)備處于VRRP主設(shè)備狀態(tài)時(shí),該模塊將負(fù)責(zé)探測(cè) 備份組中各設(shè)備的負(fù)載情況。對(duì)用戶發(fā)來(lái)的登錄請(qǐng)求,按照各設(shè)備的負(fù)載情況, 根據(jù)預(yù)定的負(fù)載均衡算法,將請(qǐng)求交給適當(dāng)?shù)脑O(shè)備去處理。如果需要自己處理, 則將用戶的登錄請(qǐng)求直接交給本地設(shè)備上的應(yīng)用代理模塊去處理;如果需要 其它設(shè)備處理,則通過(guò)重定向模塊向客戶端發(fā)出重定向報(bào)文,通知客戶端向新 的服務(wù)地址發(fā)出請(qǐng)求。其中,所述負(fù)載均衡模塊通過(guò)定時(shí)向備份設(shè)備發(fā)送探測(cè)負(fù)載情況的請(qǐng)求報(bào)文,根據(jù)備份設(shè)備的響應(yīng)來(lái)獲取所述備份設(shè)備的負(fù)載情況。
當(dāng)本設(shè)備處于VRRP備份狀態(tài)時(shí),負(fù)載均衡模塊將收到的用戶登錄請(qǐng)求 直接轉(zhuǎn)給應(yīng)用代理模塊去處理,同時(shí)該模塊還負(fù)責(zé)接收主設(shè)備負(fù)載均衡模塊發(fā) 來(lái)的探測(cè)報(bào)文,向主設(shè)備返回自己的負(fù)載情況。
重定向模塊向客戶端發(fā)送重定向報(bào)文的模塊,所述重定向報(bào)文中包括備 份設(shè)備的地址信息。
應(yīng)用代理模塊對(duì)接收到的客戶端請(qǐng)求執(zhí)行代理操作,負(fù)責(zé)代理客戶端與 服務(wù)器交互,將響應(yīng)返回給客戶端。
配置模塊向系統(tǒng)中各模塊配置參數(shù),如備份組中各設(shè)備的服務(wù)地址(IP 地址和端口號(hào)),虛IP地址和虛MAC地址,本設(shè)備在VRRP組中的優(yōu)先級(jí)等。
其中,所述配置模塊可以將各設(shè)備的地址和VRRP組的虛擬地址均設(shè)置 為/>網(wǎng)地址,也可以將各i殳備的地址和VRRP組的虛擬地址均i殳置為私網(wǎng)地 址。
在將設(shè)備地址和VRRP組的虛擬地址均設(shè)置為私網(wǎng)地址的情況下,還需 要在上一跳路由器中設(shè)置地址轉(zhuǎn)換表,所述地址轉(zhuǎn)換表中包括所述私網(wǎng)地址與 對(duì)應(yīng)的公網(wǎng)地址的轉(zhuǎn)換關(guān)系;所述上一跳路由器在接收到報(bào)文時(shí),根據(jù)所述地 址轉(zhuǎn)換表進(jìn)行地址轉(zhuǎn)換后再對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)。并且,所述重定向報(bào)文中攜 帶的地址信息為備份設(shè)備的私網(wǎng)地址對(duì)應(yīng)的公網(wǎng)地址。
最后應(yīng)當(dāng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制, 本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同 替換,而不脫離本發(fā)明技術(shù)方案的精神范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求 范圍當(dāng)中。
權(quán)利要求
1. 一種實(shí)現(xiàn)非狀態(tài)多主備份的方法,用于配置有包括主代理網(wǎng)關(guān)和備份代理網(wǎng)關(guān)的VRRP組的系統(tǒng)中,其特征在于,所述方法包括主代理網(wǎng)關(guān)接收用戶發(fā)送的要求登錄網(wǎng)關(guān)的登錄請(qǐng)求,對(duì)所述登錄請(qǐng)求進(jìn)行負(fù)載均衡處理;主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由自身處理時(shí),直接對(duì)所述登錄請(qǐng)求執(zhí)行代理操作;主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由備份代理網(wǎng)關(guān)處理時(shí),向所述用戶發(fā)送重定向報(bào)文,所述重定向報(bào)文中攜帶所確定的備份代理網(wǎng)關(guān)的地址信息。
全文摘要
本發(fā)明提供一種實(shí)現(xiàn)非狀態(tài)多主備份的方法及代理網(wǎng)關(guān)。所述方法包括主代理網(wǎng)關(guān)接收用戶發(fā)送的要求登錄網(wǎng)關(guān)的登錄請(qǐng)求,對(duì)所述登錄請(qǐng)求進(jìn)行負(fù)載均衡處理;主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由自身處理時(shí),直接對(duì)所述登錄請(qǐng)求執(zhí)行代理操作;主代理網(wǎng)關(guān)在確定所述登錄請(qǐng)求由備份代理網(wǎng)關(guān)處理時(shí),向所述用戶發(fā)送重定向報(bào)文,所述重定向報(bào)文中攜帶所確定的備份代理網(wǎng)關(guān)的地址信息。依照本發(fā)明,在保證高可靠性的同時(shí),實(shí)現(xiàn)了負(fù)載均衡。
文檔編號(hào)H04L29/06GK101286884SQ20081010676
公開(kāi)日2008年10月15日 申請(qǐng)日期2008年5月15日 優(yōu)先權(quán)日2008年5月15日
發(fā)明者明 薛 申請(qǐng)人:杭州華三通信技術(shù)有限公司