国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式的P2P流量監(jiān)控系統(tǒng)的設(shè)計及實現(xiàn)

2012-11-30 03:18李志純
計算機(jī)工程與設(shè)計 2012年4期
關(guān)鍵詞:隊列數(shù)據(jù)包端口

李 衛(wèi),李志純,高 強(qiáng)

(1.北京航空航天大學(xué) 電子信息工程學(xué)院,北京100191;2.中科華核電技術(shù)研究院有限公司,廣東深圳518000)

0 引 言

據(jù)統(tǒng)計,近年來P2P應(yīng)用的流量白天占帶寬總流量的60%,晚上則高達(dá)90%[1]。P2P應(yīng)用的泛濫,使得網(wǎng)絡(luò)環(huán)境急劇惡化,網(wǎng)絡(luò)服務(wù)質(zhì)量大大下降[2]。總而言之,P2P技術(shù)在互聯(lián)網(wǎng)上的普及和發(fā)展,已成為網(wǎng)絡(luò)資源的最大消耗者,并影響了Web、E-mail、FTP等互聯(lián)網(wǎng)傳統(tǒng)業(yè)務(wù)的正常運(yùn)行,成為網(wǎng)絡(luò)的主要負(fù)擔(dān)[3]。

在P2P應(yīng)用的早期階段,P2P協(xié)議使用特定的TCP或UDP端口,如BitTorrent協(xié)議使用6881-6889端口,eMule使用4662端口,Gnutella協(xié)議使用6346-6348端口等[4]。端口識別法效率高、快速、實現(xiàn)簡單[5]。然而隨著各種應(yīng)用軟件的發(fā)展,端口特點由固定端口特性逐漸發(fā)展成動態(tài)端口和偽裝端口[6],端口跳變等技術(shù)的使用加大了識別、跟蹤、控制的難度,造成誤報和漏報率高等問題[7]。因而基于端口識別的流量檢測技術(shù)無法滿足準(zhǔn)確識別P2P業(yè)務(wù)流量的需求;其次,在流量監(jiān)控系統(tǒng)中常采用直路串接的方式控制網(wǎng)絡(luò)中數(shù)據(jù)流量[8],直路串接控制技術(shù)把流量監(jiān)控系統(tǒng)安裝在流量傳輸?shù)谋亟?jīng)之路上,如路由器上,從而實現(xiàn)對網(wǎng)絡(luò)流量的控制,但由于流經(jīng)網(wǎng)絡(luò)監(jiān)控系統(tǒng)的數(shù)據(jù)流量都需要經(jīng)過系統(tǒng)處理后才轉(zhuǎn)發(fā),容易帶來處理延時從而降低網(wǎng)絡(luò)服務(wù)的質(zhì)量[9]。因此,采用直路串接控制技術(shù)容易引起處理瓶頸和單點故障的問題[10];最后,P2P協(xié)議的多樣性造成了系統(tǒng)對某部分P2P流量無法統(tǒng)計和控制的問題[11]。

針對上述問題,本文設(shè)計了一種P2P流量監(jiān)控系統(tǒng)。該監(jiān)控系統(tǒng)以ARM+Linux為控制核心,采用端口識別、深層數(shù)據(jù)包檢測相結(jié)合的流量識別技術(shù)來檢測網(wǎng)絡(luò)中的P2P流量數(shù)據(jù),然后通過旁路控制的方式阻斷P2P流量數(shù)據(jù)。具體有以下特點:

(1)采用深層數(shù)據(jù)包檢測技術(shù) (DPI)對數(shù)據(jù)包應(yīng)用層協(xié)議進(jìn)行解析匹配以發(fā)現(xiàn)P2P應(yīng)用。DPI能夠檢測數(shù)據(jù)包的有效負(fù)載并且能夠提取出內(nèi)容級別的信息,因而識別的準(zhǔn)確性很高。DPI是通過對數(shù)據(jù)包應(yīng)用層協(xié)議的檢測解析發(fā)現(xiàn)P2P應(yīng)用。DPI可以幫助對網(wǎng)絡(luò)流量內(nèi)部奧秘的檢測和對網(wǎng)絡(luò)資源的控制,可以分辨出具體用戶具體應(yīng)用的數(shù)據(jù)流,從而可以對用戶的應(yīng)用部署QoS、安全等其他策略[12]。

(2)使用旁路干擾控制技術(shù)切斷連接,達(dá)到流量控制的目的。同時避免了對原有網(wǎng)絡(luò)的性能造成大的影響。

