專利名稱:一種基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡技術領域,特別涉及一種基于多核網(wǎng)絡處理器的防火墻系統(tǒng)及實現(xiàn)方法。
背景技術:
隨著社會的不斷發(fā)展,計算機網(wǎng)絡在全世界范圍內的普及率越來越高。隨著而來的是網(wǎng)絡安全問題層出不窮,人們越來越重視信息的安全性。防火墻技術正是ー種有效保護網(wǎng)絡安全的技術,防火墻產(chǎn)品已逐漸發(fā)展成為維護網(wǎng)絡安全所必不可少的組成部分。 然而,隨著計算機網(wǎng)絡技術的飛速發(fā)展,網(wǎng)絡流量急劇增加,各種新興業(yè)務層出不窮,這就要求防火墻必須具有高效處理網(wǎng)絡數(shù)據(jù)報文的能力,而防火墻功能和性能的矛盾一直是困擾信息安全產(chǎn)品的問題。傳統(tǒng)的防火墻主要是基于x86軟件平臺開源項目和ASIC專用芯片平臺,但是x86軟件平臺開源項目的防火墻最大的缺點就是小包通過率低,造成該缺點的主要原因是x86軟件平臺開源項目的中斷機制以及有數(shù)據(jù)都要經(jīng)過復雜的軟件IP協(xié)議棧以及其他的輔助流程處理。目前市場上大多數(shù)的x86軟件平臺開源項目防火墻不能作為大容量千兆防火墻使用,只能作為小型百兆防火墻?;贏SIC專用芯片平臺架構的防火墻從架構上改進了中斷機制,數(shù)據(jù)通過網(wǎng)卡進入系統(tǒng)后,不需經(jīng)過主CPU軟件IP協(xié)議棧和輔助流程處理,而是由集成在系統(tǒng)中的芯片直接處理,完成防火墻的功能,如路由、NAT、防火墻規(guī)則匹配等,因此,其性能得到了大幅度的提升。但問題是,這種防火墻在設計時,就必須將安全功能固化進ASIC專用芯片中,所以它的靈活性不夠,如果想要增添新的功能或進行系統(tǒng)升級,開發(fā)周期較長,對技術的要求也很高。可見,現(xiàn)有防火墻技術無法同時兼?zhèn)涓咝幚砭W(wǎng)絡數(shù)據(jù)報文的能力和較高的靈活性。
發(fā)明內容
本發(fā)明針對現(xiàn)有防火墻技術不能同時兼?zhèn)涓咝幚砭W(wǎng)絡數(shù)據(jù)報文的能力和較高的靈活性的技術問題,提供一種基于多核網(wǎng)絡處理器的防火墻系統(tǒng)及實現(xiàn)方法,在多核網(wǎng)絡處理器架構上實現(xiàn)防火墻,可以解決x86軟件平臺開源項目的防火墻性能不高和ASIC專用芯片架構的防火墻靈活性不夠的技術問題。為解決上述技術問題,本發(fā)明防火墻實現(xiàn)方法所采用的技術方案是一種基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,包括以下步驟步驟I、在多核網(wǎng)絡處理器的一部分核上運行通用操作系統(tǒng),在運行通用操作系統(tǒng)上加載通用防火墻模塊、防火墻配置工具及防火墻規(guī)則處理模塊;在多核網(wǎng)絡處理器的其余核上運行專用操作系統(tǒng),在運行專用操作系統(tǒng)的每ー個核上加載防火墻規(guī)則轉換模塊和專用防火墻模塊;步驟2、通過防火墻配置工具添加防火墻規(guī)則,防火墻配置工具將所添加的防火墻規(guī)則解析后將防火墻規(guī)則提交給通用防火墻模塊供其使用;
步驟3、防火墻規(guī)則處理模塊將防火墻規(guī)則從通用防火墻模塊中提取出來,并將其進行轉換,轉換后將防火墻規(guī)則寫到多核網(wǎng)絡處理器的共享內存中形成防火墻規(guī)則表,該規(guī)則表供專用防火墻模塊使用;步驟4、當網(wǎng)絡數(shù)據(jù)報文到來吋,將該網(wǎng)絡數(shù)據(jù)報文發(fā)送給專用防火墻模塊處理;防火墻規(guī)則轉換模塊通過從防火墻規(guī)則表中讀取防火墻規(guī)則,并將所讀取的防火墻規(guī)則轉換成適合在專用防火墻模塊上執(zhí)行的形式,再交給專用防火墻模塊來實現(xiàn)其防火墻功能;步驟5、對于專用防火墻模塊處理不了的數(shù)據(jù)包則發(fā)送給通用防火墻模塊處理。優(yōu)選地,步驟4所述專用防火墻模塊實現(xiàn)其防火墻功能步驟如下步驟41 :收到網(wǎng)絡數(shù)據(jù)報文后,對網(wǎng)絡數(shù)據(jù)報文中的數(shù)據(jù)包進行分類和標記,按照設定的優(yōu)先級,將網(wǎng)絡數(shù)據(jù)報文放到對應的優(yōu)先級隊列中;步驟42 :采用負荷分擔策略將網(wǎng)絡數(shù)據(jù)報文按照加載了專用防火墻模塊的核的負載進行分發(fā),使所有加載了專用防火墻模塊的核工作負擔達到均衡;步驟43 :所有加載了專用防火墻模塊的核均通過防火墻規(guī)則表讀取防火墻規(guī)則,實現(xiàn)防火墻功能。優(yōu)選地,步驟42所述負載分擔策略的步驟如下當專用防火墻模塊處于空閑狀態(tài)時,按優(yōu)先級從高到低順序去獲取優(yōu)先權隊列中的網(wǎng)絡數(shù)據(jù)報文,如果優(yōu)先級高的網(wǎng)絡數(shù)據(jù)包存儲隊列中沒有數(shù)據(jù)報文,則按優(yōu)先級從高到低的隊列依次往下獲取,直到獲取到為止。 所述專用防火墻模塊的防火墻功能包括數(shù)據(jù)過濾、連接跟蹤和網(wǎng)絡地址轉換。優(yōu)選地,步驟5在通用操作系統(tǒng)下的通用防火墻模塊與專用操作系統(tǒng)下的專用防火墻模塊共同達到防火墻的功能和性能合理優(yōu)化組合。步驟5包括以下步驟步驟51 :當專用防火墻模塊接收到網(wǎng)絡數(shù)據(jù)報文,依據(jù)網(wǎng)絡數(shù)據(jù)報文的特征,讀取防火墻規(guī)則表中的防火墻規(guī)則,如果專用防火墻模塊不進行規(guī)則處理該網(wǎng)絡數(shù)據(jù)報文,則將所接收的網(wǎng)絡數(shù)據(jù)報文發(fā)送給通用防火墻模塊處理;步驟52 :步驟51所述的網(wǎng)絡數(shù)據(jù)報文被通用防火墻處理器完成后,將產(chǎn)生相關的新防火墻規(guī)則,并通知防火墻規(guī)則處理模塊,將所產(chǎn)生的新防火墻規(guī)則更新到共享內存中的防火墻規(guī)則表;步驟53 :下次專用防火墻模塊收到同類的網(wǎng)絡數(shù)據(jù)報文,從更新后的防火墻規(guī)則表獲取已更新的防火墻規(guī)則,完成防火墻功能的處理。為解決上述技術問題,本發(fā)明防火墻系統(tǒng)所采用的技術方案是一種基于多核網(wǎng)絡處理器的防火墻系統(tǒng),包括多核網(wǎng)絡處理器中集成的多個核在一部分核上運行通用操作系統(tǒng),作為控制面,在其余部分核上運行專用操作系統(tǒng),作為數(shù)據(jù)面;所有運行有專用操作系統(tǒng)加載專用防火墻模塊的核是并行運行的;多核網(wǎng)絡處理器設有共享內存,用來存放防火墻規(guī)則,供多個核加載了專用防火墻模塊使用;運行通用操作系統(tǒng)的核上加載了通用防火墻模塊、防火墻配置工具及防火墻規(guī)則處理模塊;防火墻配置工具解析用戶輸入的防火墻命令并將其提交給通用防火墻模塊;防火墻規(guī)則處理模塊從通用防火墻模塊讀取防火墻規(guī)則,然后將所讀取的防火墻規(guī)則轉換成在專用防火墻模塊使用的形式,最后將轉換后的防火墻規(guī)則寫到多核網(wǎng)絡處理器中的共享內存中構成防火墻規(guī)則表;
運行專用操作系統(tǒng)的每一個核上加載了防火墻規(guī)則轉換模塊,以及用于數(shù)據(jù)過濾、連接跟蹤和網(wǎng)絡地址轉換的專用防火墻模塊;防火墻規(guī)則轉換模塊讀取防火墻規(guī)則表的防火墻規(guī)則,并將所讀取的防火墻規(guī)則轉換成在專用防火墻模塊上執(zhí)行的形式后交給專用防火墻模塊來實現(xiàn)其防火墻功能;當有網(wǎng)絡數(shù)據(jù)報文到來時,首先經(jīng)過專用防火墻模塊的處理,絕大多數(shù)的網(wǎng)絡數(shù)據(jù)報文,專用防火墻模塊處理完成;對于專用防火墻模塊處理不了的網(wǎng)絡數(shù)據(jù)報文則交給通用防火墻模塊處理,并產(chǎn)生相關的新防火墻規(guī)則,通知防火墻規(guī)則轉換模塊,將新的防火墻規(guī)則更新到共享內存中的防火墻規(guī)則表,下次專用防火墻模塊接收到同類的網(wǎng)絡數(shù)據(jù)報文,則從更新后的防火墻規(guī)則表獲取已更新的防火墻規(guī)則,完成防火墻功能的處理,無需再將該網(wǎng)絡報文轉發(fā)到通用防火墻模塊處理。與現(xiàn)有技術相比,本發(fā)明的有益效果是I、運行在專用操作系統(tǒng)上的防火墻模塊能夠處理占網(wǎng)絡數(shù)據(jù)包絕大部分的常規(guī)包,在專用操作系統(tǒng)上的代碼執(zhí)行更加簡單和高效。所有運行專用操作系統(tǒng)的,加載專用防 火墻模塊的核是并行運行的,對數(shù)據(jù)報文進行并行的處理,以達到性能倍増的目的。由于專用操作系統(tǒng)上的專用防火墻模塊處理不了的網(wǎng)絡數(shù)據(jù)報文(也叫例外包,或異常包)只占所有網(wǎng)絡數(shù)據(jù)包的極少數(shù),所以這不會對系統(tǒng)的性能造成很大的影響。因此,本發(fā)明ー種基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法可以解決x86軟件平臺開源項目架構的防火墻性能不高和ASIC專用芯片架構的防火墻靈活性不夠的技術問題,從而可以實現(xiàn)兼具高性能和高靈活性的防火墻。2、將運行通用操作系統(tǒng)的核作為控制面,將運行專用操作系統(tǒng)的核作為數(shù)據(jù)面。前者作為系統(tǒng)的控制管理,為用戶提供接ロ配置管理的接ロ,同時在通用操作系統(tǒng)下的通用防火墻模塊,具有完善、全面、最新特征的防火墻功能。后者主要用于高速的數(shù)據(jù)業(yè)務處理,在專用操作系統(tǒng)的專用防火墻模塊,相比通用操作系統(tǒng)的通用防火墻模塊,具有精筒、高效的特點。3、為了使得用戶通過防火墻配置工具添加的規(guī)則能夠立即被專用防火墻模塊使用,采取消息機制來通知所述運行在通用操作系統(tǒng)中的防火墻規(guī)則處理模塊,使其能夠當用戶通過防火墻配置工具添加規(guī)則后,立即把通用防火墻規(guī)則從該操作系統(tǒng)下的通用防火墻模塊中提取出來并進行轉換后寫入到共享內存的防火墻規(guī)則中,這樣可以保證通用操作系統(tǒng)上的防火墻規(guī)則和專用操作系統(tǒng)上的專用防火墻模塊規(guī)則的一致性。且運行在專用操作系統(tǒng)上的所有專用防火墻模塊都是共用同一份從共享內存中讀取出來的防火墻規(guī)則表的數(shù)據(jù),從而可以保存上次防火墻規(guī)則捜索的結果索引,提高防火墻規(guī)則查詢的命中率;還能保存最近使用規(guī)則在高速緩存cache中,減少訪問內存的概率,提高讀取防火墻規(guī)則的速度。4、運行專用操作系統(tǒng)的所有核都運行相同的專用防火墻模塊,各個核對網(wǎng)絡數(shù)據(jù)報文是并行處理的,每個核彼此獨立工作,沒有相互關聯(lián),能達到高速并行工作。5、基于多核網(wǎng)絡處理器的多核并發(fā)處理特性,同時利用通用防火墻模塊功能的完備性、靈活性、時效性和專用防火墻模塊性能的并發(fā)性、高效性,有效平衡了防火墻功能和性能的關系,達到了防火墻的功能和性能的提升。
圖I為本發(fā)明的系統(tǒng)框圖;圖2為本發(fā)明實現(xiàn)過程的流程圖;圖3為專用操作系統(tǒng)實現(xiàn)其防火墻功能的示意圖;圖4為負荷分擔策略實現(xiàn)的流程圖。
具體實施例方式下面結合實施例及附圖對本發(fā)明作進ー步詳細的描述,但本發(fā)明的實施方式不限于此。實施例 如圖I所示,本發(fā)明基于多核網(wǎng)絡處理器的防火墻系統(tǒng),該系統(tǒng)將多核網(wǎng)絡處理器中集成的η個核分成兩部分,第O m個核運行通用操作系統(tǒng),作為控制面;第m+1 n(m+l ^ η)個核運行專用操作系統(tǒng),作為數(shù)據(jù)面,在專用操作系統(tǒng)上的專用防火墻代碼運行更加簡單、更加高效。通用操作系統(tǒng)指的是具有多種類型操作特征的操作系統(tǒng),它可以同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能;相應地,專用操作系統(tǒng)指的是具有ー種專用類型操作特征的操作系統(tǒng),只具有處理某種類型數(shù)據(jù)的功能,本專用操作系統(tǒng)是針對網(wǎng)絡數(shù)據(jù)報文流程定制設計,設計了專用處理處理流程,對網(wǎng)絡數(shù)據(jù)報文具有高效并行處理計算,并行轉發(fā)數(shù)據(jù),并行加解密等能力。在通用操作系統(tǒng)上運行有其自帶的完備功能的通用防火墻模塊I以及與其配套使用的防火墻配置工具2,該防火墻配置工具2負責解析用戶輸入的防火墻命令并將其提交給通用防火墻模塊I。在通用操作系統(tǒng)上還運行有ー個防火墻規(guī)則處理模塊3,該防火墻規(guī)則處理模塊3負責從通用操作系統(tǒng)的讀取防火墻規(guī)則,然后將所讀取的防火墻規(guī)則轉換成適合在專用操作系統(tǒng)的專用防火墻模塊使用的形式,最后將轉換后的防火墻規(guī)則寫到多核網(wǎng)絡處理器中的共享內存中,這些轉換后的防火墻規(guī)則便構成共享內存中的防火墻規(guī)則表4,該防火墻規(guī)則表4供運行專用操作系統(tǒng)的加載專用防火墻模塊的核使用。在專用操作系統(tǒng)上則運行有ー個防火墻規(guī)則轉換模塊5和另外ー個專用防火墻模塊6。所有運行專用操作系統(tǒng)的核,均加載了相同的專用防火墻模塊6 ;加載在運行專用操作系統(tǒng)的核上的專用防火墻模塊6具有以下防火墻功能包過濾(過濾數(shù)據(jù)包,進行防火墻規(guī)則匹配和目標處理)、網(wǎng)絡地址轉換(根據(jù)用戶配置情況,實現(xiàn)源IP地址、目的IP地址和IP地址偽裝)及跟蹤連接(用來跟蹤和記錄連接狀態(tài),實現(xiàn)有狀態(tài)的防火墻和加速防火墻的轉發(fā)性能)?;诙嗪司W(wǎng)絡處理器的防火墻功能主要就是依靠專用操作系統(tǒng)上的專用防火墻模塊6來實現(xiàn)。防火墻規(guī)則轉換模塊5通過從共享內存中讀取防火墻規(guī)則表4的防火墻規(guī)則,并將所讀取的防火墻規(guī)則轉換成適合在專用操作系統(tǒng)上高效執(zhí)行的形式后交給專用防火墻模塊6來實現(xiàn)其防火墻功能。所有專用操作系統(tǒng)上運行的專用防火墻模塊都是共用相同的ー份防火墻規(guī)則表,即防火墻規(guī)則表4。當有網(wǎng)絡數(shù)據(jù)包到來時,首先經(jīng)過運行在專用操作系統(tǒng)上的專用防火墻模塊6的處理,所有運行有專用操作系統(tǒng)的核是并行運行的,由多個核并行處理數(shù)據(jù)包,這樣就可以使得防火墻的性能得到極大提升。運行在專用操作系統(tǒng)上的專用防火墻模塊6可以處理在所有網(wǎng)絡數(shù)據(jù)包中占絕大部分的常規(guī)包,而對于專用防火墻模塊6處理不了的極少數(shù)數(shù)據(jù)報文則交給通用操作系統(tǒng)下的防火墻模塊I處理。通用操作系統(tǒng)下的通用防火墻模塊收到了來自專用防火墻模塊的異常數(shù)據(jù)報文,則完成處理后,產(chǎn)生了新的防火墻規(guī)則,將更新通知防火墻規(guī)則處理模塊3,將新的防火墻規(guī)則添加共享內存中的防火墻規(guī)則4。下次專用防火墻模塊6收到同類的數(shù)據(jù)報文,專用防火墻模塊6不再將該報文轉發(fā)給通用防火墻模塊I,加速整個防火墻的處理速度。專用防火墻模塊相比通用防火墻模塊,適用于多核網(wǎng)絡處理器,優(yōu)化了處理規(guī)則,簡化了處理流程,特別是多個專用防火墻模塊并發(fā)運行時,相比通用防火墻模塊在效率上大大提升。通用防火墻模塊在功能完備上較專用防火墻更全面,更完善。如圖2所示,本實施方式的基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,基于上述防火墻系統(tǒng),包括如下步驟步驟SI :輸入防火墻規(guī)則用戶通過通用操作系統(tǒng)中的防火墻配置工具2輸入防火墻規(guī)則,防火墻配置工具2將防火墻規(guī)則解析后提交給該通用操作系統(tǒng)下的通用防火墻模塊I供其使用。步驟S2 :提取防火墻規(guī)則運行在通用操作系統(tǒng)中的防火墻規(guī)則處理模塊3通過專用接ロ從通用防火墻模塊I提取出防火墻規(guī)則。步驟S3 :轉換防火墻規(guī)則并寫入共享內存,防火墻規(guī)則處理模塊3提取出防火墻規(guī)則后將其轉換成適合在專用操作系統(tǒng)上專用防火墻模塊6使用的形式,然后將轉換后的防火墻規(guī)則寫到多核網(wǎng)絡處理器的共享內存的防火墻規(guī)則表4中。步驟S4 :當網(wǎng)絡數(shù)據(jù)報文到來時,專用操作系統(tǒng)中防火墻規(guī)則轉換模塊5通過從防火墻規(guī)則表4中讀取防火墻規(guī)則,并將所讀取的防火墻規(guī)則轉換成適合在專用操作系統(tǒng)上高效執(zhí)行的形式后交給該專用操作系統(tǒng)下的專用防火墻模塊6來實現(xiàn)其防火墻功能。每 個運行專用操作系統(tǒng)的核上運行的專用防火墻模塊都是相同的,所有運行在專用操作系統(tǒng)上的專用防火墻模塊都是共用同一份從共享內存中讀取的防火墻規(guī)則表,即防火墻規(guī)則表4。步驟S5 :對于那些專用操作系統(tǒng)上的專用防火墻模塊處理不了的數(shù)據(jù)包則交給通用操作系統(tǒng)上的通用防火墻模塊處理。通用操作系統(tǒng)的通用防火墻模塊對該報文實施防火墻過濾、跟蹤連接、網(wǎng)絡地址轉換處理。通用防火墻模塊處理完成后,產(chǎn)生的新的防火墻規(guī)則,更新共享內存中的防火墻規(guī)則4。在本實施方式一種基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法中,為了使得用戶通過防火墻配置工具添加的規(guī)則能夠立即被到運行在專用操作系統(tǒng)的專用防火墻模塊使用,采取消息通知機制來通知所述運行在通用操作系統(tǒng)中的防火墻規(guī)則處理模塊,使其能夠當用戶通過防火墻配置工具添加規(guī)則后立即把防火墻規(guī)則從通用防火墻模塊中提取出來并進行轉換后寫入到共享內存中,這樣可以保證通用操作系統(tǒng)上的防火墻規(guī)則和專用操作系統(tǒng)上的防火墻規(guī)則的一致性、高效性。如圖3所示,在本發(fā)明的實現(xiàn)過程中,在數(shù)據(jù)面部分主要由數(shù)據(jù)報文輸入模塊301、專用操作系統(tǒng)302、數(shù)據(jù)報文輸出模塊303及防火墻規(guī)則表4實現(xiàn),其中專用操作系統(tǒng)302上主要由多個均加載了專用防火墻模塊6的核321完成數(shù)據(jù)報文的過濾、連續(xù)跟蹤及地址轉換等處理,多個防火墻模塊的核同時并行運行。專用操作系統(tǒng)實現(xiàn)其防火墻功能的步驟如下步驟S41 :數(shù)據(jù)報文輸入模塊301收到來自物理端ロ過來的網(wǎng)絡數(shù)據(jù)報文,對數(shù)據(jù)報文進行分類和標記,按照設定的優(yōu)先級,放到相應優(yōu)先級的隊列中,進行緩存。
步驟S42:數(shù)據(jù)報文輸入模塊301在將網(wǎng)絡數(shù)據(jù)報文發(fā)到加載了專用防火墻模塊6的核321的時候,采用專用的負荷分擔策略,將網(wǎng)絡數(shù)據(jù)報文按照加載了專用防火墻模塊6的核321的負載進行分發(fā),使所有加載了專用防火墻模塊6的核321的工作負擔達到均衡。所有加載了專用防火墻模塊6的核321是彼此獨立工作,沒有相互關聯(lián),能達到高速并行エ作。步驟S43 :所有加載了專用防火墻模塊6的核321均通過防火墻規(guī)則表4讀取防火墻規(guī)則,實現(xiàn)網(wǎng)絡數(shù)據(jù)包過濾、連接跟蹤和地址轉換的功能。步驟S44 :完成防火墻處理后,加載了專用防火墻模塊6的核321將數(shù)據(jù)包發(fā)送到數(shù)據(jù)報文輸出模塊303,進行相關流量控制、流量整形,放入到優(yōu)先級隊列中,緩存后,發(fā)送到物理網(wǎng)絡接ロ。在本發(fā)明中,采用了專用的負載分擔策略來滿足達到在專用操作系統(tǒng)下多個專用防火墻模塊的并行運行的目的。如圖4所示,在專用操作系統(tǒng)下,設計了專用的隊列,按照 數(shù)據(jù)包分類標記,分類原則為QoSm :服務等級Qum:隊列數(shù)量QoSm ^ Qum放入到優(yōu)先級隊列402中緩存,整個優(yōu)先級隊列402由具有不同優(yōu)先級的多個數(shù)據(jù)包緩存隊列模塊421構成。每個核上加載了ー個專用防火墻模塊6,多個專用防火墻模塊6構成了整個防火墻403。數(shù)據(jù)報文輸入模塊301收到來自物理網(wǎng)絡接ロ的數(shù)據(jù)報文,對報文進行分類、標記,按照用戶優(yōu)先級將數(shù)據(jù)報文放入到優(yōu)先級隊列402中所對應的數(shù)據(jù)報文緩存隊列模塊421中,數(shù)據(jù)包圍緩存隊列模塊421是將相同優(yōu)先級的數(shù)據(jù)報文緩存起來,為防火墻模塊來獲取數(shù)據(jù)包做好準備。實現(xiàn)負載分擔的步驟如下在專用操作系統(tǒng)下的多個專用防火墻模塊,當專用防火墻模塊處于空閑狀態(tài)時,去獲取存儲隊列模塊中的數(shù)據(jù)報文。此處的策略是,空閑的專用防火墻模塊獲取數(shù)據(jù)包是從優(yōu)先級高的數(shù)據(jù)包存儲隊列模塊421中獲取,如果優(yōu)先級高的數(shù)據(jù)包存儲隊列模塊421中沒有數(shù)據(jù)報文,則按優(yōu)先級從高到低依次往下獲取,直到獲取到為止。這樣,所有的專用防火墻模塊6就可以達到一個有效的負荷分擔效果,當系統(tǒng)的負載很高的情況下,專用防火墻模塊的負荷分擔效果尤為明顯。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。
權利要求
1.一種基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,其特征在于,包括如下步驟 步驟I、在多核網(wǎng)絡處理器的一部分核上運行通用操作系統(tǒng),在通用操作系統(tǒng)上加載通用防火墻模塊、防火墻配置工具及防火墻規(guī)則處理模塊;在多核網(wǎng)絡處理器的其余部分核上運行專用操作系統(tǒng),在運行專用操作系統(tǒng)的每ー個核上加載防火墻規(guī)則轉換模塊和專用防火墻模塊; 步驟2、通過防火墻配置工具添加防火墻規(guī)則,防火墻配置工具將所添加的防火墻規(guī)則解析后將防火墻規(guī)則提交給通用防火墻模塊供其使用; 步驟3、防火墻規(guī)則處理模塊將防火墻規(guī)則從通用防火墻模塊中提取出來并將其進行轉換,轉換后將防火墻規(guī)則寫到多核網(wǎng)絡處理器的共享內存中形成防火墻規(guī)則表; 步驟4、當網(wǎng)絡數(shù)據(jù)報文到來吋,將該網(wǎng)絡數(shù)據(jù)報文發(fā)送給專用防火墻模塊處理;防火墻規(guī)則轉換模塊通過從防火墻規(guī)則表中讀取防火墻規(guī)則,并將所讀取的防火墻規(guī)則轉換成適合在專用防火墻模塊上執(zhí)行的形式后交給專用防火墻模塊來實現(xiàn)其防火墻功能; 步驟5、對于專用防火墻模塊處理不了的數(shù)據(jù)包則發(fā)送給通用防火墻模塊處理。
2.根據(jù)權利要求I所述的基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,其特征在于,步驟4所述專用防火墻模塊實現(xiàn)其防火墻功能的步驟如下 步驟41 :收到網(wǎng)絡數(shù)據(jù)報文后,對網(wǎng)絡數(shù)據(jù)報文中的數(shù)據(jù)包進行分類和標記,按照設定的優(yōu)先級,放到優(yōu)先級隊列中; 步驟42 :采用負荷分擔策略將網(wǎng)絡數(shù)據(jù)報文按照加載了專用防火墻模塊的核的負載進行分發(fā),使所有加載了專用防火墻模塊的核的工作負擔達到均衡; 步驟43 :所有加載了專用防火墻模塊的核均通過防火墻規(guī)則表讀取防火墻規(guī)則,實現(xiàn)防火墻功能。
3.根據(jù)權利要求2所述的基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,其特征在于,步驟42所述負載分擔策略的步驟如下 當專用防火墻模塊處于空閑狀態(tài)時,按優(yōu)先級從高到低去獲取優(yōu)先權隊列中的網(wǎng)絡數(shù)據(jù)報文,如果優(yōu)先級高的網(wǎng)絡數(shù)據(jù)報文存儲模塊中沒有數(shù)據(jù)報文,則按優(yōu)先級從高到低依次往下獲取,直到獲取到為止。
4.根據(jù)權利要求I所述的基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,其特征在于所述專用防火墻模塊的防火墻功能包括 包過濾過濾數(shù)據(jù)包,進行防火墻規(guī)則匹配和目標處理; 網(wǎng)絡地址轉換根據(jù)用戶配置情況,實現(xiàn)源IP地址、目的IP地址和IP地址偽裝; 跟蹤連接用來跟蹤和記錄連接狀態(tài),實現(xiàn)有狀態(tài)的防火墻和加速防火墻的轉發(fā)性能。
5.根據(jù)權利要求I所述的基于多核網(wǎng)絡處理器的防火墻實現(xiàn)方法,其特征在于所述步驟5包括以下步驟 步驟51 :當專用防火墻模塊接收到網(wǎng)絡數(shù)據(jù)報文,依據(jù)網(wǎng)絡數(shù)據(jù)報文的特征,讀取防火墻規(guī)則表中的防火墻規(guī)則,如果專用防火墻模塊不進行規(guī)則處理該網(wǎng)絡數(shù)據(jù)報文,則將所接收的網(wǎng)絡數(shù)據(jù)報文發(fā)送給通用防火墻模塊處理; 步驟52 :步驟51所述的網(wǎng)絡數(shù)據(jù)報文被通用防火墻模塊處理完成后,將產(chǎn)生相關的新防火墻規(guī)則,并通知防火墻規(guī)則處理模塊,將所產(chǎn)生的新防火墻規(guī)則更新到防火墻規(guī)則表;步驟53 :下次專用防火墻模塊收到同類的網(wǎng)絡數(shù)據(jù)報文,從更新后的防火墻規(guī)則表中獲取已更新的防火墻規(guī)則,完成防火墻功能的處理。
6.一種基于多核網(wǎng)絡處理器的防火墻系統(tǒng),其特征在于,包括多核網(wǎng)絡處理器中集成的多個核在一部分核上運行通用操作系統(tǒng),作為控制面,在其余部分核上運行專用操作系統(tǒng),作為數(shù)據(jù)面;所有運行有專用操作系統(tǒng)的核是并行運行的;多核網(wǎng)絡處理器設有共享內存; 運行通用操作系統(tǒng)的核上加載了通用防火墻模塊、防火墻配置工具及防火墻規(guī)則處理模塊;防火墻配置工具解析用戶輸入的防火墻命令并將其提交給通用防火墻模塊;防火墻規(guī)則處理模塊從通用防火墻模塊讀取防火墻規(guī)則,然后將所讀取的防火墻規(guī)則轉換成專用防火墻模塊使用的形式,最后將轉換后的防火墻規(guī)則寫到多核網(wǎng)絡處理器中的共享內存中構成防火墻規(guī)則表; 運行專用操作系統(tǒng)的每一個核上加載了防火墻規(guī)則轉換模塊,以及用于數(shù)據(jù)過濾、連接跟蹤和網(wǎng)絡地址轉換的專用防火墻模塊;防火墻規(guī)則轉換模塊讀取防火墻規(guī)則表的防火 墻規(guī)則,并將所讀取的防火墻規(guī)則轉換成在專用防火墻模塊上執(zhí)行的形式后交給專用防火墻模塊來實現(xiàn)其防火墻功能;當有網(wǎng)絡數(shù)據(jù)包到來吋,首先經(jīng)過專用防火墻模塊的處理,對于專用防火墻模塊處理不了的數(shù)數(shù)據(jù)包則交給通用防火墻模塊處理,并產(chǎn)生相關的新防火墻規(guī)則,通知防火墻規(guī)則轉換模塊,將所產(chǎn)生的新防火墻規(guī)則更新到防火墻規(guī)則表供專用防火墻模塊使用。
全文摘要
本發(fā)明提出了一種基于多核網(wǎng)絡處理器的防火墻系統(tǒng)及實現(xiàn)方法。該方法在多核網(wǎng)絡處理器一些核上運行通用操作系統(tǒng),另一些核上運行專用的操作系統(tǒng)。在通用操作系統(tǒng)上運行通用防火墻模塊、防火墻配置工具及防火墻規(guī)則處理模塊,該配置工具解析輸入的防火墻規(guī)則并提交給防火墻模塊應用;在專用操作系統(tǒng)上運行專用防火墻模塊和防火墻規(guī)則轉換模塊;規(guī)則處理模塊從防火墻配置工具提取規(guī)則進行轉換并寫到共享內存中;規(guī)則轉換模塊則從共享內存中讀取規(guī)則并轉換成在專用防火墻模塊上執(zhí)行的形式后交給專用防火墻模塊來完成其防火墻功能。本發(fā)明解決了x86軟件平臺開源項目的防火墻性能不高和ASIC專用芯片架構的防火墻靈活性不夠的技術問題。
文檔編號G06F21/00GK102752321SQ201210278918
公開日2012年10月24日 申請日期2012年8月7日 優(yōu)先權日2012年8月7日
發(fā)明者何建煌, 呂東, 王輝 申請人:廣州微仕科信息技術有限公司