• 沒有找到結果。

第五章 模擬結果

5.1 P2PNS簡介

P2PNS( Peer-to-Peer Network Simulation )是本論文用來作為測試的模擬平台,主要 由點對點網路框架( P2P Network Framework )、行為產生器( Action Generator )與計時器 ( Clock )三者組成。設計不同的點對點網路必須繼承點對點網路框架並做修改。行為產 生器則是負責合理產生各種網路行為,藉以代表真實世界中的應用。計時器主要負責整 個模擬環境的虛擬時間同步,計時器的一時間單位往往是實際時間的幾百甚至幾千倍,

端視模擬網路行為多寡而定。下面將介紹 P2PNS 的兩個主要元件:點對點網路框架、

行為產生器。

點對點網路框架( P2P Network Framework )

點對點網路框架概觀如圖表 47,點對點演算法( P2P Algorithm )是整個框架的核 心,因為所有的模擬行為都是在其內運行包含用戶端的搜尋、傳輸以及實體網路設備的 使用。繼承框架後主要的工作是利用點對點演算法提供的 API 重新實作加入、離開、分 享、搜尋等行為事件。至於用戶端與網路設備上的統計數據,API 底層的函式會主動累 積計算。

整體而言,點對點網路框架是建立在時間軸上,所有的行為事件都有其有效期限。

現行行為事件( Current Action Event )就是某一瞬間所有必須執行的行為事件集合。新的

行為事件都是由外部的新行為事件( New Action Event )傳入現行行為事件。除此之外,

行為事件常常會有延遲,如網路壅塞產生的延遲、封包傳遞的延遲等,這些有時差的行 事件都是利用延遲行為事件資料庫( Delay Action Event Database )來輔助。而所有的延遲 行為事件會經由驗證時間( Check Time )的機制,判斷是否再次加入現行行為事件,或者 因逾時而丟棄。

使用者取樣只需暫停現行時間,然後命令點對點網路框架對當時網路作統計即可,

送出的結果即為各項評比的相關數據。

圖表 47 P2P Network Framework

行為產生器( Action Generator )

行為產生器主要的功用就是產生合理的加入、離開、分享、搜尋等四個行為事件。

所有用戶端資訊與所有資料都是亂數產生的,整個邏輯網路的運行單位是用戶端,但是 實際上只是一個 IP,因此 IP 亂數產生器( Random IP Generator )即為產生用戶端的機制。

資料亂數產生器( Random Data Generator )則是用以產生資料及其相關資訊,如檔案大 小,檔案編號等。產生之後,可用用戶端和資料各記錄在運行用戶端資料庫( Action Host Database )與運行檔案資料庫( Action File Database )內。

加入事件( Join Event )直接來自 IP 亂數產生器產生的合理 IP,所謂合理就是不能產 生的 IP 不與運行用戶端資料庫中任一 IP 重複。離開事件( Depart Event )則是自運行用 戶端資料庫中選出數個用戶端成為離開的用戶端。而分享事件( Share Event )和搜尋事件 ( Query Event )都是同時配合運行用戶端資料庫與運行檔案資料庫產生的。每一個單位 時間,四者皆產生數個不同的事件,而所有產生的事件合稱新行為事件。

圖表 48 Action Generator

P2PNE 概觀

模擬實驗同時比較 DLC 與 Chord 兩種點對點網路,因此本論文使用的模擬器系統 概觀如圖表 49,其中 Chord Network 與 DLC Network 都是繼承點對點網路框架而實作 的。為了公平起見,兩者採用相同的計時器,所執行的行為事件也完全相同,藉此將其 他變數產生的誤差降到最低。每當計時器增加一個時間單位,行為產生器將產生新行為 事件,複製兩份同時傳送給 Chord Network 與 DLC Network。使用者可在任意時間監測 兩種網路的行為及統計數據。

圖表 49 P2PNS 系統概觀

P2PNS 開發平台:

JAVA:j2sdk1.4.2_07

IDE:Eclipse Platform Version: 3.1.0

設計 P2PNS 時,考慮模擬時間可能相當漫長,為了同時在多台機器上執行以減低 模擬時間,所以採用 Java 來設計以便能在各種不同的機器上執行,此外 Java 提供的 API 也較為豐富,減少許多開發時間的浪費。

相關文件