一種串行數據流的審計控制方法及系統的制作方法
【技術領域】
[0001]本發明涉及網絡數據審計領域,更具體地說,涉及一種串行數據流的審計控制方法及系統。
【背景技術】
[0002]由于網絡上的數據量非常大,不可避免地出現一些不實或虛假的信息,因此需要對網絡的數據進行分析,即對網絡數據進行審計,而當前的串行數據流審計系統存在審計靈活性與轉發效率之間的矛盾:復雜的可對各種協議進行分類處理的報文解析、檢查程序通常運行在用戶層;數據報文的轉發通常用硬件實現或在系統的核心層。現有技術中,為保證數據報文的轉發效率,因此在轉發過程中僅對數據報文做簡單的處理,這樣很難對數據報文進行復雜的報文檢查,從而往往出現漏審問題。但如果每個數據報文都傳輸到用戶層檢查后再轉發,串接設備的轉發效率會急劇下降,在流量較大的用戶環境下就無法使用。
[0003]因此現有技術中,對于串接在網絡中的7層網絡協議審計系統,存在著轉發效率和審計靈活性相互制約的問題,導致在流量較大的用戶環境下無法很好地發揮審計系統的作用。
【發明內容】
[0004]本發明要解決的技術問題在于,針對現有技術中對于串接在網絡中的7層網絡協議審計系統,存在著轉發效率和審計靈活性相互制約的問題,導致在流量較大的用戶環境下無法很好地發揮審計系統的作用的缺陷,提供一種高速數據轉發的串行數據流的審計控制方法及系統。
[0005]本發明解決其技術問題所采用的技術方案是:構造一種串行數據流的審計控制方法,包括以下步驟:
[0006]S1、接收網絡數據包并對所述網絡數據包進行解析以獲取所述網絡數據包的多元組信息;并將所述網絡數據包以及所述網絡數據包的多元組信息發送給流控制表;
[0007]S2、判斷所述流控制表是否命中所述網絡數據包的多元組信息,并返回所述流控制表的動作號;
[0008]S3、根據所述流控制表的動作號將所述網絡數據包分配到數據桶中對應的子桶;
[0009]S4、所述數據桶中對應的子桶對所述網絡數據包執行相應的操作。
[0010]在本發明所述的串行數據流的審計控制方法中,所述多元組信息為五元組信息。
[0011]在本發明所述的串行數據流的審計控制方法中,所述五元組信息包括所述網絡數據包的源IP、源端口、目的IP、目的端口以及協議。
[0012]在本發明所述的串行數據流的審計控制方法中,所述流控制表包括精確表和模糊表。
[0013]在本發明所述的串行數據流的審計控制方法中,所述精確表為hash表,所述hash表包括所述hash表中每個節點的五元組信息和每個節點的動作號。
[0014]在本發明所述的串行數據流的審計控制方法中,所述模糊表包括帶通配符的五元組信息和動作號。
[0015]在本發明所述的串行數據流的審計控制方法中,所述步驟S2包括以下子步驟:
[0016]S21、所述流控制表接收所述網絡數據包以及所述網絡數據包的五元組信息;
[0017]S22、根據所述網絡數據包的五元組信息查找所述精確表,并判斷所述精確表是否命中所述網絡數據包;如果所述精確表命中所述網絡數據包,則返回所述精確表的節點的動作號;
[0018]S23、如果所述精確表未命中所述網絡數據包,則查找所述模糊表,并判斷所述模糊表是否命中所述網絡數據包,如果所述模糊表命中所述網絡數據包,則返回所述模糊表的節點的動作號并將所述網絡數據包的五元組信息和所述模糊表的節點的動作號添加到所述精確表中;
[0019]S24、如果所述模糊表未命中所述網絡數據包,則返回系統默認的動作號,并將所述網絡數據包的五元組信息和所述模糊表的節點的動作號添加到所述精確表中。
[0020]在本發明所述的串行數據流的審計控制方法中,
[0021]所述步驟S22中,通過判斷所述hash表中是否存在與所述網絡數據包的五元組信息相同的所述節點的五元組信息和每個節點的動作號來判斷所述精確表是否命中所述網絡數據包,如果所述hash表中存在與所述網絡數據包的五元組信息相同的所述節點的五元組信息,則確定所述精確表命中所述網絡數據包;如果所述hash表中不存在與所述網絡數據包的五元組信息相同的所述節點的五元組信息,則確定所述精確表未命中所述網絡數據包。
[0022]在本發明所述的串行數據流的審計控制方法中,
[0023]所述步驟S23中,通過判斷所述模糊表中是否存在與所述網絡數據包的五元組信息適配的所述帶通配符的五元組信息判斷所述模糊表是否命中所述網絡數據包,如果所述模糊表中存在與所述網絡數據包的五元組信息適配的所述帶通配符的五元組信息,則確定所述模糊表命中所述網絡數據包;如果所述模糊表中不存在與所述網絡數據包的五元組信息適配的所述帶通配符的五元組信息,則確定所述模糊表未命中所述網絡數據包。
[0024]在本發明所述的串行數據流的審計控制方法中,
[0025]所述步驟S3中,所述動作號包括:發送到審計系統的動作號,復制到審計系統的動作號,入隊列的動作號,丟棄的動作號;
[0026]所述數據桶中對應的子桶包括:執行發送到審計系統操作的子桶,執行復制到審計系統操作的子桶,執行入隊列操作的子桶,執行丟棄操作的子桶。
[0027]在本發明所述的串行數據流的審計控制方法中,
[0028]所述步驟S4中所述相應的操作包括將所述網絡數據包發送到審計系統、將所述網絡數據包復制到審計系統、將所述網絡數據包發送到數據發送隊列、將所述網絡數據包丟棄中的任意一種操作;
[0029]將所述網絡數據包復制到審計系統包括將所述網絡數據包復制一份網絡數據包復制件并將所述網絡數據包復制件發送給所述審計系統,然后將所述網絡數據包發送到所述數據發送隊列。
[0030]在本發明所述的串行數據流的審計控制方法中,所述串行數據流的審計控制方法還包括以下步驟:
[0031]S5、在所述步驟S4之后,所述審計系統對所述網絡數據包進行審計并得到經過審計的網絡數據包;
[0032]S6、所述審計系統生成包含了新的五元組信息和新的動作號的流控制策略;
[0033]S7、接收所述包含了新的五元組信息和新的動作號的流控制策略;
[0034]S8、接收所述經過審計的網絡數據包并轉到執行所述步驟S3 ;
[0035]S9、解析所述包含了新的五元組信息和新的動作號的流控制策略得到新的五元組信息和新的動作號;
[0036]S10、將所述新的五元組信息和新的動作號添加到所述流控制表并轉到執行所述步驟S2。
[0037]實施本發明的串行數據流的審計控制方法,具有以下有益效果:通過本發明實施例提供的串行數據流的審計控制方法,可以有效解決針對現有技術中對于串接在網絡中的7層網絡協議審計系統,存在著轉發效率和審計靈活性相互制約的問題,導致在流量較大的用戶環境下無法很好地發揮審計系統的作用的缺陷,本發明由于采用將數據進行解析分類后,根據流控制表有選擇的將數據上傳或復制到審計系統,轉發速度更快,轉發效率更高,達到了提高審計系統的網絡吞吐量,兼顧了串行審計系統轉發效率和審計靈活性,實現了審計系統的高速數據轉發。
[0038]本發明還提供一種串行數據流的審計控制系統,包括以下模塊:
[0039]數據包解析模塊,用于接收網絡數據包并對所述網絡數據包進行解析以獲取所述網絡數據包的多元組信息;并將所述網絡數據包以及所述網絡數據包的多元組信息發送給流控制表;
[0040]流控制表模塊,用于判斷所述流控制表是否命中所述網絡數據包的多元組信息,并返回所述流控制表的動作號;
[0041]數據分類模塊,用于根據所述流控制表的動作號將所述網絡數據包分配到數據桶中對應的子桶;
[0042]數據桶模塊,用于通過所述數據桶中對應的子桶對所述網絡數據包執行相應的操作。
[0043]在本發明所述的串行數據流的審計控制系統中,所述多元組信息為五元組信息。
[0044]在本發明所述的串行數據流的審計控制系統中,所述網絡數據包的五元組信息包括所述網絡數據包的源IP、源端口、目的IP、目的端口以及協議。
[0045]在本發明所述的串行數據流的審計控制系統中,所述流控制表包括精確表和模糊表。
[0046]在本發明所述的串行數據流的審計控制系統中,所述精確表為hash表,所述hash表包括所述hash表中每個節點的五元組信息和每個節點的動作號。
[0047]在本發明所述的串行數據流的審計控制系統中,所述模糊表包括帶通配符的五元組信息和動作號。
[0048]在本發明所述的串行數據流的審計控制系統中,所述流控制表模塊包括以下單元:
[0049]接收單元,用于通過所述流控制表接收所述網絡數據包以及所述網絡數據包的五元組信息;
[0050]第一命中判斷單元,用于根據所述網絡數據包的五元組信息查找所述精確表,并判斷所述精確表是否命中所述網絡數據包;如果所述精確表命中所述網絡數據包,則返回所述精確表的節點的動作號;
[0051]第二命中判斷單元,用于在所述精確表未命中所述網絡數據包時,查找所述模糊表,并判斷所述模糊表是否命中所述網絡數據包,在所述模糊表命中所述網絡數據包時,返回所述模糊表的節點的動作號并將所述網絡數據包的五元組信息和所述模糊表的節點的動作號添加到所述精確表中;
[0052]動作號返回單元,用于在所述模糊表未命中所述網絡數據包時,返回系統默認的動作號,并將所述網絡數據包的五