[發(fā)明專利]基于NETMAP網(wǎng)卡驅(qū)動(dòng)防止網(wǎng)卡重啟的方法在審
| 申請?zhí)枺?/td> | 202110015387.8 | 申請日: | 2021-01-07 |
| 公開(公告)號(hào): | CN112732462A | 公開(公告)日: | 2021-04-30 |
| 發(fā)明(設(shè)計(jì))人: | 毛慶威;陳英輝 | 申請(專利權(quán))人: | 杭州立思辰安科科技有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54;H04L12/02 |
| 代理公司: | 北京中濟(jì)緯天專利代理有限公司 11429 | 代理人: | 張瑩 |
| 地址: | 310051 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 netmap 網(wǎng)卡 驅(qū)動(dòng) 防止 方法 | ||
本發(fā)明公開了一種基于NETMAP網(wǎng)卡驅(qū)動(dòng)防止網(wǎng)卡重啟的方法,包括步驟如下:S1、掃描全部網(wǎng)卡設(shè)備,從中篩選全部實(shí)際物理網(wǎng)卡,并記錄網(wǎng)卡名;S2、根據(jù)NETMAP驅(qū)動(dòng)API,提取每個(gè)網(wǎng)卡的隊(duì)列數(shù);S3、根據(jù)檢測到的網(wǎng)卡中斷,提取所述每個(gè)中斷網(wǎng)卡的每個(gè)隊(duì)列的中斷號(hào);S4、根據(jù)所述全部網(wǎng)卡個(gè)數(shù)和每個(gè)網(wǎng)卡的隊(duì)列數(shù),為每個(gè)網(wǎng)卡的每個(gè)隊(duì)列開啟一個(gè)線程;S5、根據(jù)隊(duì)列和CPU的親和特性,將該網(wǎng)卡隊(duì)列的新線程和網(wǎng)卡中斷的CPU號(hào)進(jìn)行綁定;S6、每個(gè)線程開始NETMAP收發(fā)隊(duì)列的轉(zhuǎn)發(fā)工作,僅僅只需要轉(zhuǎn)發(fā),不需要做其他任何的處理;S7、開啟新線程,用于監(jiān)測打開NETMAP驅(qū)動(dòng)的其他應(yīng)用。本方法在啟用NETMAP作為捕獲數(shù)據(jù)包的驅(qū)動(dòng)引擎的時(shí)候,應(yīng)用程序啟動(dòng)穩(wěn)定,網(wǎng)絡(luò)數(shù)據(jù)包不容易丟失,網(wǎng)絡(luò)運(yùn)行穩(wěn)定。
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)安全、設(shè)備驅(qū)動(dòng)技術(shù)領(lǐng)域,具體為基于NETMAP網(wǎng)卡驅(qū)動(dòng)防止網(wǎng)卡重啟的方法。針對防火墻高性能零拷貝采包引擎防止網(wǎng)卡重啟的方法,也適用于使用NETMAP作為網(wǎng)卡驅(qū)動(dòng)的全部設(shè)備。
背景技術(shù)
NETMAP是當(dāng)前防火墻、IDS、IPS等網(wǎng)絡(luò)安全產(chǎn)品通用的高速采集數(shù)據(jù)包的網(wǎng)卡驅(qū)動(dòng),通過將網(wǎng)卡驅(qū)動(dòng)的DMA映射到用戶態(tài),減少了數(shù)據(jù)包從內(nèi)核到用戶態(tài)數(shù)據(jù)包的拷貝次數(shù),從而大幅度提升性能。
應(yīng)用程序在啟用NETMAP作為捕獲數(shù)據(jù)包的驅(qū)動(dòng)引擎的時(shí)候,應(yīng)用程序根據(jù)設(shè)置,可能會(huì)出現(xiàn)反復(fù)重啟的情況。在這種情況下就會(huì)導(dǎo)致網(wǎng)卡反復(fù)重啟,從而造成網(wǎng)絡(luò)數(shù)據(jù)包反復(fù)丟失。
網(wǎng)絡(luò)出現(xiàn)頻繁抖動(dòng),在金融、航天等要求較高的行業(yè)中網(wǎng)絡(luò)數(shù)據(jù)包的丟失會(huì)造成業(yè)務(wù)的重大損失,網(wǎng)卡的頻繁重啟也會(huì)造成上下直連的交換機(jī)或者路由器監(jiān)測到,一旦監(jiān)測到對端網(wǎng)卡重啟,這些互聯(lián)設(shè)備會(huì)立即發(fā)出告警,上報(bào)該網(wǎng)絡(luò)事故,在某些場景下,網(wǎng)卡重啟會(huì)作為重大事故處理。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供基于NETMAP網(wǎng)卡驅(qū)動(dòng)防止網(wǎng)卡重啟的方法,以解決應(yīng)用程序在使用NETMAP作為捕獲數(shù)據(jù)包驅(qū)動(dòng)出現(xiàn)網(wǎng)卡重啟的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下設(shè)計(jì)思路:通過占用設(shè)備上的全部網(wǎng)卡的全部收隊(duì)列或者發(fā)隊(duì)列,讓其每個(gè)隊(duì)列的默認(rèn)計(jì)數(shù)不為0,網(wǎng)卡驅(qū)動(dòng)檢測隊(duì)列計(jì)數(shù)不為0則不會(huì)重啟網(wǎng)卡。
本發(fā)明提供一種基于NETMAP網(wǎng)卡驅(qū)動(dòng)防止網(wǎng)卡重啟的方法,包括以下步驟:
S1、掃描全部網(wǎng)卡設(shè)備,從中篩選全部實(shí)際物理網(wǎng)卡,并記錄網(wǎng)卡名;
S2、根據(jù)NETMAP驅(qū)動(dòng)API,提取每個(gè)網(wǎng)卡的隊(duì)列數(shù);
S3、根據(jù)檢測到的網(wǎng)卡中斷,提取所述每個(gè)中斷網(wǎng)卡的每個(gè)隊(duì)列的中斷號(hào);
S4、根據(jù)所述全部網(wǎng)卡個(gè)數(shù)和每個(gè)網(wǎng)卡的隊(duì)列數(shù),為每個(gè)網(wǎng)卡的每個(gè)隊(duì)列開啟一個(gè)線程;
S5、根據(jù)隊(duì)列和CPU的親和特性,將該網(wǎng)卡隊(duì)列的新線程和網(wǎng)卡中斷的CPU號(hào)進(jìn)行綁定;
S6、每個(gè)線程開始NETMAP收發(fā)隊(duì)列的轉(zhuǎn)發(fā)工作,僅僅只需要轉(zhuǎn)發(fā),不需要做其他任何的處理;
S7、開啟新線程,用于監(jiān)測打開NETMAP驅(qū)動(dòng)的其他應(yīng)用。
優(yōu)選的,一旦NPSYNC正常運(yùn)行最終將會(huì)進(jìn)入到狀態(tài)機(jī)中,狀態(tài)機(jī)負(fù)責(zé)具體的轉(zhuǎn)換工作。
優(yōu)選的,NPSYNC狀態(tài)機(jī),由探測線程負(fù)責(zé)修改工作線程的轉(zhuǎn)化條件。如果探測線程探測到工作線程監(jiān)測的網(wǎng)卡隊(duì)列被其他應(yīng)用程序打開,那么探測線程將通知該工作線程停止轉(zhuǎn)發(fā),工作線程進(jìn)入到睡眠狀態(tài),如果探測線程探測到工作線程監(jiān)測的網(wǎng)卡隊(duì)列沒有被其他程序打開或者被其他程序關(guān)閉,那么探測線程將喚醒該工作線程開始高速轉(zhuǎn)發(fā)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州立思辰安科科技有限公司,未經(jīng)杭州立思辰安科科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110015387.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 可選擇多網(wǎng)絡(luò)手機(jī)
- 多操作系統(tǒng)中網(wǎng)卡之間的切換方法和系統(tǒng)
- 一種網(wǎng)卡配置的方法及裝置
- 一種多網(wǎng)卡自動(dòng)聚合并監(jiān)控報(bào)警方法及系統(tǒng)
- 一種報(bào)文轉(zhuǎn)發(fā)方法、系統(tǒng)及網(wǎng)卡和存儲(chǔ)介質(zhì)
- 網(wǎng)卡性能統(tǒng)計(jì)方法以及裝置
- 網(wǎng)卡處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種網(wǎng)絡(luò)配置方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于Kylin系統(tǒng)的網(wǎng)卡識(shí)別處理方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)
- 一種網(wǎng)卡冗余系統(tǒng)及服務(wù)器
- 電流驅(qū)動(dòng)裝置的驅(qū)動(dòng)電路,電流驅(qū)動(dòng)設(shè)備及其驅(qū)動(dòng)方法
- 驅(qū)動(dòng)電路、驅(qū)動(dòng)模塊以及電機(jī)驅(qū)動(dòng)裝置
- 驅(qū)動(dòng)電路、驅(qū)動(dòng)模塊和電機(jī)驅(qū)動(dòng)設(shè)備
- 驅(qū)動(dòng)單元、驅(qū)動(dòng)方法、驅(qū)動(dòng)電路及顯示面板
- 驅(qū)動(dòng)電路、驅(qū)動(dòng)芯片及其驅(qū)動(dòng)方法
- 驅(qū)動(dòng)電機(jī)(電驅(qū)動(dòng))
- 驅(qū)動(dòng)電機(jī)(節(jié)能驅(qū)動(dòng))
- 驅(qū)動(dòng)電機(jī)(設(shè)備驅(qū)動(dòng))
- 驅(qū)動(dòng)機(jī)(驅(qū)動(dòng)軸)
- 驅(qū)動(dòng)機(jī)(電驅(qū)動(dòng))





