999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Libpcap報文捕獲系統性能研究

2015-04-29 00:00:00呂民強呂丹丹
決策與信息·下旬刊 2015年5期

[摘要]本文分析基于Libpcap報文捕獲系統的性能瓶頸-數據拷貝、中斷處理,針對性能瓶頸提出了優化和改進捕包性能的方法。

[關鍵詞]中斷處理;數據拷貝

1.引言

在網絡規模日益龐大的今天,報文捕獲和分析技術作為網絡管理和網絡安全使用的關鍵技術正得到廣泛的應用[1]。通過對捕獲的報文進行分析,可以實時了解網絡的使用狀況,發現網絡運行的瓶頸以及分析網絡數據中攜帶的非法內容。在Linux系統中,廣泛使用Libpcap(Packets Capture Library )[2]作為網絡監測程序的基礎庫。

Libpcap是Packet Capture Library的縮寫,由Berkeley大學Lawrence Berkeley National Laboratory研究院的Van Jacobson、CraigLeres和Steven McCanne編寫,是Unix/Linux平臺下的網絡數據包捕獲的函數庫。它是一個獨立于系統的用戶層包捕獲API接口,為底層網絡監聽提供了一個可移植的框架。

本文分析了傳統基于Libpcap報文捕獲系統的性能瓶頸--數據拷貝、中斷處理[3,4,5],提出了優化和改進報文捕獲系統性能的方法。

2.Libpcap性能分析

為了研究基于Libpcap報文捕獲系統的性能瓶頸,我們抽象出報文捕獲系統的性能模型如圖1所示,包括用戶態的Libpcap庫和內核態的報文捕獲引擎。

報文捕獲系統的工作過程:(1)網卡接收數據包,通過DMA傳送到主機并向主機發送硬件中斷;(2)硬件中斷程序將數據包轉入鏈路層的接收核心隊列并設置軟中斷標志;(3)軟中斷處理程序對數據包按協議分發,報文進入PF_Package隊列;(4)用戶態的檢測程序(如TCPDUMP、SNIFFER)向內核發送系統調用;(5)系統調用服務程序將數據包拷貝到檢測程序的用戶態緩沖區中;(6)檢測程序對數據進行分析處理。

圖1 Libpcap報文捕獲系統性能模型

通過對Libpcap性能模型工作過程的分析,我們得出Libpcap報文捕獲系統性能瓶頸-數據拷貝開銷和中斷處理開銷。

1.數據拷貝

數據拷貝操作的代價是昂貴的,主要有以下幾點原因:(1)內存總線帶寬有限,每次內存拷貝都要占用帶寬;(2)每次拷貝操作都會消耗大量的CPU周期。通常,CPU都是逐字地將數據從源緩沖區移動到目的緩沖區。這意味著在拷貝操作過程中,CPU是不可利用的;(3)數據拷貝操作影響了系統cache性能。因為CPU通過cache訪問主存,因此在拷貝操作之前cache中駐留的有用信息會被清空,然后被拷貝的數據所代替[3,5]。

2.中斷處理開銷

網絡上每到達一個報文都會引起一次硬件中斷(目前有的網卡也可以多個報文到達才產生一次中斷),每次這樣的中斷會伴隨一次上下文切換:從當前正在運行的進程切換到因為等待報文而阻塞的進程。上下文切換的開銷往往很昂貴的,因為它需要保存和恢復相應的上下文,而且還會引發Cache失效帶來性能損失[5]。

3.Libpcap性能優化

1.內核過濾機制

內核過濾就是在軟中斷處理程序中判斷接受的數據是否是應用程序感興趣的報文,如果是才將其復制到應用層的緩沖區內,否則就丟棄,這樣可以大大降低系統處理的報文數量,從而提高捕包效率,但這種方式只對某些應用起作用,對于流量統計、常用協議分析等應用就不會起很大作用,因為這些應用往往要處理網絡上絕大部分報文。

2.減少中斷開銷

采用NAPI技術[6]和設置網卡硬件中斷閥值[7]來減少系統的中斷開銷。

NAPI是一種中斷和輪詢相結合的技術。中斷在輕負載情況下能減少延遲,但在重負載情況下會引起活鎖;輪詢在重負載下效率很高,但在輕負載下卻會增加延遲。NAPI結合了中斷和輪詢的優點,在輕負載下系統以中斷方式工作,重負載下系統以輪詢的方式工作。

在網卡硬件中設計中斷閥值寄存器,控制網卡中斷發送的時機,網卡硬件的DMA引擎接收(發送)了一定數量的報文后才置接收(發送)中斷。這個固定的報文數量被稱為接收(發送)中斷閥值,通過設置網卡硬件的中斷閥值,能夠減少網卡中斷次數。

