• 沒有找到結果。

傳輸層中辨別 P2P 傳輸(Transport Layer Identification of P2P Traffic)25

在文檔中 P2P軟體對網路影響之研究 (頁 34-40)

第三章 相關研究

3.1 傳輸層中辨別 P2P 傳輸(Transport Layer Identification of P2P Traffic)25

在第一代 P2P 技術中,由於每種 P2P 軟體皆使用固定的通訊埠來進行溝通,所以我 們可以容易的辨別出何者是屬於 P2P 的傳輸。然而隨著 P2P 技術的進步以及法律上的考 量,在第二代及第三代的 P2P 軟體已經可以讓使用者自行設定通訊埠來進行傳輸甚至隨 機產生,因此也造成了無法再依照固定的通訊埠來辨別 P2P 流量的困難。

Thomas Karagiannis 等人[ 11 ]在 2004 年的 Internet Measurement Conference 中提出 一套在網路傳輸層中來辨別 P2P 流量的方法,藉由觀察網路連結行為樣式(connection pattern),來判定 P2P 流量。此方法是藉由大量的網路連線行為觀察中,歸納出兩個辨 別原則,進而設計出 PTP 演算法(P2P Traffic Profiling algorithm)。這兩條歸納原則是 TCP/UDP IP pairs 原則和{IP, Port} pairs 原則,分別說明如下

‹ TCP/UDP IP pairs 原則:

在目前熱門的 P2P 軟體中,例如 eDonkey、FastTrack、Gnutella 等,連線雙 方都會同使用 TCP 和 UDP 傳輸協定。一般而言,都是利用 UDP 來傳送控制訊

輸協定的軟體非常少,如圖 18 列出了此類的軟體,因此我們可以利用此原則來 辨別屬於 P2P 的網路流量。

圖 18TCP/UDP IP pairs 原則例外通訊埠

‹ {IP, Port} pairs 原則:

在這個原則中,是利用{IP, Port} pairs 連線行為樣式做為分析的依據,因為 自從集中式的 P2P 網路架構被認定為違法後,P2P 網路朝向分散式(distributed network)或者是混合式(hybird network)網路模式發展,不管是分散式或混合 式的 P2P 網路中,當一個新節點要加入這個網路時,這個新節點必須知道一些已 經在網路中的節點列表,這些節點稱為超節點(superpeer),這樣可以簡化建立 連線的過程。

當新節點與超節點建立連線後,新節點會藉由超節點將自己的連線資訊也 就是 IP 位址及設定通訊埠號碼({IP, port} pair)廣播至整個網路中,以便讓網路 中其他的節點可以進行通訊。通常在 P2P 網路中,任兩個節點只會存在一條連 線。因此,考慮當網路中有二十個節點要與新節點連線時,這些節點會打開一個 暫時的連接埠和新節點進行連線,此時,新節點的連線資訊({IP, Port})就會同 時與二十個不同的{IP, Port}有關連,整個連線過程如圖 19。藉由上述的觀察結 果,當發現到同一個{IP, Port} pair 同時與多個不同的{IP, Port} pair 進行連線時,

我們就可以將此傳輸判定為 P2P 傳輸。

圖 19{IP, Port} pairs 原則示意圖

圖 20 PTP 分析演算法

依據前述的兩項原則所提出的分析演算法如圖 20 所示,此演算最大的特點是能夠 辨別未知的 P2P 通訊協定,將此演算法用於實際的環境進行分析,所得的結果如圖 21 所示,結果指出 PTP 演算法成功的辨識出 90%的 P2P Bytes 和超過 99%的 P2P flows。

圖 21 PTP 演算法實驗結果

由於這個演算法是透過 P2P 軟體在網路中連線的行為模式來判定是否屬於 P2P 的流 量,但是網路的應用中存在其連線行為模式和此方法中所提到的第二個原則相同,卻不 是 P2P 的應用,例如 web server 的連線行為就和{ip, port} pairs 原則一樣,就是 server 的連線資訊可能同時和多個相異的{ip, port} pair 有關連。雖然這類的連線可以透過 well-known port 而過濾,但仍有可能影響到我們對 P2P 流量的判定。

