資源描述:
《一種用于高效報(bào)文捕獲引擎的異步算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、萬方數(shù)據(jù)計(jì)算機(jī)研究與發(fā)展JournalofComputerResearchandDevelopmentISSN1000—1239lCN11—1777
2、TP43(Suppl.):94~99,2006一種用于高效報(bào)文捕獲引擎的異步算法唐勇盧錫城胡華平羅宇(國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院長沙410073)(ytang@nudt.edu.ca)AnAsyncbronousAlgorithmforHighPerformancePacketCaptureEngineTangYong,LuXicheng,HuHuaping,andLuoYu(SchoolofComputerScience
3、,National魄i刪戚砂ofDefenseTechnology,Changsha410073)AbstractTheincreasinglinkspeedhasrevealedtheinefficienciesoftheexistingpacketcaptureengines,whicharetheinfrastructuresfornetworkmonitoring.Inthispaperamodelofpacketreceivingisfirstintroducedandthemainbottlenecksofpacketcapture--datacopying
4、andcontextswitchareanalyzed.Toavoidcontext—switch,anasynchronousalgorithm,called“chasealgorithmunderasymmetricpreemptioncondition'’isproposed,whichsolvesthecriticalsectionaccessproblemandexploitstheasynchronisminefficiency.Modelanalysisandtestindicatethatthepacketcapturingenginebasedonth
5、isalgorithmcangreatlyreducecontextswitches,andhavehighperformance.Keywordsnetworkmonitoring;packetcapture;asynchronousalgorithm;zerocopy;contextswitch摘要隨著網(wǎng)絡(luò)速度的增加,作為網(wǎng)絡(luò)監(jiān)測(cè)底層設(shè)施的報(bào)文捕獲引擎暴露出性能上的不足.首先建立了報(bào)文接收的模型,分析了報(bào)文捕獲的主要性能瓶頸——數(shù)據(jù)拷貝和上下文切換.為了避免上下文切換,提出了一種異步算法,稱為“非對(duì)稱剝奪條件下的追趕算法”,它解決了-晦界段互斥訪問的問題,并可以充分
6、發(fā)揮異步工作的效率優(yōu)勢(shì).模型分析和測(cè)試表明,基于這種算法設(shè)計(jì)和實(shí)現(xiàn)的報(bào)文捕獲引擎可以大大減少上下文切換次數(shù),具有很高的性能.關(guān)鍵詞網(wǎng)絡(luò)安全;報(bào)文捕獲;異步算法;零拷貝;上下文切換中圈法分類號(hào)TP309網(wǎng)絡(luò)報(bào)文捕獲[1-2J作為網(wǎng)絡(luò)監(jiān)測(cè)的關(guān)鍵技術(shù),被廣泛地應(yīng)用于分布式實(shí)時(shí)控制系統(tǒng)、網(wǎng)絡(luò)故障分析、入侵檢測(cè)系統(tǒng)、網(wǎng)絡(luò)監(jiān)控系統(tǒng)、計(jì)算機(jī)取證系統(tǒng)等領(lǐng)域中.其中,應(yīng)用最廣泛的是基于BPF(Berkeleypacketfilter)[33的Libpcap庫.隨著網(wǎng)絡(luò)速度以及應(yīng)用的復(fù)雜性的不斷增加,BPF的效率日益成為性能瓶頸[4-6J,限制了網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)的發(fā)展與應(yīng)用.為了提高報(bào)文捕獲機(jī)
7、制的效率,DPF[7J利用運(yùn)行時(shí)產(chǎn)生的知識(shí)及動(dòng)態(tài)代碼產(chǎn)生技術(shù)提高BPF的性能.然而,多數(shù)的應(yīng)用并不需要復(fù)雜的報(bào)文過濾機(jī)制,因此并不能充分利用上述的優(yōu)化措施【8J.xPF[9J擴(kuò)展了BPF的過濾器功能,通過將大部分報(bào)文監(jiān)測(cè)的功能插入內(nèi)核中以提高整體效率.它的缺點(diǎn)是對(duì)新實(shí)現(xiàn)的網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)有可能提高性能,而對(duì)大量的現(xiàn)有系統(tǒng)無效.FLAME【8J同樣也提供了機(jī)制可以將特定代碼編譯并載人到內(nèi)核中執(zhí)行,并進(jìn)一步希望為網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)一種高速、開放、可擴(kuò)展和安全的底層設(shè)施,然而它也無法提高現(xiàn)有的系統(tǒng)的性能.文獻(xiàn)[10—11]介紹了兩種基于網(wǎng)絡(luò)處理器的報(bào)文捕獲引擎,具有很高的性能,但是
8、由于需要專用的收稿日期:2006—07-07基金項(xiàng)目:國家自然科學(xué)基金項(xiàng)目(60573136);國家“八六三”高技術(shù)研究發(fā)展計(jì)劃基金項(xiàng)目(2005AAl21570);現(xiàn)代通信國家重點(diǎn)實(shí)驗(yàn)室基金項(xiàng)目(51436050605KG0102)萬方數(shù)據(jù)唐勇等:一種用于高效報(bào)文捕獲引擎的異步算法95硬件設(shè)備,價(jià)格昂貴,適用范圍有限.因此,大量基于BPF的系統(tǒng)迫切需要新的能夠運(yùn)行于通用平臺(tái)的高效報(bào)文捕獲引擎,使得可以平滑有效地提高系統(tǒng)性能.針對(duì)現(xiàn)有解決方案的不足,本文提出在存儲(chǔ)映像的基礎(chǔ)上,網(wǎng)絡(luò)監(jiān)控進(jìn)程不通過系統(tǒng)調(diào)用而直接從內(nèi)核空間獲得報(bào)文.為了解決臨