P2P流量識別與監(jiān)測論文

時間:2022-03-12 10:48:00

導(dǎo)語:P2P流量識別與監(jiān)測論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

P2P流量識別與監(jiān)測論文

摘要隨著p2p應(yīng)用的不斷增多,P2P流量所占網(wǎng)絡(luò)總流量的比重越來越大。準(zhǔn)確地識別出網(wǎng)絡(luò)中P2P應(yīng)用的流量對網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)、QoS保證等都有十分重要的作用。介紹了當(dāng)前P2P流量識別的研究現(xiàn)狀,綜述了四種典型的P2P流量識別技術(shù):端口識別法、應(yīng)用層特征識別法、流量模式識別法以及連接模式識別,分析了各個技術(shù)的優(yōu)缺點(diǎn),并對P2P流量識別的發(fā)展趨勢進(jìn)行了一些探討。

關(guān)鍵詞P2P;流量識別;測量;加密;流量管理

引言

P2P(PeertoPeer)是近年來出現(xiàn)的一種新的網(wǎng)絡(luò)應(yīng)用,它的出現(xiàn)開啟了網(wǎng)絡(luò)邊緣未使用的資源。當(dāng)前隨著硬件價格的不斷下降,作為客戶端的PC機(jī)已經(jīng)具有相當(dāng)大的處理能力和存儲空間,然而這些資源在大部分時間都是處于閑置狀態(tài)。比如在當(dāng)前Internet中流行的C/S配置模式中,用戶的PC機(jī)僅僅是被作為一個顯示網(wǎng)頁的工具。而P2P體系結(jié)構(gòu)則可以使用這些PC機(jī)分擔(dān)網(wǎng)絡(luò)中心的任務(wù)。上百萬個Internet用戶組合得到的處理能力將遠(yuǎn)遠(yuǎn)高于任何一個中心服務(wù)器的處理能力。除此以外,P2P體系結(jié)構(gòu)還具有開放性、可擴(kuò)展性強(qiáng)等特點(diǎn)。所有這些使得P2P應(yīng)用在短短幾年時間有了飛速的發(fā)展,其體系結(jié)構(gòu)也經(jīng)歷了由集中式服務(wù)器(Napster)到純分散式文件共享系統(tǒng)(Gnutella),再到部分分散式結(jié)構(gòu)(KazaA);由使用固定端口到使用動態(tài)端口進(jìn)行數(shù)據(jù)傳輸;由使用獨(dú)特端口到與其他應(yīng)用合用端口(如使用Web應(yīng)用的80端口等);由明文傳輸?shù)竭M(jìn)行數(shù)據(jù)加密傳輸?shù)茸兓^程。

研究表明,盡管受版權(quán)等問題的困擾,當(dāng)前P2P應(yīng)用仍呈現(xiàn)快速增長的趨勢,并且變得越來越隱蔽[3]。P2P的飛速發(fā)展一方面豐富了網(wǎng)絡(luò)中的應(yīng)用形式,但另一方面也帶來了許多負(fù)面的問題。如:P2P文件共享過程中的版權(quán)問題;P2P應(yīng)用大量占用網(wǎng)絡(luò)帶寬的問題;以及P2P的流量模式對傳統(tǒng)網(wǎng)絡(luò)設(shè)計(jì)帶來的挑戰(zhàn)等,其中后者尤為網(wǎng)絡(luò)設(shè)計(jì)、管理人員所關(guān)注。我們知道,在Web應(yīng)用流量占網(wǎng)絡(luò)流量主體時,由于Web流量的高度非對稱性(用戶鏈路的下行流量要遠(yuǎn)遠(yuǎn)高于其上行流量),大部分用戶接入方式如ADSL、Cablemodem等都設(shè)計(jì)為下行帶寬遠(yuǎn)高于上行帶寬。而在P2P應(yīng)用中,由于所有主機(jī)都是對等的,因此其流量具有很大的對稱性。研究表明,P2P應(yīng)用與Web應(yīng)用上行流量與下行流量的比率分別為1:1.25和1:7,兩者差別將近6倍[5]。因此上述設(shè)計(jì)理念在當(dāng)前P2P流量占主體的網(wǎng)絡(luò)狀況下已經(jīng)不再適應(yīng)。