(3)系統(tǒng)具有可擴(kuò)展性。系統(tǒng)的存儲模塊保存P2P業(yè)務(wù)的識別策略,當(dāng)用戶通過人機(jī)交互接口選擇需要監(jiān)控的P2P業(yè)務(wù)后,相應(yīng)的業(yè)務(wù)標(biāo)志被分別添加到業(yè)務(wù)識別器的識別業(yè)務(wù)隊列和業(yè)務(wù)控制器的控制業(yè)務(wù)隊列,系統(tǒng)設(shè)計了50個P2P業(yè)務(wù)的隊列預(yù)留空間。其中隊列相應(yīng)位對應(yīng)的P2P業(yè)務(wù)已經(jīng)提前設(shè)置。系統(tǒng)運(yùn)行時,通過判定隊列相應(yīng)位的標(biāo)志決定是否對該業(yè)務(wù)進(jìn)行監(jiān)控。當(dāng)新的P2P業(yè)務(wù)需要監(jiān)控時,只需將該P(yáng)2P業(yè)務(wù)的識別策略文件寫入存儲模塊,同時在人機(jī)交互接口上提供選擇窗口而無需對系統(tǒng)的整體框架做修改。

(4)采用ARM處理器作為監(jiān)控系統(tǒng)的核心。嵌入式系統(tǒng)以體積小、功能多、性能強(qiáng)等優(yōu)點,近幾年來發(fā)展很快,已成為控制領(lǐng)域中研究的新熱點;而且隨著嵌入式CPU功能的增強(qiáng)和價格的下降,為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能性。

1 系統(tǒng)的網(wǎng)絡(luò)架構(gòu)

圖1為P2P流量監(jiān)控系統(tǒng)的網(wǎng)絡(luò)架構(gòu)。圖1描述了局域網(wǎng)的常用網(wǎng)絡(luò)架構(gòu),局域網(wǎng)內(nèi)的客戶機(jī)與外網(wǎng)通信時,網(wǎng)絡(luò)數(shù)據(jù)均需要通過路由器進(jìn)行轉(zhuǎn)發(fā)。P2P流量監(jiān)控系統(tǒng)包括監(jiān)控平臺和人機(jī)交互平臺兩部分。監(jiān)控平臺通過網(wǎng)線連接路由器的鏡像端口,網(wǎng)絡(luò)中所有的數(shù)據(jù)流經(jīng)過路由器時都會被鏡像到網(wǎng)線上,監(jiān)控平臺采集網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行識別;同時監(jiān)控平臺接收人機(jī)交互平臺傳遞的人機(jī)指令,構(gòu)造偽裝報文對網(wǎng)絡(luò)中的流量進(jìn)行控制。人機(jī)交互平臺通過USB接口接收監(jiān)控平臺統(tǒng)計的網(wǎng)絡(luò)數(shù)據(jù)參數(shù)并在人機(jī)交互界面顯示;用戶也可以通過操作人機(jī)交互界面實現(xiàn)對系統(tǒng)的控制。

2 系統(tǒng)設(shè)計及實現(xiàn)

2.1 系統(tǒng)開發(fā)平臺

圖1 P2P流量監(jiān)控系統(tǒng)的網(wǎng)絡(luò)架構(gòu)

系統(tǒng)的硬件開發(fā)平臺是基于Samsung S3C6410處理器的OK6410。該處理器基于ARM1176JZF-S內(nèi)核,主頻達(dá)到533/667MHz。開發(fā)平臺具有的硬件資源還包括:256M字節(jié)DDR內(nèi)存,2GByte Nand Flash,8倍于同類開發(fā)板所采用的256MNAND;4個串口,包括1個五線RS 232電平串口 (DB9母座)和3個三線TTL電平串口 (20pin 2.0mm間距插頭座);1個100M網(wǎng)口,采用DM9000,帶連接和傳輸指示燈 ;1個USB HOST插口,支持USB1.1協(xié)議,可插鼠標(biāo)、U盤等;1個USB Slave接口,支持USB2.0協(xié)議,使用 Mini-USB插座,可與PC連接;1個JTAG接口,使用10*2插針連接器等。嵌入式操作系統(tǒng)的內(nèi)核版本為Linux2.6.28;交叉編譯環(huán)境鏈:4.2.2-eabi。

實物圖如圖2所示。接口示意圖如圖3所示。其中USB 2.0Slave接口與PC的USB2.0HOST相連,二者之間傳輸?shù)臄?shù)據(jù)包括需要在人機(jī)交互界面上顯示的數(shù)據(jù)包參數(shù)和用戶對系統(tǒng)的操作指令;以太網(wǎng)接口RJ45與路由器鏡像端口連接;RS232串口與宿主機(jī)串口連接進(jìn)行交叉開發(fā);JTAG用于在線仿真調(diào)試;SDRAM為程序運(yùn)行提供空間;NAND FLASH保存數(shù)據(jù),包括P2P業(yè)務(wù)的識別策略文件,操作系統(tǒng)等。

