Network Simulation and Its Limitations: Sebastian Rampfl
Network Simulation and Its Limitations: Sebastian Rampfl
Network Simulation and Its Limitations: Sebastian Rampfl
Sebastian Rampfl
Betreuer: Florian Wohlfart, Daniel Raumer
Seminar Future Internet SS2013
Lehrstuhl Netzarchitekturen und Netzdienste
Fakultät für Informatik, Technische Universität München
Email: rampfl@in.tum.de
1. INTRODUCTION
Over the last decade network simulation has become increas-
ingly important. One reason for that is the rapid growth of
the Internet and networks in general. Therefore new potent
network simulators are needed to enable the development of
advanced network technologies. NS3 [2] is the result of a
long evolution of network simulation and a new generation
simulator. It offers many features for creating highly adapt-
able simulations to fulfill the needs of the growing number
of network researchers and developers. Even though NS3 is
a very advanced network simulator it fails to overcome some
limitations all network simulators have in common. These
limitations and their consequences will also be focused on
here. In the second chapter network simulation and espe-
cially NS3 is described in detail. The design and structure
of NS3 is explained first and in the following subsection the
NS3 workflow and alternatives to NS3 is addressed. The
third chapter focuses on limitations of network simulation
and in particular of NS3.
Figure 1: An example for network emulation
2. NETWORK SIMULATION
A network simulation is the implementation of a simula- be investigated. One of these aspects can be the generation
tion that attempts to imitate the real world behaviour of of anomalies regarding the behaviour of the protocol in order
a computer network or certain aspects of a computer net- to find the cause of the anomaly. The simulation designer
work to analyse the captured information and transmitted can also create circumstances for its technology that might
and paths can be used to access and edit the values and in-
formation the attributes offer. A list and description of all
attributes can be found in the official attributes manual [3]. Figure 5: Gnuplot graph visualizing simulator out-
The second step is the description of the simulation be- put [18]
haviour. A set of methods for initiating and stopping the
simulation, as well as other control methods such as debug Gnuplot [19]. With Gnuplot static, highly customizable 2D
logging needs to be included in the implementation of the and 3D graphs can be created to visualize large amounts of
simulation. Tracing has be configured too. As depicted in data. Figure 5 displays a Gnuplot graph. This 3D graph
2.2.3 Models
Models are a key element of NS3. In the NS3 model library
[5] models are defined as “abstract representations of real
world objects, protocols, devices, etc.” [5] or as stated in
[4] “an abstraction of reality” . Models are written in C++
and are aggregated into modules, which are all individual
software libraries. NS3 relies on an active community. It
designs, implements, documents, tests and validates these
models. The models are meant to form the base for simula-
tion designers to create the functionality they have in mind.
The behaviour of these models can be modified by chang-
ing the code, adding new attributes or just reconfiguring
the attributes. The abovementioned helper classes provide
easy access to the models. The NS3 model library [5] lists
a large variety of models. Some of them implement rela-
tively simple functionality such as the Point-to-Point model
and others offer more complex functionality such as local or
global routing protocols. A model needs to be validated in
order to know whether and to what extent the model differs
from the behaviour of real world object it is trying to simu-
late. This topic will be discussed in a chapter 3.1.
NS3 frameworks are groups of models, which focus on model- Figure 6: Different levels of the OPNET graphical
ing coherent functionality. A framework is intended to offer user interface [12]
a simulation of an environment, which simulation designers
can build upon. An example for this is the UAN Frame- A second alternative is SimPy [11], a Python based open
work[5]. It offers a variety of underwater network scenarios. source network simulator. It is licensed under the GNU
The NS3 predecessor NS2 also relies on the concept of Lesser GPL, which means it is free for non-commercial use.
community-based model development, but NS2 models are SimPy is a “object-oriented, process-based discrete-event”
not compatible to NS3. This means that, even though NS2 simulator [11] and written in Python. It offers a GUI and
models also written in C++, integrating them into a NS3 even plotting for output data. The developers claim SimPy
simulation is not possible without extensive adjustments. to be and very easy to use network simulator. SimPy seems
With the amount of available models constantly growing to be a good alternative for those who want to work with
this concept has proven to be quite powerful. a GUI when designing a simulation and are not willing to
invest in a proprietary software system.
2.3 Alternatives to NS3
There are several network simulators with slightly differ- 3. LIMITATIONS OF NS3
ent approaches regarding modeling of simulations, revenue As stated and described in chapter two network simulation
model and support. One of them is OPNet. In contrast is a powerful tool for a range of possible applications. Nev-
to NS3 OPNet [12] is a commercial network simulator. It ertheless there are limitations to it. The history of net-
offers a graphical GUI for the design of the simulation and work simulation is long and there has been many obstacles
the visualization of captured data for output analysis. Like in its evolution. Although constantly increasing comput-
NS3 OPNet simulations are based on discrete events. One ing power and more powerful programming languages man-
disadvantage of OPNet is the fact that it is proprietary soft- aged to overcome many obstacles, some of them still remain.
ware and therefore limited in terms of customizability. Like The different network simulators use different approaches
NS3 an open source system can be modified in every aspect on dealing with these limitations and therefore their per-
and the OPNet simulator lacks that feature. Another dis- formance and reliability vary. This chapter focuses on the
advantage is the lack of support and collaboration an active limitations of NS3, as well as its consequences.
community of an open source project provides. Nevertheless
OPNet has gained a big market share. Two reason for this
are the fact that it has the resources to offer customer sup- 3.1 Credibility and Validation
port and validation of their models. Another aspect is the Simulation credibility is a challenge not only in the field of
graphical user interface. Figure 6 displays different levels of network simulation. All aspects of reality can never be im-
the OPNet GUI. Such a bundle of features increases the un- plemented in a simulation and therefore compromises have