1.3 Network Simulators
Network simulators are typically used to simulate network communications in
particular scenarios or situations, without configuring ‘real’ machines or networks.
Simulators can help with the development and testing of a network application. There
are two main types of network simulators, packet-based and flow-based. Packet-based
network simulators, attempt to simulate data packets, such as NS-2 [13]. Other
simulators are flow-based, and work at the application level, which means they
disregard parts of the TCP/network stack. Several flow-based simulators, such as GPS
[14] have a mechanism to introduce packet delay, to provide realistic communication
characteristics, while others do not. Typically, packet-based simulators take longer to
complete a simulation than flow-based simulators. This is because of the calculations
made for each packet in the simulated network. Network simulators normally allow a
developer to produce a network topology and define delay, bandwidth and
connection/traffic characteristics for the nodes and links.
Lately, network simulators have evolved to allow the simulation of P2P systems.
Network simulators such as NS-2 have been used for testing P2P protocols, while
other network simulators, like OMNeT++ [15] have been forked to produce a
simulator specifically designed for P2P systems, namely OverSim [16].
P2P system development has many common issues found with programming other
distributed systems, such as difficulty when debugging. P2P systems add further
complications, especially when testing different topologies and setting–up scenarios
across multiple machines. Finding stable wide-area network connections and suitable
machines on these links is also a problem and can be impractical. Because the
environment is not fully controlled and results gathered may not be consistent. The
time taken to develop a P2P system can be longer, due to these issues. P2P network
simulators try to address the increased difficulty when designing or testing P2P
systems, by providing a virtual network environment.
This report will discuss the various network simulators suitable for P2P networks and
their features. We outline our experiences using the simulators and their ability to
model the Portal-based P2P system. Section 2 will review the network simulators and
provide the criteria for their suitability for our system. Section 3, discusses issues and
configurations with the simulators. Finally, Section 4 summarises and concludes.
2. Review
Simulators can be classified into two categories, packet-based and application-level.
Packet-based simulators calculate delay, bandwidth and routing for each packet
generated or used by the simulation. Application-level simulators do not account for
each packet instead they calculate bandwidth and delay to/from network end-points.
Application-level simulators usually use the terms ‘flow-based’ or ‘message-based’ to
describe how they evaluate communications between nodes in the simulation.
This section will review several network simulators suitable or specifically designed
for P2P systems. We define the criteria for the simulators, which lists our needs from
a simulator. Following this, we move on to detail the simulators, which includes NS-