由此可見,P2P應(yīng)用對網(wǎng)絡(luò)性能具有很大的影響,例如對于一些ISP而言,文件共享流量約占其總流量的60%,另外企業(yè)網(wǎng)絡(luò)中大量出現(xiàn)的P2P流也會極大地影響網(wǎng)絡(luò)性能。因此無論從ISP的角度還是從企業(yè)網(wǎng)絡(luò)管理人員的角度,都希望能夠?qū)2P流量有效的識別出來,從而便于網(wǎng)絡(luò)的規(guī)劃與管理。對于一個企業(yè)而言,可以限定P2P流量不超過某個閾值,從而能夠?yàn)槠渌匾膽?yīng)用提供一定程度上的QoS保證;或者為了網(wǎng)絡(luò)管理的需要,直接在內(nèi)部將P2P流量過濾掉。而對于ISP而言,可以在此基礎(chǔ)上對服務(wù)進(jìn)行控制以及對用戶進(jìn)行管理等。但是當(dāng)前識別P2P的一個主要挑戰(zhàn)就是以一種可擴(kuò)展的方式識別出P2P流量,同時不要求對所有的分組進(jìn)行深層分組檢查(DPI,deeppacketinspection)。

文章后面部分按照下述方式組織:第一部分概述了P2P流量識別技術(shù);第二部分詳細(xì)綜述了當(dāng)前幾種常用的P2P流量識別技術(shù);第三部分對P2P流量識別技術(shù)的發(fā)展進(jìn)行了展望;最后對全文進(jìn)行了總結(jié)。

1P2P流量識別技術(shù)概述

為了控制網(wǎng)絡(luò)P2P應(yīng)用對帶寬的大量占用,必須首先對P2P流量進(jìn)行有效地監(jiān)控,它涉及到下面幾個方面的問題:流量采集、流量識別以及流量控制。在其中,流量的采集與其他網(wǎng)絡(luò)監(jiān)測方式采用的技術(shù)完全一致,流量控制則取決不同的網(wǎng)絡(luò)管理策略,由網(wǎng)絡(luò)管理人員進(jìn)行相應(yīng)的設(shè)置,例如進(jìn)行P2P流量限制或者完全過濾P2P流量等。因此,這里的關(guān)鍵部分是流量的識別操作。根據(jù)實(shí)現(xiàn)思想不同,可以將它分為多種類型,如基于分組分析、基于流分析等。其實(shí)現(xiàn)方式直接關(guān)系到整個監(jiān)控系統(tǒng)的實(shí)現(xiàn)效率以及系統(tǒng)的可用性。

P2P應(yīng)用從最初的采用固定端口發(fā)展到使用可變端口甚至使用其他應(yīng)用的端口進(jìn)行數(shù)據(jù)傳輸,在傳輸?shù)木唧w內(nèi)容方面也從使用明文傳輸發(fā)展到對傳輸數(shù)據(jù)進(jìn)行加密處理,因此對P2P流量進(jìn)行識別的技術(shù)也隨之經(jīng)歷了相應(yīng)的變化過程。本文中我們主要針對四種典型的識別方法進(jìn)行討論,包括端口識別法、應(yīng)用層特征識別法、流量模式識別法以及連接模式識別法。對于這幾種技術(shù),我們將在第二節(jié)中進(jìn)行詳細(xì)的討論。

2典型P2P流量識別技術(shù)

2.1端口識別法

在P2P應(yīng)用興起的早期,大多數(shù)應(yīng)用使用的都是固定端口,例如,Gnutella使用6346-6347端口,BitTorrent使用6881-6889端口等。在這種情況下,對其流量的識別方式與識別普通應(yīng)用分組的方式完全相同:在需要監(jiān)測的網(wǎng)絡(luò)中被動收集分組,然后檢查分組的運(yùn)輸層首部信息,如果端口號與某些特定的端口號匹配,則說明該分組即為P2P流量分組,可以按照預(yù)設(shè)的動作對其進(jìn)行處理。這種識別方法最大的優(yōu)點(diǎn)就是簡單易行,它不需要進(jìn)行復(fù)雜的分組處理即可得出結(jié)論。在P2P應(yīng)用出現(xiàn)的初期它顯得十分簡單有效,但是隨著P2P技術(shù)的發(fā)展,該方法逐漸變得不再適用,因此后來又出現(xiàn)了一些新的技術(shù)方案。

2.2應(yīng)用層特征識別法