3.采用零拷貝技術

從內核到應用的數據拷貝是捕包系統的主要性能瓶頸,采用零拷貝技術[4,5]能夠解決該性能瓶頸。通過在內核添加處理模塊來將用戶緩沖區的虛擬地址轉換為網卡可用的物理地址并鎖定該地址,改進網卡驅動程序以獲取用戶緩沖區的物理地址并利用網卡異步DMA工作方式將數據包從網卡直接傳送到用戶空間,從而旁路操作系統內核協議棧,避免數據從內核空間到用戶空間的拷貝。該方法能夠大幅度的提高系統的捕包性能,甚至能夠達到網卡的性能極限。

4、總結

報文捕獲技術是網絡性能監測、網絡協議分析、網絡入侵檢測、防火墻等網絡應用系統的基礎。改進和提高報文捕獲的效率是大流量網絡環境下網絡應用系統的重要研究內容。本文對現有報文捕獲系統的捕包機制及其性能瓶頸進行了深入的分析,并在此基礎上提出了優化和改進的措施,為下一步工作指明了方向:(1)采用零拷貝的報文捕獲引擎;(2)采用NAPI技術降低網卡中斷開銷。

參考文獻

[1]唐正軍,李建華著,入侵檢測技術,清華大學出版社,2004.

[2]W.Richard Stevens,TCP/IP Illustrated,Volume 1:The Protocols,2002.

[3]王佰玲,方濱興.傳統報文捕獲平臺性能影響因素分析[J].計算機工程與應用,2003,22:151-152

[4]杜英明.高速網絡環境下基于零拷貝的報文捕獲機制研究與實現[D].國防科技大學,2007

[5]唐勇,胡華平.高效報文捕獲引擎FPC的研究與實現[J].計算機工程與科學,2006,28(5):27-29

[6]賈彩霞,吳秋峰.采用輪詢機制提高Linux系統的網絡性能[J].計算機工程與應用,2004,24:152-153

[7]戴斌.高速網絡接口卡DMA機制的研究與實現[D].國防科技大學,2006

主站蜘蛛池模板: 在线国产欧美| 中文一区二区视频| 亚洲高清国产拍精品26u| 久草视频精品| 在线观看91精品国产剧情免费| 欧美在线中文字幕| 玖玖精品在线| 久草青青在线视频| 久久天天躁狠狠躁夜夜2020一| 97青草最新免费精品视频| 中文国产成人精品久久一| 国内精品久久久久久久久久影视| 亚洲日本www| 黄片一区二区三区| 久久精品无码一区二区日韩免费| 婷婷久久综合九色综合88| 午夜视频www| 久久亚洲美女精品国产精品| 国产成人精品亚洲日本对白优播| 激情无码字幕综合| 麻豆AV网站免费进入| 日本高清有码人妻| 亚洲AV无码乱码在线观看裸奔| 日韩在线1| 国产综合网站| 午夜丁香婷婷| 成人在线观看不卡| 午夜综合网| 欧美另类视频一区二区三区| 99精品视频在线观看免费播放 | 高清大学生毛片一级| 国产在线精品99一区不卡| 国产欧美日韩综合一区在线播放| 九九九久久国产精品| 国产三级国产精品国产普男人| 亚洲男人的天堂久久香蕉| 五月婷婷导航| 热久久综合这里只有精品电影| 夜夜操天天摸| 无码中字出轨中文人妻中文中| 国产成人一区在线播放| 国产成人综合亚洲网址| 国产精品污污在线观看网站| 不卡色老大久久综合网| 婷婷亚洲天堂| 91九色最新地址| 久久中文电影| 亚洲天堂视频在线免费观看| 最新国产午夜精品视频成人| 国产凹凸视频在线观看| 18禁色诱爆乳网站| 福利在线不卡| 91美女视频在线| 伊人天堂网| 亚洲无码高清免费视频亚洲| 91精品专区| 91免费国产在线观看尤物| 亚洲无限乱码| 国模私拍一区二区三区| 久久青草精品一区二区三区| 91免费国产高清观看| 精品国产成人高清在线| 中文成人在线视频| 一级爆乳无码av| 热九九精品| 欧美第二区| 亚洲无码精品在线播放| 国产一区二区丝袜高跟鞋| 高清无码一本到东京热| 一级不卡毛片| 在线观看国产精品一区| 精品天海翼一区二区| 国产在线97| 亚洲精品在线影院| 一区二区午夜| 91人妻日韩人妻无码专区精品| 午夜在线不卡| 91久久精品日日躁夜夜躁欧美| 性网站在线观看| 国产区免费精品视频| 久久6免费视频| 国产玖玖玖精品视频|