圖2 產(chǎn)品實物

圖3 系統(tǒng)接口

2.2 系統(tǒng)軟件設(shè)計及實現(xiàn)

如圖4所示,系統(tǒng)的軟件部分主要包括數(shù)據(jù)采集解析器、業(yè)務(wù)識別器、業(yè)務(wù)控制器、業(yè)務(wù)管理器、存儲模塊和人機(jī)交互模塊。

圖4 系統(tǒng)軟件框架

(1)數(shù)據(jù)采集解析器主要負(fù)責(zé)網(wǎng)絡(luò)中數(shù)據(jù)包的捕獲和對數(shù)據(jù)包網(wǎng)絡(luò)層協(xié)議和傳輸層協(xié)議首部的解析。網(wǎng)絡(luò)抓包的實現(xiàn)借助網(wǎng)絡(luò)數(shù)據(jù)包的捕獲函數(shù)包libpcap。當(dāng)接收到系統(tǒng)停止采集數(shù)據(jù)的指令時,模塊停止向結(jié)構(gòu)體RawDataStru賦值。RawDataStru的成員包括五元組、時間戳、數(shù)據(jù)包序列號、負(fù)載首地址、數(shù)據(jù)包、字節(jié)數(shù)、序列號、確認(rèn)號。

(2)業(yè)務(wù)識別器根據(jù)接收到的P2P業(yè)務(wù)識別策略,對P2P業(yè)務(wù)進(jìn)行識別。識別分為3個步驟:比較HASH表中的可疑 (IP,PORT)對、端口識別、DPI識別。當(dāng)檢測數(shù)據(jù)流時,系統(tǒng)識別器首先查詢HASH表,如果HASH中存在匹配該數(shù)據(jù)流的元素,則直接判斷該數(shù)據(jù)流為P2P業(yè)務(wù)流量,否則繼續(xù)識別。端口識別子模塊用于檢測數(shù)據(jù)流的源端口或目的端口是否為P2P業(yè)務(wù)常用端口。DPI識別子模塊通過獲取數(shù)據(jù)包負(fù)載的首地址,并依據(jù)與對應(yīng)P2P業(yè)務(wù)的特征串相匹配原則,在應(yīng)用層對業(yè)務(wù)數(shù)據(jù)進(jìn)行識別。HASH表用來存儲可疑的 (IP,PORT)對。在業(yè)務(wù)識別的過程中,對HASH表進(jìn)行初始化,插入,查詢操作。識別策略隊列標(biāo)志需要執(zhí)行識別策略的P2P業(yè)務(wù)類型,當(dāng)隊列相應(yīng)位為 “1”時,表示該業(yè)務(wù)需要被識別,相應(yīng)位為“0”時,表示該業(yè)務(wù)不需要被識別。在業(yè)務(wù)識別器檢測數(shù)據(jù)流量之前,都會判斷識別策略隊列的相應(yīng)位從而選擇需要監(jiān)控的P2P業(yè)務(wù)。業(yè)務(wù)識別器將識別后的數(shù)據(jù)參數(shù)通過結(jié)構(gòu)體MirrorDataStru傳遞給業(yè)務(wù)管理器,MirrorDataStru結(jié)構(gòu)體的成員包括五元組、時間戳、數(shù)據(jù)包序列號、字節(jié)數(shù)數(shù)、序列號、確認(rèn)號、P2P業(yè)務(wù)類型、流數(shù)。

(3)業(yè)務(wù)控制器根據(jù)接收到的P2P業(yè)務(wù)類型及數(shù)據(jù)包的參數(shù) (五元組,序列號,確認(rèn)號)構(gòu)造RST包來切斷TCP連接,從而達(dá)到流量控制的目的??刂茦I(yè)務(wù)隊列用于標(biāo)志需要控制的P2P業(yè)務(wù)類型。業(yè)務(wù)控制器接收到需要控制的P2P業(yè)務(wù)類型時,首先會判斷該P(yáng)2P業(yè)務(wù)類型在控制業(yè)務(wù)隊列的對應(yīng)位是否置位,如果置位則對該P(yáng)2P業(yè)務(wù)進(jìn)行控制,否則不予處理。

