四川大學(xué)學(xué)報(bào)工程科學(xué)版論文模板_第1頁
四川大學(xué)學(xué)報(bào)工程科學(xué)版論文模板_第2頁
四川大學(xué)學(xué)報(bào)工程科學(xué)版論文模板_第3頁
四川大學(xué)學(xué)報(bào)工程科學(xué)版論文模板_第4頁
四川大學(xué)學(xué)報(bào)工程科學(xué)版論文模板_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

NTCI-Flow:-種可擴(kuò)展的高速網(wǎng)絡(luò)流量處理框架王煜驄1,陳興蜀收稿日期:2016-05-31.基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目“基于動(dòng)態(tài)多維特征的網(wǎng)絡(luò)行為模型研究”(61272447收稿日期:2016-05-31.基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目“基于動(dòng)態(tài)多維特征的網(wǎng)絡(luò)行為模型研究”(61272447)作者簡介:王煜驄(1991-),男,碩士生.研究方向:大數(shù)據(jù)安全.E-mail:stwwxjs@163.com.通信聯(lián)系人E-mail:chenxsh@網(wǎng)絡(luò)出版時(shí)間:此位置必預(yù)留10個(gè)五號(hào)字空位網(wǎng)絡(luò)出版地址:(四川大學(xué)計(jì)算機(jī)學(xué)院,四川成都610065)摘要:針對當(dāng)前基于軟/硬件的流導(dǎo)出技術(shù)存在的數(shù)據(jù)失真、不易擴(kuò)展等問題,提出了一種準(zhǔn)確、通用、易擴(kuò)展的高速網(wǎng)絡(luò)流量處理框架NTCI-Flow。該框架通過增加高性能包抓取工具,改進(jìn)與優(yōu)化傳輸性能,引入消息系統(tǒng)將流量高速導(dǎo)入實(shí)時(shí)處理平臺(tái)進(jìn)行分布式的包解析與流重組,增加Hive流數(shù)據(jù)導(dǎo)入模塊實(shí)時(shí)存儲(chǔ)網(wǎng)絡(luò)流量,實(shí)現(xiàn)了萬兆流量的準(zhǔn)確采集及可擴(kuò)展處理,為大數(shù)據(jù)分析網(wǎng)絡(luò)流量奠定基礎(chǔ)。實(shí)驗(yàn)結(jié)果表明,NTCI-Flow可實(shí)現(xiàn)萬兆流量的采集與處理,每秒可處理1260萬個(gè)包,易于在大規(guī)模集群中部署,具有良好的擴(kuò)展性,且得到的流量統(tǒng)計(jì)信息比NetStream更準(zhǔn)確。關(guān)鍵詞:包抓取;大數(shù)據(jù);分布式;Storm;流重組中圖分類號(hào):TP302 文獻(xiàn)標(biāo)志碼:ANTCI-Flow:AScalableHigh-speedNetworkTrafficProcessingFramework

WANGYucongCHENXingshu*LUOYonggang,WANGYue(SchoolofComputerSci.,SichuanUniv.,Chengdu610065,China)Abstract:Currentsoftware-basedandhardware-basednetworkflowexporttechnologiesarelackofscalabilityanddataaccuracy.Inordertosolvetheseproblems,aaccurate,generic,scalablehigh-speednetworktrafficprocessingframeworkNTCI-Flowwaspresented.Firstly,thecollectionandforwardingof10Gbpsnetworktrafficwasrealizedbyaddinghigh-performancepacketcapturetoolandimprovingtransmissionperformance;Secondly,thefunctionofdistributedpacketparsingandflowrestructuringwasachievedbyimportingnetworktrafficintorealtimeprocessingplatformwithmessagesystem;Finally,networktrafficwasstoredintoHiveinrealtimebyimplementingstreamingdatastoragemoduletoachievethegoalofBigdataanalysisofnetworktraffic.ExperimentalresultsshowedthatNTCI-Flowcouldrealizethecollectionandhandlingof10Gbpsnetworktrafficandprocess12.6millionpacketspersecond.Inaddition,NTCI-Flowcouldbeeasilydeployedinlarge-scaleclusterwithbetterscalabilityandtrafficstatisticsaccuracythenNetStream.KeyWords:packetcapture;BigData;distributed;Storm;flowrestructuring網(wǎng)絡(luò)流量信息是網(wǎng)絡(luò)安全分析系統(tǒng)中的重要數(shù)據(jù)源,但隨著網(wǎng)絡(luò)流量規(guī)模的不斷增加,處理網(wǎng)絡(luò)流量變得更加困難。為應(yīng)對該問題,已有解決方案大致可分為以下幾類:1)基于硬件的解決方案基于硬件板卡采集網(wǎng)絡(luò)流量是目前較通用的解決方案,即使用IPFIXU]、NetFlow[2]或NetStream[3]采集板卡實(shí)現(xiàn)流量采集及網(wǎng)絡(luò)流導(dǎo)出。但是,該方案需網(wǎng)絡(luò)設(shè)備(如路由器)支持,并且由于它使用采樣的方式采集網(wǎng)絡(luò)流量,犧牲了數(shù)據(jù)的準(zhǔn)確性,導(dǎo)出的網(wǎng)絡(luò)流信息與實(shí)際流量存在偏差,不適用于網(wǎng)絡(luò)安全分析的場景。2)基于軟件的解決方案隨著x86平臺(tái)的發(fā)展,已有許多機(jī)構(gòu)研究利用單機(jī)多核的軟件方式對網(wǎng)絡(luò)流量進(jìn)行采集與處理。DPDKKI、PF_RINGDNA[5]等基于零拷貝技術(shù)實(shí)現(xiàn)軟件方式的高性能抓包,nProbe[6],YAH7]則在高性能抓包工具的基礎(chǔ)之上,實(shí)現(xiàn)了基于流的統(tǒng)計(jì)輸出功能。為實(shí)現(xiàn)性能擴(kuò)展,nProbe通過網(wǎng)卡的RSS(ReceiveSideScaling)技術(shù)將網(wǎng)絡(luò)包分組至多個(gè)隊(duì)列存儲(chǔ),然后利用多進(jìn)程采集每個(gè)隊(duì)列中的網(wǎng)絡(luò)包并實(shí)現(xiàn)流重組功能;YAF則使用單進(jìn)程抓取并分發(fā)網(wǎng)絡(luò)包,然后利用多進(jìn)程并行處理,實(shí)現(xiàn)流重組功能。由于上述軟件均采用單機(jī)架構(gòu)實(shí)現(xiàn),性能受單機(jī)的CPU核數(shù)限制。此外,由其導(dǎo)出的流數(shù)據(jù)通常存儲(chǔ)在本地磁盤,通過建立索引實(shí)現(xiàn)簡單的檢索及分析,如n2disk[8],SiLK[9]等,不具備與其他數(shù)據(jù)綜合分析的能力。包抓取,并高速轉(zhuǎn)發(fā)至消息系統(tǒng)緩存。2) 消息系統(tǒng):使用高性能的分布式消息系統(tǒng)Kafka緩存數(shù)據(jù),并作為數(shù)據(jù)總線負(fù)責(zé)數(shù)據(jù)收集層與實(shí)時(shí)處理層間的數(shù)據(jù)傳輸。3) 實(shí)時(shí)處理:基于Storm實(shí)現(xiàn)分布式的包信息提取及流重組功能。4) 分布式存儲(chǔ):使用HDFS分布式文件系統(tǒng)永久存儲(chǔ)包信息和流信息,利用Hive管理元數(shù)據(jù),與交互式分析平臺(tái)集成。5) 離線/交互式分析:使用離線分析平臺(tái)Spark或Hadoop實(shí)現(xiàn)復(fù)雜的流量分析建模;使用SparkSQL實(shí)現(xiàn)交互式分析。圖1NTCI-Flow架構(gòu)圖Fig.1OverviewoftheNTCI-Flowarchitecture1.1網(wǎng)絡(luò)流量采集針對當(dāng)前研究存在的問題,本文提出了一種可擴(kuò)展的高速網(wǎng)絡(luò)流量處理框架,主要貢獻(xiàn)如下:1) 基于高性能的包抓取技術(shù)實(shí)現(xiàn)萬兆流量采集,利用批處理技術(shù)改進(jìn)與優(yōu)化導(dǎo)入性能,制定分發(fā)策略實(shí)現(xiàn)網(wǎng)絡(luò)包的分組分發(fā)。2) 基于Storm實(shí)現(xiàn)包解析和流重組功能,采用分布式架構(gòu)解決單機(jī)處理的性能受限問題。3) 解決Hive數(shù)據(jù)倉庫不支持流數(shù)據(jù)導(dǎo)入的問題,實(shí)現(xiàn)包信息與流信息的實(shí)時(shí)存儲(chǔ),為大數(shù)據(jù)分析網(wǎng)絡(luò)流量奠定基礎(chǔ)。1NTCI-Flow框架NTCI-Flow基于大數(shù)據(jù)平臺(tái)構(gòu)建,整體框架如圖1所示,包括以下模塊:1)網(wǎng)絡(luò)流量采集:實(shí)現(xiàn)高性能的網(wǎng)絡(luò)傳統(tǒng)的網(wǎng)絡(luò)包抓取方式通常是基于LibPcap"]實(shí)現(xiàn),具體實(shí)現(xiàn)如圖2左部所示,網(wǎng)絡(luò)包到達(dá)網(wǎng)卡驅(qū)動(dòng)后首先通過DMA方式存入環(huán)形緩沖區(qū),然后拷貝至內(nèi)核態(tài)的抓取緩沖區(qū),最后由用戶程序拷貝至用戶態(tài)緩沖區(qū)進(jìn)行處理。該方式抓取一個(gè)網(wǎng)絡(luò)包需要經(jīng)過多次數(shù)據(jù)拷貝、一次中斷和系統(tǒng)調(diào)用,抓取性能較低,在高速網(wǎng)絡(luò)流量的環(huán)境下存在嚴(yán)重的丟包現(xiàn)象。如圖2右部所示,本文采用PF_RINGDNA工具,通過使用內(nèi)存預(yù)分配、自定義網(wǎng)絡(luò)緩沖結(jié)構(gòu)、內(nèi)存映射等技術(shù),實(shí)現(xiàn)了網(wǎng)絡(luò)包零拷貝,解決了傳統(tǒng)抓包方式存在的高丟包問題,保證了萬兆網(wǎng)卡的線速包抓取能力。

