專利名稱:分布式多重處理安全網(wǎng)關(guān)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及數(shù)據(jù)聯(lián)網(wǎng),更具體地,涉及分布式多重處理安全網(wǎng)關(guān)的系統(tǒng)和 方法。
背景技術(shù):
隨著越來越多的計算機通過數(shù)據(jù)網(wǎng)絡(luò)進行連接,以及越來越多的應(yīng)用程序利用數(shù) 據(jù)網(wǎng)絡(luò)來實現(xiàn)它們的功能,數(shù)據(jù)網(wǎng)絡(luò)活動正在增加。因此,防止數(shù)據(jù)網(wǎng)絡(luò)的安全漏洞變得更 加重要。當前存在諸如防火墻、VPN防火墻、父級控制裝置(parentalcontrol appliance)、郵 件病毒檢測網(wǎng)關(guān)、用于網(wǎng)絡(luò)仿冒(phishing)和間諜軟件(spyware)的專用網(wǎng)關(guān)、入侵檢測和 預(yù)防裝置、訪問控制網(wǎng)關(guān)、身份管理網(wǎng)關(guān)的多種安全網(wǎng)關(guān),以及多種其他類型的安全網(wǎng)關(guān)。通 ?;谥T如MIPS架構(gòu)、PowerPC架構(gòu)、或者ARM架構(gòu)的RISC架構(gòu)使用諸如Intel Pentium、 AMD處理器、或者SPARC處理器的通用微處理器,或者嵌入式微處理器來實現(xiàn)這些產(chǎn)品。微處理器架構(gòu)受限于其處理性能。通常其能夠處理高達每秒千兆比特的帶寬。在 過去的幾年里,數(shù)據(jù)網(wǎng)絡(luò)帶寬應(yīng)用增長的步伐快于微處理器性能的改善。今天,在很多大中 型安全公司數(shù)據(jù)網(wǎng)絡(luò)中,每秒若干千兆比特的數(shù)據(jù)網(wǎng)絡(luò)帶寬應(yīng)用的并非不常見。我們期望 這種情況在包括小企業(yè)數(shù)據(jù)網(wǎng)絡(luò)、住宅網(wǎng)絡(luò)以及服務(wù)提供商數(shù)據(jù)網(wǎng)絡(luò)的大多數(shù)數(shù)據(jù)網(wǎng)絡(luò)中 變得更加普遍。數(shù)據(jù)網(wǎng)絡(luò)的使用增長的趨勢說明了對用于以串行方式運行來保護數(shù)據(jù)網(wǎng)絡(luò)的更 好且更高能力的安全網(wǎng)關(guān)的需要,尤其是在使用均為微處理器或者均基于微處理架構(gòu)的多 重處理單元的情況下。
發(fā)明內(nèi)容
用于分布式多重處理安全網(wǎng)關(guān)的系統(tǒng)和方法包括建立主機側(cè)會話;為服務(wù)器選 擇代理網(wǎng)絡(luò)地址;使用該代理網(wǎng)絡(luò)地址建立服務(wù)器側(cè)會話;接收數(shù)據(jù)包;從安全網(wǎng)關(guān)的多 核處理器中的多個中央處理器內(nèi)核分配一個用于處理數(shù)據(jù)包的中央處理器內(nèi)核;根據(jù)安全 策略處理數(shù)據(jù)包;并發(fā)送處理的數(shù)據(jù)包。選擇代理網(wǎng)絡(luò)地址以使相同的中央處理器內(nèi)核被 分配用來處理來自服務(wù)器側(cè)會話和主機側(cè)會話的數(shù)據(jù)包。通過以這種方式分配中央處理器 內(nèi)核,可以提供一種具有更高能力的安全網(wǎng)關(guān)。
圖Ia示出了安全數(shù)據(jù)網(wǎng)絡(luò)。
圖Ib示出了網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)處理的概要。圖Ic示出了用于TCP會話的NAT處理。圖2示出了分布式多重處理安全網(wǎng)關(guān)。圖3示出了調(diào)度處理。 圖4示出了代理網(wǎng)絡(luò)地址選擇處理。圖5示出了本發(fā)明實施例的多重處理器內(nèi)核。
具體實施例方式圖Ia示出了安全數(shù)據(jù)網(wǎng)絡(luò)。安全網(wǎng)關(guān)170保護安全數(shù)據(jù)網(wǎng)絡(luò)199。在一個實施例中,安全數(shù)據(jù)網(wǎng)絡(luò)199為住宅數(shù)據(jù)網(wǎng)絡(luò)。在一個實施例中,安全數(shù)據(jù) 網(wǎng)絡(luò)199為公司網(wǎng)絡(luò)。在一個實施例中,安全數(shù)據(jù)網(wǎng)絡(luò)199為區(qū)域公司網(wǎng)絡(luò)。在一個實施 例中,安全數(shù)據(jù)網(wǎng)絡(luò)199為服務(wù)提供商網(wǎng)絡(luò)。在一個實施例中,安全網(wǎng)關(guān)170為住宅寬帶網(wǎng)關(guān)。在一個實施例中,安全網(wǎng)關(guān)170 為公司防火墻。在一個實施例,安全網(wǎng)關(guān)170為區(qū)域辦公防火墻或者部門防火墻。在一個實 施例中,安全網(wǎng)關(guān)170為公司虛擬專用網(wǎng)絡(luò)(VPN)防火墻。在一個實施例中,安全網(wǎng)關(guān)170 為服務(wù)提供商網(wǎng)絡(luò)的因特網(wǎng)網(wǎng)關(guān)。當安全數(shù)據(jù)網(wǎng)絡(luò)199內(nèi)部的主機130訪問安全數(shù)據(jù)網(wǎng)絡(luò)199外部的服務(wù)器110時, 主機130通過安全網(wǎng)關(guān)170與服務(wù)器110建立會話。在主機130和服務(wù)器110之間的會話 中交換的數(shù)據(jù)包通過安全網(wǎng)關(guān)170。安全網(wǎng)關(guān)170在處理會話中的數(shù)據(jù)包期間應(yīng)用多個安 全策略。安全策略的實例包括網(wǎng)絡(luò)地址保護、內(nèi)容過濾、病毒檢測以及侵擾預(yù)防、間諜軟件 或者網(wǎng)絡(luò)仿冒阻止、網(wǎng)絡(luò)入侵或者拒絕服務(wù)預(yù)防、數(shù)據(jù)通信監(jiān)控、或者數(shù)據(jù)通信監(jiān)聽。圖Ib示出了網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)處理的概要。在一個實施例中,安全策略用于保護主機130的網(wǎng)絡(luò)地址。主機130在主機130 和服務(wù)器Iio之間的會話160中使用主機網(wǎng)絡(luò)地址183。在一個實施例中,主機網(wǎng)絡(luò)地址 183包括主機130的IP地址。在另一個實施例中,主機網(wǎng)絡(luò)地址183包括主機130的會話 端口地址。安全網(wǎng)關(guān)170通過不泄露主機網(wǎng)絡(luò)地址183來保護主機130。當主機130向安全 網(wǎng)關(guān)170發(fā)送會話160的會話請求時,該會話請求包括主機網(wǎng)絡(luò)地址183。安全網(wǎng)關(guān)170與主機130建立主機側(cè)會話169。主機130在會話169中使用主機 網(wǎng)絡(luò)地址183。安全網(wǎng)關(guān)170選擇代理網(wǎng)絡(luò)地址187。安全網(wǎng)關(guān)170使用代理網(wǎng)絡(luò)地址187以與 服務(wù)器110建立服務(wù)器側(cè)會話165。服務(wù)器側(cè)會話165為安全網(wǎng)關(guān)170和服務(wù)器110之間的會話。主機側(cè)會話169為 安全網(wǎng)關(guān)170和主機130之間的會話。會話160包括服務(wù)器側(cè)會話165和主機側(cè)會話169。安全網(wǎng)關(guān)170對會話160執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)處理。安全網(wǎng)關(guān)170通過用主 機網(wǎng)絡(luò)地址183代替代理網(wǎng)絡(luò)地址187來對在服務(wù)器側(cè)會話165上接收的數(shù)據(jù)包進行網(wǎng)絡(luò) 地址轉(zhuǎn)換處理。安全網(wǎng)關(guān)170將轉(zhuǎn)換的數(shù)據(jù)包傳輸?shù)街鳈C側(cè)會話169上。類似地,安全網(wǎng) 關(guān)170通過用代理網(wǎng)絡(luò)地址187代替主機網(wǎng)絡(luò)地址183來對在主機側(cè)會話169上接收的數(shù) 據(jù)包進行網(wǎng)絡(luò)地址轉(zhuǎn)換處理。安全網(wǎng)關(guān)170將轉(zhuǎn)換的數(shù)據(jù)包傳輸?shù)椒?wù)器側(cè)會話165上。
在一個實施例中,會話160為傳輸控制協(xié)議(TCP)會話。在一個實施例中,會話160 為用戶數(shù)據(jù)報協(xié)議(UDP)會話。在一個實施例中,會話160為互聯(lián)網(wǎng)控制報文協(xié)議(ICMP) 會話。在一個實施例中,會話160基于在IP協(xié)議頂部的傳輸會話協(xié)議。在一個實施例中, 會話160基于在IP協(xié)議頂部的應(yīng)用會話協(xié)議。圖1 c示出了 TCP會話的NAT處理。主機130發(fā)送會話請求192用于與服務(wù)器110建立會話160。會話160為TCP會 話。會話請求192包括主機網(wǎng)絡(luò)地址183和服務(wù)器網(wǎng)絡(luò)地址184。安全網(wǎng)關(guān)170接收會話 請求192。安全網(wǎng)關(guān)170從會話請求192提取主機網(wǎng)絡(luò)地址183。安全網(wǎng)關(guān)170確定代理網(wǎng) 絡(luò)地址187。在一個實施例中,主機網(wǎng)絡(luò)地址183包括主機的IP地址,安全網(wǎng)關(guān)170確定代 理IP地址以代替主機的IP地址。在一個實施例中,主機網(wǎng)絡(luò)地址183包括主機的TCP端 口號碼,安全網(wǎng)關(guān)170確定代理TCP端口號碼以代替主機TCP端口號碼。安全網(wǎng)關(guān)170從 會話請求192提取服務(wù)器網(wǎng)絡(luò)地址184。安全網(wǎng)關(guān)170基于服務(wù)器網(wǎng)絡(luò)地址184和代理網(wǎng) 絡(luò)地址187與服務(wù)器110建立服務(wù)器側(cè)會話165。服務(wù)器側(cè)會話165為TCP會話。安全網(wǎng)關(guān)170還通過響應(yīng)于會話請求192與主機130建立主機側(cè)會話169。在建立服務(wù)器側(cè)會話165和主機側(cè)會話169以后,安全網(wǎng)關(guān)170處理來自服務(wù)器 側(cè)會話165和主機側(cè)會話169的數(shù)據(jù)包。在一個實施例中,安全網(wǎng)關(guān)170從服務(wù)器側(cè)會話165接收數(shù)據(jù)包185。數(shù)據(jù)包185 包括服務(wù)器網(wǎng)絡(luò)地址184和代理網(wǎng)絡(luò)地址187。安全網(wǎng)關(guān)170提取服務(wù)器網(wǎng)絡(luò)地址184和 代理網(wǎng)絡(luò)地址187。安全網(wǎng)關(guān)170基于提取的網(wǎng)絡(luò)地址確定主機側(cè)會話169。安全網(wǎng)關(guān)170 進一步根據(jù)主機側(cè)會話169確定主機網(wǎng)絡(luò)地址183。安全網(wǎng)關(guān)170通過首先用主機網(wǎng)絡(luò)地 址183代替代理網(wǎng)絡(luò)地址187來修改數(shù)據(jù)包185。安全網(wǎng)關(guān)170修改諸如TCP校驗和、IP 報頭校驗和的數(shù)據(jù)包185的其他部分。在一個實施例中,安全網(wǎng)關(guān)170通過用主機網(wǎng)絡(luò)地 址183代替代理網(wǎng)絡(luò)地址187的任何用法來修改數(shù)據(jù)包185的有效負載。在安全網(wǎng)關(guān)170完成修改數(shù)據(jù)包185以后,安全網(wǎng)關(guān)170將修改的數(shù)據(jù)包185傳 輸?shù)街鳈C側(cè)會話169上。在類似的方法中,安全網(wǎng)關(guān)170從主機側(cè)會話169接收數(shù)據(jù)包188。數(shù)據(jù)包188包 括服務(wù)器網(wǎng)絡(luò)地址184和主機網(wǎng)絡(luò)地址183。安全網(wǎng)關(guān)170提取服務(wù)器網(wǎng)絡(luò)地址184和 主機網(wǎng)絡(luò)地址183。安全網(wǎng)關(guān)170基于提取的網(wǎng)絡(luò)地址確定服務(wù)器側(cè)會話165。安全網(wǎng)關(guān) 170進一步根據(jù)服務(wù)器側(cè)會話165確定代理網(wǎng)絡(luò)地址187。安全網(wǎng)關(guān)170通過首先用代理 網(wǎng)絡(luò)地址187代替主機網(wǎng)絡(luò)地址183來修改數(shù)據(jù)包188。安全網(wǎng)關(guān)170修改諸如TCP校驗 和、IP報頭校驗和的數(shù)據(jù)包188的其他部分。在一個實施例中,安全網(wǎng)關(guān)170通過用代理 網(wǎng)絡(luò)地址187代替主機網(wǎng)絡(luò)地址183的任何用法來修改數(shù)據(jù)包188的有效負載。在安全網(wǎng)關(guān)170完成修改數(shù)據(jù)包188以后,安全網(wǎng)關(guān)170將修改的數(shù)據(jù)包188傳 輸?shù)椒?wù)器側(cè)會話165上。圖2示出了分布式多重處理安全網(wǎng)關(guān)。在一個實施例中,安全網(wǎng)關(guān)270為分布式多重處理系統(tǒng)。安全網(wǎng)關(guān)270包括多個 處理單元。處理單元272包括存儲模塊。如圖1所述,存儲模塊存儲主機網(wǎng)絡(luò)地址、代理網(wǎng) 絡(luò)地址以及用于處理單元272以應(yīng)用安全策略的其他信息。處理單元272具有處理單元身 份 273。
在圖5所示的一個實施例中,處理單元272為在結(jié)合兩個或者多個獨立內(nèi)核的多 核處理器579中的中央處理器(CPU)內(nèi)核572。在一個實施例中,多核處理器579為諸如 Intel的Core 2 Duo處理器、或者AMD的Athlon雙核處理器的雙核處理器。在一個實施 例中,多核處理器579為諸如Intel的4核Xeon 5300系列處理器、或者AMD的Opteron Quad-Core處理器的4核處理器。在一個實施例中,安全網(wǎng)關(guān)270包括多個多核處理器,其中,處理單元272為多核 處理器。在一個實施例中,處理單元272為在諸如Intel的IXP2855或IXP2805網(wǎng)絡(luò)處理 器、AMD的Aul500處理器、或者Gavium的Octeon MIPS64網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)處理器內(nèi)的包 處理模塊。安全網(wǎng)關(guān)270包括調(diào)度器275。調(diào)度器275接收數(shù)據(jù)包并確定用于處理該數(shù)據(jù)包 的處理單元。調(diào)度器275通常基于該數(shù)據(jù)包計算處理單元身份。基于計算的處理單元身份, 安全網(wǎng)關(guān)270將數(shù)據(jù)包分配給識別出的處理單元進行處理。在一個實施例中,調(diào)度器275從主機側(cè)會話269接收數(shù)據(jù)包288并基于數(shù)據(jù)包288 中的主機網(wǎng)絡(luò)地址和服務(wù)器網(wǎng)絡(luò)地址來計算第一處理單元身份。在另一實施例中,調(diào)度器 275從服務(wù)器側(cè)會話265接收數(shù)據(jù)包285并基于數(shù)據(jù)包285中的代理網(wǎng)絡(luò)地址和服務(wù)器網(wǎng) 絡(luò)地址來計算第二處理單元身份。安全網(wǎng)關(guān)270包括網(wǎng)絡(luò)地址選擇器277。網(wǎng)絡(luò)地址選擇器277基于網(wǎng)絡(luò)信息選擇 代理網(wǎng)絡(luò)地址。網(wǎng)絡(luò)信息包括在會話260中的會話請求中所獲得的主機網(wǎng)絡(luò)地址和安全網(wǎng) 關(guān)網(wǎng)絡(luò)地址。還可以使用其他類型的網(wǎng)絡(luò)信息。將代理網(wǎng)絡(luò)地址用于建立服務(wù)器側(cè)會話 265。選擇代理網(wǎng)絡(luò)地址以使調(diào)度器275所計算的第一處理單元身份和第二處理單元身份 相同。換句話說,分配相同的處理單元以處理來自服務(wù)器側(cè)會話265的數(shù)據(jù)包285和來自 主機側(cè)會話269的數(shù)據(jù)包288。在一個實施例中,選擇代理網(wǎng)絡(luò)地址,以使調(diào)度器275所計算的第一處理單元身 份識別在多個處理單元中具有最輕負載的處理單元。在一個實施例中,負載基于處理單元 的處理器閑置時間。在一個實施例中,負載基于處理單元的有效會話。在一個實施例中,網(wǎng) 絡(luò)地址選擇器277通過應(yīng)用程序接口(API)從處理單元獲得負載。在一個實施例中,網(wǎng)絡(luò)地 址選擇器277從處理單元的存儲模塊獲得負載。在一個實施例中,選擇代理網(wǎng)絡(luò)地址以使 調(diào)度器275所計算的第二處理單元身份識別在多個處理單元中具有最輕負載的處理單元。在一個實施例中,選擇代理網(wǎng)絡(luò)地址,以使調(diào)度器275所計算的第一處理單元身 份識別具有功能性作用(functional role)的處理單元。在一個實施例中,功能性作用包 括安全策略的處理。在一個實施例中,網(wǎng)絡(luò)地址選擇器277通過注冊處理、或者應(yīng)用程序接 口(API)來獲得處理單元的功能性作用。在一個實施例中,網(wǎng)絡(luò)地址選擇器277從處理單 元的存儲模塊獲得功能性作用。圖3示出了調(diào)度處理。調(diào)度器375基于從會話360的數(shù)據(jù)包385所獲得的兩個網(wǎng)絡(luò)地址來計算處理單元 身份。會話360包括主機側(cè)會話369和服務(wù)器側(cè)會話365。主機側(cè)會話369的兩個網(wǎng)絡(luò)地 址為服務(wù)器網(wǎng)絡(luò)地址和主機網(wǎng)絡(luò)地址。服務(wù)器側(cè)會話365的兩個網(wǎng)絡(luò)地址為代理網(wǎng)絡(luò)地址 和服務(wù)器網(wǎng)絡(luò)地址。調(diào)度器375計算主機側(cè)會話369和服務(wù)器側(cè)會話365的相同的處理單元身份。在一個實施例中,調(diào)度器375基于散列函數(shù)(hashing function)進行計算。在一個實施例中,調(diào)度器375通過添加兩個網(wǎng)絡(luò)地址來計算和。在一實例中,調(diào) 度器375通過對以二進制數(shù)表示的兩個網(wǎng)絡(luò)地址進行諸如異或(X0R) 二進制運算、或者與 (and) 二進制運算的二進制運算來計算和。在一實例中,調(diào)度器375通過首先提取諸如網(wǎng)絡(luò) 地址的前4位的兩個網(wǎng)絡(luò)地址的部分來計算和,并對提取的部分應(yīng)用諸如二進制運算的運 算。在一實例中,調(diào)度器375通過首先將兩個網(wǎng)絡(luò)地址乘以一個數(shù)并對該倍數(shù)應(yīng)用諸如加 的運算來計算和。在一個實施例中,調(diào)度器375通過對該和進行處理來計算處理單元身份。在一個 實施例中,在安全網(wǎng)關(guān)370中有4個處理單元。在一實例中,調(diào)度器375提取和的前兩位, 并將提取的這兩位當作在0和3之間的數(shù)字量。在一實例中,調(diào)度器375提取和的第一位 和最后一位,并將提取的這兩位當作在0和3之間的數(shù)字量。在一實例中,調(diào)度器375將和 除以4并確定除法的余數(shù)。該余數(shù)為在0和3之間的數(shù)。在一個實施例中,安全網(wǎng)關(guān)370包括8個處理單元。調(diào)度器375提取和的3位并 將提取的這三位作為在0和7之間的數(shù)字量。在一實例中,調(diào)度器375將和除以8并確定 除法的余數(shù)。該余數(shù)為在0和7之間的數(shù)。在一個實施例中,網(wǎng)絡(luò)地址包括IP地址和會話端口地址。調(diào)度器375計算兩個網(wǎng) 絡(luò)地址的IP地址和會話端口地址的和。盡管上述教導是基于散列函數(shù)的以上描述進行的,但是對于本領(lǐng)域的技術(shù)人員顯 而易見的是,調(diào)度器375可以實現(xiàn)不同的散列函數(shù)。圖4示出了代理網(wǎng)絡(luò)地址選擇處理。網(wǎng)絡(luò)地址選擇器477選擇主機網(wǎng)絡(luò)地址483的代理網(wǎng)絡(luò)地址487。在一個實施例 中,主機網(wǎng)絡(luò)地址483包括主機IP地址484和主機會話端口地址485 ;代理網(wǎng)絡(luò)地址487包 括代理IP地址488和代理會話端口地址489。選擇代理網(wǎng)絡(luò)地址487以使調(diào)度器475計算 關(guān)于主機側(cè)會話469和服務(wù)器側(cè)會話465的相同的處理單元身份。在一個實施例中,選擇處理是基于在圖3中所示的調(diào)度處理進行的。在一實例中, 調(diào)度器475使用計算兩個IP地址和兩個會話端口地址的和的方法,然后將和除以4。在一 個實施例中,首先,網(wǎng)絡(luò)地址選擇器477選擇代理IP地址488。然后,網(wǎng)絡(luò)地址選擇器477 選擇代理會話端口地址489以使當使用關(guān)于服務(wù)器網(wǎng)絡(luò)地址490和主機網(wǎng)絡(luò)地址483的方 法時,調(diào)度器475計算的處理單元身份與當使用關(guān)于服務(wù)器網(wǎng)絡(luò)地址490和代理網(wǎng)絡(luò)地址 487的方法時相同。在一實例中,調(diào)度器475計算來自兩個網(wǎng)絡(luò)地址的二進制算子X0R的和,并提取該 和的最后3位數(shù)字。網(wǎng)絡(luò)地址選擇器477選擇具有主機會話端口地址485的相同最后3位 數(shù)字的代理會話端口地址489。在一個實施例中,安全網(wǎng)關(guān)470執(zhí)行多個現(xiàn)有會話的網(wǎng)絡(luò)地址轉(zhuǎn)換處理。網(wǎng)絡(luò)地 址選擇器477檢查所選擇的代理網(wǎng)絡(luò)地址487是否在多個現(xiàn)有會話中沒有使用。在一個實 施例中,安全網(wǎng)關(guān)470包括數(shù)據(jù)存儲器479。數(shù)據(jù)存儲器479存儲在多個現(xiàn)有會話中使用的 多個代理網(wǎng)絡(luò)地址。網(wǎng)絡(luò)地址選擇器477通過將選擇的代理網(wǎng)絡(luò)地址487與存儲的多個代 理網(wǎng)絡(luò)地址進行比較并且沒有找到匹配從而確定沒有使用選擇的代理網(wǎng)絡(luò)地址487。
在一個實施例中,處理單元包括網(wǎng)絡(luò)地址選擇器。處理單元接收由安全網(wǎng)關(guān)基于 調(diào)度器計算的處理單元身份而分配的數(shù)據(jù)包。在一個實施例中,處理單元確定該數(shù)據(jù)包包 括會話請求。如圖4所示,在處理單元中的網(wǎng)絡(luò)地址選擇器基于在會話請求中的主機網(wǎng)絡(luò) 地址來選擇代理網(wǎng)絡(luò)地址。在一個實施例中,特定的第一處理單元包括網(wǎng)絡(luò)地址選擇器。沒 有網(wǎng)絡(luò)地址選擇 器的第二處理單元接收數(shù)據(jù)包并確定該數(shù)據(jù)包包括會話請求。第二處理單元使用例如遠程 功能呼叫向第一處理單元發(fā)送數(shù)據(jù)包。第一處理單元接收數(shù)據(jù)包。網(wǎng)絡(luò)地址選擇器基于會 話請求中的主機網(wǎng)絡(luò)地址來選擇代理網(wǎng)絡(luò)地址。 在一個實施例中,在處理單元的存儲模塊中實現(xiàn)數(shù)據(jù)存儲器。在一個實施例中,將 數(shù)據(jù)存儲器中的多個代理網(wǎng)絡(luò)地址存儲在每個處理單元的每個存儲模塊中。在一個實施例 中,以分布的方式將數(shù)據(jù)存儲器中的多個代理網(wǎng)絡(luò)地址存儲在存儲模塊中,而將在由處理 單元所處理的會話中使用的代理網(wǎng)絡(luò)地址存儲在處理單元的存儲模塊中。在一個實施例中,安全網(wǎng)關(guān)包括由多個處理單元所共享的存儲器。安全網(wǎng)關(guān)將共 享存儲器分區(qū)為多個存儲區(qū)域。處理單元有權(quán)訪問專用存儲區(qū)域,而無權(quán)訪問其他存儲區(qū) 域。在一個實施例中,安全網(wǎng)關(guān)包括中央處理器。在一個實施例中,中央處理器包括在 諸如專用集成電路(ASIC)或者現(xiàn)場可編程門陣列(FPGA)的電路中實現(xiàn)的諸如超線程、微 引擎或其他處理線程的多個處理線程。處理單元為處理線程。在一個實施例中,中央處理器包括多個微處理器內(nèi)核。處理線程為微處理器內(nèi)核。在一個實施例中,安全策略用于病毒檢測或阻止。在一個實施例中,安全策略用 于網(wǎng)絡(luò)仿冒檢測或阻止。在一個實施例中,安全策略用于傳輸限額執(zhí)行(traffic quota enforcement)。在一個實施例中,安全策略用于合法數(shù)據(jù)監(jiān)聽。在一個實施例中,NAT處理用于UDP會話。在一個實施例中,安全網(wǎng)關(guān)接收UDP包。 在一個實施例中,安全網(wǎng)關(guān)確定UDP包不是來自現(xiàn)有會話。安全網(wǎng)關(guān)作為會話請求處理UDP 包。在一個實施例中,NAT處理用于ICMP會話。在類似的方法中,安全網(wǎng)關(guān)作為會話 請求處理來自非現(xiàn)有會話的ICMP包。雖然根據(jù)所示的實施例已經(jīng)描述了本發(fā)明,但是在本領(lǐng)域的普通技術(shù)人員應(yīng)理 解,可能存在對實施例的改變并且這些改變在本發(fā)明的精神和范圍內(nèi)。因此,在不背離所附 權(quán)利要求的精神和范圍內(nèi),可以通過本領(lǐng)域的普通技術(shù)人員進行多種修改。
權(quán)利要求
一種用于提供安全網(wǎng)關(guān)的方法,包括(a)建立主機側(cè)會話;(b)為服務(wù)器選擇代理網(wǎng)絡(luò)地址;(c)使用所述代理網(wǎng)絡(luò)地址建立服務(wù)器側(cè)會話;(d)接收數(shù)據(jù)包;(e)從所述安全網(wǎng)關(guān)的多核處理器中的多個中央處理器內(nèi)核中,分配一個用于處理所述數(shù)據(jù)包的中央處理器內(nèi)核;(f)根據(jù)安全策略處理所述數(shù)據(jù)包;以及(g)發(fā)送經(jīng)處理的數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的方法,其中,選擇所述代理網(wǎng)絡(luò)地址,以使所述一個中央處理 器內(nèi)核被分配用來處理來自所述服務(wù)器側(cè)會話和所述主機側(cè)會話的多個數(shù)據(jù)包。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)包是從所述主機側(cè)會話接收的,其中, 所述分配(e)包括(el)根據(jù)所述數(shù)據(jù)包中的服務(wù)器網(wǎng)絡(luò)地址和主機網(wǎng)絡(luò)地址計算所述一個中央處理器 內(nèi)核的身份;以及(e2)將所述數(shù)據(jù)包的處理分配給所述一個中央處理器內(nèi)核。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述發(fā)送(g)包括 (gl)接收經(jīng)處理的數(shù)據(jù)包;(g2)用所述代理網(wǎng)絡(luò)地址代替經(jīng)處理的數(shù)據(jù)包中的所述主機網(wǎng)絡(luò)地址;以及 (g3)向所述服務(wù)器側(cè)會話發(fā)送經(jīng)處理的數(shù)據(jù)包。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)包是從所述服務(wù)器側(cè)會話接收的,其 中,所述分配(e)包括(el)根據(jù)所述數(shù)據(jù)包中的服務(wù)器網(wǎng)絡(luò)地址和代理網(wǎng)絡(luò)地址計算所述一個中央處理器 內(nèi)核的身份;以及(e2)將所述數(shù)據(jù)包的處理分配給所述一個中央處理器內(nèi)核。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述發(fā)送(g)包括 (gl)接收經(jīng)處理的數(shù)據(jù)包;(g2)用所述主機網(wǎng)絡(luò)地址代替經(jīng)處理的數(shù)據(jù)包中的所述代理網(wǎng)絡(luò)地址;以及 (g3)向所述主機側(cè)會話發(fā)送經(jīng)處理的數(shù)據(jù)包。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述分配(e)基于所述多個中央處理器內(nèi)核的負載。
8.根據(jù)權(quán)利要求7所述的方法,其中,所分配的一個中央處理器內(nèi)核在所述多個中央 處理器內(nèi)核中具有最輕的負載。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述分配(e)基于所述多個中央處理器內(nèi)核的功 能性作用。
10.一種安全網(wǎng)關(guān),包括多個中央處理器內(nèi)核,位于多核處理器中;網(wǎng)絡(luò)地址選擇器,用于接收主機和服務(wù)器之間的會話的會話請求,用于基于網(wǎng)絡(luò)信息 為所述服務(wù)器選擇代理網(wǎng)絡(luò)地址,以及用于建立服務(wù)器側(cè)會話和主機側(cè)會話;以及調(diào)度器,用于從所述多個中央處理器內(nèi)核中分配一個中央處理器內(nèi)核,以處理來自所 述服務(wù)器側(cè)會話和所述主機側(cè)會話的多個數(shù)據(jù)包。
11.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),其中,通過所述網(wǎng)絡(luò)地址選擇器來選擇所述代 理網(wǎng)絡(luò)地址,以使相同的一個中央處理器內(nèi)核被分配用來處理來自所述服務(wù)器側(cè)會話和所 述主機側(cè)會話的所述多個數(shù)據(jù)包。
12.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),其中,所述網(wǎng)絡(luò)信息包括安全網(wǎng)關(guān)網(wǎng)絡(luò)地址和 主機網(wǎng)絡(luò)地址。
13.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),其中,所述調(diào)度器 接收來自所述主機側(cè)會話的數(shù)據(jù)包;根據(jù)所述數(shù)據(jù)包中的服務(wù)器網(wǎng)絡(luò)地址和主機網(wǎng)絡(luò)地址,計算所述一個中央處理器內(nèi)核 的身份;以及將所述數(shù)據(jù)包的處理分配給所述一個中央處理器內(nèi)核,其中,根據(jù)安全策略處理所述 數(shù)據(jù)包。
14.根據(jù)權(quán)利要求13所述的安全網(wǎng)關(guān),其中,所述調(diào)度器進一步接收經(jīng)處理的數(shù)據(jù)包;用所述代理網(wǎng)絡(luò)地址代替經(jīng)處理的數(shù)據(jù)包中的所述主機網(wǎng)絡(luò)地址;以及 向所述服務(wù)器側(cè)會話發(fā)送經(jīng)處理的數(shù)據(jù)包。
15.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),其中,所述調(diào)度器接收來自所述服務(wù)器側(cè)會話 的數(shù)據(jù)包;根據(jù)所述數(shù)據(jù)包中的服務(wù)器網(wǎng)絡(luò)地址和代理網(wǎng)絡(luò)地址,計算所述一個中央處理器內(nèi)核 的身份;以及將所述數(shù)據(jù)包的處理分配給所述一個中央處理器內(nèi)核,其中,根據(jù)安全策略處理所述 數(shù)據(jù)包。
16.根據(jù)權(quán)利要求15所述的安全網(wǎng)關(guān),其中,所述調(diào)度器進一步接收經(jīng)處理的數(shù)據(jù)包;用所述主機網(wǎng)絡(luò)地址代替經(jīng)處理的數(shù)據(jù)包中的所述代理網(wǎng)絡(luò)地址;以及 向所述主機側(cè)會話發(fā)送經(jīng)處理的數(shù)據(jù)包。
17.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),進一步包括數(shù)據(jù)存儲器,用于存儲現(xiàn)有會話的 代理網(wǎng)絡(luò)地址,其中,所述網(wǎng)絡(luò)地址選擇器通過將所述代理網(wǎng)絡(luò)地址與所述數(shù)據(jù)存儲器中 的地址進行比較來確定在現(xiàn)有會話中沒有使用所述代理網(wǎng)絡(luò)地址,其中,所述網(wǎng)絡(luò)地址選 擇器基于主機網(wǎng)絡(luò)地址選擇所述代理網(wǎng)絡(luò)地址。
18.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),其中,代理網(wǎng)絡(luò)地址的所述選擇基于所述多個 中央處理器內(nèi)核的負載。
19.根據(jù)權(quán)利要求18所述的安全網(wǎng)關(guān),其中,所分配的一個中央處理器內(nèi)核在所述多 個中央處理器內(nèi)核中具有最輕的負載。
20.根據(jù)權(quán)利要求10所述的安全網(wǎng)關(guān),其中,代理網(wǎng)絡(luò)地址的所述選擇基于所述多個 中央處理器內(nèi)核的功能性作用。
全文摘要
一種用于分布式多重處理安全網(wǎng)關(guān)的系統(tǒng)和方法,包括建立主機側(cè)會話;為服務(wù)器選擇代理網(wǎng)絡(luò)地址;使用該代理網(wǎng)絡(luò)地址建立服務(wù)器側(cè)會話;接收數(shù)據(jù)包;從安全網(wǎng)關(guān)的多核處理器中的多個中央處理器內(nèi)核分配一個用于處理數(shù)據(jù)包的中央處理器內(nèi)核;根據(jù)安全策略處理數(shù)據(jù)包;并發(fā)送經(jīng)處理的數(shù)據(jù)包。選擇代理網(wǎng)絡(luò)地址以使相同的中央處理器內(nèi)核被分配用來處理來自服務(wù)器側(cè)會話和主機側(cè)會話的數(shù)據(jù)包。通過以這種方式分配中央處理器內(nèi)核,可以提供一種具有更高能力的安全網(wǎng)關(guān)。
文檔編號H04W12/02GK101878663SQ200880118178
公開日2010年11月3日 申請日期2008年10月29日 優(yōu)先權(quán)日2007年11月29日
發(fā)明者司徒偉倫, 陳澧 申請人:瑞科網(wǎng)信科技有限公司