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

Authors

Overview

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.