李 莉
(河南科技學院,河南 新鄉 453003)
國內對于 P2P技術的研究和應用都進行得火熱,但是對于P2P流量監控技術的研究卻很少,很難在各大論文庫中檢索到P2P流量檢測方面的中文文章,而高水平的論文更是少之又少。但是國內部分網絡設備生產商已經推出了P2P流量監控的相關產品,如華為的SecPath 1800防火墻[14]和Euenmon。防火墻以及CAPTECH的網絡管理軟件——網絡慧眼。這些產品采用的都是深層數據包檢測技術。
國外P2P流量檢測方面的研究工作和產品化工作都做得很好,特別是深層數據包檢測技術已經發展得非常成熟。Subhabrata Sen等人于2004年初提出基于應用簽名的P2P流量檢測方法,實際上是深層數據包檢測方法的一種,該方法把payload特征分為固定偏移量(fixed offset)特征和變化偏移量(variable offset)特征,第一步檢查固定偏移量,第二步檢查變化偏移量,在性能和精度上都取得了令人滿意的效果。韓國的 James Won Ki Hong等人于2003年提出基于傳輸層特征的P2P流量檢測方法,該方法先通過離線統計的方式找到各種P2P應用的常用端口,然后把這些常用端口信息用到流量檢測中作為應用分類的依據。試用該方法針對韓國當時流行的P2P軟件進行了測試,但是沒有給出性能參數。Thomas Karagiannis等人在仔細研究了P2P流量的傳輸層特征后于2004年提出一種基于傳輸層特征的P2P流量檢測方法,該方法以P2P流量的傳輸層所表現出來的兩種一般性特征為依據,結合傳統的端口檢測技術,能夠有效地檢測到新的P2P應用的加密和P2P應用,但是改方法過于復雜且不能對P2P應用進行分類,另外他們還沒有考慮對該方法的性能優化。國外網絡設備生產商和網絡服務提供商都推出了相關的產品和技術,如Cisco公司的Neflow技術,Allot的故障恢復流量管理方案(fail safetrafficm anagementsolutions),CacheLogic公司的CacheLogic P2P管理方案,VersoTechnologies的NetSpective系列產品等,其中NetSpectiv系類產品已經擁有了攔截加密 P2P應用Skype的能力。縱觀這些產品,全部都使用了自行研發的深層數據包檢測技術,除了性能的識別精度商存在差別外,其技術的本質是相同的。目前為止唯一有據可查的使用基于流量特征的檢測方法的產品是流量監控系統NG-MON,韓國的JamesWonKiHong等人在該系統商使用了他們自主研發的基于流量特征的P2P檢測技術,但是沒有給出具體的性能參數。
據包分類就是根據數據包本身攜帶的信息或與數據包有關的信息(主要指IP包頭和傳輸層頭部攜帶的信息)索引預先設置的分類器,查找匹配的規則來達到區分數據包的目的(圖1)。數據包分類的結果決定了這個數據包屬于哪一數據流以及此數據包應達到什么樣的服務等級,然后轉發引擎根據分類的結果采用相應的處理來滿足用戶的需求。這些處理可能包括丟棄未授權的分組、進行特殊的排隊和調度處理或者作為路由選擇的依據等。許多網絡服務需要進行數據包分類,如尋路、防火墻訪問控制、策略路由和業務帳單等。

圖1 數據包分類示意圖
類器是分類規則和分類策略的集合。一般情況下,分類器中的一條規則代表一種業務流,在數據包轉發過程中接受相同的服務。分類規則是分類算法處理數據包的依據。一條分類規則可以看成是一個過濾器(Filter)和一種處理行為(Action)的組合。通常分類規則過濾器(Filter)涉及到數據包包頭(包括IP頭和傳輸層頭部等)的一個或多個字段,如ToS(8bits)、源IP地址(32bits)、目的IP地址(32bits)、協議(8bits)、源端口(16bits)和目的端口(16bits)。分類后的處理行為(Action)包括數據包的丟棄優先級、調度策略、緩存區和帶寬管理策略和路由選擇策略等。此外處理行為中還必須包括一個優先級標識符來解決一個數據包符合多個分類規則的情況,即分類規則相互重疊的情況。
針對目前城域網100G以上的流量,在設計系統的架構時就需要特別考慮。選擇一種最適合的架構來滿足城域網上對100G流量性能的要求。由于P2P應用協議類型、實現機理的多樣性,為了徹底監管和控制P2P流,只能采取綜合性解決方案,在綜合考察了最新P2P流量控制技術及設備的前提下,設計了P2P流量綜合控制系統,如圖2所示。
該系統采用分布的架構設計恐想。系統主要由五大功能模塊組成,包括P2P檢測模塊、管理模塊以及執行模塊,每個模塊又含有若干部件。映射到具體網絡設備中,各設備的P2P控制功能就是由這些部件組合而實現的。由于設備性能的限制,要處理100G以上的大流量,只能考慮采用分布式部署的方案。這樣將分布式部署多個業務識別模塊和業務執行模塊。各個業務識別模塊的識別、統計業務數據信息都統一上報給業務管理模塊,由該模塊匯總所有的流量信息,然后根據管理員設置的各種控制策略,有效地限制和阻斷P2P流量數據,保障網絡和業務的安全性。

圖2 P2P流量監控系統框架
P2P流量的控制與反控制是一個不斷發展變法的過程。最初的P2P流量是可以通過其固定服務器IP地址及端口號加以識別的,很快便大量出現了采用隨機動態端口、偽裝端口的分布式P2P應用軟件,并且已出現了加密的P2P流,甚至出現了在安全的套階層SSL通道上傳輸的P2P流,越來越不易被識別。
[1]劉強.P2P流量監控技術研究與實現[D].北京:北京郵電大學,2008.
[2]徐烙.P2P流量的監控與管理[J].中國教育網絡,2006.
[3]Peer-to-PeerComputingDejanS.Milojicic,VanaKalogeraki,RajanLu Kiran Nagaraja,Jim Pruyne,Bruno Richard,Sami Rollions,Zhichen Xu,HP Laboratiories Palo Alto HPL-2002-57 March 8 th,2002.
[4]BRADEN R,CLARK D,SHENKER S.Integrated Services in the Internet Architecture.An Overview,IETF RFC 1633[S],1994.