differentiate and clarify those that easy to cause confusion among readers. We generally introduce the basic
idea of the network simulation and simulator and then discuss the difference between simulation and
emulation.
2.1. Network simulation and simulator
Generally speaking, network simulators try to model the real world networks. The principal idea is that if a
system can be modeled, then features of the model can be changed and the corresponding results can be
analyzed. As the process of model modification is relatively cheap than the complete real implementation, a
wide variety of scenarios can be analyzed at low cost (relative to making changes to a real network). Network
simulator always contain the
However, network simulators are not perfect. They can not perfectly model all the details of the networks.
However, if well modeled, they will be close enough so as to give the researcher a meaningful insight into the
network under test, and how changes will affect its operation.
2.2.Simulation and emulation
In the research area of computer and communications networks, simulation is a useful technique since the
behavior of a network can be modeled by calculating the interaction between the different network
components (they can be end-host or network entities such as routers, physical links or packets) using
mathematical formulas. They can also be modeled by actually or virtually capturing and playing back
experimental observations from a real production networks. After we get the observation data from
simulation experiments, the behavior of the network and protocols supported can then be observed and
analyzed in a series of offline test experiments. All kinds of environmental attributes can also be modified in a
controlled manner to assess how the network can behave under different parameters combinations or
different configuration conditions. Another characteristic of network simulation that worth noticing is that the
simulation program can be used together with different applications and services in order to observe
end-to-end or other point-to-point performance in the networks.
Network emulation, however, means that network under planning is simulated in order to assess its
performance or to predict the impact of possible changes, or optimizations. The major difference lying
between them is that a network emulator means that end-systems such as computers can be attached to the
emu lator and will act exactly as they are attached to a real network. The major point is that the network
emulator's job is to emulate the network which connects end-hosts, but not the end-hosts themsel ves. Typical
network emulation tools include NS2 which is a popular network simulator that can also be used as a limited-
functionality emulator. In contrast, a typical network emulator such as WANsim
[WANsim] is a simple
bridged WAN emulator that utilizes some Linux functionality.
2.3 Type of network simulators
Different types of network simulators can be categorized and explained based on some criteria such as if they
are commercial or free, or if they are simple ones or complex ones.
1. Commercial and open source simulators
Some of the network simulators are commercial which means that they would not provide the source code of
its software or the affiliated packages to the general users for free. All the user s have to pay to get the license
to use their software or pay to order specific packages for their own specific usage requirements. One typical
example is the OPNET
[OPNET]. Commercial simulator has its advantage and disadvantage. The advantage
is that it generally has complete and up-to-date documentations and they can be consistently maintained by
A Survey of Network Simulation Tools: Current Status and Future Development
3 of 13