專利名稱:一種基于ip報文五元組過濾策略的系統(tǒng)和方法
技術領域:
本發(fā)明屬于網(wǎng)絡安全領域,具體涉及一種基于IP報文五元組過濾策略的系統(tǒng)和方法。
背景技術:
公開號為CN101068229的申請專利基于Linux系統(tǒng)平臺,實現(xiàn)了網(wǎng)絡內(nèi)容分析與實時監(jiān)控。實現(xiàn)了在網(wǎng)絡層過濾應用層信息的目的,利用網(wǎng)絡過濾器Netfilter框架,在內(nèi)核態(tài)下進行數(shù)據(jù)包采集與過濾。其大量使用了 Linux內(nèi)核資源,增加了系統(tǒng)調(diào)用帶來的開銷。本發(fā)明采用FPGA實現(xiàn)了針對IP包中的源目IP地址,源目端口以及協(xié)議進行過濾的策略,可解放CPU,從而提高主機的性能,增強對網(wǎng)絡的監(jiān)控能力,保證網(wǎng)絡的安全性。
發(fā)明內(nèi)容
本發(fā)明克服現(xiàn)有技術不足,采用FPGA實現(xiàn)了針對IP包中的源目IP地址,源目端口以及協(xié)議進行過濾的策略,可解放CPU,從而提高主機的性能,增強對網(wǎng)絡的監(jiān)控能力,保證網(wǎng)絡的安全性。本發(fā)明提供了一種基于IP報文五元組過濾策略的系統(tǒng),包括五元組的FIFO、 DispatchFSM仲裁模塊、HashFilter、結果收集器模塊和SRAM訪問控制器,其中存儲五元組的FIFO的數(shù)據(jù)被DispatchFSM仲裁模塊分發(fā)到多個HashFilter中,SRAM訪問控制器從多個Hash過濾器讀取數(shù)據(jù)并進行規(guī)則匹配。本發(fā)明提供了一種基于IP報文五元組過濾策略的系統(tǒng),包括AppInfoRam,用于存儲附加信息。本發(fā)明提供了一種基于IP報文五元組過濾策略的系統(tǒng),DispatchFSM仲裁模塊輪詢的將每個四元組產(chǎn)生的地址寫入到HashFilter中。本發(fā)明提供了一種基于IP報文五元組過濾策略的系統(tǒng),Hash過濾器是并行的。本發(fā)明還提供了一種基于IP報文五元組過濾策略的方法,首先將用戶設定的規(guī)則表通過PCIe接口按照一定的算法寫入到QDR的某個地址,當存儲五元組的FIFO有數(shù)據(jù)時,從FIFO中讀取一組數(shù)據(jù),通過四元組按照相同的算法計算出存貯與之對應的在QDR中的規(guī)則,將其取出后進行比較,若匹配則成功,將規(guī)則中的動作信息提取出傳輸給后續(xù)模塊,按照用戶要求產(chǎn)生相應的數(shù)據(jù)包。本發(fā)明提供的基于IP報文五元組過濾策略的方法,利用DispatchFSM仲裁模塊實現(xiàn)數(shù)據(jù)的仲裁,輪詢的將每個四元組產(chǎn)生的地址寫入對應的HashFilter中。本發(fā)明提供的基于IP報文五元組過濾策略的方法,SRAM訪問控制器從多個Hash 過濾器的訪問請求中選擇一個,發(fā)送到規(guī)則管理模塊進行匹配。本發(fā)明提供的基于IP報文五元組過濾策略的方法,DispatchFSM仲裁模塊將四元組產(chǎn)生的地址寫到Buffer中,并將四元組數(shù)據(jù)寫入到與Buffer對應的HashFilter中。
本發(fā)明提供的基于IP報文五元組過濾策略的方法,該方法采用FPGA可編程技術, 針對源目IP地址、源目端口以及協(xié)議進行過濾。本發(fā)明提供的基于IP報文五元組過濾策略的方法,結果收集器將所有Hash過濾器產(chǎn)生的過濾結果收集起來,并通知PCI-E控制器。本發(fā)明提供的基于IP報文五元組過濾策略的方法,首先將每個“元”執(zhí)行32位異或運算得到一個32位數(shù),將這個數(shù)右移17位并與本身異或,再將得到的結果左移15位并與本身進行一次異或運算得到一個新的32位數(shù),從而產(chǎn)生地址T。本發(fā)明提供的基于IP報文五元組過濾策略的方法,每個四元組產(chǎn)生的地址被提供給QDR SDRAM,并讀取其對應的規(guī)則。本發(fā)明提供的基于IP報文五元組過濾策略的方法,將每個五元組產(chǎn)生的12個地址依次寫入RAM中,之后再讀取下一個五元組并進行同樣操作。本發(fā)明提供的基于IP報文五元組過濾策略的方法,每一個五元組產(chǎn)生的12個地址對應一個Buffer ;從Buffer中取出一個地址進行Hash過濾。與現(xiàn)有技術相比,本發(fā)明的有益效果在于不在內(nèi)核態(tài)下進行數(shù)據(jù)包采集與過濾, 從而不會大量占用內(nèi)核資源,降低了系統(tǒng)調(diào)用帶來的開銷。而且本發(fā)明采用FPGA實現(xiàn)了針對IP包中的源目IP地址,源目端口以及協(xié)議進行過濾的策略,解放了 CPU,在提高主機的性能的同時,也保證了網(wǎng)絡的安全性。
圖1是本發(fā)明結構示意圖;圖2是本發(fā)明的五元組產(chǎn)生12個地址對應的Buffer示意圖;圖3是本發(fā)明的DispatchFSM狀態(tài)機流程示意圖。
具體實施例方式該方法主要檢測網(wǎng)絡數(shù)據(jù)包的源目IP地址,源目端口以及協(xié)議,與規(guī)則表中的源目IP地址,源目端口以及協(xié)議進行匹配。結果一致的數(shù)據(jù)包,根據(jù)規(guī)則過濾結果,分析包頭信息及過濾動作,判斷是否發(fā)送封堵包以及發(fā)送哪種類型的封堵包。本發(fā)明采用FPGA可編程技術,針對源目IP地址、源目端口以及協(xié)議進行過濾。首先將用戶設定的規(guī)則表通過PCIe接口按照一定的算法寫入到QDR的某個地址,當存儲五元組的FIFO有數(shù)據(jù)時,從FIFO中讀取一組數(shù)據(jù),通過四元組按照相同的算法計算出存貯與之對應的在QDR中的規(guī)則,將其取出后進行比較,若匹配則成功,將規(guī)則中的動作信息提取出傳輸給后續(xù)模塊,按照用戶要求產(chǎn)生相應的數(shù)據(jù)包。結構框圖如下所示,該結構采用8路流水實現(xiàn)并行處理。規(guī)則過濾模塊有1個 DispatchFSM仲裁模塊實現(xiàn)數(shù)據(jù)的仲裁,輪詢的將每個四元組產(chǎn)生的地址寫入到Buffer 中,并將四元組數(shù)據(jù)寫入到與Buffer對應的HashFilter中。片外SRAM訪問控制器從8個 Hash過濾器的訪問請求中選擇一個,發(fā)送到規(guī)則管理模塊。當所查詢的規(guī)則數(shù)據(jù)返回時,通知對應的Hash過濾器。結果收集器將所有Hash過濾器產(chǎn)生的過濾結果收集起來,通知PCI-E控制器。由于所得到的計算結果相對較少,我們使用一個結果收集器即可。
4
首先將本輪中使能的每個“元”執(zhí)行32位異或運算得到一個32位數(shù),將這個數(shù)右移17位并與本身異或,再將得到的結果左移15位并與本身進行一次異或運算得到一個新的32位數(shù),這個數(shù)就是產(chǎn)生的地址T,該地址需要提供給QDR SDRAM,讀取其對應的規(guī)則。將產(chǎn)生的12個地址依次寫入RAMO中;完成此操作后再讀取另一個五元組,進行計算將其地址寫入RAMI中;依次再向RAM2,RAM7寫入。并將附加信息存入AppInfoRam中,AppInfoRam 存儲數(shù)據(jù)格式如圖2 ;每一個五元組產(chǎn)生的12個地址對應一個Buffer ;從Buffer中取出一個地址進行 Hash過濾。規(guī)則過濾算法是一個復雜耗時的算法,需要進行大量的數(shù)學邏輯運算。為了加速規(guī)則過濾,最好的辦法就是增加處理電路的并行性,利用多個數(shù)學邏輯單元(過濾單元)同時過濾多個IP報文的五元組。根據(jù)所選用FPGA芯片規(guī)模的不同,我們可以實現(xiàn)不同數(shù)量的過濾單元。當然,各個并行運算部件的數(shù)量應該與各總算法運算量的大小成比例,圖中用了 1個DispatchFsm 仲裁模塊、8個Hash過濾器。模塊DispatchFSM狀態(tài)機如圖3所示。以上實施例僅用以說明本發(fā)明的技術方案而非對其限制,盡管參照上述實施例對本發(fā)明進行了詳細的說明,所述領域的普通技術人員應當理解依然可以對本發(fā)明的具體實施方式
進行修改或者同等替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換, 其均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1.一種基于IP報文五元組過濾策略的系統(tǒng),包括五元組的FIFO、DispatchFSM仲裁模塊、HashFilter、結果收集器模塊和SRAM訪問控制器,其中存儲五元組的FIFO的數(shù)據(jù)被 DispatchFSM仲裁模塊分發(fā)到多個HashFilter中,SRAM訪問控制器從多個Hash過濾器讀取數(shù)據(jù)并進行規(guī)則匹配。
2.權利要求1的系統(tǒng),其特征在于包括AppInfoRam,用于存儲附加信息。
3.權利要求1-2的系統(tǒng),其特征在于DispatchFSM仲裁模塊輪詢的將每個四元組產(chǎn)生的地址寫入到HashFilter中。
4.權利要求1-3的系統(tǒng),其特征在于Hash過濾器是并行的。
5.一種基于IP報文五元組過濾策略的方法,首先將用戶設定的規(guī)則表通過PCIe接口按照一定的算法寫入到QDR的某個地址,當存儲五元組的FIFO有數(shù)據(jù)時,從FIFO中讀取一組數(shù)據(jù),通過四元組按照相同的算法計算出存貯與之對應的在QDR中的規(guī)則,將其取出后進行比較,若匹配則成功,將規(guī)則中的動作信息提取出傳輸給后續(xù)模塊,按照用戶要求產(chǎn)生相應的數(shù)據(jù)包。
6.權利要求5的方法,其特征在于利用DispatchFSM仲裁模塊實現(xiàn)數(shù)據(jù)的仲裁,輪詢的將每個四元組產(chǎn)生的地址寫入對應的HashFilter中。
7.權利要求5-6的方法,其特征在于SRAM訪問控制器從多個Hash過濾器的訪問請求中選擇一個,發(fā)送到規(guī)則管理模塊進行匹配。
8.權利要求5-7的方法,其特征在于DispatchFSM仲裁模塊將四元組產(chǎn)生的地址寫到 Buffer中,并將四元組數(shù)據(jù)寫入到與Buffer對應的HashFilter中。
9.權利要求5-8的方法,其特征在于該方法采用FPGA可編程技術,針對源目IP地址、 源目端口以及協(xié)議進行過濾。
10.權利要求5-9的方法,其特征在于結果收集器將所有Hash過濾器產(chǎn)生的過濾結果收集起來,并通知PCI-E控制器。
11.權利要求5-10的方法,其特征在于首先將每個“元”執(zhí)行32位異或運算得到一個 32位數(shù),將這個數(shù)右移17位并與本身異或,再將得到的結果左移15位并與本身進行一次異或運算得到一個新的32位數(shù),從而產(chǎn)生地址T。
12.權利要求5-11的方法,其特征在于,每個四元組產(chǎn)生的地址被提供給QDRSDRAM, 并讀取其對應的規(guī)則。
13.權利要求5-12的方法,其特征在于,將每個五元組產(chǎn)生的12個地址依次寫入RAM 中,之后再讀取下一個五元組并進行同樣操作。
14.權利要求5-13的方法,其特征在于,每一個五元組產(chǎn)生的12個地址對應一個 Buffer ;從Buffer中取出一個地址進行Hash過濾。
全文摘要
本發(fā)明提供一種基于IP報文五元組過濾策略的系統(tǒng)和方法,所述系統(tǒng)包括五元組的FIFO、DispatchFSM仲裁模塊、HashFilter、結果收集器模塊和SRAM訪問控制器,其中存儲五元組的FIFO的數(shù)據(jù)被DispatchFSM仲裁模塊分發(fā)到多個HashFilter中,SRAM訪問控制器從多個Hash過濾器讀取數(shù)據(jù)并進行規(guī)則匹配;所述方法首先將用戶設定的規(guī)則表通過PCIe接口按照一定的算法寫入到QDR的某個地址,當存儲五元組的FIFO有數(shù)據(jù)時,從FIFO中讀取一組數(shù)據(jù),通過四元組按照相同的算法計算出存貯與之對應的在QDR中的規(guī)則,將其取出后進行比較,若匹配則成功,將規(guī)則中的動作信息提取出傳輸給后續(xù)模塊,按照用戶要求產(chǎn)生相應的數(shù)據(jù)包。本發(fā)明提供的過濾策略的系統(tǒng)和方法,不會大量占用內(nèi)核資源,降低了系統(tǒng)調(diào)用帶來的開銷。
文檔編號H04L12/56GK102387160SQ20111041360
公開日2012年3月21日 申請日期2011年12月13日 優(yōu)先權日2011年12月13日
發(fā)明者劉朝輝, 張磊, 白宗元, 竇曉光, 邵宗有 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司