天天看點

轉帖關于p2p 模拟器的介紹 歡迎批評指教

                           轉帖關于p2p 模拟器的介紹

FreePastry仿真器是一個采用Java的Pastry協定的開源應用的仿真器。仿真器變量的設定,如節點的個數、生成事件的數量等,依靠啟動本地仿真器時的指令行輸入。

FreeNet仿真器用來分析FreeNet協定,評價了不同的緩存算法,采用兩步機制來支援多消息發送的事件處理。

NeuroGrid是一個基于JAVA的覆寫仿真器,側重于仿真檔案共享系統中的搜尋協定的仿真。NeuroGrid産生的目的是用于比較 FreeNet [25], Gnutella [2 6] and NeuroGrid [26] 協定的優劣,這與其他隻适用于特定的P2P系統的仿 真器不同,NeuroGrid可以仿真包括分布式DNS和分布式e-mail協定。該仿真器是一個單線程離散事件仿真器,能讀取使用者運作時修改的屬性文 件,使用者修改的變量包括需要仿真的協定名稱、網絡特征和選擇進行搜尋的成員數量。統計結果可以被單獨儲存在檔案中,用于日後分析。

3LS (3-Level-Simulator)是為覆寫網絡仿真的開源仿真器,開發時聲稱克服了已有仿真器存在的問題,具有可擴充性、可用性和層次細 節,可以分别定義網絡級、協定級和使用者級仿真環境。網絡通信隻能在相同的層次間進行,網絡層仿真底層的網絡,用一個二維的矩陣存儲節點間的距離。協定層表 示需要仿真的實際協定;使用者層表示來自使用者的實際輸入,仿真器可以通過一個圖形接口或檔案的方式得到輸入。3LS的應用并不十分令人滿意,由于被仿真器執 行的每個事件占用主存儲器來更容易通過一個圖形接口重制網絡。這限制了能夠仿真的節點的數量,通常2GB記憶體的機器隻能仿真一千個節點。因為這個原因, 3LS通常可以被用做編譯器,在仿真網絡的動态性能方面的支援能力是非常有限的。

GnuSim[9]:一個通用Gnutella 和非結構化P2P網絡仿真器,使用C++語言實作的,基于事件驅動的P2P網絡和協定仿真器,用于構造 Gnutella和非結構P2P網絡模型。該仿真器的目的是驗證在P2P網絡中使用的各種模式,并評估其性能和價值。另外,該模型還被用來測量與比較 P2P網絡中的具有查詢内容和下載下傳功能的不同模型的性能。考慮到P2P網絡中非可控負載的重要性,該仿真器重點提供了一些變量來仿真故障率現象。另外,為 評估應用了QoS方法的P2P系統的性能,提供了三個與QoS相關的變量。

PeerSim[10]是用JAVA實作、基于元件技術的仿真器,更好地支援了P2P網絡的可擴充性和動态性。它使用兩種模型,一種是基于環的模型,另一種是基于事件的模型。 它支援基于對象的有标準元件的程式設計,實作同一接口的元件可以很容易地替代其他的元件。

Stanford大學的QueryCycle 好像是非結構化的

還可以用NS-2來仿真

p2psim好象是支援結構化的網絡