天天看點

P2P仿真平台比較

由于網絡的研究和設計的複雜度很大,不能給出抽象的模型,且實驗成本很高。研究人員對真實或接近真實的大規模網絡實驗環境的需求越來越強烈。大規模網絡試驗環境是目前計算機網絡研究迫切需要解決的問題。

首先看一下目前使用較多的一些開源的P2P網絡仿真器情況,其它的一些仿真器由于使用的人較少或者多年沒有更新,是以沒有在這裡提及。

  • PeerSim 

PeerSim 是一個模拟P2P overlay網絡的軟體,支援結構化和非結構化P2P網絡模拟。PeerSim有兩種模拟方式,cycle-based和event-driven。event-driven模式相對精确,cycle-based模式缺少傳輸層的模拟而且不能起到并發控制的作用,但占用資源少以适合于大規模的模拟,根據官方所發表的一篇最新論文,在擁有4GB記憶體的情況下,event-driven模式目前最多支援十萬節點級别,而cycle-based模式則支援千萬個節點級别。 

PeerSim本身不帶任何具體的協定實作,但是提供了很好的擴充性,目前已經有研究人員在其基礎上實作了Bandwidth management protocol,a fault-tolerant FSM,Pastry,Chord,Skipnet,BitTorrent,Aggregation,SG-1,Peer sampling service,T-Man,PdProtocol,Slacer等協定,可以在項目首頁上下載下傳,但官方并不提供直接支援。

PeerSim采用Java語言,截止到2009年12月,PeerSim 下載下傳次數已經超過12000次,已經有150多篇重要的P2P方面論文中使用PeerSim 模拟器,當中很少一部分是由 PeerSim 的作者編寫的,但是PeerSim不支援分布式模拟。

更新情況:最新的主要版本1.0.0釋出于2005年11月11日,後續的版本的更新修改事實上都極小,目前最高版本是2009年9月29日釋出的1.0.5版本。

文檔情況:官方隻釋出三篇文檔,無論是cycle-based還是event-driven模式的文檔都很少,源代碼雖然不是很多,但是缺少必要的注釋。

項目首頁:http://peersim.sourceforge.net/

  • Oversim

OverSim運作在類UNIX系統,采取OMNeT++ 實作其網絡層,支援無結構和結構化P2P協定,已經實作了Chord, Pastry, Bamboo, Koorde, Broose, Kademlia, GIA, Vast和Publish-Subscribe for MMOGs協定。

OverSim 擁有圖形化的互動界面,友善驗證和調試。有INETUnderlying 網絡和 Simple Underlying網絡用于模拟網絡層。能夠模拟10萬節點以上的規模,模拟代碼易轉化成為仿真代碼,現在 OverSim 已經成功将一個基于P2P的DNS系統部署在PlanetLab 當中,實作了P2PNS系統,部署于450個節點上。

OverSim的實作語言為C++,綜合來看,Oversim也是一個優秀的仿真工具。

更新情況:最近更新時間為2009年9月28日,近年來更新最頻繁的模拟軟體。

文檔情況:很少。

項目首頁:http://www.oversim.org/

  • P2Psim

P2Psim 是一個免費的,多線程的,不關聯的事件模拟器,用來評估,審查,和探索peer-to-peer協定,運作在UNIX-Like系統上,采用C++語言。P2Psim支援攪動、支援疊代和遞歸路由查詢、可以通過繼承來實作新協定、支援多種底層網絡拓撲格式、支援一種網絡時延模型;但是不支援分布式模拟和帶寬變動,節點規模小(3000節點)。已經實作的協定有:Chord, Koorde, Kelips, Tapestry, Kademlia。

更新情況:最新版本釋出于 2005年4月18日,四年半沒有任何更新。

文檔情況:不完善,基本沒有文檔。

項目首頁:http://pdos.csail.mit.edu/P2Psim/

綜合各方面考慮,覺得 Oversim 和 PeerSim 都是比較好的選擇。

非常感謝:http://leeing.org/tag/p2psim/

繼續閱讀