亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于np和bs的千兆nids并行處理的方法

文檔序號:7964047閱讀:308來源:國知局
專利名稱:一種基于np和bs的千兆nids并行處理的方法
技術(shù)領(lǐng)域
本發(fā)明涉及的是一種基于NP(網(wǎng)絡(luò)處理器)和BS(刀片服務(wù)器)的千兆NIDS并行處理的方法,即是一種基于網(wǎng)絡(luò)處理器和刀片服務(wù)器、用于解決高速骨干網(wǎng)絡(luò)速率檢測瓶頸的數(shù)據(jù)包并行處理的方法。屬于網(wǎng)絡(luò)安全產(chǎn)品中的檢測技術(shù)領(lǐng)域。
背景技術(shù)
入侵檢測系統(tǒng)(IDS)是一種軟件或硬件系統(tǒng),用于自動監(jiān)視計算機或網(wǎng)絡(luò)上發(fā)生的事件并對其進行分析以發(fā)現(xiàn)危及安全的征兆。按照分析數(shù)據(jù)的來源,IDS可以分為基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)(NIDS)和基于主機的入侵檢測系統(tǒng)(HIDS),其中,NIDS由于部署容易,不占用主機資源,所以得到了大量應(yīng)。NIDS將所監(jiān)測網(wǎng)段的所有流量作為其數(shù)據(jù)源,主要通過對從網(wǎng)絡(luò)上捕獲的數(shù)據(jù)包進行協(xié)議分析、特征匹配等處理以判斷其中是否存在攻擊行為,并給出響應(yīng)。近年來,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)帶寬越來越高,NIDS面臨的一個嚴峻問題就是如何在保持低誤報率的同時提供盡可能高的處理速率,以避免出現(xiàn)因為處理能力的不足會導(dǎo)致NIDS不得不丟棄部分網(wǎng)絡(luò)數(shù)據(jù)包,造成攻擊的漏檢。
由于受CPU處理能力和PCI總線速度的制約,目前的大多數(shù)的網(wǎng)絡(luò)入侵檢測系統(tǒng)至多只能夠處理100~200M bps的網(wǎng)絡(luò)流量。這樣的處理能力對百兆的共享式網(wǎng)絡(luò)不存在什么問題,然而,對現(xiàn)在大量應(yīng)用的百兆交換式網(wǎng)絡(luò)而言,由于在交換機的鏡像端口上很容易產(chǎn)生千兆的流量,遠遠超出了當前的網(wǎng)絡(luò)入侵檢測系統(tǒng)的處理能力。
網(wǎng)絡(luò)入侵檢測系統(tǒng)的處理能力有限的主要原因在于探測器對數(shù)據(jù)包的分析需要花費大量的計算資源,因而無法及時處理不斷到來的網(wǎng)絡(luò)數(shù)據(jù)。雖然在傳統(tǒng)Intel X86架構(gòu)上開發(fā)NIDS靈活性強,可擴充能力好,但即使處理器的處理速度近年來增加得很快,其靠單純地提高處理器速度仍無法完全滿足千兆骨干網(wǎng)絡(luò)傳輸需求,而開發(fā)專用于網(wǎng)絡(luò)處理的ASIC芯片則費用高、時間長而且靈活性較差。網(wǎng)絡(luò)處理器(NP)是專門為處理數(shù)據(jù)包而設(shè)計的可編程處理器,能夠直接完成網(wǎng)絡(luò)數(shù)據(jù)處理的一般性任務(wù),其硬件大多采用多內(nèi)核并行處理器體系結(jié)構(gòu),并具有專用硬件協(xié)處理器、專用指令集、高速的I/O接口技術(shù)和總線規(guī)范,因而與通用處理器相比,網(wǎng)絡(luò)處理器在網(wǎng)絡(luò)大數(shù)據(jù)流處理上具有明顯的優(yōu)勢,而和ASIC相比,具有編程方面的優(yōu)勢。在此情況下,利用網(wǎng)絡(luò)處理器開發(fā)高速網(wǎng)絡(luò)安全產(chǎn)品是一個必然趨勢,特別是對國內(nèi)NIDS而言,采用網(wǎng)絡(luò)處理器可以快速縮短和國外產(chǎn)品的差距,填補國內(nèi)產(chǎn)品在高端市場上的空白。這對提高我國網(wǎng)絡(luò)安全防護的整體水平,建設(shè)具有自主知識產(chǎn)權(quán)的信息安全基礎(chǔ)設(shè)施具有戰(zhàn)略意義。

