[發明專利]一種用于工業控制系統網絡的數據包零拷貝獲取方法有效
| 申請號: | 201410466615.3 | 申請日: | 2014-09-12 |
| 公開(公告)號: | CN104333533B | 公開(公告)日: | 2017-09-08 |
| 發明(設計)人: | 吳克河;安思成;丁雪偉;王曉翔;崔文超;李佳瑋 | 申請(專利權)人: | 北京華電天益信息科技有限公司;華北電力大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙)32204 | 代理人: | 王云 |
| 地址: | 102200 北京市昌平*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 工業 控制系統 網絡 數據包 拷貝 獲取 方法 | ||
技術領域
本發明屬于網絡安全技術,特別涉及一種用于工業控制系統網絡的數據包零拷貝獲取方法。
背景技術
在工業網絡系統中,系統的安全性非常重要,因此需要一些應用系統來保障系統的安全穩定,如入侵檢測系統、安全審計系統等等。這些系統需要對網絡中的數據包進行捕獲、分析和記錄,同時為了保證不影響系統的正常通信活動,通常將系統設計為一個數據鏈路層的旁路。
為了滿足這一需求,通常的方法是通過libpcap接口庫來抓包,libpcap的包捕獲機制就是在數據鏈路層加一個旁路處理。當一個數據包到達網絡接口,從網絡設備物理層向操作系統提交時,libpcap首先利用POSIX標準的socket直接鏈路層訪問接口(以不同的操作系統類型而有不同的具體實現)在數據經過鏈路層的過程中獲得該數據包的拷貝,再將數據包發給過濾器。過濾器根據用戶定義的過濾規則對數據包進行逐一匹配,匹配成功則放入內核中的緩沖區,并在用戶請求時拷貝到用戶態指定的緩沖空間,匹配失敗則直接丟棄。如果沒有設置過濾規則,所有數據包都將被緩沖并傳遞給用戶。
隨著硬件和網絡技術的不斷發展,網絡的傳輸速率和吞吐量也逐漸變大,而libpcap的通過多次拷貝(至少兩次以上)而進行抓包的方式也相應地成為了系統效率的瓶頸,以至于在高數據流量的網絡環境下,采用libpcap抓包的系統的性能大大降低。
其中,工業控制系統網絡的數據包一般情況下分為三類,第一為周期性數據,即一些傳感器的周期性采集數據,這類數據量事先為可預知的且有嚴格時限限制;第二類為非周期緊急數據,包括一些報警和控制命令等,這些數據的發生是隨機不可預知的,但是也有嚴格時限要求;第三類為非周期的一般數據,比如一些視頻數據和歷史數據庫備份的數據流,這類數據雖不要求嚴格的時限,但是也要求不要丟包且數據無誤。工業控制系統的網絡數據流有嚴格的實時性限制,如平常的第一類和第二類數據,即使數據量不大的時候,對大部分數據包也有固定的時限(死期),所以網絡設備或主機會預先分配資源且預留給這些實時性嚴格的數據,這時如果網絡監測或采集的數據包獲取程序運行在策略嚴格預置的樞紐主機上,很可能會影響性能及策略流量配置的主機的效率,甚至破壞數據包的實時性;當網絡數據包瞬時流量非常大的時候,通常為第三類數據不定 期的出現的時候,可能網絡個節點數據包速率非常快,這樣即使數據包獲取主機并聯在網絡中,但用傳統pcap抓包內核用戶態多次拷貝的方式也很有可能捕獲速率低于網絡數據包速率而產生丟包或亂序包,成為瓶頸。
發明內容
發明目的:本發明為了克服現有技術中存在的不足,本發明提供一種能夠保證數據包實時性,并有效提高數據包捕獲速度和質量的用于工業控制系統網絡的數據包獲取方法。
發明內容:為解決上述技術問題,本發明提供了一種用于工業控制系統網絡的數據包零拷貝獲取方法,包括以下步驟:
步驟1,加載內核模塊,指定需要獲取數據包的網絡接口;即設定網卡名稱;
步驟2,初始化內核模塊,其中包括分配內核模塊和用戶程序的共享內存區域,所述共享的內存區域分配在用戶態區;
步驟3,格式化和結構化共享內存區的數據模型,并將共享內存區的數據模型中各部分設置初始狀態;
步驟4,創建用于用戶態和內核模塊之間通信交互的虛擬字符設備,并將字符設備返回給用戶態以加載;
步驟5,用戶程序通過虛擬字符設備通知內核模塊,開始數據包零拷貝獲取操作;
步驟6,內核模塊經過準備工作后,開始獲取網卡鏈路層數據包,并從網卡直接寫到共享內存區域;
步驟7,內核模塊把原始的鏈路層數據包進行TCP流表重組;如果數據包在TCP流表內組織為順序包,那么作為就緒包處理,設置一定標志位。內核模塊通知用戶態就緒數據包已經到達,用戶態取下數據包后,做應用處理;
步驟8,用戶態處理完數據包后,通知內核模塊數據包以處理完成,內核模塊將處理完數據包從共享內存區中刪除,將刪除后的空間給后面的數據包獲取過程使用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京華電天益信息科技有限公司;華北電力大學,未經北京華電天益信息科技有限公司;華北電力大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410466615.3/2.html,轉載請聲明來源鉆瓜專利網。