3.2 利用軟體特徵辨別P2P流量(Accurate, Scalable In-network Identification of P2P Traffic Using Application Signatures)

P2P檔案分享軟體越來越盛行,佔用的網路頻寛越來越大,對於網路管理人員 或是ISP業者想要對P2P流量進行管理,首先要能準確的辨別P2P流量,因為P2P技術 的進步,以往藉由預設的通訊埠來判斷P2P流量已經不是那麼準確。

封包內容分析技術已經廣泛的應用於網路安全中,例如網路入侵偵測系統。

Subhabrata Sen、Oliver Spatscheck、Dongmei Wang[ 6 ] 將此概念用於P2P流量的辨 別,就是利用分析每個封包的內容來判斷此封包是否是由P2P軟體所產生的,針對 目前比較熱門的P2P軟體,如Gnutella、eDonkey、DirectConnect、BitTorrent、Kazza,

從分析這些軟體所使用的通訊協定及相關的文件,粹取每種應用程式的特徵

(Application Signature),將這此特徵用於網路流量的辨識中。

針對Gnutella通訊協定分析所獲得的軟體特徵為:

z 封包開頭字串為“GNUTELLA"、“GET"、“HTTP"

z 若封包開頭字串為“GET"、“HTTP",則其內容必包函含下面其 中一個字串,“User-Agent: <name>"、“UserAgent: <name>"、

“Server: <name>"

針對eDonkey通訊協定分析所獲得的軟體特徵為:

z 封包開頭的第一個Byte為eDonkey marker,其值固定為0xE3 z 封包的第二到第四個表示封包內容的長度

針對DirectConnect通訊協定分析所獲得的軟體特徵為:

z 封包開頭的第一個字元為“$",而最後一個字元為“|"

z 在“$"緊接一個以空白字元結束的字串,此字串為 DirectConnect命令。

針對BitTorrent通訊協定分析所獲得的軟體特徵為:

z 封包的第一個Byte,其值為0x19

z 接下來的19個Bytes,為一個長度19的“BitTorrent protocol"字串 針對Kazaa通訊協定分析所獲得的軟體特徵為:

z 封包開頭字串為“GET"、“HTTP",且封包中包含”X-Kazaa”字串

因為在封包中搜尋字串相符的字串需要大量的計算時間,為了能夠在高速的網 路中快速的進行辨識,將所定義的P2P軟體特徵分成兩個部分:固定位移比對(Fixed Offset Match)、變動位移比對(Variable Offset Match)。固定位移比對,主要是 將P2P軟體特徵和TCP封包內容中特定的Byte進行比對,這樣比對方式所需要的計 算相當的低。而變動位移比對則是透過正規表示式(Regular expression)來比對。

將這些定義的P2P軟體特徵實作在Gigascope[ 1 ]中進行驗證,Gigascope為一高 速網路流量監測器,所能監測的網路流量最高可到達OC-48(2.4Gbps),實驗的結 果證明定義的P2P軟體特徵可以精確的辨別出各種P2P軟體所產的網路流量,且精確 度高於一般以通訊埠分辨的方法,實驗結果如圖22,對於Kazaa的分辨,

Signature-Based的辨別率比Port-Based的辨別率比高出3倍。

圖 22 Port-based 和 Signature-based 的精確度比較

利用軟體封包的特徵來判別 P2P 的流量,除了可以提高辨識率,也能對各種不同 P2P 軟體所產的流量進行統計,提供相關的資訊給研究人員,針對特別的 P2P 軟體來進 行效能上的改進。在本研究中也將利用相同的分式,來探討目前網路上各種熱門的 P2P 軟體的使用情形。

在文檔中 P2P軟體對網路影響之研究 (頁 34-40)