發(fā)明內(nèi)容
本發(fā)明的目的是提出一種基于NP和BS的千兆NIDS并行處理的方法,針對目前網(wǎng)絡(luò)入侵檢測系統(tǒng)對高速數(shù)據(jù)流處理能力不足的問題,利用網(wǎng)絡(luò)處理器對網(wǎng)絡(luò)數(shù)據(jù)流處理的高速性、穩(wěn)定性和可編程性以及刀片服務(wù)器的可并行性、易擴充性等特點,給出了千兆NIDS中對高速數(shù)據(jù)分流檢測的處理機、處理器和線程三級并行處理方法。以提高網(wǎng)絡(luò)入侵檢測系統(tǒng)的在數(shù)據(jù)包處理速度上的性能,適應(yīng)當前網(wǎng)絡(luò)發(fā)展對入侵檢測技術(shù)在性能方面的新需求。
本發(fā)明的技術(shù)解決方案一種基于NP和BS的千兆NIDS并行處理的方法,包括(1)數(shù)據(jù)接收,基于網(wǎng)絡(luò)處理器的轉(zhuǎn)發(fā)器在交換機的鏡像端口上接收所需檢測網(wǎng)絡(luò)上的所有數(shù)據(jù)包;(2)數(shù)據(jù)劃分,即轉(zhuǎn)發(fā)器按照既定的算法(根據(jù)探測器的網(wǎng)卡負載、該連接與探測器的連接狀態(tài)等)對到達的數(shù)據(jù)包進行劃分,即將高速的網(wǎng)絡(luò)數(shù)據(jù)流劃分成多個低速的數(shù)據(jù)流,并確定應(yīng)送達的探測器;(3)數(shù)據(jù)轉(zhuǎn)發(fā),即轉(zhuǎn)發(fā)器將數(shù)據(jù)包的目的MAC地址改為該探測器的MAC地址,隨后數(shù)據(jù)包被轉(zhuǎn)發(fā)給基于刀片服務(wù)器的交換板,由交換板發(fā)送給該刀片服務(wù)器的探測器;(4)數(shù)據(jù)檢測,即利用探測器的雙CPU對稱多處理結(jié)構(gòu),設(shè)計基于互補的兩個線程進行數(shù)據(jù)采集、協(xié)議分析、特征匹配和響應(yīng);(5)報告生成,即在控制臺形成檢測報告。
本發(fā)明的優(yōu)點在細節(jié)上通過對稱多處理提高了NIDS單個探測器的性能的同時,可以簡單地通過增加探測器的數(shù)量提高NIDS整個系統(tǒng)的處理能力,減少高帶寬下NIDS的丟包數(shù),提高其檢測率,滿足骨干網(wǎng)對千兆NIDS的需求。


