Packet-level Peer-to-Peer Simulation Framework and GnutellaSim



GnutellaSim is a scalable packet-level Gnutella simulator that enables the complete evaluation of the Gnutella system with a detailed network model. GnutellaSim is based on a framework we designed for packet-level peer-to-peer system simulation , which features functional isolation and a protocol- centric structure, among other characteristics. The framework is designed to be extensible to incorporate different implemenation alternatives for a specific peer-to-peer system and is portable to different network simulators.

To support GnutellaSim and to facilitate the simulation of other applications on ns2, we also extended the TCP implementation in ns2 to make it closer to real TCP.  The additional features include: receiver advertised window, sender buffer, Socket-like APIs,  dynamic connection establishment of TCP, and real payload transfer. This part of the code could be independently used.

The GnutellaSim project has been supported in part by the NSF under grant numbers ANI-9973115, ANI-9977544 and ANI-0136939.


"Mapping Peer Behavior to Packet-level Details: A Framework for Packet-level Simulation of Peer-to-Peer Systems",
Q. He, M. Ammar, G. Riley, H. Raj and R. Fujimoto, to appear in MASCOTS 2003

Getting Started

Enhancement to ns2 TCP implementation

To support GnutellaSim, we made changes to the TCP implemenation in ns2.

Contact Us

   Qi He (, Ph.D student
  Networking and Telecomm Group
  College of Computing
  Georgia Institute of Technology
  Atlanta, GA 30332-0280
  Last Modified: Sept 9, 2003

You are number to access this page since Sep 10, 2003 .