圖2網(wǎng)絡(luò)流量采集實(shí)現(xiàn)示意圖Fig.2Implementationofnetworktrafficcollection1.2高速流量導(dǎo)入為解決單機(jī)處理性能受限的問題,需要將采集的網(wǎng)絡(luò)流量分發(fā)至多個(gè)節(jié)點(diǎn)進(jìn)行分布式處理。為了避免數(shù)據(jù)收集層與數(shù)據(jù)處理層耦合度過高,本文采用Kafka消息系統(tǒng)中間件構(gòu)建分布式導(dǎo)入層,從而實(shí)現(xiàn)可擴(kuò)展的網(wǎng)絡(luò)流量導(dǎo)入。本文選用Kafka作為中間件主要有以下兩方面的考慮:1) 與MemcacheQ[11】和Redis[12]等內(nèi)存消息系統(tǒng)不同,Kafka將所有消息持久化存儲(chǔ)到容量較大的磁盤中。因此,Kafka可提供更高的存儲(chǔ)能力,更適合大規(guī)模網(wǎng)絡(luò)流量傳輸?shù)膱鼍啊?) Kafka使用主題來區(qū)分不同類型的消息,每個(gè)主題包含一個(gè)或多個(gè)分區(qū),單個(gè)分區(qū)中的消息被順序存儲(chǔ)及消費(fèi)[⑶。由于Kafka采用分布式架構(gòu)實(shí)現(xiàn),分區(qū)可分布于多個(gè)節(jié)點(diǎn),擴(kuò)展性優(yōu)于單機(jī)多隊(duì)列方式。為實(shí)現(xiàn)網(wǎng)絡(luò)包的合理分發(fā),本文設(shè)計(jì)如下發(fā)送策略,將屬于同一條流的所有包發(fā)送至相同分區(qū)存儲(chǔ):IP地址、源端口、目的端口、第3層協(xié)議類型,n為Kafka中存儲(chǔ)原始包的分區(qū)數(shù)。網(wǎng)絡(luò)流量的導(dǎo)入性能不僅與Kafka自身吞吐率有關(guān),還受限于發(fā)送進(jìn)程的網(wǎng)絡(luò)傳輸性能。經(jīng)測試,若不考慮網(wǎng)絡(luò)帶寬,發(fā)送進(jìn)程的傳輸性能與網(wǎng)絡(luò)包大小成正比,即網(wǎng)絡(luò)包越大,傳輸速率越快。然而抓取的網(wǎng)絡(luò)包普遍較小,通常不超過1518字節(jié),因此,本文利用批處理技術(shù)將多個(gè)網(wǎng)絡(luò)包封裝為一條大消息進(jìn)行發(fā)送,從而提升傳輸性能。1.3分布式流處理同一條流中的網(wǎng)絡(luò)包具有相同的五元組,即源IP地址、目的IP地址、源端口、目的端口、協(xié)議類型⑵。因此,本文對流的定義為,在一定時(shí)間內(nèi)具有相同五元組的網(wǎng)絡(luò)包的集合。同時(shí),流老化條件定義如下:流已經(jīng)空閑了指定的時(shí)間長度(InactiveTimer,默認(rèn)為15秒)長時(shí)間會(huì)話強(qiáng)制超時(shí)(ActiveTimer,默認(rèn)為30分鐘)TCP標(biāo)識(shí)包含F(xiàn)IN、RST。本文采用基于流的方式記錄網(wǎng)絡(luò)流量信息,即將五元組相同的包進(jìn)行匯總,收集其統(tǒng)計(jì)特征并輸出。nProbe、YAF等通常在同一進(jìn)程中實(shí)現(xiàn)包的采集、解析以及流重組,很難靈活地?cái)U(kuò)展性能。為解決該問題,本文將包的讀取、解析以及流重組操作劃分成多個(gè)功能組件,基于Storm平臺(tái)實(shí)現(xiàn)分布式流處理,其拓?fù)鋱D如圖3所示。P=hash(t,P=hash(t,t,t,t,t)modnid 12345其中,P.d為包存入的具體分區(qū)號(hào),t「]為包中的五元組,即源IP地址、目的i,iGL1,5j讀取包解析分發(fā)流重組存儲(chǔ)圖3分布式流處理拓?fù)鋱DFig.3Topologyofdistributedstreamingdata

