P2P流量識別與監測論文
時間:2022-03-12 10:48:00
導語:P2P流量識別與監測論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要隨著p2p應用的不斷增多,P2P流量所占網絡總流量的比重越來越大。準確地識別出網絡中P2P應用的流量對網絡規劃設計、QoS保證等都有十分重要的作用。介紹了當前P2P流量識別的研究現狀,綜述了四種典型的P2P流量識別技術:端口識別法、應用層特征識別法、流量模式識別法以及連接模式識別,分析了各個技術的優缺點,并對P2P流量識別的發展趨勢進行了一些探討。
關鍵詞P2P;流量識別;測量;加密;流量管理
引言
P2P(PeertoPeer)是近年來出現的一種新的網絡應用,它的出現開啟了網絡邊緣未使用的資源。當前隨著硬件價格的不斷下降,作為客戶端的PC機已經具有相當大的處理能力和存儲空間,然而這些資源在大部分時間都是處于閑置狀態。比如在當前Internet中流行的C/S配置模式中,用戶的PC機僅僅是被作為一個顯示網頁的工具。而P2P體系結構則可以使用這些PC機分擔網絡中心的任務。上百萬個Internet用戶組合得到的處理能力將遠遠高于任何一個中心服務器的處理能力。除此以外,P2P體系結構還具有開放性、可擴展性強等特點。所有這些使得P2P應用在短短幾年時間有了飛速的發展,其體系結構也經歷了由集中式服務器(Napster)到純分散式文件共享系統(Gnutella),再到部分分散式結構(KazaA);由使用固定端口到使用動態端口進行數據傳輸;由使用獨特端口到與其他應用合用端口(如使用Web應用的80端口等);由明文傳輸到進行數據加密傳輸等變化過程。
研究表明,盡管受版權等問題的困擾,當前P2P應用仍呈現快速增長的趨勢,并且變得越來越隱蔽[3]。P2P的飛速發展一方面豐富了網絡中的應用形式,但另一方面也帶來了許多負面的問題。如:P2P文件共享過程中的版權問題;P2P應用大量占用網絡帶寬的問題;以及P2P的流量模式對傳統網絡設計帶來的挑戰等,其中后者尤為網絡設計、管理人員所關注。我們知道,在Web應用流量占網絡流量主體時,由于Web流量的高度非對稱性(用戶鏈路的下行流量要遠遠高于其上行流量),大部分用戶接入方式如ADSL、Cablemodem等都設計為下行帶寬遠高于上行帶寬。而在P2P應用中,由于所有主機都是對等的,因此其流量具有很大的對稱性。研究表明,P2P應用與Web應用上行流量與下行流量的比率分別為1:1.25和1:7,兩者差別將近6倍[5]。因此上述設計理念在當前P2P流量占主體的網絡狀況下已經不再適應。
由此可見,P2P應用對網絡性能具有很大的影響,例如對于一些ISP而言,文件共享流量約占其總流量的60%,另外企業網絡中大量出現的P2P流也會極大地影響網絡性能。因此無論從ISP的角度還是從企業網絡管理人員的角度,都希望能夠將P2P流量有效的識別出來,從而便于網絡的規劃與管理。對于一個企業而言,可以限定P2P流量不超過某個閾值,從而能夠為其他重要的應用提供一定程度上的QoS保證;或者為了網絡管理的需要,直接在內部將P2P流量過濾掉。而對于ISP而言,可以在此基礎上對服務進行控制以及對用戶進行管理等。但是當前識別P2P的一個主要挑戰就是以一種可擴展的方式識別出P2P流量,同時不要求對所有的分組進行深層分組檢查(DPI,deeppacketinspection)。
文章后面部分按照下述方式組織:第一部分概述了P2P流量識別技術;第二部分詳細綜述了當前幾種常用的P2P流量識別技術;第三部分對P2P流量識別技術的發展進行了展望;最后對全文進行了總結。
1P2P流量識別技術概述
為了控制網絡P2P應用對帶寬的大量占用,必須首先對P2P流量進行有效地監控,它涉及到下面幾個方面的問題:流量采集、流量識別以及流量控制。在其中,流量的采集與其他網絡監測方式采用的技術完全一致,流量控制則取決不同的網絡管理策略,由網絡管理人員進行相應的設置,例如進行P2P流量限制或者完全過濾P2P流量等。因此,這里的關鍵部分是流量的識別操作。根據實現思想不同,可以將它分為多種類型,如基于分組分析、基于流分析等。其實現方式直接關系到整個監控系統的實現效率以及系統的可用性。
P2P應用從最初的采用固定端口發展到使用可變端口甚至使用其他應用的端口進行數據傳輸,在傳輸的具體內容方面也從使用明文傳輸發展到對傳輸數據進行加密處理,因此對P2P流量進行識別的技術也隨之經歷了相應的變化過程。本文中我們主要針對四種典型的識別方法進行討論,包括端口識別法、應用層特征識別法、流量模式識別法以及連接模式識別法。對于這幾種技術,我們將在第二節中進行詳細的討論。
2典型P2P流量識別技術
2.1端口識別法
在P2P應用興起的早期,大多數應用使用的都是固定端口,例如,Gnutella使用6346-6347端口,BitTorrent使用6881-6889端口等。在這種情況下,對其流量的識別方式與識別普通應用分組的方式完全相同:在需要監測的網絡中被動收集分組,然后檢查分組的運輸層首部信息,如果端口號與某些特定的端口號匹配,則說明該分組即為P2P流量分組,可以按照預設的動作對其進行處理。這種識別方法最大的優點就是簡單易行,它不需要進行復雜的分組處理即可得出結論。在P2P應用出現的初期它顯得十分簡單有效,但是隨著P2P技術的發展,該方法逐漸變得不再適用,因此后來又出現了一些新的技術方案。
2.2應用層特征識別法
與第一代使用固定端口進行數據傳輸的P2P應用不同,當前許多P2P應用都能夠通過使用隨機端口來掩蓋其存在,有些甚至可以使用HTTP,SMTP等一些協議使用的熟知端口,這增加了識別P2P流量的難度:簡單的通過分析分組首部的端口信息已經無法識別出這類應用的存在。
但是,每種應用的分組中都攜帶有特定的報文信息,例如,HTTP協議報文中會出現GET,PUT,POST等報文字樣。與之相類似,在各種P2P應用協議中也具有類似的信息。因此,人們提出了通過檢查分組內部攜帶的負載信息進行分組識別的方法。文獻[2]提出了一種利用應用層特征的方式對P2P流量進行識別。在[2]中,作者首先對5種常見的P2P協議(KaZaA,Gnutella,eDonkey,DirectConnect以及BitTorrent)的特征進行了分析,提取出其特征信息,然后根據特征信息對收集到的分組進行模式匹配操作,從而判斷出該分組是否屬于某一類P2P應用分組。例如,Gnutella的連接建立報文具有下述格式
GNUTELLACONNECT/<protocolversionstring>\n\n
而應答報文格式如下
GNUTELLAOK\n\n
根據這些以及其他類似特征,即可判定相應報文是否為P2P應用報文,并由此確定某個流是否為P2P流。
[2]中的實際測量結果表明,在大多數情況下,該方法能夠以低于5%的錯誤概率對分組進行識別。
與第一種方法相比,上述方法能夠識別出使用可變端口的P2P流量(這正是當前P2P應用發展的一個趨勢),提高了其結果的準確性,例如在同樣情況下,用戶數據特征識別法識別出的P2P流量是僅僅采用端口進行識別的方法得到結果的3倍[2]。但是分析不難發現,這一方法存在下述一些問題:
只能針對已知數據格式的P2P應用進行識別,這使得每出現一種新的P2P應用,就需要修改上述實現,因而造成其擴展性不好;
對用戶數據的檢查不符合Internet的基本原則,并且由于諸如法律、個人隱私等原因,檢查用戶數據在許多情況下幾乎是不可能的;
由于需要對分組內部數據進行全面的檢查分析,使得其實現效率不是很高;
隨著技術的發展,一些P2P應用開始以密文方式進行數據傳輸,面對這種情況用戶數據識別方式則完全是無能為力。上述種種原因導致用戶數據識別方法的通用性十分有限,而且,隨著P2P技術的發展,這種識別方法也會與通過固定端口進行識別的方法相類似,逐漸不適應實際的需要,因此有必要找到其他方法對P2P流進行較為精確的識別。
分析端口識別法和應用層特征識別法可以發現,盡管兩者的實現機理完全不同,但是其基本思想均是基于P2P應用的一些外在特征,并且這些外在特征是可以隱藏的,一旦出現上述情況,這些識別方法就不再適用。而且,上述兩種方法只能識別已知P2P協議的流量,一旦出現一種新的P2P應用,必須修改上述識別方法才能對其進行識別,這限制了它們的應用范圍。因此,為了能從根本上解決這些問題,必須分析P2P應用與其他一些諸如Web等應用的根本區別,然后利用這些本質特征對其進行識別。下述兩種方法就分別從P2P應用的流量特征以及P2P網絡的連接模式特征著手對其進行了分析。
2.3流量模式識別法
這是在Caspian路由器中實現的一種功能,該路由器記錄經過它的每條流的信息,因此可以實現基于流的流量識別和控制功能,以一種新的方式對P2P流量進行識別和控制。并且,如前所述,這一解決方案是基于P2P流的內在特征的,避免了前面兩種識別方法中的一些問題。
表1幾種比較常見IP服務的流量特征
服務持續時間平均速率傳輸字節數
HTTP短高中-高
VPN長低高
Games長低高
Streaming長中高
Telnet長低中
Fileshare/P2P長中-高高
上表1描述了幾種不同的應用對應的流量特征[4],由此可以看出,P2P應用的特點是持續時間長、平均速率較高以及總的傳輸字節數高。這與文件傳輸如FTP等應用有些類似,但是該類應用可以很方便的通過端口號識別出來,而且由于這些應用與用戶的交互性不如Web、視頻等應用高,因此出現一定的誤判導致對它們的流量限制不會造成大的問題。
另外,根據流所包含的字節數,可以很容易將普通Web流量同P2P文件共享流量區分開。下圖描述了兩者對應的字節流量區別[4]。
圖1Web與P2P應用的流量特征
可見,通過分析不同應用的流量模式,可以實現識別P2P流量的目的。而且這一方法不需要對分組內部用戶數據進行檢查,因此不受數據是否加密的限制,擴大了其適用范圍。但是,由于需要記錄每條流的信息,這種方法對內存空間以及處理速度都提出了比較大的要求。
2.4連接模式識別法
[1]中提出了一種在傳輸層識別P2P流量的方法,它僅僅統計用戶分組的首部信息,而不涉及具體數據。因此一方面克服了前述方法對加密數據無法識別的問題,同時又不涉及用戶的具體數據,符合Internet體系結構中的端到端原則。其基本思想是:基于觀察源和目的IP地址的連接模式。一些模式是P2P所獨有的,因此可以由此直接將P2P流量識別出來;另外一些模式由P2P和其它少數應用所共有,這時可以根據對應IP地址的流歷史以及其它特征來減少誤判概率。
在這種思想的具體實現中,ThomasKaragiannis等給出了兩種啟發式方法:(1)識別出那些同時使用TCP和UDP進行數據傳輸的源-目的IP地址對。研究表明,大約2/3的P2P協議同時使用TCP和UDP協議,而其他應用中同時使用兩種協議的僅僅包括NetBIOS、游戲、視頻等少數應用[1]。因此,如果一個源-目的IP地址對同時使用TCP和UDP作為傳輸協議,那么可以認為在這一地址對之間的流除一些已知的應用外(對于這些應用可以根據它們的特征將其排除),很有可能就是P2P流,可以將它們加入到候選P2P流的隊列中;(2)基于監測{IP,端口}對的連接模式。這一方法的基本依據為:當一個新的主機A加入P2P系統后,它將通過superpeer廣播其IP地址以及接受連接的端口號port。其他主機收到后利用這一信息與主機A建立連接。這樣,對端口port而言,與其建立連接的IP地址數目就等于與其建立連接的不同端口數目(因為不同主機選擇同一端口與主機A建立連接的可能性是很低的,完全可以忽略不計)。而其他一些應用如Web,一個主機通常使用多個端口并行接收對象,這樣建立連接的IP地址數目將遠小于端口數目。但是另外一些應用,如mail、DNS等,也具有類似的屬性,因此使用這種方法在實際識別過程中需要將它們區分出來。
3難點問題與研究路線
由上文的分析我們可以發現,流量的識別過程本質上就是根據流量或其中分組的基本特性,進行模式識別的過程,考慮不同的特性可以設計出不同的識別方法,其實現的性能以及算法的通用性也會有很大不同。
當前P2P流量識別的難點主要來自兩個方面:(1)Internet鏈路帶寬的不斷增長;(2)數據加密、隱藏等技術在P2P中的應用。前者導致網絡中單位時間內數據以及流數目的增大,給數據的采集增加了困難,而后者又使得傳統的端口、應用層特征等識別方法不再適用。
流量模式分析和連接模式分析兩種方法盡管在一定程度上避開了難點(2)帶來的問題,但是它們的分析方法又略顯粗糙。而且在這兩種方法中,各種特征及其在識別過程中對最終結果的影響因子是由管理人員主觀確定的,無法由程序根據識別過程中學習的信息自動進行調整。因此如何提取并有效利用P2P應用的流量及連接特征仍是一個有待研究的問題,在下一步的研究中可以將模式識別和人工智能中的一些技術引入識別過程中,綜合運用小波變換、人工神經網絡等技術對P2P流量特征進行發掘。
4結束語
當前,網絡中P2P應用的數目不斷增加,流量也呈現逐漸增長的趨勢,而且,分布式、加密、匿名P2P應用越來越成為主流[3]。在這種情況下,為了滿足服務質量、網絡規劃、計費和審計等基本要求,必須對P2P流量進行有效的識別和監測。本文所描述的幾種典型的P2P流量識別方法,分別針對P2P流量不同方面的特征對其進行了分析和識別。但是,隨著P2P技術的不斷發展,上述識別方法仍需要相應的改進,包括挖掘P2P流量的深度特征,在識別系統中引入智能學習功能等。另外,在未來網絡的發展過程中,應當考慮在網絡體系結構設計引入這種流量識別監測機制,以便對網絡中相關P2P流量進行實時、高效的監控。同時能夠根據網絡的運行狀況以及用戶設定的處理規則對其進行智能控制,從而為網絡管理人員提供一個便利的管理平臺。
參考文獻
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].西安:西安電子科技大學出版社,1999
- 上一篇:工業太網傳輸分析論文
- 下一篇:無線Mesh網絡應用論文