(4)業(yè)務(wù)管理模塊是系統(tǒng)的核心模塊,主要實現(xiàn)各種信息的統(tǒng)計與調(diào)度。一方面它接收來自業(yè)務(wù)識別器的數(shù)據(jù)包參數(shù)結(jié)構(gòu)體MirrorDataStru,參數(shù)統(tǒng)計后分別傳遞給業(yè)務(wù)控制器和人機(jī)交互模塊;另一方面它接收來自人機(jī)交互模塊的指令,分別對業(yè)務(wù)識別器、業(yè)務(wù)控制器和數(shù)據(jù)采集解析模塊進(jìn)行操作。該模塊的程序流程如圖5所示。

(5)人機(jī)交互模塊主要為用戶和系統(tǒng)交互數(shù)據(jù)提供接口。圖6中的P2P業(yè)務(wù)監(jiān)控窗口方便用戶選擇需要檢測和控制的P2P業(yè)務(wù)的類型。圖形右邊顯示網(wǎng)絡(luò)中數(shù)據(jù)包的各種參數(shù)信息。業(yè)務(wù)管理器通過dispdatastru結(jié)構(gòu)體將需要顯示的信息傳遞給人機(jī)交互模塊,參數(shù)包括:五元組、數(shù)據(jù)包序列號、時間戳、數(shù)據(jù)包字節(jié)數(shù)、P2P業(yè)務(wù)速率、P2P業(yè)務(wù)類型、流數(shù)。人機(jī)交互模塊通過infofromdisp結(jié)構(gòu)體將控制信息發(fā)送給業(yè)務(wù)管理器,參數(shù)包括消息類型、操作P2P業(yè)務(wù)的數(shù)量、P2P業(yè)務(wù)識別標(biāo)志序列、P2P業(yè)務(wù)控制標(biāo)志序列。

3 系統(tǒng)性能分析

本文選取兩種最常用的P2P文件下載軟件比特彗星(BitTorrent)和電驢 (eMule)對系統(tǒng)進(jìn)行測試。系統(tǒng)測試的參數(shù)有誤判率、漏判率和限速誤差。具體定義如下[14-15]:

誤判率 (FN):誤判為P2P業(yè)務(wù)的流數(shù)/實際的P2P業(yè)務(wù)流數(shù);?

漏判率 (FP):|實際的P2P業(yè)務(wù)流數(shù)—統(tǒng)計的P2P業(yè)務(wù)連接數(shù)|/實際的P2P業(yè)務(wù)流數(shù);

限速誤差:|限速后P2P業(yè)務(wù)的流量帶寬 — 理論帶寬|/限速前P2P業(yè)務(wù)的流量帶寬。

首先測試系統(tǒng)對比特彗星的監(jiān)控效果,多次測量后統(tǒng)計的平均結(jié)果如表1所示。

然后將電驢的識別策略加入到存儲模塊,在人機(jī)交互界面上同時選擇對比特彗星和電驢進(jìn)行監(jiān)控。多次測量后統(tǒng)計的平均結(jié)果如表2所示。

表1 BitTorrent測量結(jié)果

表2 BitTorrent、eMule測量結(jié)果

由表1和表2的統(tǒng)計數(shù)據(jù)可以看出:本系統(tǒng)對P2P業(yè)務(wù)的識別效果好,控制效果良好,并且系統(tǒng)具有良好的可擴(kuò)展性。對eMule業(yè)務(wù)的限速誤差>10%的主要原因是eMule客戶端間建立TCP連接后,部分?jǐn)?shù)據(jù)用UDP傳輸,該部分P2P流量的數(shù)據(jù)無法控制。

4 結(jié)束語

本文中設(shè)計并實現(xiàn)了一個基于嵌入式的P2P流量監(jiān)控系統(tǒng)。該嵌入式系統(tǒng)采用DPI的檢測技術(shù)和旁路干擾控制技術(shù)。通過對常用P2P業(yè)務(wù)比特彗星和電驢流量的檢測和控制,可以得知:該監(jiān)控系統(tǒng)對P2P業(yè)務(wù)的識別率高,可以有效避免單點監(jiān)控系統(tǒng)的性能瓶頸,并具有良好的擴(kuò)展性。本系統(tǒng)只能夠?qū)崿F(xiàn)對具有特定通信特征字并且未加密的P2P流量進(jìn)行監(jiān)控,因此對未知協(xié)議和加密的P2P流量的識別算法研究是下一步工作的重點。

[1]WANG Changqing.P2Ptechnology on telecommunications network operator’s influence and the countermeasure analysis [J].Science & Technology Information,2008,23 (32):255-256(in Chinese).[王長青.P2P技術(shù)對電信網(wǎng)絡(luò)運(yùn)營商的影響及對策分析 [J].科技信息,2008,23 (32):255-256.]

