[發明專利]一種避免數據流對應的網卡隊列號緩存過早失效的方法有效
| 申請號: | 201711343121.6 | 申請日: | 2017-12-14 |
| 公開(公告)號: | CN108170509B | 公開(公告)日: | 2021-11-26 |
| 發明(設計)人: | 陳磊;掌曉愚;任偉 | 申請(專利權)人: | 上海格爾安全科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/4401 |
| 代理公司: | 上海天翔知識產權代理有限公司 31224 | 代理人: | 陳駿鍵 |
| 地址: | 202162 上海市崇明區陳家鎮瀛*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 避免 數據流 對應 網卡 隊列 緩存 過早 失效 方法 | ||
本發明公開的一種避免數據流對應的網卡隊列號緩存過早失效的方法,包括以下步驟:用戶態進程使用多隊列模式打開虛擬網卡設備驅動,并獲取網卡隊列號;虛擬網卡設備驅動創建一個新緩存表;用戶態進程通過虛擬網卡設備驅動接口將虛擬網卡設備驅動創建的新緩存表內的所有緩存條目清空;用戶態進程將獲取到的網卡隊列號以新連接會話的對端地址作為主鍵添加至虛擬網卡設備驅動創建的新緩存表中;在關閉連接會話時,用戶態進程通過虛擬網卡設備驅動接口將查詢到的緩存條目刪除。本發明使得在虛擬網卡設備收到回包數據時,不會因虛擬網卡設備驅動緩存的網卡隊列號失效而無法將回包數據發送至正確的用戶態進程內。
技術領域
本發明涉及Linux平臺數據通信的技術領域,尤其涉及一種基于Linux虛擬網卡多隊列模式的避免數據流對應的網卡隊列號緩存過早失效的方法。
背景技術
Linux平臺虛擬網卡設備在多隊列工作模式下,為了能使用戶態進程發往虛擬網卡設備的數據包的回包能夠正確回到此進程,虛擬網卡設備驅動會以該數據流的原地址和目的地址作為主鍵,緩存此進程所對應的網卡隊列號,以便在收到回包數據時根據地址對能正確找到發送者進程對應的網卡隊列號,并將回包數據發送到該進程內。
Linux平臺虛擬網卡設備驅動僅將數據流對應的隊列號緩存3秒,3秒內沒有更新的緩存條目會失效。失效后再有該條目的數據流經過時,便無法獲取到隊列號。此時Linux平臺虛擬網卡設備會隨機選取一個網卡隊列,導致可能沒有將數據發送到之前的用戶態進程。
對于Linux平臺虛擬網卡設備驅動而言,其因缺少必要的上下文信息而無法準確控制緩存條目的有效性,只能通過簡單的3秒超時來淘汰不活躍的緩存條目。對于用戶態進程而言,其擁有足夠的信息得知緩存條目應該被緩存多久,卻沒有控制Linux平臺虛擬網卡設備驅動緩存的接口。
為此,本申請人進行了有益的探索和嘗試,找到了一種使得用戶態進程能夠根據自身需求控制虛擬網卡設備驅動對數據流對應的網卡隊列號的緩存的方法,下面將要介紹的技術方案便是在這種背景下產生的。
發明內容
本發明所要解決的技術問題:提供一種基于Linux虛擬網卡多隊列模式的避免數據流對應的網卡隊列號緩存過早失效的方法。
本發明所解決的技術問題可以采用以下技術方案來實現:
一種避免數據流對應的網卡隊列號緩存過早失效的方法,包括以下步驟:
用戶態進程使用多隊列模式打開虛擬網卡設備驅動,并從虛擬網卡設備驅動中獲取與其對應的網卡隊列號;
虛擬網卡設備驅動創建一個與用戶態進程相對應的新緩存表,該新緩存表用于以IP地址作為主鍵保存對應的虛擬網卡隊列號;
用戶態進程通過虛擬網卡設備驅動接口將虛擬網卡設備驅動創建的新緩存表內的所有緩存條目清空;
用戶態進程將獲取到的網卡隊列號以新連接會話的對端地址作為主鍵添加至虛擬網卡設備驅動創建的新緩存表中;
在關閉連接會話時,用戶態進程通過虛擬網卡設備驅動接口以連接會話的對端地址作為主鍵查詢虛擬網卡設備驅動創建的新緩存表,并通過虛擬網卡設備驅動接口將查詢到的緩存條目刪除。
在本發明的一個優選實施例中,所述虛擬網卡設備在接收回包數據時,首先根據回包數據流的原地址和目的地址作為主鍵從原有的緩存表中查詢網卡隊列號,若查詢到有效的網卡隊列號,則將回包數據通過該網卡隊列號所對應的網卡隊列發送至相對應的用戶態進程;若查詢失敗,則根據回包數據的目的地址作為主鍵從新緩存表中查詢網卡隊列號,若查詢到有效的網卡隊列號,則將回包數據通過該網卡隊列號所對應的網卡隊列發送至相對應的用戶態進程,否則選擇隨機網卡隊列發送至用戶態進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海格爾安全科技有限公司,未經上海格爾安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711343121.6/2.html,轉載請聲明來源鉆瓜專利網。





