[發明專利]一種基于報文零拷貝方式的高性能報文捕獲發送平臺在審
| 申請號: | 201811635089.3 | 申請日: | 2018-12-29 |
| 公開(公告)號: | CN109561105A | 公開(公告)日: | 2019-04-02 |
| 發明(設計)人: | 傅濤 | 申請(專利權)人: | 江蘇博智軟件科技股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210012 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 報文 報文處理 內核 網卡驅動模塊 零拷貝方式 報文捕獲 發送平臺 硬件平臺 用戶態 網卡 網絡安全領域 網絡數據報文 動態庫模塊 用戶態接口 報文數據 分析處理 接口動態 上層應用 數據報文 數據流程 統一接口 網卡驅動 網絡流量 協議分析 應用識別 兼容性 丟包 緩沖 拷貝 捕獲 出錯 隊列 指向 發送 傳遞 發行 | ||
1.一種基于報文零拷貝方式的高性能報文捕獲發送平臺,其特征是,包括用戶態接口動態庫模塊,包含報文捕獲接口、報文釋放接口、申請skbuf接口、報文發送接口、初始化/注銷接口、日志調試統計接口;
內核報文處理棧模塊,包含發送線程,負責取出帶有發送網卡信息的報文,并將報文發送至網卡;
填充線程,負責監控skbuf隊列,如隊列中可用skbuf小于50%,就申請skbuf并將其投入到skbuf隊列中,skbuf隊列給用戶態進程使用,用于拼接IP分片報文,或用戶態進程模擬大流量發送報文時填充報文數據;
釋放線程,負責從釋放隊列里取報文 skbuf,釋放歸還到skbuf緩存中;
檢測線程,負責檢測每個進程的捕包隊列,如果隊列上無操作超過一定時間則認為進程異常,關閉該隊列;
捕獲隊列,由用戶態進程初始化平臺控制結構實例時創建,用于接收網卡驅動中斷;發送隊列用于接收用戶態進程將要發生的報文,報文指針在接口內部被轉為物理地址,發送線程從發送隊列取報文,轉成線性地址后,發送到指定發送網卡;
skbuf隊列,用于存放填充線程填充的skbuf,skbuf地址均為物理地址,用戶態進程通過接口從skbuf隊列中取skbuf使用,接口內部轉為用戶態地址;
釋放隊列,用于接收用戶態進程將處理后需要釋放的報文,接口內部將報文地址轉為物理地址,釋放線程從釋放隊列中取報文釋放到skbuf緩存;
skbuf緩存,用于網卡收報文中斷后,拷貝存儲報文,也用于用戶態進程發送報文時填充構造的報文;
平臺控制結構實例,由用戶態進程調用初始化接口時創建,存放內核態和用戶態都要訪問的全局變量,用于控制模塊功能,用戶態的接口使用控制結構實例中的信息,和內核報文處理棧交互報文數據、控制信息;
統計信息,由用戶態進程調用初始化接口時創建,在用戶態進程和內核報文處理棧之間傳遞統計信息;
網卡驅動模塊,用于控制指定網卡數據流向。
2.根據權利要求1所述的一種基于報文零拷貝方式的高性能報文捕獲發送平臺,其特征在于,所述用戶態接口動態庫模塊中所有的接口都內部實現了用戶態和內核態的地址轉換,包含數據報文物理地址轉換、平臺控制實例中隊列地址轉換和統計信息的物理地址轉換。
3.根據權利要求1所述的一種基于報文零拷貝方式的高性能報文捕獲發送平臺,其特征在于,所述網卡驅動模塊在加載網卡設備init處理中,設置網卡工作在PROMISC模式,向內核報文處理棧模塊注冊網卡設備信息,當報文到達時,申請skbuf并拷貝報文,使用__pa( *pPacketSkbuf )將報文指針由線性地址轉為物理地址,然后將報文地址投遞到捕獲隊列中,應用進程通過接口獲取到報文指針,接口內部將線性地址轉為用戶態空間的地址,用戶態進程就可進行后續的報文分析處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇博智軟件科技股份有限公司,未經江蘇博智軟件科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811635089.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種通信協議轉換方法及裝置
- 下一篇:一種船舶通信報文實時解析過濾方法