圖1是本發(fā)明中網(wǎng)絡(luò)數(shù)據(jù)包檢測的流程圖,圖2是本發(fā)明中網(wǎng)絡(luò)處理器的數(shù)據(jù)流劃分方法流程圖,
圖3是本發(fā)明中TCP包的連接狀態(tài)修改流程圖,圖4是本發(fā)明中基于對稱多處理的探測器處理結(jié)構(gòu)圖,圖5是本發(fā)明中探測器兩線程并行處理流程圖。
具體實施例方式
對照圖1(實線表示數(shù)據(jù)流,虛線表示控制流),網(wǎng)絡(luò)處理器通過鏡像端口接收需要檢測的所有數(shù)據(jù)包,并利用其數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,安照一定的數(shù)據(jù)流劃分算法對到達的數(shù)據(jù)包進行轉(zhuǎn)發(fā),將高速的網(wǎng)絡(luò)數(shù)據(jù)流劃分成多個低速的數(shù)據(jù)流,交給后端的探測器處理,并使得各探測器這間的協(xié)同關(guān)系降到最低。同時,后端的探測器向轉(zhuǎn)發(fā)器反饋自己的負載情況,轉(zhuǎn)發(fā)器再根據(jù)得到的反饋動態(tài)地對流量劃分進行調(diào)整,從而保證各個探測器的負載盡可能的均衡。
在圖1所示的整個過程中,步驟1是初始動作。步驟2網(wǎng)絡(luò)處理器的數(shù)據(jù)流劃分方法,對數(shù)據(jù)包進行流量劃分,包括分析包頭結(jié)構(gòu)、計算數(shù)據(jù)包頭中源、目IP地址及端口的Hash值、判斷該連接的狀態(tài)、確定最適合的探測器、獲取該探測器的MAC地址等部分。步驟3只是根據(jù)包的MAC地址,通過刀片服務(wù)器的交換板把包轉(zhuǎn)發(fā)到目標探測器。步驟4是多處理機對送達的數(shù)據(jù)包的并行處理,包括數(shù)據(jù)采集、協(xié)議分析、特征匹配和響應(yīng)等部分。其中每一個處理機,即刀片服務(wù)器的一個刀片采用雙CPU的對稱多處理結(jié)構(gòu),并針對數(shù)據(jù)包處理過程中由于特征匹配產(chǎn)生的瓶頸設(shè)計雙線程進行并行處理以實現(xiàn)性能互補。步驟5是檢測結(jié)果的輸出,包括各種連接的狀態(tài)、網(wǎng)絡(luò)流量、日志數(shù)據(jù)庫記錄等。
對照圖2,數(shù)據(jù)劃分是從鏡像端口接收一個待檢查的數(shù)據(jù)包,判斷轉(zhuǎn)發(fā)器是否工作在分流數(shù)據(jù)包的狀態(tài),若不工作在分流數(shù)據(jù)包的狀態(tài),則把取到的包交給上層協(xié)議棧,并取下一個數(shù)據(jù)包,這時整個檢測系統(tǒng)處理停止運行狀態(tài);若是工作在分流數(shù)據(jù)包的狀態(tài),則通過分析包頭,判斷當前的數(shù)據(jù)包是否為TCP包或UDP包;若不是TCP包或UDP包,則無需檢測該連接在探測器中的當前狀態(tài),根據(jù)各探測器反饋回來的待處理隊列長度確定一個負載最輕探測器,然后將改寫該數(shù)據(jù)包包頭的MAC地址,通過交換機,將其送至目標探測器進行攻擊特征的匹配檢測;若是TCP包或UDP包,則讀取包頭的源、目IP地址及端口號,并計算其Hash值;接著判斷該Hash值的連接是否處于活動狀態(tài),該連接處于活動狀態(tài),則根據(jù)該連接的探測器MAC地址通過交換板把當前數(shù)據(jù)包交給該探測器;該連接不處于活動狀態(tài),根據(jù)探測器的反饋信息確定一個負載相對較輕的探測器,然后把當前的包交給該探測器;根據(jù)該數(shù)據(jù)包的UDP或TCP包頭標志對該Hash值的連接狀態(tài)進行修改;最后回到取下一個數(shù)據(jù)包,完成這樣一個數(shù)據(jù)包的處理過程,并等待接收下一個數(shù)據(jù)包。
圖2說明了圖1中的步驟2,網(wǎng)絡(luò)處理器的數(shù)據(jù)流劃分方法,其主要作用是將屬于同一次TCP/UDP連接的數(shù)據(jù)包發(fā)給同一個探測器,使其不需要其它任何信息,即避免探測器之間的交互的條件下能夠檢測到此連接中可能存在的攻擊行為,同時保持各探測器的負載平衡。圖2中的步驟6是起始狀態(tài),設(shè)置網(wǎng)絡(luò)處理器的包接收模式,決定是否打開轉(zhuǎn)發(fā)器的轉(zhuǎn)發(fā)開關(guān),以分流數(shù)據(jù)包。步驟7是從鏡像端口接收一個待檢查的數(shù)據(jù)包。步驟8判斷轉(zhuǎn)發(fā)器是否工作在分流數(shù)據(jù)包的狀態(tài)。若轉(zhuǎn)發(fā)器不是工作在分流數(shù)據(jù)包的狀態(tài),則執(zhí)行步驟18,即把取到的包交給上層協(xié)議棧,并轉(zhuǎn)到步驟7,取下一個數(shù)據(jù)包,這時整個檢測系統(tǒng)處理停止運行狀態(tài)。若轉(zhuǎn)發(fā)器是工作在分流數(shù)據(jù)包的狀態(tài),則執(zhí)行步驟9,通過分析包頭,判斷當前的數(shù)據(jù)包是否為TCP包或UDP包。若當前的數(shù)據(jù)包不是為TCP包或UDP包,則無需檢測該連接在探測器中的當前狀態(tài),直接跳轉(zhuǎn)步驟15,根據(jù)各探測器反饋回來的待處理隊列長度確定一個負載最輕探測器,然后執(zhí)行步驟14,即將改寫該數(shù)據(jù)包包頭的MAC地址,通過交換機,將其送至目標探測器進行攻擊特征的匹配檢測。若當前的數(shù)據(jù)包是TCP包或UDP包,則執(zhí)行步驟10,即讀取包頭的源、目IP地址及端口號,并計算其Hash值。步驟11用于判斷該Hash值的連接是否處于活動狀態(tài),以把屬于相同連接的數(shù)據(jù)包發(fā)往同一個探測器進行檢測,減少探測器之間的交互。如果該連接處于活動狀態(tài),則執(zhí)行步驟12,即根據(jù)該連接的探測器MAC地址通過交換板把當前數(shù)據(jù)包交給該探測器。否則,跳至步驟16,類似步驟15,根據(jù)探測器的反饋信息確定一個負載相對較輕的探測器,然后執(zhí)行步驟17,即把當前的包交給該探測器。上述步驟完成后執(zhí)行步驟13,即根據(jù)該數(shù)據(jù)包的UDP或TCP包頭標志對該Hash值的連接狀態(tài)進行修改,以方便后續(xù)數(shù)據(jù)包轉(zhuǎn)發(fā)時的探測器選擇。最后回到步驟7,完成這樣一個數(shù)據(jù)包的處理過程,并等待接收下一個數(shù)據(jù)包。
圖3為步驟13中TCP包的詳細過程,其作用是根據(jù)數(shù)據(jù)包的標志位,修改該包所屬連接的狀態(tài),判斷TCP或UDP何時連接和終止,達到動態(tài)負載平衡的目的。為實現(xiàn)該目的,本發(fā)明設(shè)計了兩張表的數(shù)據(jù)結(jié)構(gòu)(1)表T將一組TCP連接映射到探測器,其每個單元包括兩個部分,一部分表示該組連接已有探測器的編號(編號從1開始,0表示該組連接沒有分配探測器處理),另一部分表示該組TCP連接的狀態(tài)(每個單獨的連接有兩個狀態(tài)關(guān)閉和活動,0表示關(guān)閉,1表示活動,該組中所有連接的狀態(tài)之和表示該組的狀態(tài))。(2)表U與表T類似,用于將UDP連接映射到探測器,其單元亦包含探測器的編號和該連接的狀態(tài)兩部分。在圖2中,當一個數(shù)據(jù)包被確定該包所屬的連接并發(fā)往該連接的探測器后,進入圖3的步驟19,從該包頭部獲取TCP連接的標志位。步驟20判斷該標志位是否為SYN,若該標志位是SYN,則執(zhí)行步驟21,該組連接狀態(tài)遞增1,若該標志位不是SYN,則跳轉(zhuǎn)步驟22,繼續(xù)判斷該標志位是否是FIN。如果該標志位是FIN,則進行步驟23,該組連接狀態(tài)遞減1,然后跳轉(zhuǎn)步驟24,否則跳轉(zhuǎn)步驟26,判斷該標志位是否是RST。若該標志位是RST,則執(zhí)行步驟27,該組連接狀態(tài)遞減2,然后跳轉(zhuǎn)步驟24,否則直接跳轉(zhuǎn)步驟24;判斷該組連接的總的狀態(tài)值是否小于等于0,若小于等于0則進行步驟25,取消該連接,即該組連接已全部關(guān)閉,跳轉(zhuǎn)步驟結(jié)束,連接狀態(tài)修改結(jié)束,并進行圖2的后續(xù)操作。
圖4為處理圖1中步驟4中基于對稱多處理的探測器處理結(jié)構(gòu)圖,其作用是將整個處理任務(wù)劃分成多個線程,在刀片服務(wù)器的各個CPU上并行地執(zhí)行,即利用其對稱多處理結(jié)構(gòu)和多線程并行加快處理速度,提高NIDS的性能。本發(fā)明將處理過程劃分成兩個線程并行的處理結(jié)構(gòu)在一個線程中進行攻擊特征匹配,另一個線程同時負責數(shù)據(jù)采集、協(xié)議分析和特征匹配,兩個進程間通過一個循環(huán)隊列來傳遞數(shù)據(jù)(如圖4所示)。由于在NIDS的整個處理過程中,攻擊特征匹配需要將采集到的數(shù)據(jù)同大量已知的攻擊特征進行比較,會耗費相當多的計算資源,是整個處理過程的瓶頸,而數(shù)據(jù)采集(負責捕獲當前網(wǎng)絡(luò)上的數(shù)據(jù)包)、協(xié)議分析(對獲取的數(shù)據(jù)包進行IP分片重組、TCP連接重組甚至HTTP、FTP等高層協(xié)議重組)、響應(yīng)過程(檢測到攻擊后進行一些簡單的操作)等其他部分處理速度較快,這樣的結(jié)構(gòu)保證了兩個線程都始終有數(shù)據(jù)處理,避免了CPU空閑。
對照圖5,數(shù)據(jù)檢測,即基于對稱多處理的雙線程并行數(shù)據(jù)流檢測,方法如下,線程A先從入口緩沖隊列中采集數(shù)據(jù)包,然后進行協(xié)議分析,得到需要進行特征匹配的數(shù)據(jù),隨后查看循環(huán)隊列是否已滿,如果隊列未滿,則將該數(shù)據(jù)包放入循環(huán)隊列尾部,接著對循環(huán)隊列中數(shù)據(jù)元素的個數(shù)進行修改,對循環(huán)隊列的尾指針進行處理,然后轉(zhuǎn)到采集新的數(shù)據(jù)包;如果隊列已滿,不必等待線程B處理隊列中的數(shù)據(jù),直接進行攻擊特征的匹配和響應(yīng);匹配及響應(yīng)完畢后采集新的數(shù)據(jù)包,完成一個循環(huán);線程B判斷隊列是否為空,如果為空,則繼續(xù)進行循環(huán)判斷,否則,取隊列頭部的數(shù)據(jù),然后執(zhí)行特征匹配;之后,修改循環(huán)隊列中元素的個數(shù)以及處理隊列的頭指針,最后轉(zhuǎn)到繼續(xù)進行循環(huán)隊列是否為空的判斷,完成一個循環(huán)。
圖5是對圖4中兩個線程A、B的詳細處理過程,圖中,循環(huán)隊列的長度為N,用于存放了待匹配攻擊特征的數(shù)據(jù),size表示循環(huán)隊列中數(shù)據(jù)元素的個數(shù),head是循環(huán)隊列的頭指針,tail是循環(huán)隊列的尾指針,同時,利用x86 CPU的lock指令保證了size加1和減1操作的原子性。從步驟28開始,線程A先進入步驟29,從入口緩沖隊列中采集數(shù)據(jù)包。步驟30進行協(xié)議分析,得到需要進行特征匹配的數(shù)據(jù)。隨后執(zhí)行步驟31,查看循環(huán)隊列是否已滿,如果隊列未滿,則進行步驟36,將該數(shù)據(jù)包放入循環(huán)隊列尾部。步驟35對循環(huán)隊列中數(shù)據(jù)元素的個數(shù)進行修改,而步驟34則對循環(huán)隊列的尾指針進行處理,然后轉(zhuǎn)到步驟29,立即采集新的數(shù)據(jù)包。執(zhí)行步驟31時,如果隊列已滿,不必等待線程B處理隊列中的數(shù)據(jù),直接進入步驟32和33,進行攻擊特征的匹配和響應(yīng)。匹配及響應(yīng)完畢后轉(zhuǎn)到步驟29,采集新的數(shù)據(jù)包,完成一個循環(huán)。線程B所做的工作比較簡單,主要是從循環(huán)隊列中取出數(shù)據(jù)進行特征匹配,包括步驟37,進行隊列是否為空的判斷,如果為空,則說明探測器還沒有開始檢測,所以繼續(xù)執(zhí)行步驟38,進行循環(huán)判斷,否則,執(zhí)行步驟39,取隊列頭部的數(shù)據(jù),然后步驟40的特征匹配;類似步驟35和34,步驟41和42修改循環(huán)隊列中元素的個數(shù)以及處理隊列的頭指針。最后轉(zhuǎn)到步驟38,繼續(xù)進行循環(huán)隊列是否為空的判斷,完成一個循環(huán)。
線程A通過循環(huán)隊列向線程2傳送數(shù)據(jù)的結(jié)構(gòu)是典型的“生產(chǎn)者-消費者”模型,循環(huán)隊列是線程A和線程B共享的數(shù)據(jù)結(jié)構(gòu),一般來講,兩個線程需要互斥的對其進行訪問,這樣勢必會降低線程的并行度,影響系統(tǒng)的性能。本發(fā)明中,我們設(shè)計了一種線程同步的方法,即定義兩個線程共享的全局變量size,使得線程不需要互斥的訪問循環(huán)隊列,大大提高線程的并行度。
權(quán)利要求
1.一種基于NP和BS的千兆NIDS并行處理的方法,其特征是包括(1)數(shù)據(jù)接收,即基于網(wǎng)絡(luò)處理器的轉(zhuǎn)發(fā)器在交換機的鏡像端口上接收所需檢測網(wǎng)絡(luò)上的所有數(shù)據(jù)包;(2)數(shù)據(jù)劃分,即轉(zhuǎn)發(fā)器按照既定的算法(根據(jù)探測器的網(wǎng)卡負載、該連接與探測器的連接狀態(tài)等)對到達的數(shù)據(jù)包進行劃分,即將高速的網(wǎng)絡(luò)數(shù)據(jù)流劃分成多個低速的數(shù)據(jù)流,并確定應(yīng)送達的探測器;(3)數(shù)據(jù)轉(zhuǎn)發(fā),即轉(zhuǎn)發(fā)器將數(shù)據(jù)包的目的MAC地址改為該探測器的MAC地址,隨后數(shù)據(jù)包被轉(zhuǎn)發(fā)給刀片服務(wù)器的交換板,由交換板發(fā)送給該基于刀片服務(wù)器的探測器;(4)數(shù)據(jù)檢測,即利用探測器的雙CPU對稱多處理結(jié)構(gòu),設(shè)計基于互補的兩個線程進行數(shù)據(jù)采集、協(xié)議分析、特征匹配和響應(yīng);(5)報告生成,即在控制臺形成檢測報告。
2.根據(jù)權(quán)利要求1所述的一種基于NP和BS的千兆NIDS并行處理的方法,其特征是(2)數(shù)據(jù)劃分,即從鏡像端口接收一個待檢查的數(shù)據(jù)包,判斷轉(zhuǎn)發(fā)器是否工作在分流數(shù)據(jù)包的狀態(tài)若不工作在分流數(shù)據(jù)包的狀態(tài),則把取到的包交給上層協(xié)議棧,并取下一個數(shù)據(jù)包,這時整個檢測系統(tǒng)處理停止運行狀態(tài);若是工作在分流數(shù)據(jù)包的狀態(tài),則通過分析包頭,判斷當前的數(shù)據(jù)包是否為TCP包或UDP包若不是TCP包或UDP包,則無需檢測該連接在探測器中的當前狀態(tài),根據(jù)各探測器反饋回來的待處理隊列長度確定一個負載最輕探測器,然后將改寫該數(shù)據(jù)包包頭的MAC地址,通過交換機,將其送至目標探測器進行攻擊特征的匹配檢測;若是TCP包或UDP包,則讀取包頭的源、目IP地址及端口號,并計算其Hash值;接著判斷該Hash值的連接是否處于活動狀態(tài),該連接處于活動狀態(tài),則根據(jù)該連接的探測器MAC地址通過交換板把當前數(shù)據(jù)包交給該探測器;該連接不處于活動狀態(tài),根據(jù)探測器的反饋信息確定一個負載相對較輕的探測器,然后把當前的包交給該探測器;根據(jù)該數(shù)據(jù)包的UDP或TCP包頭標志對該Hash值的連接狀態(tài)進行修改;最后回到取下一個數(shù)據(jù)包,完成這樣一個數(shù)據(jù)包的處理過程,并等待接收下一個數(shù)據(jù)包。
3.根據(jù)權(quán)利要求1所述的一種基于NP和BS的千兆NIDS并行處理的方法,其特征是(4)數(shù)據(jù)檢測,即基于對稱多處理的雙線程并行數(shù)據(jù)流檢測,方法如下,線程A先從入口緩沖隊列中采集數(shù)據(jù)包,然后進行協(xié)議分析,得到需要進行特征匹配的數(shù)據(jù),隨后查看循環(huán)隊列是否已滿,如果隊列未滿,則將該數(shù)據(jù)包放入循環(huán)隊列尾部,接著對循環(huán)隊列中數(shù)據(jù)元素的個數(shù)進行修改,對循環(huán)隊列的尾指針進行處理,然后轉(zhuǎn)到采集新的數(shù)據(jù)包;如果隊列已滿,不必等待線程B處理隊列中的數(shù)據(jù),直接進行攻擊特征的匹配和響應(yīng);匹配及響應(yīng)完畢后采集新的數(shù)據(jù)包,完成一個循環(huán);線程B判斷隊列是否為空,如果為空,則繼續(xù)進行循環(huán)判斷,否則,取隊列頭部的數(shù)據(jù),然后執(zhí)行特征匹配;之后,修改循環(huán)隊列中元素的個數(shù)以及處理隊列的頭指針,最后轉(zhuǎn)到繼續(xù)進行循環(huán)隊列是否為空的判斷,完成一個循環(huán)。
全文摘要
本發(fā)明是一種基于NP和BS的千兆NIDS并行處理的方法,包括數(shù)據(jù)接收,轉(zhuǎn)發(fā)器在交換機的鏡像端口上接收所需檢測網(wǎng)絡(luò)上的所有數(shù)據(jù)包;數(shù)據(jù)劃分,將高速的網(wǎng)絡(luò)數(shù)據(jù)流劃分成多個低速的數(shù)據(jù)流,并確定應(yīng)送達的探測器;數(shù)據(jù)轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)器將數(shù)據(jù)包的目的MAC地址改為該探測器的MAC地址,由交換板發(fā)送給該探測器;數(shù)據(jù)檢測,設(shè)計基于互補的兩個線程進行數(shù)據(jù)采集、協(xié)議分析、特征匹配和響應(yīng);報告生成,在控制臺形成檢測報告。優(yōu)點通過對稱多處理提高了NIDS單個探測器的性能的同時,簡單地通過增加探測器的數(shù)量提高NIDS整個系統(tǒng)的處理能力,減少高帶寬下NIDS的丟包數(shù),提高其檢測率,滿足骨干網(wǎng)對千兆NIDS的需求。
文檔編號H04L12/26GK1964322SQ200610097958
公開日2007年5月16日 申請日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
發(fā)明者黃皓, 賴海光, 黃松華 申請人:南京大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1