[發明專利]一種數據包收發方法有效
| 申請號: | 200910272844.0 | 申請日: | 2009-11-24 |
| 公開(公告)號: | CN101702688A | 公開(公告)日: | 2010-05-05 |
| 發明(設計)人: | 劉鋒 | 申請(專利權)人: | 武漢綠色網絡信息服務有限責任公司 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L29/08;G06F9/48 |
| 代理公司: | 武漢開元知識產權代理有限公司 42104 | 代理人: | 唐正玉 |
| 地址: | 430074 湖北省武漢市東湖高*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據包 收發 方法 | ||
技術領域
本發明涉及互聯網的可靠性保護方法,尤其涉及一種提高網絡系統性能的 數據包收發方法。
背景技術
隨著信息化過程時代的加速發展,互聯網已逐步滲透進人們的生活中。為 了滿足人們對服務和網絡應用越來越豐富的要求,運營商不斷地發展著新的業 務,而新業務的發展必須考慮網絡的性能。眾所周知,系統性能的好壞最關鍵 的影響因素是網絡系統中數據包的收發。
現有的數據包收發方法包括以下步驟:
步驟S101,網卡驅動程序接收數據包;
步驟S102,產生硬件中斷;
步驟S103,通知操作系統的內核空間接收所述數據包;
步驟S104,調用所述操作系統的軟件中斷服務程序并通過IP協議棧對所述 數據包執行一次內存拷貝一從操作系統的內核空間拷貝到用戶空間;
步驟S105,所述用戶空間的上層應用程序對所述數據包進行處理;
步驟S106,調用所述操作系統的軟件中斷服務程序,通過IP協議棧對處理 后的數據包進行另一次內存拷貝-從用戶空間拷貝到操作系統的內核空間;
步驟S107,所述網卡驅動程序發送所述數據包,結束。
由上可以看出,在上述數據包的收發方法中,由于所述用戶空間的上層應 用程序無法直接對操作系統的內核空間的數據包進行讀寫操作,因此需要通過 IP協議棧對數據包進行兩次拷貝并且頻繁地進行系統調用,以故CPU的利用率 和總線帶寬的利用低、軟件中斷響應時間長、系統整體效率低、網絡吞吐量小。 因此系統性能差。
因此,有必要提供一種改進的數據包收發方法以克服現有技術的缺陷。
發明內容
本發明實施例的目的在于提供一種數據包收發方法,能提高CPU的利用率 和總線帶寬的利用率,縮短軟件中斷響應時間,提升系統整體效率和網絡吞吐 量,進而改善系統性能。
為了實現上述目的,本發明提供了一種數據包收發方法,包括如下步驟: 在網卡的物理內存中設置一段作為緩存的空間并建立用戶空間的上層應用程序 與所述緩存的映射關系;網卡硬件接收數據包;將所述數據包寫入所述緩存; 產生硬件中斷;調用網卡軟件中斷服務程序并通知網卡驅動程序接收所述緩存 中的數據包,所述網卡驅動程序進而通知所述用戶空間的上層應用程序接收所 述緩存中的數據包;所述上層應用程序接收所述緩存中的數據包并對所述數據 包進行處理;調用所述網卡軟件中斷服務程序并通知所述網卡驅動程序發送所 述數據包;所述網卡驅動程序發送所述數據包。
在本發明的一個實施例中,所述網卡硬件接收數據包的步驟之前還包括: 建立工作集。
較佳地,所述將所述數據包寫入所述緩存的步驟具體為:通過直接存儲器 存取數據傳輸方式將所述數據包寫入所述緩存。
同樣較佳地,所述網卡驅動程序進而通知所述用戶空間的上層應用程序接 收所述緩存中的數據包的步驟具體為:所述網卡驅動程序進而采取異步通信方 式通知所述用戶空間的上層應用程序接收所述緩存中的數據包;所述通知所述 網卡驅動程序發送所述數據包的步驟具體為:采取異步通信方式通知所述網卡 驅動程序發送所述數據包。
在本發明的另一個實施例中,所述上層應用程序接收所述緩存中的數據包 的步驟之前還包括:檢測所述上層應用程序收包是否正常;當檢測到所述上層 應用程序正常收包時,所述網卡驅動程序轉入運行模式狀態。
較佳地,所述方法還包括步驟:當檢測到所述上層應用程序不正常收包時, 所述網卡驅動程序自動轉入保護模式狀態并按照預配置的規則發送所述數據 包。
在本發明的再一實施例在中,所述網卡驅動程序檢測所述上層應用程序收 包是否正常的步驟之前還包括:建立包緩沖區;將所述緩存區數據包傳送至所 述緩沖區,則所述上層應用程序接收所述緩存中的數據包并對所述數據包進行 處理的步驟具體為:所述上層應用程序接收經由所述緩存傳送至所述緩沖區的 數據包并對所述數據包進行處理。
與現有技術相比,本發明數據包收發方法在接收或發送數據包時能通過用 戶空間的上層應用程序與網卡緩存的映射關系直接與用戶空間的上層應用程序 進行交互,不需要利用操作系統的IP棧對數據包進行操作系統的內核空間與用 戶空間之間的兩次拷貝,不會出現大量不必要的軟件中斷,因而本方法提高了 CPU和總線帶寬的利用率,縮短了軟件中斷響應時間,極大地提升了系統整體 效率和網絡吞吐量。因此系統性能好。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢綠色網絡信息服務有限責任公司,未經武漢綠色網絡信息服務有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910272844.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:活動支架裝配快速的天線
- 下一篇:城市基站室外天饋布放系統