processing1) 網(wǎng)絡(luò)包讀取組件該組件負(fù)責(zé)從Kafka讀取網(wǎng)絡(luò)包,然后使用Storm的Shuffle分組機(jī)制均衡地分發(fā)給各個(gè)包解析實(shí)例;2) 包解析組件該組件負(fù)責(zé)對每個(gè)網(wǎng)絡(luò)包進(jìn)行解析,提取相應(yīng)信息,如源IP地址、目的IP地址、源端口、目的端口、第3層協(xié)議類型、包大小等。3) 分發(fā)組件該組件基于一定的策略對提取的包信息進(jìn)行分發(fā),主要完成以下兩個(gè)功能:a) 基于流的轉(zhuǎn)發(fā):將包信息按其所屬流進(jìn)行轉(zhuǎn)發(fā),保證屬于同一條流的所有包分發(fā)至同一流重組實(shí)例中處理。b) 包信息重用:將包信息同時(shí)分發(fā)給其他組件(如存儲(chǔ)組件),實(shí)現(xiàn)包信息重用及功能擴(kuò)展。4) 流重組組件該組件的具體實(shí)現(xiàn)如圖4所示,其中,流表基于Hash桶實(shí)現(xiàn),由五元組構(gòu)成的原始字節(jié)數(shù)組作為Hash桶的鍵,流的統(tǒng)計(jì)信息作為值保存在Hash桶中,主要包括五元組、包數(shù)、總字節(jié)數(shù)、流持續(xù)時(shí)間、流方向(連接發(fā)起方或接受方)等。通過增加以下兩個(gè)線程對流表進(jìn)行操作,實(shí)現(xiàn)流的創(chuàng)建、更新及導(dǎo)出功能:圖4流重組實(shí)現(xiàn)示意圖Fig.4Implementationofflowrestructuringa)線程1負(fù)責(zé)對包信息進(jìn)行處理,利用五元組構(gòu)成的鍵從流表中查找對應(yīng)的流,若不存在,則創(chuàng)建新的流存入流表中;若存在,則檢查該流是否已老化,若未老化,則對流中的統(tǒng)計(jì)信息進(jìn)行更新;否則移除該流,并將其統(tǒng)計(jì)信息輸出,然后創(chuàng)建新的流存入流表中。b)線程2負(fù)責(zé)定期掃描流表,移除不活躍的流,并將該流的統(tǒng)計(jì)信息輸出。5)存儲(chǔ)組件該組件負(fù)責(zé)對提取的包信息或?qū)С龅牧餍畔⑦M(jìn)行實(shí)時(shí)存儲(chǔ)。1.4實(shí)時(shí)分布式存儲(chǔ)NTCI-Flow底層存儲(chǔ)采用分布式文件系統(tǒng)HDFS以滿足高吞吐量、高可靠性、低成本及可擴(kuò)展等要求,并利用Hive數(shù)據(jù)倉庫管理元數(shù)據(jù),從而更好地與交互式分析平臺(tái)SparkSQL集成。由于流信息和包信息數(shù)據(jù)量較大,為減輕存儲(chǔ)壓力,需選擇合適的文件編碼和壓縮方式。已有大量工作對比了Parquet、Avro、JSON、SequenceFile、ORC等文件格式性能Ml。根據(jù)已有的測試結(jié)果,考慮到包信息產(chǎn)生速率較快,選用非壓縮的SequenceFile格式保證高寫入速率;而流信息輸出速率適中,選用面向分析型業(yè)務(wù)的列式存儲(chǔ)格式Parquet,同時(shí)結(jié)合高效的Snappy壓縮算法以優(yōu)化分析效率。Hive只支持批量導(dǎo)入數(shù)據(jù)到Hive表中,而NTCI-Flow需要將流信息逐條寫入Hive表。因此,本文基于KiteSDK3]開發(fā)流導(dǎo)入組件,實(shí)現(xiàn)Hive的實(shí)時(shí)流導(dǎo)入,同時(shí)提供基于時(shí)間的動(dòng)態(tài)分區(qū)機(jī)制,減少按時(shí)間段分析中不必要的數(shù)據(jù)讀取操作,從而減少交互式分析的響應(yīng)時(shí)間。2擴(kuò)展性分析2.1功能擴(kuò)展網(wǎng)絡(luò)流量分析的技術(shù)、算法以及可以關(guān)聯(lián)分析的數(shù)據(jù)源均在不斷發(fā)展,為適應(yīng)不斷更新的需求,NTCI-Flow采用了解耦合的思想,通過添加Kafka中間件提升本框架的功能擴(kuò)展性。由于Kafka實(shí)現(xiàn)了數(shù)據(jù)在可配置時(shí)間內(nèi)的持久化存儲(chǔ),定義了統(tǒng)一的數(shù)據(jù)存儲(chǔ)格式和通訊協(xié)議,因此,數(shù)據(jù)收集層與數(shù)據(jù)處理層只需遵循該協(xié)議即可實(shí)現(xiàn)解耦合方式的數(shù)據(jù)傳遞。其中,解耦合性主要體現(xiàn)在以下兩個(gè)方面:1) 數(shù)據(jù)收集層可在不影響數(shù)據(jù)處理層的情況下實(shí)現(xiàn)數(shù)據(jù)源的動(dòng)態(tài)擴(kuò)展。2) 數(shù)據(jù)處理層可靈活地調(diào)整處理邏輯,既能對同一數(shù)據(jù)源采用不同方式進(jìn)行處理,也能對不同數(shù)據(jù)源進(jìn)行關(guān)聯(lián),實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)功能。2.2性能擴(kuò)展為適應(yīng)網(wǎng)絡(luò)流量規(guī)模不斷增長的趨勢,網(wǎng)絡(luò)流量處理框架應(yīng)具有良好的水平擴(kuò)展能力。NTCI-Flow的水平擴(kuò)展能力主要體現(xiàn)在以下幾個(gè)方面:1) 包抓取模塊的擴(kuò)展能力現(xiàn)有的x86平臺(tái)可實(shí)現(xiàn)零丟包抓取多個(gè)萬兆網(wǎng)卡的網(wǎng)絡(luò)包,因此包抓取模塊最大的限制因素是如何通過現(xiàn)有的Linux網(wǎng)絡(luò)棧將數(shù)據(jù)傳輸?shù)竭h(yuǎn)端Kafka集群。本文采用Linux網(wǎng)卡聚合解決該問題,即將多個(gè)網(wǎng)卡綁定為一個(gè)邏輯網(wǎng)卡,從而實(shí)現(xiàn)網(wǎng)絡(luò)傳輸性能的線性擴(kuò)展。2) 消息系統(tǒng)的擴(kuò)展能力經(jīng)過實(shí)驗(yàn)測試,若不考慮網(wǎng)絡(luò)帶寬限制,消息系統(tǒng)的吞吐率主要受磁盤寫入性能影響。通過增加硬盤數(shù)目,合理配置Broker及分區(qū)數(shù)可以實(shí)現(xiàn)消息系統(tǒng)吞吐率的線性擴(kuò)展。3) 基于Storm的流處理的擴(kuò)展能力。Storm的實(shí)現(xiàn)架構(gòu)保證了包信息提取、流重組、數(shù)據(jù)存儲(chǔ)等組件均可設(shè)置多個(gè)運(yùn)行實(shí)例來提高并行度,同時(shí)Storm的分布式架構(gòu)可確保通過增加服務(wù)器數(shù)量提升吞吐率。3實(shí)驗(yàn)及分析3.1實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)平臺(tái)共4個(gè)節(jié)點(diǎn):節(jié)點(diǎn)1采用PF_RING的pfsend工具線速發(fā)送偽造網(wǎng)絡(luò)包,速率最高可達(dá)14Mpps,節(jié)點(diǎn)2運(yùn)行網(wǎng)絡(luò)包抓取及轉(zhuǎn)發(fā)程序,節(jié)點(diǎn)3、4用于部署Kafka與Storm,進(jìn)行包信息提取及流重組。其中,節(jié)點(diǎn)1、2直接通過萬兆光纖互聯(lián),節(jié)點(diǎn)2、3、4則通過10Gbit以太網(wǎng)互聯(lián),具體配置信息見表1。表1測試主機(jī)配置信息Tab.1Testhostsconfiguration節(jié)點(diǎn)CPU內(nèi)存/GB硬盤/TB主頻/GHz核數(shù)1,22.50864132.50864842.4020256163.2網(wǎng)絡(luò)流量采集性能通過使用pfsend工具分別線速發(fā)送不同大小的數(shù)據(jù)包,測試網(wǎng)絡(luò)流量采集模塊抓包及轉(zhuǎn)發(fā)的性能,同時(shí)記錄抓取10億條包時(shí)的丟包率,結(jié)果如表2所示。由表2可見,網(wǎng)絡(luò)流量采集模塊性能較好,可實(shí)現(xiàn)萬兆流量的抓取及轉(zhuǎn)發(fā),即使在萬兆流量均為最小包(60字節(jié))的情況下,仍可保證僅有0.03%的丟包率。表2網(wǎng)絡(luò)流量采集性能測試Tab.2Performancetestofnetworktrafficcollection包大小/字節(jié)發(fā)包速率/MppsCPU使用率/%丟包率/%抓取轉(zhuǎn)發(fā)6014.583.491.90.037001.773.015.20.00610001.271.520.00.00215000.871.610.90.00023.3網(wǎng)絡(luò)流量導(dǎo)入性能網(wǎng)絡(luò)流量的導(dǎo)入基于Kafka實(shí)現(xiàn),由于Kafka對消息進(jìn)行持久化存儲(chǔ),硬盤性能對其吞吐率影響較大,因此,本文測試了在采用不同硬盤數(shù)目時(shí),網(wǎng)絡(luò)流量導(dǎo)入層的最大吞吐率,同時(shí)也記錄了硬盤的平均寫入速率,結(jié)果如圖5所示。圖5網(wǎng)絡(luò)流量導(dǎo)入性能測試Fig.5Performancetestofnetworktrafficimport通過分析實(shí)驗(yàn)結(jié)果可知,網(wǎng)絡(luò)流量導(dǎo)入性能與硬盤數(shù)呈正比,具有較高的吞吐率及可擴(kuò)展性。同時(shí),由于Kafka利用了Linux的Pagecache功能,使得導(dǎo)入層最大吞吐率可超過硬盤寫入速率限制。3.4流重組性能及對比基于Storm的分布式流重組主要包含以下三個(gè)組件:Kafka讀取組件(K)、包信息提取組件(P)、流重組組件(F)。表3為流處理模塊中各個(gè)組件以不同并發(fā)度運(yùn)行時(shí)的吞吐率及CPU使用情況。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)具有良好的擴(kuò)展性,且通過合理配置各組件并行度,吞吐率可達(dá)12.6百萬包每秒。表3流重組性能測試Tab.3Performancetestofflowrestructuring并發(fā)度/組件吞吐率/MppsCPU使用核數(shù)/核1K-1P-1F3.831K-2P-2F6.752K-2P-2F7.662K-3P-3F1082K-4P-4F12.610本文通過查閱文獻(xiàn)及實(shí)驗(yàn),比較了NTCI-Flow與nProbe等已有成果的流重組性能,結(jié)果如表4所示。其中,nProbe軟件版本為v.7.3.160506,測試環(huán)境與NTCI-Flow相同,nProbe在單機(jī)下通過RSS(ReceiveSideScaling)技術(shù)實(shí)現(xiàn)多進(jìn)程并行處理以擴(kuò)展性能;Scap[16通過內(nèi)核模塊直接在內(nèi)核中處理網(wǎng)絡(luò)包,導(dǎo)出流信息,從而減少內(nèi)核到用戶程序的數(shù)據(jù)拷貝,該方式雖減輕了用戶程序的壓力,但增加了內(nèi)核開銷,同時(shí)也存在單機(jī)性能受限的問題。本文提出的NTCI-Flow采用分布式架構(gòu)實(shí)現(xiàn),具有較高的吞吐率及擴(kuò)展能力,同時(shí)較為通用,擴(kuò)展成本較低。表4現(xiàn)有技術(shù)與NTCI-Flow的性能比較Tab.4Performancecomparisonofexisting

technologyandNTCI-Flow流處理技術(shù)吞吐率說明MppsGbpsnProbe9.610單機(jī)、RSS/6核Scap-6單機(jī)、內(nèi)核模塊/1核NTCI-Flow12.610分布式/10核3.5實(shí)際應(yīng)用本框架目前已用于采集并處理某機(jī)構(gòu)的出口流量,該機(jī)構(gòu)平均流量約3.5Gbps,峰值帶寬為6Gbps,每秒包數(shù)最高可達(dá)百萬級(jí)。本文利用NTCI-Flow與NetStream同時(shí)對該機(jī)構(gòu)的出口流量進(jìn)行了采集,并根據(jù)其導(dǎo)出的流信息,統(tǒng)計(jì)并對比了2016年1月10日的總包數(shù)、總流數(shù)、主機(jī)數(shù)以及平均流量大小。結(jié)果如圖6所示,NetStream因基于采樣方式采集流量及存在性能瓶頸,出現(xiàn)了較嚴(yán)重的數(shù)據(jù)失真問題,總包數(shù)、總流數(shù)、主機(jī)數(shù)以及平均流量均小于實(shí)際水平,而NTCI-Flow還原的流量數(shù)據(jù)則更準(zhǔn)確。圖6NTCI-Flow與NetStream的對比圖Fig.6ContrastofNTCI-FlowandNetStream4總結(jié)隨著x86架構(gòu)的發(fā)展、基于軟件的高性能包抓取技術(shù)的進(jìn)步(如DPDK、NETMAP和PF_RINGDNA等),更多技術(shù)人員傾向于選擇在x86服務(wù)器上實(shí)現(xiàn)軟件方式的包抓取。大數(shù)據(jù)平臺(tái)技術(shù),尤其是Hadoop開源生態(tài)圈的不斷完善,其極低的使用成本及強(qiáng)大的處理能力,使大數(shù)據(jù)平臺(tái)受到更多網(wǎng)絡(luò)安全領(lǐng)域技術(shù)人員的追捧。當(dāng)前研究并未將二者很好地結(jié)合起來,因此本文將二者結(jié)合提出一種可擴(kuò)展的高速網(wǎng)絡(luò)流量處理框架NTCI-Flow,對流量高性能抓取與高效傳輸、消息系統(tǒng)、分布式流處理及實(shí)時(shí)存儲(chǔ)等關(guān)鍵技術(shù)進(jìn)行研究,保證系統(tǒng)在功能、性能兩方面的可擴(kuò)展能力。實(shí)驗(yàn)數(shù)據(jù)表明,NTCI-Flow的吞吐率及擴(kuò)展能力滿足高速網(wǎng)絡(luò)的要求。通過實(shí)際應(yīng)用的長期運(yùn)行情況來看,本文提出的NTCI-Flow能在較低的投入成本下,提供比NetStream更加準(zhǔn)確的流量統(tǒng)計(jì)數(shù)據(jù)。參考文獻(xiàn):[1]QuittekJ,ZsebyT,ClaiseB,etal.RFC3917:RequirementsforIPFlowInformationExport(IPFIX)[S].USA.ITEFWorkingGroup,2004.⑵IntroductiontoCiscoIOSNetFlow-ATechnicalOverview[EB/OL].(2012-5)[2016-5-17].http://www.ciseo.eomZeZenZusZproduetsZcollateralZios-nx-os-softwareZios-netflowZprod_white_paper0900aeed80406232.html.華為技術(shù)有限公司.NetStream技術(shù)白皮書[EBZOL].(2014-2-19)[2016-5-17].http:ZZZilink/cnenterpriseZdownloadZHW_350968

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論