與第一代使用固定端口進(jìn)行數(shù)據(jù)傳輸?shù)腜2P應(yīng)用不同,當(dāng)前許多P2P應(yīng)用都能夠通過使用隨機(jī)端口來掩蓋其存在,有些甚至可以使用HTTP,SMTP等一些協(xié)議使用的熟知端口,這增加了識別P2P流量的難度:簡單的通過分析分組首部的端口信息已經(jīng)無法識別出這類應(yīng)用的存在。

但是,每種應(yīng)用的分組中都攜帶有特定的報(bào)文信息,例如,HTTP協(xié)議報(bào)文中會出現(xiàn)GET,PUT,POST等報(bào)文字樣。與之相類似,在各種P2P應(yīng)用協(xié)議中也具有類似的信息。因此,人們提出了通過檢查分組內(nèi)部攜帶的負(fù)載信息進(jìn)行分組識別的方法。文獻(xiàn)[2]提出了一種利用應(yīng)用層特征的方式對P2P流量進(jìn)行識別。在[2]中,作者首先對5種常見的P2P協(xié)議(KaZaA,Gnutella,eDonkey,DirectConnect以及BitTorrent)的特征進(jìn)行了分析,提取出其特征信息,然后根據(jù)特征信息對收集到的分組進(jìn)行模式匹配操作,從而判斷出該分組是否屬于某一類P2P應(yīng)用分組。例如,Gnutella的連接建立報(bào)文具有下述格式

GNUTELLACONNECT/<protocolversionstring>\n\n

而應(yīng)答報(bào)文格式如下

GNUTELLAOK\n\n

根據(jù)這些以及其他類似特征,即可判定相應(yīng)報(bào)文是否為P2P應(yīng)用報(bào)文,并由此確定某個流是否為P2P流。

[2]中的實(shí)際測量結(jié)果表明,在大多數(shù)情況下,該方法能夠以低于5%的錯誤概率對分組進(jìn)行識別。

與第一種方法相比,上述方法能夠識別出使用可變端口的P2P流量(這正是當(dāng)前P2P應(yīng)用發(fā)展的一個趨勢),提高了其結(jié)果的準(zhǔn)確性,例如在同樣情況下,用戶數(shù)據(jù)特征識別法識別出的P2P流量是僅僅采用端口進(jìn)行識別的方法得到結(jié)果的3倍[2]。但是分析不難發(fā)現(xiàn),這一方法存在下述一些問題:

只能針對已知數(shù)據(jù)格式的P2P應(yīng)用進(jìn)行識別,這使得每出現(xiàn)一種新的P2P應(yīng)用,就需要修改上述實(shí)現(xiàn),因而造成其擴(kuò)展性不好;

對用戶數(shù)據(jù)的檢查不符合Internet的基本原則,并且由于諸如法律、個人隱私等原因,檢查用戶數(shù)據(jù)在許多情況下幾乎是不可能的;

由于需要對分組內(nèi)部數(shù)據(jù)進(jìn)行全面的檢查分析,使得其實(shí)現(xiàn)效率不是很高;

隨著技術(shù)的發(fā)展,一些P2P應(yīng)用開始以密文方式進(jìn)行數(shù)據(jù)傳輸,面對這種情況用戶數(shù)據(jù)識別方式則完全是無能為力。上述種種原因?qū)е掠脩魯?shù)據(jù)識別方法的通用性十分有限,而且,隨著P2P技術(shù)的發(fā)展,這種識別方法也會與通過固定端口進(jìn)行識別的方法相類似,逐漸不適應(yīng)實(shí)際的需要,因此有必要找到其他方法對P2P流進(jìn)行較為精確的識別。

分析端口識別法和應(yīng)用層特征識別法可以發(fā)現(xiàn),盡管兩者的實(shí)現(xiàn)機(jī)理完全不同,但是其基本思想均是基于P2P應(yīng)用的一些外在特征,并且這些外在特征是可以隱藏的,一旦出現(xiàn)上述情況,這些識別方法就不再適用。而且,上述兩種方法只能識別已知P2P協(xié)議的流量,一旦出現(xiàn)一種新的P2P應(yīng)用,必須修改上述識別方法才能對其進(jìn)行識別,這限制了它們的應(yīng)用范圍。因此,為了能從根本上解決這些問題,必須分析P2P應(yīng)用與其他一些諸如Web等應(yīng)用的根本區(qū)別,然后利用這些本質(zhì)特征對其進(jìn)行識別。下述兩種方法就分別從P2P應(yīng)用的流量特征以及P2P網(wǎng)絡(luò)的連接模式特征著手對其進(jìn)行了分析。

