專利名稱:一種網(wǎng)絡(luò)安全設(shè)備及其組成的實(shí)現(xiàn)高可用性的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)安全設(shè)備及其組成的實(shí)現(xiàn)高可用性的系統(tǒng)及方法。
背景技術(shù):
隨著當(dāng)今網(wǎng)絡(luò)應(yīng)用的迅猛增長(zhǎng),保證持續(xù)穩(wěn)定的系統(tǒng)運(yùn)行時(shí)間變得越來(lái)越重要,而防火墻作為網(wǎng)絡(luò)安全體系的基礎(chǔ)和保護(hù)企業(yè)網(wǎng)內(nèi)部安全的核心控制設(shè)備,也日漸成為限制網(wǎng)絡(luò)帶寬的瓶頸和單一故障點(diǎn),并極大地制約了網(wǎng)絡(luò)的實(shí)際應(yīng)用,因此,提高防火墻的高可用性和處理性能越來(lái)越受到人們的重視。
高可用性(HA)技術(shù)是指利用冗余網(wǎng)絡(luò)設(shè)備、冗余電源、冗余協(xié)議等構(gòu)建的具有高可用性的網(wǎng)絡(luò)設(shè)備集群系統(tǒng)。該集群系統(tǒng)中的設(shè)備能自動(dòng)檢測(cè)網(wǎng)絡(luò)中的故障節(jié)點(diǎn)或失效節(jié)點(diǎn),并且當(dāng)集群系統(tǒng)中的設(shè)備自動(dòng)檢測(cè)到網(wǎng)絡(luò)中的故障節(jié)點(diǎn)或失效節(jié)點(diǎn)時(shí),集群系統(tǒng)能夠自動(dòng)適當(dāng)?shù)刂匦逻M(jìn)行配置,使集群系統(tǒng)中的其它節(jié)點(diǎn)能夠自動(dòng)承擔(dān)故障或失效節(jié)點(diǎn)承載的服務(wù),實(shí)現(xiàn)服務(wù)的不中斷。另外,高可用性技術(shù)還可以利用集群的并行處理方法提高網(wǎng)絡(luò)的處理性能。
防火墻常見的集群模式有三種雙機(jī)熱備模式、負(fù)載均衡模式和鏈路冗余模式。在雙機(jī)熱備模式中,多個(gè)防火墻中有一個(gè)為主防火墻,其余防火墻為從防火墻,只有其中的主防火墻處于活動(dòng)狀態(tài),對(duì)收到的數(shù)據(jù)包進(jìn)行處理。在負(fù)載均衡模式中,多個(gè)防火墻中有一個(gè)為主防火墻,其余防火墻為從防火墻,主從防火墻都處于活動(dòng)狀態(tài),共同分擔(dān)網(wǎng)絡(luò)流量。在鏈路冗余模式下,可以不區(qū)分主從防火墻,各防火墻都能夠收到數(shù)據(jù)包并進(jìn)行處理,但每個(gè)防火墻收到的數(shù)據(jù)包并不相同,即單一數(shù)據(jù)包在同一時(shí)刻只發(fā)送給一臺(tái)防火墻。
現(xiàn)有技術(shù)主要是在雙機(jī)熱備模式下實(shí)現(xiàn)防火墻高可用性的。該模式下,集群系統(tǒng)包含兩臺(tái)配置完全相同的防火墻,分別為主防火墻和從防火墻,主防火墻處于工作狀態(tài),從防火墻處于備份狀態(tài)。當(dāng)主防火墻失效時(shí),從防火墻可以接管主防火墻的業(yè)務(wù),保證網(wǎng)絡(luò)連接的不間斷。雖然現(xiàn)有技術(shù)可以采用雙機(jī)熱備模式實(shí)現(xiàn)網(wǎng)絡(luò)業(yè)務(wù)的不中斷,但無(wú)法實(shí)現(xiàn)多機(jī)動(dòng)態(tài)負(fù)載均衡等方式,也不能適應(yīng)多樣的高可用性的網(wǎng)絡(luò)拓?fù)涞囊蟆A硗?,現(xiàn)有技術(shù)在實(shí)現(xiàn)防火墻等網(wǎng)絡(luò)安全設(shè)備高可用性的硬件架構(gòu)上尚未提出具體的實(shí)現(xiàn)方案。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實(shí)現(xiàn)集群系統(tǒng)高可用性的網(wǎng)絡(luò)安全設(shè)備,使其能組成具有高可用性的集群系統(tǒng)。
本發(fā)明的另一目的在于提供一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的系統(tǒng),使其能靈活設(shè)置硬件結(jié)構(gòu),實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備的高可用性,并適應(yīng)多種網(wǎng)絡(luò)拓?fù)湟蟆?br>
本發(fā)明進(jìn)一步的目的在于提供一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的方法,使其能實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備的高可用性,并適應(yīng)多種網(wǎng)絡(luò)拓?fù)湟蟆?br>
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明公開了一種網(wǎng)絡(luò)安全設(shè)備,用于組成具有高可用性的集群系統(tǒng);該網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層;所述控制層用于監(jiān)控集群狀態(tài)變化,進(jìn)行節(jié)點(diǎn)配置信息的同步,根據(jù)集群狀態(tài)變化進(jìn)行負(fù)載分配,并將集群狀態(tài)變化信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;所述轉(zhuǎn)發(fā)層用于根據(jù)控制層下發(fā)的信息對(duì)數(shù)據(jù)包進(jìn)行處理,更新會(huì)話狀態(tài)信息,并進(jìn)行會(huì)話狀態(tài)信息的同步。
其中,所述控制層包括心跳及負(fù)載分配功能模塊和路徑/網(wǎng)口監(jiān)視功能模塊;所述路徑/網(wǎng)口監(jiān)視功能模塊用于監(jiān)視網(wǎng)絡(luò)安全設(shè)備節(jié)點(diǎn)的狀態(tài)變化,并將包含節(jié)點(diǎn)狀態(tài)變化的信號(hào)發(fā)送給心跳及負(fù)載分配功能模塊;所述心跳及負(fù)載分配功能模塊用于發(fā)送和接收心跳信號(hào)以監(jiān)控集群狀態(tài)變化,進(jìn)行節(jié)點(diǎn)配置信息的同步,接收路徑/網(wǎng)口監(jiān)視功能模塊發(fā)送來(lái)的包含節(jié)點(diǎn)狀態(tài)變化的信號(hào),根據(jù)集群狀態(tài)變化和節(jié)點(diǎn)狀態(tài)進(jìn)行負(fù)載分配,并將負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層。
所述控制層可以進(jìn)一步包括用于同步上層應(yīng)用會(huì)話狀態(tài)信息的上層應(yīng)用同步狀態(tài)功能模塊。
上述方案中,所述轉(zhuǎn)發(fā)層包含會(huì)話同步功能模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊;所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于接收控制層下發(fā)的負(fù)載分配信息,根據(jù)數(shù)據(jù)包信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并將會(huì)話狀態(tài)信息發(fā)送給會(huì)話同步功能模塊;所述會(huì)話同步功能模塊用于接收數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送來(lái)的會(huì)話狀態(tài)信息,并將包含會(huì)話狀態(tài)信息的會(huì)話狀態(tài)同步信號(hào)發(fā)送出去。
其中,所述控制層包含專用的HA網(wǎng)口。所述轉(zhuǎn)發(fā)層包含用于轉(zhuǎn)發(fā)數(shù)據(jù)包的普通數(shù)據(jù)網(wǎng)口和用于同步狀態(tài)信息的同步網(wǎng)口,同步網(wǎng)口為專用同步網(wǎng)口或普通數(shù)據(jù)網(wǎng)口。
本發(fā)明還公開了一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的系統(tǒng),包括一個(gè)以上作為集群系統(tǒng)中集群節(jié)點(diǎn)的網(wǎng)絡(luò)安全設(shè)備;每個(gè)網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層;所述控制層用于監(jiān)控集群狀態(tài)變化,根據(jù)集群狀態(tài)變化進(jìn)行負(fù)載分配,并將集群狀態(tài)變化信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;所述轉(zhuǎn)發(fā)層用于根據(jù)控制層下發(fā)的信息對(duì)數(shù)據(jù)包進(jìn)行處理,并更新會(huì)話狀態(tài)信息;所述每個(gè)網(wǎng)絡(luò)安全設(shè)備的控制層之間通過(guò)彼此發(fā)送和接收心跳信號(hào)進(jìn)行心跳通信,進(jìn)行節(jié)點(diǎn)配置信息的同步;所述每個(gè)網(wǎng)絡(luò)安全設(shè)備的轉(zhuǎn)發(fā)層之間通過(guò)彼此發(fā)送和接收會(huì)話狀態(tài)同步信號(hào)進(jìn)行會(huì)話狀態(tài)同步。
其中,所述網(wǎng)絡(luò)安全設(shè)備的控制層包括心跳及負(fù)載分配功能模塊和路徑/網(wǎng)口監(jiān)視功能模塊;所述路徑/網(wǎng)口監(jiān)視功能模塊用于監(jiān)視網(wǎng)絡(luò)安全設(shè)備節(jié)點(diǎn)的狀態(tài)變化,并將包含節(jié)點(diǎn)狀態(tài)變化的信號(hào)發(fā)送給心跳及負(fù)載分配功能模塊;所述心跳及負(fù)載分配功能模塊用于發(fā)送和接收心跳信號(hào)以監(jiān)控集群狀態(tài)變化,進(jìn)行節(jié)點(diǎn)配置信息的同步,接收路徑/網(wǎng)口監(jiān)視功能模塊發(fā)送來(lái)的包含節(jié)點(diǎn)狀態(tài)變化的信號(hào),根據(jù)集群狀態(tài)變化和節(jié)點(diǎn)狀態(tài)進(jìn)行負(fù)載分配,并將負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層。
所述網(wǎng)絡(luò)安全設(shè)備的控制層可以進(jìn)一步包括用于同步上層應(yīng)用會(huì)話狀態(tài)信息的上層應(yīng)用同步狀態(tài)功能模塊。
上述方案中,所述網(wǎng)絡(luò)安全設(shè)備的轉(zhuǎn)發(fā)層包含會(huì)話同步功能模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊;所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于接收控制層下發(fā)的負(fù)載分配信息,根據(jù)數(shù)據(jù)包信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并將會(huì)話狀態(tài)信息發(fā)送給會(huì)話同步功能模塊;所述會(huì)話同步功能模塊用于接收數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送來(lái)的會(huì)話狀態(tài)信息,并將包含會(huì)話狀態(tài)信息的會(huì)話狀態(tài)同步信號(hào)發(fā)送出去。
其中,所述網(wǎng)絡(luò)安全設(shè)備的控制層之間可以通過(guò)設(shè)定的專用HA網(wǎng)口相連。所述網(wǎng)絡(luò)安全設(shè)備的轉(zhuǎn)發(fā)層之間可以通過(guò)設(shè)定的專用同步網(wǎng)口或普通數(shù)據(jù)網(wǎng)口相連。所述網(wǎng)絡(luò)安全設(shè)備可以為防火墻。
相應(yīng)地,本發(fā)明進(jìn)一步公開了一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的方法,適用于由一個(gè)以上網(wǎng)絡(luò)安全設(shè)備作為集群節(jié)點(diǎn)組成的集群系統(tǒng),集群系統(tǒng)中包含一個(gè)主節(jié)點(diǎn)和至少一個(gè)從節(jié)點(diǎn),每個(gè)集群節(jié)點(diǎn)包含控制層和轉(zhuǎn)發(fā)層;其特征在于,該方法包括控制層監(jiān)控集群狀態(tài)變化,根據(jù)集群狀態(tài)信息進(jìn)行負(fù)載分配,并將集群狀態(tài)信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;轉(zhuǎn)發(fā)層根據(jù)控制層下發(fā)的集群狀態(tài)信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并將會(huì)話狀態(tài)信息發(fā)送給同一集群系統(tǒng)的其它集群節(jié)點(diǎn)以進(jìn)行會(huì)話狀態(tài)同步。
其中,所述控制層監(jiān)控集群狀態(tài)變化并進(jìn)行負(fù)載分配的過(guò)程可以包括以下步驟A.根據(jù)集群狀態(tài)變化確定集群系統(tǒng)當(dāng)前的主節(jié)點(diǎn)、節(jié)點(diǎn)的個(gè)數(shù)以及集群節(jié)點(diǎn)的工作狀態(tài);B.主節(jié)點(diǎn)根據(jù)集群工作模式和集群節(jié)點(diǎn)信息分配負(fù)載,將分配的負(fù)載信息通知給從節(jié)點(diǎn),并更新集群節(jié)點(diǎn)信息。
其中,所述步驟A可以包括判斷集群網(wǎng)絡(luò)拓?fù)渥兓枪?jié)點(diǎn)加入還是節(jié)點(diǎn)退出,如果是節(jié)點(diǎn)加入,則判斷當(dāng)前加入節(jié)點(diǎn)是否檢測(cè)到心跳信號(hào),如果不是,則將把當(dāng)前加入節(jié)點(diǎn)設(shè)置為主節(jié)點(diǎn),然后執(zhí)行所述步驟B,否則將把當(dāng)前加入節(jié)點(diǎn)設(shè)置為從節(jié)點(diǎn),然后執(zhí)行所述步驟B;如果是節(jié)點(diǎn)退出,則判斷當(dāng)前離開的節(jié)點(diǎn)是否是主節(jié)點(diǎn),如果是,則將優(yōu)先級(jí)最高的從節(jié)點(diǎn)設(shè)置為主節(jié)點(diǎn)后,然后執(zhí)行所述步驟B;否則直接執(zhí)行所述步驟B。
步驟B中,所述主節(jié)點(diǎn)根據(jù)集群工作模式分配負(fù)載可以包括集群工作模式為負(fù)載均衡模式時(shí),如果集群系統(tǒng)中僅包含主節(jié)點(diǎn),則主節(jié)點(diǎn)將全部負(fù)載的hash值范圍分配給自身,如果集群系統(tǒng)中包含主從節(jié)點(diǎn),則主節(jié)點(diǎn)按照預(yù)先設(shè)定的負(fù)載分配算法分配負(fù)載hash值范圍;集群工作模式為雙機(jī)熱備模式時(shí),將全部負(fù)載的hash值范圍分配給主節(jié)點(diǎn);集群工作模式為鏈路冗余模式時(shí),將全部負(fù)載的hash值范圍分配給每個(gè)節(jié)點(diǎn)。
上述方案中,所述轉(zhuǎn)發(fā)層對(duì)收到的數(shù)據(jù)包進(jìn)行處理的過(guò)程包括以下步驟a.判斷節(jié)點(diǎn)的狀態(tài)是否為工作狀態(tài),如果不是,則將收到的數(shù)據(jù)包丟掉,否則執(zhí)行步驟b;b.轉(zhuǎn)發(fā)層根據(jù)收到的數(shù)據(jù)包的信息計(jì)算數(shù)據(jù)包的hash值,并判斷該數(shù)據(jù)包hash值是否落在本節(jié)點(diǎn)處理的hash值范圍內(nèi),如果不是,則將該數(shù)據(jù)包丟掉;否則對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理。
其中,在所述步驟a之前,該方法可以進(jìn)一步包括確定集群系統(tǒng)當(dāng)前的集群工作模式,如果當(dāng)前的集群工作模式為負(fù)載均衡模式,則直接執(zhí)行步驟b;如果當(dāng)前集群工作模式為雙機(jī)熱備模式,則繼續(xù)執(zhí)行步驟a;如果當(dāng)前集群工作模式為鏈路冗余模式,則對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理。其中,所述對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理可以為對(duì)數(shù)據(jù)包進(jìn)行安全規(guī)則匹配或轉(zhuǎn)發(fā)數(shù)據(jù)包。
由上述方案可以看出,本發(fā)明的關(guān)鍵在于本發(fā)明提供的系統(tǒng)由多個(gè)集群節(jié)點(diǎn)組成,每個(gè)集群節(jié)點(diǎn)均包含控制層和轉(zhuǎn)發(fā)層;控制層負(fù)責(zé)監(jiān)控集群狀態(tài),向轉(zhuǎn)發(fā)層通告集群狀態(tài)的變化。轉(zhuǎn)發(fā)層負(fù)責(zé)根據(jù)控制層下發(fā)的信息對(duì)收到的數(shù)據(jù)包進(jìn)行處理,并同步節(jié)點(diǎn)會(huì)話狀態(tài)。本發(fā)明提供的方法包括控制層根據(jù)網(wǎng)絡(luò)拓?fù)渥兓M(jìn)行負(fù)載分配的過(guò)程和轉(zhuǎn)發(fā)層對(duì)收到的數(shù)據(jù)包進(jìn)行處理的過(guò)程。
因此,本發(fā)明所提供的這種實(shí)現(xiàn)集群系統(tǒng)高可用性的網(wǎng)絡(luò)安全設(shè)備以其組成的高可用性的系統(tǒng)及方法,在系統(tǒng)硬件設(shè)計(jì)上靈活多變,控制層與轉(zhuǎn)發(fā)層可以靈活設(shè)置,并且分層處理可以使各層的任務(wù)單一,每層可以獨(dú)立處理自己的專項(xiàng)任務(wù),保證數(shù)據(jù)包的轉(zhuǎn)發(fā)速度。本發(fā)明還可以構(gòu)建高可用性的負(fù)載均衡集群,雙機(jī)熱備集群,鏈路冗余集群,擴(kuò)大了HA拓?fù)洵h(huán)境的工作模式。集群中的網(wǎng)絡(luò)安全設(shè)備可以全部處于工作狀態(tài),進(jìn)行動(dòng)態(tài)的負(fù)載分?jǐn)偅部梢苑謩e處于工作和備份的狀態(tài)。通過(guò)選擇負(fù)載均衡的集群工作模式,本發(fā)明提供的防火墻集群不但可以在各防火墻節(jié)點(diǎn)之間均衡用戶負(fù)載,還可以消除防火墻作為網(wǎng)絡(luò)設(shè)備可能出現(xiàn)的單點(diǎn)故障,即在防火墻上進(jìn)行無(wú)縫式切換和動(dòng)態(tài)負(fù)載均衡。這樣,當(dāng)一臺(tái)防火墻出現(xiàn)故障后,集群系統(tǒng)中其它防火墻會(huì)接管出現(xiàn)故障防火墻的所有網(wǎng)絡(luò)會(huì)話,網(wǎng)絡(luò)會(huì)話不會(huì)被中斷。
圖1為本發(fā)明實(shí)現(xiàn)防火墻高可用性的系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明根據(jù)網(wǎng)絡(luò)拓?fù)渥兓M(jìn)行負(fù)載均衡的方法實(shí)現(xiàn)流程圖;圖3為本發(fā)明轉(zhuǎn)發(fā)層對(duì)數(shù)據(jù)包進(jìn)行處理的方法實(shí)現(xiàn)流程圖;圖4為負(fù)載均衡模式下的防火墻高可用性系統(tǒng)結(jié)構(gòu)示意圖;
圖5為雙機(jī)熱備模式下的防火墻高可用性系統(tǒng)結(jié)構(gòu)示意圖;圖6為鏈路冗余模式下的防火墻高可用性系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明提供的實(shí)現(xiàn)集群系統(tǒng)高可用性的網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層?;谶@樣的網(wǎng)絡(luò)安全設(shè)備,本發(fā)明提供的系統(tǒng)是一個(gè)由多個(gè)上述網(wǎng)絡(luò)安全設(shè)備組成的集群系統(tǒng),該系統(tǒng)的每個(gè)集群節(jié)點(diǎn)就是一個(gè)網(wǎng)絡(luò)安全設(shè)備,每個(gè)網(wǎng)絡(luò)安全設(shè)備均包含控制層和轉(zhuǎn)發(fā)層。其中,控制層負(fù)責(zé)監(jiān)控集群狀態(tài),向轉(zhuǎn)發(fā)層通告集群狀態(tài)的變化。轉(zhuǎn)發(fā)層負(fù)責(zé)根據(jù)控制層下發(fā)的信息對(duì)收到的數(shù)據(jù)包進(jìn)行處理,并同步節(jié)點(diǎn)會(huì)話狀態(tài)。相應(yīng)地,本發(fā)明提供的方法包括控制層根據(jù)網(wǎng)絡(luò)拓?fù)渥兓M(jìn)行負(fù)載均衡的過(guò)程和轉(zhuǎn)發(fā)層對(duì)收到的數(shù)據(jù)包進(jìn)行處理的過(guò)程。
下面以網(wǎng)絡(luò)安全設(shè)備是防火墻為例說(shuō)明本發(fā)明。本實(shí)施例中,防火墻就是集群系統(tǒng)中的集群節(jié)點(diǎn),所組成的集群系統(tǒng)可以稱為防火墻集群。
本發(fā)明實(shí)現(xiàn)防火墻高可用性的系統(tǒng)可以應(yīng)用于多種工作模式下,包括負(fù)載均衡模式、雙機(jī)熱備模式和鏈路冗余模式。下面以負(fù)載均衡模式為例詳細(xì)說(shuō)明本發(fā)明實(shí)現(xiàn)防火墻高可用性的系統(tǒng)。
圖1為本發(fā)明負(fù)載均衡模式下實(shí)現(xiàn)防火墻高可用性的系統(tǒng)結(jié)構(gòu)示意圖,包括兩個(gè)防火墻,防火墻1和防火墻2,每個(gè)防火墻均包含控制層和轉(zhuǎn)發(fā)層。其中,控制層用于監(jiān)控整個(gè)防火墻集群的狀態(tài),并將集群狀態(tài)的變化等信息下發(fā)給轉(zhuǎn)發(fā)層;控制層還用于根據(jù)集群的狀態(tài)等信息進(jìn)行動(dòng)態(tài)負(fù)載hash值分配,并將獲得的hash值分配范圍下發(fā)給轉(zhuǎn)發(fā)層;控制層之間發(fā)送和接收心跳信號(hào),進(jìn)行節(jié)點(diǎn)配置同步和狀態(tài)同步。轉(zhuǎn)發(fā)層用于接收控制層下發(fā)的集群狀態(tài)變化等信息,并根據(jù)收到的信息對(duì)收到的數(shù)據(jù)包進(jìn)行處理或丟棄;轉(zhuǎn)發(fā)層之間進(jìn)行會(huì)話狀態(tài)同步??刂茖涌梢耘c轉(zhuǎn)發(fā)層置于同一個(gè)硬件板上,也可以分開單獨(dú)置于不同的硬件板上,甚至可以用一臺(tái)單獨(dú)的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。
本實(shí)施例中,控制層之間可以通過(guò)專用的HA網(wǎng)口進(jìn)行信息交互,即集群中的各防火墻節(jié)點(diǎn)通過(guò)HA網(wǎng)口進(jìn)行心跳通信,實(shí)時(shí)監(jiān)測(cè)各防火墻節(jié)點(diǎn)的狀態(tài)。另外,控制層之間進(jìn)行心跳通信的HA網(wǎng)口也用于控制層之間的集群狀態(tài)信息的同步。轉(zhuǎn)發(fā)層之間通過(guò)同步網(wǎng)口進(jìn)行信息交互,同步網(wǎng)口可以采用專用的網(wǎng)口,也可以采用普通的數(shù)據(jù)網(wǎng)口。
如圖1所示,控制層之間通過(guò)HA網(wǎng)口發(fā)送和接收心跳信號(hào)來(lái)監(jiān)測(cè)整個(gè)防火墻集群的狀態(tài)和網(wǎng)絡(luò)拓?fù)涞淖兓?,根?jù)集群的狀態(tài)、集群節(jié)點(diǎn)的狀態(tài)信息和預(yù)先配置的負(fù)載均衡算法重新分配各節(jié)點(diǎn)處理的負(fù)載hash值范圍,并向轉(zhuǎn)發(fā)層下發(fā)集群的狀態(tài)信息和節(jié)點(diǎn)處理的負(fù)載hash值范圍等信息;轉(zhuǎn)發(fā)層根據(jù)控制層下發(fā)的集群系統(tǒng)的狀態(tài)信息和節(jié)點(diǎn)處理的負(fù)載hash值范圍等信息對(duì)數(shù)據(jù)包進(jìn)行處理,并通過(guò)同步網(wǎng)口發(fā)送會(huì)話狀態(tài)同步信息給同一集群的其它節(jié)點(diǎn)的轉(zhuǎn)發(fā)層。
其中,當(dāng)設(shè)備剛啟動(dòng)時(shí),控制層向轉(zhuǎn)發(fā)層下發(fā)的信息包括機(jī)群ID、節(jié)點(diǎn)ID、節(jié)點(diǎn)優(yōu)先級(jí)、集群工作模式、本節(jié)點(diǎn)的工作狀態(tài)、網(wǎng)絡(luò)拓?fù)渥兓男蛱?hào)、本節(jié)點(diǎn)處理數(shù)據(jù)包的hash值范圍和用于轉(zhuǎn)發(fā)層同步的網(wǎng)口。其中,機(jī)群ID用于標(biāo)識(shí)該節(jié)點(diǎn)所在的集群,節(jié)點(diǎn)ID用于標(biāo)識(shí)該集群中的節(jié)點(diǎn)。節(jié)點(diǎn)優(yōu)先級(jí)由啟動(dòng)順序決定,優(yōu)先級(jí)最高的節(jié)點(diǎn)為主節(jié)點(diǎn)。集群工作模式包括負(fù)載均衡模式、雙機(jī)熱備模式和鏈路冗余模式。本節(jié)點(diǎn)的工作狀態(tài)為工作狀態(tài)或備份狀態(tài)。網(wǎng)絡(luò)拓?fù)渥兓男蛱?hào)在集群剛啟動(dòng)時(shí)為1,集群拓?fù)涿孔兓淮?,網(wǎng)絡(luò)拓?fù)渥兓男蛱?hào)加1,集群節(jié)點(diǎn)個(gè)數(shù)、各集群節(jié)點(diǎn)的優(yōu)先級(jí)以及各集群節(jié)點(diǎn)的資源使用情況都可能引起網(wǎng)絡(luò)拓?fù)涞淖兓1竟?jié)點(diǎn)處理數(shù)據(jù)包的hash值范圍由控制層根據(jù)集群工作模式與節(jié)點(diǎn)信息進(jìn)行分配。用于轉(zhuǎn)發(fā)層同步的網(wǎng)口是由管理員配置的,轉(zhuǎn)發(fā)層根據(jù)該設(shè)置將會(huì)話同步信息通過(guò)該網(wǎng)口轉(zhuǎn)發(fā)給其它節(jié)點(diǎn)的轉(zhuǎn)發(fā)層。上述信息中,機(jī)群ID、節(jié)點(diǎn)ID、節(jié)點(diǎn)優(yōu)先級(jí)、集群工作模式、集群節(jié)點(diǎn)的工作狀態(tài)和網(wǎng)絡(luò)拓?fù)渥兓畔⒕煞Q為集群狀態(tài)信息。
當(dāng)有節(jié)點(diǎn)離線或新的節(jié)點(diǎn)加入時(shí),控制層監(jiān)測(cè)到網(wǎng)絡(luò)拓?fù)涞淖兓?,就?huì)修改已存入轉(zhuǎn)發(fā)層的信息。修改的信息包括節(jié)點(diǎn)優(yōu)先級(jí)、本節(jié)點(diǎn)的工作狀態(tài)、網(wǎng)絡(luò)拓?fù)渥兓男蛱?hào)以及由控制層重新分配的本節(jié)點(diǎn)處理數(shù)據(jù)包hash值范圍。
轉(zhuǎn)發(fā)層對(duì)收到的數(shù)據(jù)包進(jìn)行處理的具體過(guò)程為如果當(dāng)前的集群工作模式為負(fù)載均衡模式或鏈路冗余模式,則轉(zhuǎn)發(fā)層根據(jù)收到的數(shù)據(jù)包的信息計(jì)算數(shù)據(jù)包的hash值,并判斷計(jì)算得到的數(shù)據(jù)包的hash值是否落在本節(jié)點(diǎn)處理的范圍內(nèi),如果沒(méi)有落在本節(jié)點(diǎn)hash值范圍內(nèi),則把該數(shù)據(jù)包丟掉,如果落在本節(jié)點(diǎn)hash值范圍內(nèi),則繼續(xù)處理。繼續(xù)處理可以包括安全規(guī)則匹配和數(shù)據(jù)轉(zhuǎn)發(fā)等。如果當(dāng)前集群工作模式為雙機(jī)熱備模式,則轉(zhuǎn)發(fā)層判斷本節(jié)點(diǎn)的工作狀態(tài)是否為有效處理狀態(tài),如果處于備份狀態(tài),則把數(shù)據(jù)包丟掉,如果是工作狀態(tài),則根據(jù)收到的數(shù)據(jù)包的信息計(jì)算數(shù)據(jù)包的hash值,并判斷計(jì)算得到的數(shù)據(jù)包的hash值是否落在本節(jié)點(diǎn)處理的范圍內(nèi),如果沒(méi)有落在本節(jié)點(diǎn)hash值范圍內(nèi),則把該數(shù)據(jù)包丟掉,如果落在本節(jié)點(diǎn)hash值范圍內(nèi),則繼續(xù)處理。
轉(zhuǎn)發(fā)層還根據(jù)收到的網(wǎng)絡(luò)拓?fù)渥兓男蛱?hào)判斷網(wǎng)絡(luò)狀態(tài)是否改變,如果網(wǎng)絡(luò)拓?fù)渥兓男蛱?hào)發(fā)生改變,則說(shuō)明網(wǎng)絡(luò)狀態(tài)發(fā)生改變,比如新節(jié)點(diǎn)加入,或節(jié)點(diǎn)離線,這時(shí),轉(zhuǎn)發(fā)層之間就會(huì)通過(guò)控制層下發(fā)的用于轉(zhuǎn)發(fā)層同步的網(wǎng)口進(jìn)行狀態(tài)同步。
下面以負(fù)載均衡模式為例詳細(xì)說(shuō)明控制層和轉(zhuǎn)發(fā)層所包含的各個(gè)功能模塊。
控制層包含心跳及負(fù)載分配功能模塊和路徑/網(wǎng)口監(jiān)視功能模塊。其中,節(jié)點(diǎn)控制層心跳及負(fù)載分配功能模塊通過(guò)HA網(wǎng)口發(fā)送和接收心跳信號(hào),并根據(jù)是否收到心跳信號(hào)來(lái)判斷節(jié)點(diǎn)是否在線或離線。
在負(fù)載均衡模式下,整個(gè)集群包含一個(gè)主節(jié)點(diǎn)和至少一個(gè)從節(jié)點(diǎn)。所有節(jié)點(diǎn)都包含在集群節(jié)點(diǎn)狀態(tài)表中,優(yōu)先級(jí)最高,比如優(yōu)先級(jí)為1的節(jié)點(diǎn)為主節(jié)點(diǎn),負(fù)責(zé)控管整個(gè)集群系統(tǒng)。主節(jié)點(diǎn)周期性地將自己的心跳alive信號(hào)傳播給各從節(jié)點(diǎn),從節(jié)點(diǎn)也周期性地將自己的心跳alive信號(hào)傳播給主節(jié)點(diǎn)。
如果主節(jié)點(diǎn)在規(guī)定時(shí)間沒(méi)有收到某一從節(jié)點(diǎn)的心跳alive信號(hào),則認(rèn)為該從節(jié)點(diǎn)已經(jīng)離線,主節(jié)點(diǎn)會(huì)從集群節(jié)點(diǎn)狀態(tài)表中刪除該節(jié)點(diǎn),同時(shí)更新節(jié)點(diǎn)狀態(tài)表中各節(jié)點(diǎn)的信息,比如節(jié)點(diǎn)優(yōu)先級(jí)等,然后將該信息通過(guò)同步節(jié)點(diǎn)狀態(tài)表信號(hào)發(fā)送給從節(jié)點(diǎn)。如果主節(jié)點(diǎn)離線了,優(yōu)先級(jí)為2的從節(jié)點(diǎn)在規(guī)定時(shí)間內(nèi)沒(méi)有收到主節(jié)點(diǎn)的心跳alive信號(hào),認(rèn)為主節(jié)點(diǎn)已經(jīng)離線,該節(jié)點(diǎn)會(huì)自動(dòng)升為主節(jié)點(diǎn)來(lái)控管整個(gè)集群,刪除自身集群節(jié)點(diǎn)狀態(tài)表中原來(lái)的主節(jié)點(diǎn)。同樣地,主節(jié)點(diǎn)更新集群節(jié)點(diǎn)狀態(tài)表,并將集群節(jié)點(diǎn)狀態(tài)表同步給從節(jié)點(diǎn)。
每次有節(jié)點(diǎn)加入集群或離開集群,主節(jié)點(diǎn)都會(huì)重新調(diào)整集群中各節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載。主節(jié)點(diǎn)控制層心跳及負(fù)載分配功能模塊根據(jù)當(dāng)前集群中的節(jié)點(diǎn)個(gè)數(shù),節(jié)點(diǎn)優(yōu)先級(jí)、節(jié)點(diǎn)資源等信息,以及預(yù)先配置的負(fù)載均衡算法分配各節(jié)點(diǎn)處理數(shù)據(jù)包的hash值范圍。主節(jié)點(diǎn)通過(guò)HA網(wǎng)口向從節(jié)點(diǎn)發(fā)送同步負(fù)載信號(hào)將各節(jié)點(diǎn)處理的hash值范圍通知給從節(jié)點(diǎn)。從節(jié)點(diǎn)收到同步負(fù)載信號(hào)后,將獲得的hash值范圍下發(fā)給各自對(duì)應(yīng)的轉(zhuǎn)發(fā)層。
集群節(jié)點(diǎn)控制層心跳及負(fù)載分配功能模塊還通過(guò)發(fā)送同步配置信號(hào)保證各節(jié)點(diǎn)的配置信息相同。在一組實(shí)施相同的整體安全策略并且共享相同配置的防火墻集群系統(tǒng)中,當(dāng)一臺(tái)防火墻節(jié)點(diǎn)新加入集群系統(tǒng)時(shí),集群中的主防火墻節(jié)點(diǎn)會(huì)向該新加入的防火墻節(jié)點(diǎn)發(fā)送同步配置信號(hào)對(duì)其進(jìn)行自動(dòng)配置同步。如果在集群正常運(yùn)轉(zhuǎn)中,管理員對(duì)主防火墻節(jié)點(diǎn)配置進(jìn)行了更改,主防火墻節(jié)點(diǎn)也會(huì)將發(fā)生的任何更改通過(guò)同步配置信號(hào)同步給其它所有從防火墻節(jié)點(diǎn)。同樣地,如果管理員對(duì)從防火墻節(jié)點(diǎn)的配置進(jìn)行了更改,從防火墻節(jié)點(diǎn)也會(huì)將發(fā)生的任何更改通過(guò)同步配置信號(hào)同步給其它節(jié)點(diǎn),包括主節(jié)點(diǎn)。這樣保證了集群系統(tǒng)中的各防火墻節(jié)點(diǎn)保持相同的配置信息。其中,配置信息包括節(jié)點(diǎn)的IP地址、采用的安全規(guī)則等。
另外,集群中的主節(jié)點(diǎn)控制層的心跳及負(fù)載分配功能模塊周期性地廣播自身的系統(tǒng)時(shí)間給集群中的從節(jié)點(diǎn),從節(jié)點(diǎn)收到同步時(shí)間信號(hào)后更新自身的系統(tǒng)時(shí)間。上述的同步配置信號(hào)、同步負(fù)載信號(hào)、同步時(shí)間信號(hào)均可作為心跳信號(hào)的一部分,通過(guò)HA網(wǎng)口進(jìn)行傳遞。
控制層路徑/網(wǎng)口監(jiān)視功能模塊用于監(jiān)視集群節(jié)點(diǎn)是否失效或復(fù)活,并將失效或復(fù)活信息發(fā)送給心跳及負(fù)載分配功能模塊。心跳及負(fù)載分配功能模塊將失效或復(fù)活信息通過(guò)心跳信號(hào)發(fā)送向外廣播給其它集群節(jié)點(diǎn)。其它集群節(jié)點(diǎn)收到包含失效或復(fù)活信息的心跳信號(hào)后,主動(dòng)更新節(jié)點(diǎn)狀態(tài)表,并由主節(jié)點(diǎn)調(diào)節(jié)各節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載,通知其它節(jié)點(diǎn)接管重新分配的網(wǎng)絡(luò)負(fù)載。其中,節(jié)點(diǎn)失效可以作為節(jié)點(diǎn)退出的一種形式,節(jié)點(diǎn)復(fù)活可以作為節(jié)點(diǎn)加入的一種形式。
控制層路徑/網(wǎng)口監(jiān)視功能模塊用于監(jiān)控節(jié)點(diǎn)的狀態(tài)變化,即節(jié)點(diǎn)的失效和復(fù)活,具體包括對(duì)鏈路層的網(wǎng)口的監(jiān)控和對(duì)網(wǎng)絡(luò)層的周邊設(shè)備IP的監(jiān)控。鏈路層的網(wǎng)口監(jiān)控主要是檢查防火墻設(shè)備的物理網(wǎng)口是否處于活動(dòng)狀態(tài)并連接到周邊網(wǎng)絡(luò)設(shè)備。防火墻管理員可以定義需要監(jiān)控的網(wǎng)口,網(wǎng)口的狀態(tài)會(huì)根據(jù)網(wǎng)口是否處于活動(dòng)狀態(tài)并連接到周邊網(wǎng)絡(luò)設(shè)備而成為L(zhǎng)ink Down狀態(tài)和Link Up狀態(tài),這樣,就可以根據(jù)網(wǎng)口的狀態(tài)判斷該防火墻節(jié)點(diǎn)是有效狀態(tài)還是失效狀態(tài)。如果網(wǎng)口的監(jiān)控結(jié)果是Link Down狀態(tài),則該防火墻節(jié)點(diǎn)將進(jìn)入失效狀態(tài);如果網(wǎng)口的監(jiān)控結(jié)果是Link Up狀態(tài),則該防火墻節(jié)點(diǎn)將從失效狀態(tài)重新轉(zhuǎn)變?yōu)橛行顟B(tài)。
網(wǎng)絡(luò)層的周邊設(shè)備IP監(jiān)控主要是向指定的IP地址以固定的間隔發(fā)送ARP請(qǐng)求,監(jiān)控周邊設(shè)備是否響應(yīng),并根據(jù)IP監(jiān)控總故障數(shù)判斷該防火墻節(jié)點(diǎn)是否失效或有效。如果一個(gè)防火墻節(jié)點(diǎn)的IP監(jiān)控總故障數(shù)超過(guò)預(yù)先設(shè)置的該節(jié)點(diǎn)的故障切換臨界值,則該防火墻節(jié)點(diǎn)將進(jìn)入失效狀態(tài)。如果監(jiān)控IP總故障數(shù)不再超過(guò)故障切換臨界值,則該防火墻節(jié)點(diǎn)將失效狀態(tài)重新轉(zhuǎn)變?yōu)橛行顟B(tài)。節(jié)點(diǎn)從失效狀態(tài)轉(zhuǎn)變?yōu)橛行顟B(tài)就是節(jié)點(diǎn)的復(fù)活。
另外,控制層還包含上層應(yīng)用的狀態(tài)同步模塊,其中的狀態(tài)同步主要是針對(duì)動(dòng)態(tài)協(xié)議。比如,客戶機(jī)每次進(jìn)行視頻會(huì)議或訪問(wèn)FTP服務(wù)之前,需要?jiǎng)討B(tài)地協(xié)商每次連接所采用的端口。協(xié)商后的連接端口在控制層獲得,并由處理的節(jié)點(diǎn)通過(guò)HA網(wǎng)口同步給其它節(jié)點(diǎn)。
轉(zhuǎn)發(fā)層包含會(huì)話同步功能模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊。其中,會(huì)話同步功能模塊用于進(jìn)行會(huì)話的同步。防火墻節(jié)點(diǎn)在處理網(wǎng)絡(luò)會(huì)話時(shí),會(huì)建立相應(yīng)的會(huì)話狀態(tài)表來(lái)維護(hù)和處理該網(wǎng)絡(luò)會(huì)話的所有數(shù)據(jù)幀。為了防止集群中離線或失效的防火墻節(jié)點(diǎn)正在處理的網(wǎng)絡(luò)會(huì)話全部丟失,節(jié)點(diǎn)之間需要進(jìn)行高效率的鏈路層實(shí)時(shí)會(huì)話同步。也就是說(shuō),一旦集群系統(tǒng)中任何節(jié)點(diǎn)有新的網(wǎng)絡(luò)會(huì)話建立,該節(jié)點(diǎn)會(huì)將新的網(wǎng)絡(luò)會(huì)話狀態(tài)同步到集群系統(tǒng)中其它節(jié)點(diǎn);一旦集群系統(tǒng)中任何節(jié)點(diǎn)有網(wǎng)絡(luò)會(huì)話消失,該節(jié)點(diǎn)會(huì)將消失的網(wǎng)絡(luò)會(huì)話同步到集群系統(tǒng)中其它節(jié)點(diǎn)。
各設(shè)備的轉(zhuǎn)發(fā)層根據(jù)會(huì)話進(jìn)行的程度以及通信的協(xié)議類型和集群的工作模式來(lái)確定會(huì)話狀態(tài)信息的同步時(shí)機(jī),并在該同步時(shí)機(jī)將會(huì)話狀態(tài)信息同步到其它節(jié)點(diǎn),以確保會(huì)話在節(jié)點(diǎn)間遷移時(shí)不中斷。同步的會(huì)話狀態(tài)表內(nèi)容主要包括源IP、源端口、目的IP、目的端口、協(xié)議、當(dāng)前連接的狀態(tài)以及其它信息,比如,作地址轉(zhuǎn)換時(shí)轉(zhuǎn)換后的IP地址。本實(shí)施例中,會(huì)話同步可以由數(shù)據(jù)流驅(qū)動(dòng),通過(guò)廣播的形式將節(jié)點(diǎn)會(huì)話狀態(tài)同步到其它節(jié)點(diǎn),這樣可以避免瞬時(shí)對(duì)設(shè)備處理能力的大量占用,同時(shí)又能最大限度地保證狀態(tài)的同步。
數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于接收控制層下發(fā)的本節(jié)點(diǎn)處理數(shù)據(jù)包的hash值范圍,并根據(jù)收到的數(shù)據(jù)包的信息計(jì)算數(shù)據(jù)包的hash值,將該本節(jié)點(diǎn)處理數(shù)據(jù)包的hash值范圍與計(jì)算得到的hash值進(jìn)行比較,然后根據(jù)比較結(jié)果將數(shù)據(jù)包丟棄或繼續(xù)處理。比如,數(shù)據(jù)轉(zhuǎn)發(fā)模塊首先根據(jù)收到的數(shù)據(jù)包的五元組信息計(jì)算數(shù)據(jù)包的hash值,然后判斷該hash值是否落在控制層分配的本節(jié)點(diǎn)處理的hash值范圍內(nèi),如果是,則繼續(xù)處理該數(shù)據(jù)包,否則將該數(shù)據(jù)包丟棄。其中,數(shù)據(jù)包的五元組信息包括數(shù)據(jù)包的源IP地址、目的IP地址、源端口、目的端口和傳輸協(xié)議。
與負(fù)載均衡模式相比,雙機(jī)熱備模式和鏈路冗余模式下,控制層的集群狀態(tài)監(jiān)控功能和轉(zhuǎn)發(fā)層的會(huì)話狀態(tài)同步功能與負(fù)載均衡模式是類似的,但對(duì)于雙機(jī)熱備模式,網(wǎng)絡(luò)負(fù)載全部由主節(jié)點(diǎn)承擔(dān),從節(jié)點(diǎn)的退出或加入不影響網(wǎng)絡(luò)負(fù)載的分配,當(dāng)主節(jié)點(diǎn)退出時(shí),從節(jié)點(diǎn)變成新的主節(jié)點(diǎn)接管全部網(wǎng)絡(luò)流量即可;對(duì)于鏈路冗余模式,可以不區(qū)分主節(jié)點(diǎn)和從節(jié)點(diǎn),也可以將首先加入集群的節(jié)點(diǎn)作為主節(jié)點(diǎn),其次加入集群的節(jié)點(diǎn)作為從節(jié)點(diǎn),該模式下所有的節(jié)點(diǎn)均處理流經(jīng)自身的網(wǎng)絡(luò)流量。
或者也可以這樣認(rèn)為對(duì)于雙機(jī)熱備模式,控制層將全部網(wǎng)絡(luò)流量的hash值范圍下發(fā)給主節(jié)點(diǎn)的轉(zhuǎn)發(fā)層,不向從節(jié)點(diǎn)的轉(zhuǎn)發(fā)層下發(fā)hash值范圍或者下發(fā)的hash值范圍為空;對(duì)于鏈路冗余模式,控制層將全部網(wǎng)絡(luò)流量的hash值范圍下發(fā)給每個(gè)節(jié)點(diǎn)的轉(zhuǎn)發(fā)層。
基于上述實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的系統(tǒng),本發(fā)明實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的方法包括控制層之間發(fā)送和接收心跳信號(hào)來(lái)監(jiān)測(cè)整個(gè)防火墻集群的狀態(tài)和網(wǎng)絡(luò)拓?fù)涞淖兓鶕?jù)集群的狀態(tài)、集群節(jié)點(diǎn)的狀態(tài)信息和預(yù)先配置的負(fù)載均衡算法重新分配負(fù)載hash值范圍,并將集群的狀態(tài)信息和節(jié)點(diǎn)處理的負(fù)載hash值范圍等信息下發(fā)給轉(zhuǎn)發(fā)層;轉(zhuǎn)發(fā)層根據(jù)控制層下發(fā)的集群系統(tǒng)的狀態(tài)信息和節(jié)點(diǎn)處理的負(fù)載hash值范圍等信息對(duì)數(shù)據(jù)包進(jìn)行處理,并發(fā)送會(huì)話狀態(tài)同步信息給同一集群的其它節(jié)點(diǎn)的轉(zhuǎn)發(fā)層。
上述方法具體可以包括圖2所示的控制層根據(jù)網(wǎng)絡(luò)拓?fù)渥兓M(jìn)行負(fù)載均衡的過(guò)程和圖3所示的轉(zhuǎn)發(fā)層對(duì)收到的數(shù)據(jù)包的處理過(guò)程。
如圖2所示,控制層根據(jù)網(wǎng)絡(luò)拓?fù)渥兓M(jìn)行負(fù)載均衡的過(guò)程包括以下步驟
步驟201、判斷網(wǎng)絡(luò)拓?fù)渥兓枪?jié)點(diǎn)加入還是節(jié)點(diǎn)退出,如果節(jié)點(diǎn)加入,則繼續(xù)執(zhí)行步驟204;如果節(jié)點(diǎn)退出,則繼續(xù)執(zhí)行步驟202;步驟202~203、判斷當(dāng)前退出的節(jié)點(diǎn)是否是主節(jié)點(diǎn),如果是,則優(yōu)先級(jí)最高的從節(jié)點(diǎn)成為新的主節(jié)點(diǎn),并繼續(xù)執(zhí)行步驟207,否則直接執(zhí)行步驟207。
步驟204~206、當(dāng)前加入的節(jié)點(diǎn)判斷是否檢測(cè)到其它設(shè)備的心跳信號(hào),如果不是,則把自己設(shè)置成主設(shè)備,并接管網(wǎng)絡(luò)全部流量,更新集群節(jié)點(diǎn)狀態(tài)表信息;否則把自己設(shè)置成從設(shè)備,執(zhí)行步驟207。
步驟207、主節(jié)點(diǎn)重新分配負(fù)載,將分配的負(fù)載信息通知給從節(jié)點(diǎn),并更新集群節(jié)點(diǎn)信息。集群節(jié)點(diǎn)狀態(tài)表信息包括節(jié)點(diǎn)ID、節(jié)點(diǎn)個(gè)數(shù)、節(jié)點(diǎn)優(yōu)先級(jí)等。
上述方案中,不同的集群工作模式在具體處理時(shí)并不完全相同。負(fù)載均衡模式下,其處理過(guò)程與上述過(guò)程基本相同。在節(jié)點(diǎn)退出時(shí),如果是雙機(jī)熱備模式,則判斷當(dāng)前退出的節(jié)點(diǎn)是否是主節(jié)點(diǎn),如果是,則優(yōu)先級(jí)最高的從節(jié)點(diǎn)成為主節(jié)點(diǎn),并接管網(wǎng)絡(luò)全部流量,否則更新集群節(jié)點(diǎn)狀態(tài)表信息。如果是鏈路冗余模式,則直接更新集群節(jié)點(diǎn)狀態(tài)表信息。
在節(jié)點(diǎn)加入時(shí),如果是雙機(jī)熱備模式,則當(dāng)前加入的節(jié)點(diǎn)判斷是否檢測(cè)到其它設(shè)備的心跳信號(hào),如果不是,則把自己設(shè)置成主設(shè)備,并接管網(wǎng)絡(luò)全部流量;否則把自己設(shè)置成從設(shè)備,并更新集群節(jié)點(diǎn)狀態(tài)表信息。如果是鏈路冗余模式,則節(jié)點(diǎn)更新集群節(jié)點(diǎn)狀態(tài)表信息,并主動(dòng)處理流經(jīng)自身的流量,這是由于該模式下的網(wǎng)絡(luò)環(huán)境包含具有負(fù)載均衡功能的路由器或交換機(jī),該模式下各節(jié)點(diǎn)所處理的負(fù)載范圍已經(jīng)由路由器或交換機(jī)分配好了。
如圖3所示,轉(zhuǎn)發(fā)層對(duì)接收到的數(shù)據(jù)包的處理過(guò)程包括以下步驟步驟301~302、判斷當(dāng)前的集群工作模式是哪種工作模式負(fù)載均衡模式、雙機(jī)熱備模式或鏈路冗余模式,如果是負(fù)載均衡模式,則執(zhí)行步驟304;如果是雙機(jī)熱備模式,則轉(zhuǎn)發(fā)層判斷本節(jié)點(diǎn)的工作狀態(tài)是否為有效處理狀態(tài),如果是處于備份狀態(tài),則執(zhí)行步驟303,如果是處于工作狀態(tài),則繼續(xù)執(zhí)行步驟304;如果是鏈路冗余模式,則繼續(xù)執(zhí)行步驟306;步驟303、將該數(shù)據(jù)包丟掉,結(jié)束流程;步驟304~305、轉(zhuǎn)發(fā)層根據(jù)收到的數(shù)據(jù)包的信息計(jì)算數(shù)據(jù)包的hash值,并判斷計(jì)算得到的數(shù)據(jù)包的hash值是否落在本節(jié)點(diǎn)處理的hash值范圍內(nèi),如果沒(méi)有落在本節(jié)點(diǎn)處理的hash值范圍內(nèi),則執(zhí)行步驟303,如果落在本節(jié)點(diǎn)處理的hash值范圍內(nèi),則繼續(xù)執(zhí)行步驟306;步驟306、對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理。其中,對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理可以包括對(duì)數(shù)據(jù)包進(jìn)行安全規(guī)則匹配和將數(shù)據(jù)包轉(zhuǎn)發(fā)等。
下面分別以負(fù)載均衡模式、雙機(jī)熱備模式和鏈路冗余模式三種集群工作模式為例具體說(shuō)明本發(fā)明系統(tǒng)及方法的工作原理。
一、負(fù)載均衡模式在負(fù)載均衡模式下,集群中所有節(jié)點(diǎn)的任意對(duì)應(yīng)的業(yè)務(wù)網(wǎng)口IP和MAC地址都分別相同,各節(jié)點(diǎn)協(xié)同工作,對(duì)用戶的負(fù)載進(jìn)行均衡,不需要額外的負(fù)載均衡器。其中,優(yōu)先級(jí)為1的防火墻是主節(jié)點(diǎn),處于工作狀態(tài),根據(jù)負(fù)載均衡算法處理部分網(wǎng)絡(luò)流量以及整個(gè)集群的控管;其它防火墻節(jié)點(diǎn)為從節(jié)點(diǎn),也處于工作狀態(tài),與主節(jié)點(diǎn)一起分擔(dān)網(wǎng)絡(luò)流量。一旦某一防火墻節(jié)點(diǎn)發(fā)生故障后,其負(fù)載可以根據(jù)負(fù)載均衡算法迅速切換到集群中其它防火墻上,保證網(wǎng)絡(luò)正常通信。
如圖4所示,在負(fù)載均衡模式下,本發(fā)明實(shí)現(xiàn)防火墻高可用性的系統(tǒng)包括兩個(gè)防火墻,分別為防火墻1和防火墻2。其中,外部Internet網(wǎng)絡(luò)通過(guò)路由器和外部交換機(jī)與防火墻相連,受防火墻保護(hù)的內(nèi)部網(wǎng)絡(luò)信任區(qū)段通過(guò)內(nèi)部交換機(jī)與防火墻相連。受防火墻保護(hù)的內(nèi)部網(wǎng)絡(luò)通常會(huì)包含幾個(gè)信任區(qū)段,信任區(qū)段內(nèi)包含若干個(gè)主機(jī)。不同的信任區(qū)段可以與同一內(nèi)部交換機(jī)相連,也可以與不同內(nèi)部交換機(jī)相連。路由器之間通過(guò)虛擬路由冗余協(xié)議(VRRP)進(jìn)行信息交互,交換機(jī)之間通過(guò)Trunk口相連,防火墻之間通過(guò)心跳線相連。
本發(fā)明實(shí)現(xiàn)防火墻高可用性的方法包括1、防火墻管理員預(yù)先對(duì)集群設(shè)備分別進(jìn)行配置,將集群工作模式配置為負(fù)載均衡模式,并重新啟動(dòng)集群設(shè)備。
2、當(dāng)?shù)谝慌_(tái)設(shè)備啟動(dòng)時(shí),第一臺(tái)設(shè)備的控制層檢測(cè)不到其它設(shè)備的心跳信號(hào),則將把自身設(shè)置成主設(shè)備,接管全部的網(wǎng)絡(luò)流量,并將該信息下發(fā)給轉(zhuǎn)發(fā)層,讓它處理全部流量。
3、當(dāng)?shù)诙_(tái)設(shè)備啟動(dòng)時(shí),第二臺(tái)設(shè)備的控制層檢測(cè)到主設(shè)備的心跳信號(hào),則將自身設(shè)置成從設(shè)備,同時(shí)主設(shè)備控制層也檢測(cè)到從設(shè)備的心跳信號(hào),就重新進(jìn)行負(fù)載分配,將自己承擔(dān)的負(fù)載分一半給從設(shè)備,并通過(guò)同步負(fù)載信號(hào)通知從設(shè)備接管分得的流量。兩臺(tái)設(shè)備的控制層分別把負(fù)載變化后的本節(jié)點(diǎn)處理的hash值范圍下發(fā)給各自的轉(zhuǎn)發(fā)層,轉(zhuǎn)發(fā)層分別根據(jù)計(jì)算得到的數(shù)據(jù)包的hash值和本節(jié)點(diǎn)處理的hash值范圍內(nèi)對(duì)數(shù)據(jù)包進(jìn)行處理。轉(zhuǎn)發(fā)層之間通過(guò)同步網(wǎng)口互相同步自己的會(huì)話狀態(tài)。
如果有第三臺(tái)設(shè)備加入,同樣地,如果第三臺(tái)設(shè)備的控制層檢測(cè)到主設(shè)備的心跳信號(hào),則將自身設(shè)置為從設(shè)備,同時(shí)主設(shè)備控制層也檢測(cè)到第三臺(tái)設(shè)備的存在,則主設(shè)備重新進(jìn)行負(fù)載分配,把自己承擔(dān)的負(fù)載的三分之一和第二臺(tái)設(shè)備承擔(dān)的負(fù)載的三分之一分配給第三臺(tái)設(shè)備,并通過(guò)同步負(fù)載信號(hào)通知第二臺(tái)設(shè)備按照新的負(fù)載分配范圍承載負(fù)載,通知第三臺(tái)設(shè)備接管分得的流量。同時(shí),每臺(tái)設(shè)備把自己承載的負(fù)載范圍的變化情況下發(fā)給各自的轉(zhuǎn)發(fā)層,轉(zhuǎn)發(fā)層分別根據(jù)計(jì)算得到的數(shù)據(jù)包的hash值和本節(jié)點(diǎn)處理的hash值范圍內(nèi)對(duì)數(shù)據(jù)包進(jìn)行處理。轉(zhuǎn)發(fā)層之間同步各自處理的會(huì)話狀態(tài)。如果有更多的集群設(shè)備加入,其工作原理與上述過(guò)程是類似的。
4、當(dāng)有一臺(tái)集群設(shè)備失效或退出時(shí),如果該集群設(shè)備是從設(shè)備,則主設(shè)備重新進(jìn)行負(fù)載分配,自動(dòng)把失效設(shè)備的負(fù)載重新分配給工作中的設(shè)備。如果失效的設(shè)備是主設(shè)備,則優(yōu)先級(jí)最高的從設(shè)備升為主設(shè)備。新的主設(shè)備進(jìn)行負(fù)載分配,把失效主設(shè)備的負(fù)載重新分配給剩下的設(shè)備。每臺(tái)設(shè)備的控制層各自向自身對(duì)應(yīng)的轉(zhuǎn)發(fā)層下發(fā)重新分配的本節(jié)點(diǎn)處理的hash值范圍,轉(zhuǎn)發(fā)層分別根據(jù)計(jì)算得到的數(shù)據(jù)包的hash值和本節(jié)點(diǎn)處理的hash值范圍內(nèi)對(duì)數(shù)據(jù)包進(jìn)行處理。類似地,轉(zhuǎn)發(fā)層進(jìn)行會(huì)話狀態(tài)同步。
可見,每臺(tái)網(wǎng)絡(luò)中的設(shè)備只處理一部分?jǐn)?shù)據(jù),進(jìn)行動(dòng)態(tài)的負(fù)載分?jǐn)偅恍枰~外的負(fù)載均衡器。
二、雙機(jī)熱備模式在雙機(jī)熱備模式下,集群中所有節(jié)點(diǎn)的任意對(duì)應(yīng)的業(yè)務(wù)網(wǎng)口IP和MAC地址都分別相同。其中優(yōu)先級(jí)為1的防火墻為主節(jié)點(diǎn),處于工作狀態(tài),負(fù)責(zé)處理所有的網(wǎng)絡(luò)數(shù)據(jù)流以及整個(gè)集群的控管;其它防火墻節(jié)點(diǎn)為從節(jié)點(diǎn),處于熱備份狀態(tài),不處理網(wǎng)絡(luò)數(shù)據(jù),但處理主節(jié)點(diǎn)廣播發(fā)出的同步狀態(tài)表信號(hào)。一旦主節(jié)點(diǎn)發(fā)生故障,優(yōu)先級(jí)次之的從節(jié)點(diǎn)升為主節(jié)點(diǎn),接管原來(lái)主節(jié)點(diǎn)的工作,保證網(wǎng)絡(luò)正常通信。
如圖5所示,在雙機(jī)熱備模式下,本發(fā)明實(shí)現(xiàn)防火墻高可用性的系統(tǒng)包括兩個(gè)防火墻,分別為防火墻1和防火墻2。其中,外部Internet網(wǎng)絡(luò)的數(shù)據(jù)包通過(guò)路由器到達(dá)交換機(jī),交換機(jī)將數(shù)據(jù)包發(fā)送給防火墻,進(jìn)行處理后再發(fā)送回交換機(jī),交換機(jī)將數(shù)據(jù)包發(fā)送給受防火墻保護(hù)的內(nèi)部網(wǎng)絡(luò)信任區(qū)段的用戶。防火墻之間通過(guò)心跳線相連。本發(fā)明實(shí)現(xiàn)防火墻高可用性的方法包括1、防火墻管理員預(yù)先對(duì)集群設(shè)備分別進(jìn)行配置,將集群工作模式配置為雙機(jī)熱備模式,并重新啟動(dòng)集群設(shè)備。
2、當(dāng)?shù)谝慌_(tái)設(shè)備啟動(dòng)時(shí),第一臺(tái)設(shè)備的控制層檢測(cè)不到其它設(shè)備的心跳信號(hào),則把自己設(shè)置成主設(shè)備,將全部的網(wǎng)絡(luò)流量分配給自身,并通知轉(zhuǎn)發(fā)層自己為主設(shè)備,讓它處理全部流量。轉(zhuǎn)發(fā)層處理全部流量,并把自己處理的會(huì)話的狀態(tài)同步出去。
3、當(dāng)?shù)诙_(tái)設(shè)備啟動(dòng)時(shí),第二臺(tái)設(shè)備控制層檢測(cè)到主設(shè)備的心跳信號(hào),則把自己設(shè)置成從設(shè)備,將自身設(shè)置為備份狀態(tài),并通知轉(zhuǎn)發(fā)層自己為從設(shè)備。第二臺(tái)設(shè)備的轉(zhuǎn)發(fā)層不處理網(wǎng)絡(luò)流量,并將主設(shè)備發(fā)送來(lái)的會(huì)話狀態(tài)保存在自己的會(huì)話狀態(tài)表中。
4、當(dāng)有一臺(tái)集群設(shè)備失效時(shí),如果該集群設(shè)備是從設(shè)備,則不影響主設(shè)備對(duì)數(shù)據(jù)包的處理;如果該集群設(shè)備是主設(shè)備,則從設(shè)備變?yōu)橹髟O(shè)備,接管所有的網(wǎng)絡(luò)流量。由于會(huì)話狀態(tài)已事先同步,所以會(huì)話可以不間斷地遷移。
三、鏈路冗余模式鏈路冗余模式主要應(yīng)用在已經(jīng)具有負(fù)載均衡功能的路由器或交換機(jī)的網(wǎng)絡(luò)環(huán)境中,或者應(yīng)用在通過(guò)生成樹協(xié)議(STP)、開放最短路徑優(yōu)先協(xié)議(OSPF)或增強(qiáng)內(nèi)部網(wǎng)關(guān)路由協(xié)議(EIGRP)等協(xié)議自動(dòng)選擇路徑的網(wǎng)絡(luò)環(huán)境中。集群中所有節(jié)點(diǎn)都處于工作狀態(tài),負(fù)責(zé)處理流經(jīng)自身節(jié)點(diǎn)的網(wǎng)絡(luò)數(shù)據(jù)流。一旦鏈路冗余模式下的任何一條鏈路的防火墻節(jié)點(diǎn)發(fā)生故障,另外一條鏈路的防火墻節(jié)點(diǎn)會(huì)接管失效鏈路的會(huì)話,保證網(wǎng)絡(luò)正常通信。
如圖6所示,在鏈路冗余模式下,本發(fā)明實(shí)現(xiàn)防火墻高可用性的系統(tǒng)包括兩個(gè)防火墻,分別為防火墻1和防火墻2,防火墻之間通過(guò)心跳線相連。網(wǎng)絡(luò)本身通過(guò)EIGRP協(xié)議自動(dòng)選擇網(wǎng)絡(luò)鏈路或通過(guò)路由的設(shè)定選路,網(wǎng)絡(luò)中任何一個(gè)設(shè)備的失效都不會(huì)導(dǎo)致連接的中斷。
本發(fā)明實(shí)現(xiàn)防火墻高可用性的工作的方法包括1、防火墻管理員預(yù)先對(duì)集群設(shè)備分別進(jìn)行配置,將集群工作模式配置為鏈路冗余模式,并重新啟動(dòng)集群設(shè)備。
2、兩臺(tái)集群設(shè)備啟動(dòng)之后分別把自身設(shè)置成工作狀態(tài),兩臺(tái)集群設(shè)備的控制層分別把本節(jié)點(diǎn)的狀態(tài)信息和集群工作模式下發(fā)給轉(zhuǎn)發(fā)層,轉(zhuǎn)發(fā)層對(duì)收到的所有數(shù)據(jù)包進(jìn)行處理。轉(zhuǎn)發(fā)層之間互相同步會(huì)話狀態(tài)。
3、當(dāng)一臺(tái)集群設(shè)備失效后,選路協(xié)議會(huì)自動(dòng)選擇另外一條路徑,由于另外一條路徑的防火墻上有失效路徑防火墻上的全部狀態(tài)信息,所以連接可以不間斷地遷移。
本發(fā)明提供的實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的系統(tǒng)及方法還可用于VPN,交換機(jī),路由器,服務(wù)器集群等其它需要高可用性的設(shè)備集群中,其工作原理與防火墻高可用性的實(shí)現(xiàn)原理是類似的。
總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)安全設(shè)備,用于組成具有高可用性的集群系統(tǒng);其特征在于,該網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層;所述控制層用于監(jiān)控集群狀態(tài)變化,進(jìn)行節(jié)點(diǎn)配置信息的同步,根據(jù)集群狀態(tài)變化進(jìn)行負(fù)載分配,并將集群狀態(tài)變化信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;所述轉(zhuǎn)發(fā)層用于根據(jù)控制層下發(fā)的信息對(duì)數(shù)據(jù)包進(jìn)行處理,更新會(huì)話狀態(tài)信息,并進(jìn)行會(huì)話狀態(tài)信息的同步。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于,所述控制層包括心跳及負(fù)載分配功能模塊和路徑/網(wǎng)口監(jiān)視功能模塊;所述路徑/網(wǎng)口監(jiān)視功能模塊用于監(jiān)視網(wǎng)絡(luò)安全設(shè)備節(jié)點(diǎn)的狀態(tài)變化,并將包含節(jié)點(diǎn)狀態(tài)變化的信號(hào)發(fā)送給心跳及負(fù)載分配功能模塊;所述心跳及負(fù)載分配功能模塊用于發(fā)送和接收心跳信號(hào)以監(jiān)控集群狀態(tài)變化,進(jìn)行節(jié)點(diǎn)配置信息的同步,接收路徑/網(wǎng)口監(jiān)視功能模塊發(fā)送來(lái)的包含節(jié)點(diǎn)狀態(tài)變化的信號(hào),根據(jù)集群狀態(tài)變化和節(jié)點(diǎn)狀態(tài)進(jìn)行負(fù)載分配,并將負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其特征在于,所述控制層進(jìn)一步包括用于同步上層應(yīng)用會(huì)話狀態(tài)信息的上層應(yīng)用同步狀態(tài)功能模塊。
4.根據(jù)權(quán)利要求1、2或3所述的設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)層包含會(huì)話同步功能模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊;所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于接收控制層下發(fā)的負(fù)載分配信息,根據(jù)數(shù)據(jù)包信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并將會(huì)話狀態(tài)信息發(fā)送給會(huì)話同步功能模塊;所述會(huì)話同步功能模塊用于接收數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送來(lái)的會(huì)話狀態(tài)信息,并將包含會(huì)話狀態(tài)信息的會(huì)話狀態(tài)同步信號(hào)發(fā)送出去。
5.根據(jù)權(quán)利要求1、2或3所述的設(shè)備,其特征在于,所述控制層包含專用的HA網(wǎng)口。
6.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)層包含用于轉(zhuǎn)發(fā)數(shù)據(jù)包的普通數(shù)據(jù)網(wǎng)口和用于同步狀態(tài)信息的同步網(wǎng)口,同步網(wǎng)口為專用同步網(wǎng)口或普通數(shù)據(jù)網(wǎng)口。
7.一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的系統(tǒng),包括一個(gè)以上作為集群系統(tǒng)中集群節(jié)點(diǎn)的網(wǎng)絡(luò)安全設(shè)備;其特征在于,每個(gè)網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層;所述控制層用于監(jiān)控集群狀態(tài)變化,根據(jù)集群狀態(tài)變化進(jìn)行負(fù)載分配,并將集群狀態(tài)變化信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;所述轉(zhuǎn)發(fā)層用于根據(jù)控制層下發(fā)的信息對(duì)數(shù)據(jù)包進(jìn)行處理,并更新會(huì)話狀態(tài)信息;所述每個(gè)網(wǎng)絡(luò)安全設(shè)備的控制層之間通過(guò)彼此發(fā)送和接收心跳信號(hào)進(jìn)行心跳通信,進(jìn)行節(jié)點(diǎn)配置信息的同步;所述每個(gè)網(wǎng)絡(luò)安全設(shè)備的轉(zhuǎn)發(fā)層之間通過(guò)彼此發(fā)送和接收會(huì)話狀態(tài)同步信號(hào)進(jìn)行會(huì)話狀態(tài)同步。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)安全設(shè)備的控制層包括心跳及負(fù)載分配功能模塊和路徑/網(wǎng)口監(jiān)視功能模塊;所述路徑/網(wǎng)口監(jiān)視功能模塊用于監(jiān)視網(wǎng)絡(luò)安全設(shè)備節(jié)點(diǎn)的狀態(tài)變化,并將包含節(jié)點(diǎn)狀態(tài)變化的信號(hào)發(fā)送給心跳及負(fù)載分配功能模塊;所述心跳及負(fù)載分配功能模塊用于發(fā)送和接收心跳信號(hào)以監(jiān)控集群狀態(tài)變化,進(jìn)行節(jié)點(diǎn)配置信息的同步,接收路徑/網(wǎng)口監(jiān)視功能模塊發(fā)送來(lái)的包含節(jié)點(diǎn)狀態(tài)變化的信號(hào),根據(jù)集群狀態(tài)變化和節(jié)點(diǎn)狀態(tài)進(jìn)行負(fù)載分配,并將負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)安全設(shè)備的控制層進(jìn)一步包括用于同步上層應(yīng)用會(huì)話狀態(tài)信息的上層應(yīng)用同步狀態(tài)功能模塊。
10.根據(jù)權(quán)利要求7、8或9所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)安全設(shè)備的轉(zhuǎn)發(fā)層包含會(huì)話同步功能模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊;所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于接收控制層下發(fā)的負(fù)載分配信息,根據(jù)數(shù)據(jù)包信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并將會(huì)話狀態(tài)信息發(fā)送給會(huì)話同步功能模塊;所述會(huì)話同步功能模塊用于接收數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送來(lái)的會(huì)話狀態(tài)信息,并將包含會(huì)話狀態(tài)信息的會(huì)話狀態(tài)同步信號(hào)發(fā)送出去。
11.根據(jù)權(quán)利要求7、8或9所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)安全設(shè)備的控制層之間通過(guò)設(shè)定的專用HA網(wǎng)口相連。
12.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)安全設(shè)備的轉(zhuǎn)發(fā)層之間通過(guò)設(shè)定的專用同步網(wǎng)口或普通數(shù)據(jù)網(wǎng)口相連。
13.根據(jù)權(quán)利要求7、8、9或12所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)安全設(shè)備為防火墻。
14.一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的方法,適用于由一個(gè)以上網(wǎng)絡(luò)安全設(shè)備作為集群節(jié)點(diǎn)組成的集群系統(tǒng),集群系統(tǒng)中包含一個(gè)主節(jié)點(diǎn)和至少一個(gè)從節(jié)點(diǎn),每個(gè)集群節(jié)點(diǎn)包含控制層和轉(zhuǎn)發(fā)層;其特征在于,該方法包括控制層監(jiān)控集群狀態(tài)變化,根據(jù)集群狀態(tài)信息進(jìn)行負(fù)載分配,并將集群狀態(tài)信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;轉(zhuǎn)發(fā)層根據(jù)控制層下發(fā)的集群狀態(tài)信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并將會(huì)話狀態(tài)信息發(fā)送給同一集群系統(tǒng)的其它集群節(jié)點(diǎn)以進(jìn)行會(huì)話狀態(tài)同步。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述控制層監(jiān)控集群狀態(tài)變化并進(jìn)行負(fù)載分配的過(guò)程包括以下步驟A.根據(jù)集群狀態(tài)變化確定集群系統(tǒng)當(dāng)前的主節(jié)點(diǎn)、節(jié)點(diǎn)的個(gè)數(shù)以及集群節(jié)點(diǎn)的工作狀態(tài);B.主節(jié)點(diǎn)根據(jù)集群工作模式和集群節(jié)點(diǎn)信息分配負(fù)載,將分配的負(fù)載信息通知給從節(jié)點(diǎn),并更新集群節(jié)點(diǎn)信息。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述步驟A包括判斷集群網(wǎng)絡(luò)拓?fù)渥兓枪?jié)點(diǎn)加入還是節(jié)點(diǎn)退出,如果是節(jié)點(diǎn)加入,則判斷當(dāng)前加入節(jié)點(diǎn)是否檢測(cè)到心跳信號(hào),如果不是,則將把當(dāng)前加入節(jié)點(diǎn)設(shè)置為主節(jié)點(diǎn),然后執(zhí)行所述步驟B,否則將把當(dāng)前加入節(jié)點(diǎn)設(shè)置為從節(jié)點(diǎn),然后執(zhí)行所述步驟B;如果是節(jié)點(diǎn)退出,則判斷當(dāng)前離開的節(jié)點(diǎn)是否是主節(jié)點(diǎn),如果是,則將優(yōu)先級(jí)最高的從節(jié)點(diǎn)設(shè)置為主節(jié)點(diǎn)后,然后執(zhí)行所述步驟B;否則直接執(zhí)行所述步驟B。
17.根據(jù)權(quán)利要求15或16所述的方法,其特征在于,步驟B中,所述主節(jié)點(diǎn)根據(jù)集群工作模式分配負(fù)載包括集群工作模式為負(fù)載均衡模式時(shí),如果集群系統(tǒng)中僅包含主節(jié)點(diǎn),則主節(jié)點(diǎn)將全部負(fù)載的hash值范圍分配給自身,如果集群系統(tǒng)中包含主從節(jié)點(diǎn),則主節(jié)點(diǎn)按照預(yù)先設(shè)定的負(fù)載分配算法分配負(fù)載hash值范圍;集群工作模式為雙機(jī)熱備模式時(shí),將全部負(fù)載的hash值范圍分配給主節(jié)點(diǎn);集群工作模式為鏈路冗余模式時(shí),將全部負(fù)載的hash值范圍分配給每個(gè)節(jié)點(diǎn)。
18.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述轉(zhuǎn)發(fā)層對(duì)收到的數(shù)據(jù)包進(jìn)行處理的過(guò)程包括以下步驟a.判斷節(jié)點(diǎn)的狀態(tài)是否為工作狀態(tài),如果不是,則將收到的數(shù)據(jù)包丟掉,否則執(zhí)行步驟b;b.轉(zhuǎn)發(fā)層根據(jù)收到的數(shù)據(jù)包的信息計(jì)算數(shù)據(jù)包的hash值,并判斷該數(shù)據(jù)包hash值是否落在本節(jié)點(diǎn)處理的hash值范圍內(nèi),如果不是,則將該數(shù)據(jù)包丟掉;否則對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,在所述步驟a之前,該方法進(jìn)一步包括確定集群系統(tǒng)當(dāng)前的集群工作模式,如果當(dāng)前的集群工作模式為負(fù)載均衡模式,則直接執(zhí)行步驟b;如果當(dāng)前集群工作模式為雙機(jī)熱備模式,則繼續(xù)執(zhí)行步驟a;如果當(dāng)前集群工作模式為鏈路冗余模式,則對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理。
20.根據(jù)權(quán)利要求18或19所述的方法,其特征在于,步驟b中,所述對(duì)數(shù)據(jù)包繼續(xù)進(jìn)行處理為對(duì)數(shù)據(jù)包進(jìn)行安全規(guī)則匹配或轉(zhuǎn)發(fā)數(shù)據(jù)包。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)安全設(shè)備,用于組成具有高可用性的集群系統(tǒng),該網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層。本發(fā)明還公開了一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的系統(tǒng),包括一個(gè)以上作為集群系統(tǒng)中集群節(jié)點(diǎn)的網(wǎng)絡(luò)安全設(shè)備,每個(gè)網(wǎng)絡(luò)安全設(shè)備包含控制層和轉(zhuǎn)發(fā)層。本發(fā)明還公開了一種實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備高可用性的方法,該方法包括控制層監(jiān)控集群狀態(tài)變化,根據(jù)集群狀態(tài)信息進(jìn)行負(fù)載分配,并將集群狀態(tài)信息和負(fù)載分配信息下發(fā)給轉(zhuǎn)發(fā)層;轉(zhuǎn)發(fā)層根據(jù)控制層下發(fā)的集群狀態(tài)信息和負(fù)載分配信息對(duì)數(shù)據(jù)包進(jìn)行處理,并發(fā)送會(huì)話狀態(tài)信息同步給同一集群系統(tǒng)的其它集群節(jié)點(diǎn)。本發(fā)明提供的系統(tǒng)和方法可以實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備的高可用性,并適應(yīng)多種網(wǎng)絡(luò)拓?fù)湟蟆?br>
文檔編號(hào)H04L29/08GK1725702SQ20041007080
公開日2006年1月25日 申請(qǐng)日期2004年7月20日 優(yōu)先權(quán)日2004年7月20日
發(fā)明者劉春梅, 劉永鋒, 王剛, 宋春雨, 王偉 申請(qǐng)人:聯(lián)想網(wǎng)御科技(北京)有限公司