[2]HU Lixin.Analysis of P2Ptraffic monitoring technology [J].Science & Technology Information,2007,22 (9):97-98(in Chinese).[扈立新.P2P流量監(jiān)控技術(shù)分析 [J].科技信息,2007,22 (9):97-98.]

[3]ZHANG Chunhong,QIU Xiaofeng.P2Ptechnology comprehensive analytical[M].Beijing:The People’s Posts and Telecommunications Press,2010:209-210 (in Chinese).[張春紅,裘曉峰.P2P技術(shù)全面解析 [M].北京:人民郵電出版社,2010:209-210.]

[4]GAI Ling.The research and application of monitoring technology on internet traffic[J].Telecommunications Science,2010,26 (11):4-5(in Chinese).[蓋玲.互聯(lián)網(wǎng)流量監(jiān)控疏堵技術(shù)的研究與應(yīng)用 [J].電信科學(xué),2010,26 (11):4-5.]

[5]CAO Xianggang.The research of P2Papplication traffic identification and control[D].Beijing:Master Thesis of BeijingJiaotong University,2010:15-16 (in Chinese).[曹 香 港.P2P應(yīng)用流量的識別與控制研究 [D].北京:北京交通大學(xué)碩士畢業(yè)論文,2010:15-16.]

[6]LI Binbin.The P2Papplications analysis and control based on flow characteristics [D].Beijing:Master Thesis of Beijing Jiaotong University,2010:25-26 (in Chinese).[李彬彬.基于流量特征的P2P應(yīng)用分析與控制 [D].北京:北京交通大學(xué)碩士畢業(yè)論文,2010:25-26.]

[7]CHEN Haijun,ANG Sichun,YE hun.P2Ptraffic control methods and research based on LINUX kernel [J].Computer Engineering and Design,2007,28 (16):3912-3914 (in Chinese).[陳海軍,王四春,葉暉.Linux內(nèi)核擴(kuò)展模塊的P2P流量控制方法與研究 [J].計算機(jī)工程與設(shè)計,2007,28(16):3912-3914.]

[8]FAN Pengyi, WAN Hun,XU Zhouli.IPTV application recognition based on payload [J].Information Security,2009,25 (4):49-50 (in Chinese).[樊鵬翼,王暉,徐周李.基于payload特征的P2PIPTV應(yīng)用識別 [J].信息安全,2009,25 (4):49-50.]

[9]LIU Qiang.P2Ptraffic identification and control technology'research and realize[D].Beijing:Master Thesis of Beijing University of Post and Telecommunication,2007:54-55 (in Chinese).[劉強(qiáng).P2P流量監(jiān)控技術(shù)研究與實現(xiàn) [D].北京:北京郵電大學(xué)碩士學(xué)位論文,2007:54-55.]

[10]TANG Hao.The research and implementation of the P2P traffic control system [D].Wuhan:Master Thesis of The Huazhong University of Science and Technology,2007:23-24(in Chinese).[湯昊.P2P流量控制系統(tǒng)的研究與實現(xiàn) [D].武漢:華中科技大學(xué)碩士學(xué)位論文,2007:23-24.]

[11]Volker Hilt,Ivica Rimac,Marco Tomsu,et al.Survey on research on the application-layer traffic optimization (ALTO)problem [J].IETF Application-Layer Traffic Optimization WG,2008,24 (12):8-9.

[12]Aggarwal V,F(xiàn)eldmann A,Scheidler C.Can ISPs and P2P systems co-operate for improved performance [J].ACM SIGCOMM Computer Communication Review,2007,37 (3):29-40.

[13]Kiesel S,Popkin L,Previdi S,et al.Application-layer traffic optimization (ALTO)requirements [J].IETF ALTO Wording Group,2009,16 (8):10-12.

[14]ZHOU Lijuan,LI Zhitang,HAO Tu.Proposition and provement of a TCP feature of P2Ptraffic-an example of BitTorrent and emule[C].Second International Conference on Communications and Networking in China,2007:61-62.

[15]WANG Jinsong,WANG Zhengxu,LIU Tao.Modeling distributed multi-granularity P2Ptraffic identifying and controlling system[C].International Conference on Networks Security Wireless Communications and Trusted Computing,2009:484-487.

猜你喜歡
隊列數(shù)據(jù)包端口
一種端口故障的解決方案
隊列里的小秘密
基于多隊列切換的SDN擁塞控制*
在隊列里
SmartSniff
端口阻塞與優(yōu)先級
豐田加速駛?cè)胱詣玉{駛隊列
8端口IO-Link參考設(shè)計套件加快開發(fā)速度
衛(wèi)星三端口DC-DC變換器技術(shù)綜述
視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究