2.3流量模式識別法

這是在Caspian路由器中實(shí)現(xiàn)的一種功能,該路由器記錄經(jīng)過它的每條流的信息,因此可以實(shí)現(xiàn)基于流的流量識別和控制功能,以一種新的方式對P2P流量進(jìn)行識別和控制。并且,如前所述,這一解決方案是基于P2P流的內(nèi)在特征的,避免了前面兩種識別方法中的一些問題。

表1幾種比較常見IP服務(wù)的流量特征

服務(wù)持續(xù)時間平均速率傳輸字節(jié)數(shù)

HTTP短高中-高

VPN長低高

Games長低高

Streaming長中高

Telnet長低中

Fileshare/P2P長中-高高

上表1描述了幾種不同的應(yīng)用對應(yīng)的流量特征[4],由此可以看出,P2P應(yīng)用的特點(diǎn)是持續(xù)時間長、平均速率較高以及總的傳輸字節(jié)數(shù)高。這與文件傳輸如FTP等應(yīng)用有些類似,但是該類應(yīng)用可以很方便的通過端口號識別出來,而且由于這些應(yīng)用與用戶的交互性不如Web、視頻等應(yīng)用高,因此出現(xiàn)一定的誤判導(dǎo)致對它們的流量限制不會造成大的問題。

另外,根據(jù)流所包含的字節(jié)數(shù),可以很容易將普通Web流量同P2P文件共享流量區(qū)分開。下圖描述了兩者對應(yīng)的字節(jié)流量區(qū)別[4]。

圖1Web與P2P應(yīng)用的流量特征

可見,通過分析不同應(yīng)用的流量模式,可以實(shí)現(xiàn)識別P2P流量的目的。而且這一方法不需要對分組內(nèi)部用戶數(shù)據(jù)進(jìn)行檢查,因此不受數(shù)據(jù)是否加密的限制,擴(kuò)大了其適用范圍。但是,由于需要記錄每條流的信息,這種方法對內(nèi)存空間以及處理速度都提出了比較大的要求。

2.4連接模式識別法

[1]中提出了一種在傳輸層識別P2P流量的方法,它僅僅統(tǒng)計(jì)用戶分組的首部信息,而不涉及具體數(shù)據(jù)。因此一方面克服了前述方法對加密數(shù)據(jù)無法識別的問題,同時又不涉及用戶的具體數(shù)據(jù),符合Internet體系結(jié)構(gòu)中的端到端原則。其基本思想是:基于觀察源和目的IP地址的連接模式。一些模式是P2P所獨(dú)有的,因此可以由此直接將P2P流量識別出來;另外一些模式由P2P和其它少數(shù)應(yīng)用所共有,這時可以根據(jù)對應(yīng)IP地址的流歷史以及其它特征來減少誤判概率。

在這種思想的具體實(shí)現(xiàn)中,ThomasKaragiannis等給出了兩種啟發(fā)式方法:(1)識別出那些同時使用TCP和UDP進(jìn)行數(shù)據(jù)傳輸?shù)脑矗康腎P地址對。研究表明,大約2/3的P2P協(xié)議同時使用TCP和UDP協(xié)議,而其他應(yīng)用中同時使用兩種協(xié)議的僅僅包括NetBIOS、游戲、視頻等少數(shù)應(yīng)用[1]。因此,如果一個源-目的IP地址對同時使用TCP和UDP作為傳輸協(xié)議,那么可以認(rèn)為在這一地址對之間的流除一些已知的應(yīng)用外(對于這些應(yīng)用可以根據(jù)它們的特征將其排除),很有可能就是P2P流,可以將它們加入到候選P2P流的隊(duì)列中;(2)基于監(jiān)測{IP,端口}對的連接模式。這一方法的基本依據(jù)為:當(dāng)一個新的主機(jī)A加入P2P系統(tǒng)后,它將通過superpeer廣播其IP地址以及接受連接的端口號port。其他主機(jī)收到后利用這一信息與主機(jī)A建立連接。這樣,對端口port而言,與其建立連接的IP地址數(shù)目就等于與其建立連接的不同端口數(shù)目(因?yàn)椴煌鳈C(jī)選擇同一端口與主機(jī)A建立連接的可能性是很低的,完全可以忽略不計(jì))。而其他一些應(yīng)用如Web,一個主機(jī)通常使用多個端口并行接收對象,這樣建立連接的IP地址數(shù)目將遠(yuǎn)小于端口數(shù)目。但是另外一些應(yīng)用,如mail、DNS等,也具有類似的屬性,因此使用這種方法在實(shí)際識別過程中需要將它們區(qū)分出來。

3難點(diǎn)問題與研究路線

由上文的分析我們可以發(fā)現(xiàn),流量的識別過程本質(zhì)上就是根據(jù)流量或其中分組的基本特性,進(jìn)行模式識別的過程,考慮不同的特性可以設(shè)計(jì)出不同的識別方法,其實(shí)現(xiàn)的性能以及算法的通用性也會有很大不同。

當(dāng)前P2P流量識別的難點(diǎn)主要來自兩個方面:(1)Internet鏈路帶寬的不斷增長;(2)數(shù)據(jù)加密、隱藏等技術(shù)在P2P中的應(yīng)用。前者導(dǎo)致網(wǎng)絡(luò)中單位時間內(nèi)數(shù)據(jù)以及流數(shù)目的增大,給數(shù)據(jù)的采集增加了困難,而后者又使得傳統(tǒng)的端口、應(yīng)用層特征等識別方法不再適用。

流量模式分析和連接模式分析兩種方法盡管在一定程度上避開了難點(diǎn)(2)帶來的問題,但是它們的分析方法又略顯粗糙。而且在這兩種方法中,各種特征及其在識別過程中對最終結(jié)果的影響因子是由管理人員主觀確定的,無法由程序根據(jù)識別過程中學(xué)習(xí)的信息自動進(jìn)行調(diào)整。因此如何提取并有效利用P2P應(yīng)用的流量及連接特征仍是一個有待研究的問題,在下一步的研究中可以將模式識別和人工智能中的一些技術(shù)引入識別過程中,綜合運(yùn)用小波變換、人工神經(jīng)網(wǎng)絡(luò)等技術(shù)對P2P流量特征進(jìn)行發(fā)掘。

4結(jié)束語

當(dāng)前,網(wǎng)絡(luò)中P2P應(yīng)用的數(shù)目不斷增加,流量也呈現(xiàn)逐漸增長的趨勢,而且,分布式、加密、匿名P2P應(yīng)用越來越成為主流[3]。在這種情況下,為了滿足服務(wù)質(zhì)量、網(wǎng)絡(luò)規(guī)劃、計(jì)費(fèi)和審計(jì)等基本要求,必須對P2P流量進(jìn)行有效的識別和監(jiān)測。本文所描述的幾種典型的P2P流量識別方法,分別針對P2P流量不同方面的特征對其進(jìn)行了分析和識別。但是,隨著P2P技術(shù)的不斷發(fā)展,上述識別方法仍需要相應(yīng)的改進(jìn),包括挖掘P2P流量的深度特征,在識別系統(tǒng)中引入智能學(xué)習(xí)功能等。另外,在未來網(wǎng)絡(luò)的發(fā)展過程中,應(yīng)當(dāng)考慮在網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計(jì)引入這種流量識別監(jiān)測機(jī)制,以便對網(wǎng)絡(luò)中相關(guān)P2P流量進(jìn)行實(shí)時、高效的監(jiān)控。同時能夠根據(jù)網(wǎng)絡(luò)的運(yùn)行狀況以及用戶設(shè)定的處理規(guī)則對其進(jìn)行智能控制,從而為網(wǎng)絡(luò)管理人員提供一個便利的管理平臺。

參考文獻(xiàn)

1ThomasKaragiannis,AndreBroido,MichalisFaloutsos,etal.,TransportLayerIdentificationofP2PTraffic[C],IMC’04,October2004

2SubhabrataSen,OliverSpatscheck,DongmeiWang,Accurate,ScalableIn-NetworkIdentificationofP2PTrafficUsingApplicationSignatures[C],WWW2004,May2004

3ThomasKaragiannis,etal.,IsP2Pdyingorjusthiding?[E],/outreach/papers/2004/p2p-dying/p2p-dying.pdf

4CASPIANNetworks,Identifying&ControllingP2PTraffic[E],/files/Apeiro_P2P.pdf

5Allot,TrafficManagement[E],www.sandi.co.jp/seminar/report-040610/pdf/azi.pdf

6李人厚.智能控制理論和方法[M].西安:西安電子科技大學(xué)出版社,1999