Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Network Simulation and Its Limitations: Sebastian Rampfl

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Network Simulation and its Limitations

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

ABSTRACT data. This information can then be used to draw conclusion


Computer networks technology is subject to constant change or for example “investigate characteristics of a new routing
and innovation. New ideas and concepts regarding the usage protocol” [18] and how a protocol reacts to certain changes.
of networks and the Internet demand new network protocols According to the official NS3 tutorial [4] a simulation con-
and technologies. Due to its complexity and need for back- sists of a description of a network and how the components
ward compatibility many challenges arise from developing, interact, basic control functions for managing the simulation
implementing, testing and understanding these technologies. and some sort of logging functionality to capture data. The
This is where network simulation comes into play. Many main motivation behind network simulation is to accomplish
problems can be solved by using network simulators such as more reliability and less maintenance costs regarding the de-
NS3. It is a powerful tool which enables an in-depth look velopment of a new technology.
on many different aspects of a computer networks technol-
ogy. Nevertheless the extensive functionality of NS3 cannot 2.1 Concepts and operational Scenarios
overcome some limitations of network simulation regarding There are many diverse applications for network simulation.
for example credibility or scalability. This paper is offering They are based on either one of the following two concepts.
a close look on network simulation by describing NS3 and The first one is the pure simulation. This means that every
its core functionality. The description forms a basis for the component and every aspect of the network is simulated and
following discussion of the problems which are inherent in the packets or messages, that are created within the simu-
network simulation. lation, are neither transferred to a real network, nor pro-
cessed as real network traffic outside of the simulation. One
Keywords example for such a simulation is the implementation and in-
network simulation, network emulation, NS3, discrete-event tegration of an experimental network protocol in a network
simulation, simulation credibility, model validation simulation. Hereby different aspects of such a protocol can

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

Seminars FI / IITM / ACN SS2013, 57 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013
not be possible on a real world testbeds. One application of reason for redesigning the simulator was the “limited scal-
this may be the creation of a simulation with connections ability regarding memory usage and runtime” as described
of higher bandwidths than today’s networks are capable of. in [18] . NS2 was designed to reduce compilation time by
This makes it possible to investigate the behaviour of the using C++ in combination with the scripting language oTcl.
protocol under circumstances which might occur in the fu- While the simulation components, their behaviour and the
ture. Another application for network simulation is the new topologies are described by C++ code, oTcl scripts model
research field of car-to-car networks, which is very costly and the overall simulation behaviour and are used for binding.
even risky when implementing prototypes and testing them. Today’s simulation designers are not focused on compilation
The second concept is network emulation. Simulators can time, but on scalability and performance. This led to the
be combined with and attached to real networks to send and development of NS3. The following subsections describes
receive traffic of these networks. The Figure 1 visualizes an the functionality NS3 offers and explains how to work with
idea on how to use network emulation to help defend against it.
a Distributed-Denial-of-Service attack. A company network
is connected to the Internet and guarded by firewalls. These 2.2.1 Design and Structure
firewalls are also connected to a network simulation and
As stated before NS3 is based on the concept of discrete
are able to mirror every traffic that passes through them.
simulation. This means that a point in simulation time is
This simulation tries to copy the topology, attributes and
assigned to every event, events are initiated and triggered
behaviour of the company network. In case of a DDoS at-
consecutively and “simulation time moves in discrete jumps
tack the firewalls could forward the traffic to the simulation
from event to event”[8]. Computing these events in real-
and a load balancing software could apply different load-
time is an option as long as the system running NS3 offers
balancing strategies by reconfiguring the emulated network.
enough computing power and the attributes set for the sim-
Furthermore it would use the results of its tests to make a
ulated network do not exceed the laws of physics. Especially
decision on what load-balancing strategy may be the most
in network emulation this may become necessary when send-
effective against the ongoing attack. This strategy can then
ing or receiving packets from real world hosts. In most cases
be applied to the real company network in order to repel the
however realtime is not an issue and the focus is more on the
attack. This is obviously are highly complex and elaborate
order of events and their consequences regarding captured
way of using network emulation, but it demonstrates, that
data.
there are more fields of application for network simulators
The NS3 project uses Mercurial [10] for source code manage-
than research and development.
ment. Documentation of this code can be accessed via Doxy-
gen [17], a tool for creating documentation. The Python-
based build system waf [7] is recommended by the NS3 de-
velopment team. Their NS3-tutorial [4] gives all necessary
information for getting started with NS3. This document
is also a step-by-step documentation of a couple of useful
implementation examples for some network simulations.
Creating a NS3 simulation consists of four basic steps. Be-
fore describing them in detail the key abstractions of a NS3
simulation have to be explained. These basic component
types of a network are nodes, applications, net devices, chan-
Figure 2: The cycle of network simulation [16] nels and topology helpers. They are all represented by sets
of C++ classes and their functions and properties, including
examples, are explained in the ns3-tutorial [4]. A node in a
The development of a technology or a product with the help
NS3 simulation stands for a communication point, such as
of network simulation is an iterative process. As drafted in
an end system or a router. It is the base for any events and
figure 2 a simulation is modelled on the ideas and concepts
interaction. Functionality and properties are added to these
of the simulation designer. The results and measurements
nodes. The nodes are interconnected by channels, which
of the simulation are used to alter it, in order to create
represent the different forms and media of data transmis-
different simulation behaviour and results, until the desired
sion. Two of the C++ classes in NS3 that describe chan-
outcome can be accomplished. In comparison to implement-
nels are the PointToPointChannel and the WifiChannel. As
ing a protocol on a real testbed simulation is in most cases
the name indicates the PointToPointChannel implements a
more flexible and less cost-intensive. Even though creating
simple wired connection from one endpoint to another end-
a simulation may also become elaborate and costly.
point. The WifiChannel represents a Wifi connection and
is designed to behave like such a connection. The third key
2.2 NS3 abstraction are net devices. They are attached to nodes and
NS3 is a discrete-event network simulator. It is open source channels and form what in real world would be considered
and licensed under the GNU GPLv2 license. Since its re- network interfaces. There are different types of net devices
lease in 2008 it is one of the most important and widely due to the diversity of channels. As in a real network a node
used network simulation tools. Even though it does not can be attached to multiple net devices. The application is
offer any graphical user interface it has proven to be com- another key abstraction of every NS3 simulation. It forms
prehensible and easy to handle. NS3 is intended to be used the actual functionality of the nodes and is supposed to be
with Linux, although it is possible to run it on Windows by implemented by the simulation designer. NS3 offers many
using cygwin or MiniGW. It was developed to replace its different applications for all kinds of network functionality.
predecessor NS2, which was released in the mid-90s. The Configuration and adaptation of these applications is the key

Seminars FI / IITM / ACN SS2013, 58 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013
to creating the intended network behaviour. The main func- Figure 3 the simulator offers trace sources and the simulation
tionality of the applications is the creation, processing and designer implements the trace sinks. These trace sinks spec-
transmission of data. The simulation designer can create ify what information to capture an what to ignore. Tracing
and configure nodes, channels, net devices and applications can be used on different levels of abstraction. The designer
separately or this can be done by using the extensive and can either use preconfigured sets of trace sinks with less ad-
powerful Helper-API of NS3. These helper classes make it justment capabilities or specify trace sinks in detail. Too
possible to configure a network simulation with relatively little or too much information can destroy the benefit of im-
low effort. Adding a protocol stack and addresses to a set of plementing a simulation and therefore much consideration
nodes are one of the many options the helper classes offer. should be given to tracing in NS3. Filtering information is
They also make it much easier to read and understand the one key for success, because insufficient information leads to
code of an NS3 simulation. As mentioned before all code wrong conclusions regarding the simulated network.
is documented and can be accessed via Doxygen. Having a
closer look on what the NS3 helper have to offer is recom-
mend before starting to program a simulation.

2.2.2 NS3 Workflow


The helper classes are a main aspect of the NS3 workflow. As
mentioned in chapter 2.2.1 there are four main steps when
working with NS3. The first one is the programming of the
actual network with its topology, the used protocols and its
applications. This is done by the abovementioned helpers
and can be illustrated with the following example. In order
to create a group of hosts a NodeContainer class is initi-
ated with the corresponding attributes such as the number
of hosts. Furthermore the InternetStackHelper class is used
to add the network protocol stack to the nodes in order to
enable Internet communication. The first step also includes
setting up all addresses, such as MAC and IP addresses, and
adding and writing the application classes. This is where Figure 4: GUI of NetAnim visualization tool [14]
most of the logic is implemented. Another important part
is the configuration of the class attributes. NS3 offers an After programming the simulation in step one and two the
attribute system, which enables a more convenient way of next stage is the execution of the simulation.
dealing with properties, variable values and other simula- The fourth step is the output analysis. This not a part of
tion related information. As described in [8] namespaces NS3, but an important aspect of network simulation. NS3
offers no tools for analyzing, visualizing or processing the
data gained through network simulation. Nevertheless there
are many free tools offering a broad range of features for this
purpose. One of them is NetAnim [14]. It is a tool to an-
imate data gained from tracing. Figure 4 is a screenshot
of the GUI of NetAnim. Another tool for visualization is

Figure 3: Tracing Sources and Sinks

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

Seminars FI / IITM / ACN SS2013, 59 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013
visualizes the amount of packet-loss observed in a network derstandability regarding the complexity of a network simu-
simulator performance comparison carried out in the refer- lation. These two aspects are very important for companies
ence [18]. Wireshark is also a useful tool in this context. Its when choosing a network simulator for the development of
purpose is filtering and displaying transmitted information their network technologies.
by listing packets and its content. All these tools for output
analysis offer a broad range of options and customizability
and this is a necessity in the field of network simulation.
where every output analysis needs to focus on very specific
information and goals.

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

Seminars FI / IITM / ACN SS2013, 60 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013
to be made. Such compromise can be a lower level of simula- likely the occurrence of these problems becomes. None of
tion detail or the absence of certain aspects of the network. the sources describes any solution to this problem.
A network simulation can only be useful if the behaviour it
shows and the results it delivers are comparable to a real 3.3 Scalability Limits
network. The simulation designer can never be one-hundred One of the benefits of simulating a network is the fact that
percent sure if this is the case. Hence a certain level of trust adding or removing components, devices and channels is
is need when working with simulation. easy and fast in comparison to a testbed where devices have
The authors of reference [8] name three strategies to increase to be installed and connected. A simulation is in theory
trust in a simulation. The first two are the rather simple con- not limited by the amount of devices or transmitted data.
cepts of regression tests and reuse of code. These methods In reference [6] the topic of network simulation scalability
are useful in case of fault prevention and quality of code and is covered by “quantitatively [characterizing] the capability
therefore have an indirect impact on the increase in credi- of parallel simulation tools to simulate large-scale networks”.
bility. The third strategy is the validation of models, in The authors identify two main limiting factors for scalability
this case the NS3 models described in the last main chap- of network simulators: the memory usage and the required
ter, by using testbeds. The main purpose of a validation is computation time. Every node, channel and the other com-
to proof, that the behaviour of a network simulation model ponents require memory space and therefore their number is
is comparable to the behaviour of a testbed with the same limited by the available memory. As in a discrete event sim-
configuration as the simulated network. This is needed by ulator, such as NS3, events are processed in a certain time
simulation designers who want to use these models to create and the amount of events that can be processed is limited
new simulations, because they are relying on the correctness assuming that the simulation designer defines a maximum
of these models. The Reference [1] is such a validation. The time for the computation of the simulation.
authors of [1] are comparing the performance and behaviour The authors of [6] explain how to improve simulation scala-
of the IEEE 802.11 MAC model of NS3 to a testbed provid- bility. Their approach is the usage of parallel computing for
ing the same functionality. Furthermore they draw conclu- processing events. Although this paper is ten years old and
sion from their results. Therefore they use different scenarios hence references to NS2, the main concept of parallel com-
with different focuses and objectives and then compare their putation of network simulations is applicable to NS3. The
measurements. They come to the conclusion that the IEEE NS3 model library [5] describes how to integrate the Message
802.11 MAC model is a rather good representation of reality, Passing Interface [9] in a NS3 simulation. MPI is a standard
although the authors observed some “noticeable quantitative which formulates rules for the parallelization of programs re-
differences” [1] regarding the measurements. In their opin- garding the exchange of information. Its purpose is to enable
ion this is not necessarily the fault of the model but may high performance computing on large clusters of processors.
also be a flaw in the implementation of the testbed. The In addition to parallelization the use of distributed network
conclusion of the authors demonstrates another problem re- simulation can improve simulation performance and there-
garding the credibility of network simulation models. Even fore alleviate scalability problems. This concept describes
if the model someone is trying to validate is flawless in terms the usage of multiple network simulators deployed on geo-
of behaviour and attributes, the testbed with its real world graphically distributed machines. In contrast to the parallel
hardware and implementations is probably not. Thereby the execution of one network simulation on a high performance
results of measurements may differ significantly. Simulation computation center a distributed simulation needs to focus
designer always have to consider that they are creating a more on reducing the amount of information sent between
simulation to estimate the real world behaviour of the net- the distributed network simulators in order to increase sim-
work technology and do not want to create a perfect simula- ulation performance. The authors of [15] describe two dif-
tion implementation. In summary it can be said, therefore, ferent methods to split up the functionality of simulated
that validation is a potent method to build up credibility, if devices.
the fact, that real world devices not always behave like they
should be, is considered.

3.2 Simulation of upper Layer Functionality


As described in chapter 2.2.3 simulation designers do not
build up all functionality from scratch. They rely heavily
on the usage of models. Every model, even if validated,
are a possible source of wrong behaviour and failure. Val-
idation is an improvement, but it does not guarantees the
absence of malfunction or the presence of all expected fea-
tures. The designer always has to consider what a model
does not implement. It may be written for one context in
which it functions flawlessly, but, if used in a different con-
text, malfunctions completely. The problem of overrating
the capabilities of models is described in [4]. Some mod- Figure 7: Cross-protocol stack method [15]
els implement every component of a network protocol, but
this does not mean that every aspect of its behaviour does The first one is the cross-protocol stack method. The main
not differ from how the protocol would behave in the real concept behind it is the computation of complete devices
world given the same preconditions and circumstances. The or groups of devices of the simulated network on only one
higher in the protocol stack the designer operates the more network simulator. This means that the network stack of

Seminars FI / IITM / ACN SS2013, 61 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013
one simulated device is located at only one network sim- of the human mind in terms of the ability to deal with high
ulator. Therefore only messages sent from devices within complexity results than a limitation for network simulation.
the simulation are exchanged between the distributed net- Some measures regarding structured planning of simulations
work simulators. Figure 7 visualizes this concept. Contrary and a more formalized documentation of models may help
to the cross-protocol stack method the split-protocol stack reduce this problem
method distributes the different layers of the protocol stack Scalability also remains to be an obstacle. However in con-
to different network simulators. In this case the informa- trast to credibility this problem is alleviated to some degree.
tion exchanged between the network simulators are not the Real world networks do not grow as fast as the networks that
messages sent between the simulated devices but the infor- can be simulated. The Internet may be highly complex and
mation passed through the different layers of the protocol not well understood, but progress is being made and there-
stack. One simple example for this is shown in figure 8. fore scalability may become less of a limitation than it used
The effect of both methods on the amount of message sent to be.
between the distributed network simulators highly depends
on the topology and the functionality implemented in the 5. REFERENCES
simulation [15]. [1] Nicola Baldo, Manuel Requena, Jose Nunez, Marc
Portoles, Jaume Nin, Paolo Dini, and Josep Mangues.
Validation of the ns-3 ieee 802.11 model using the
extreme testbed. In Proceedings of SIMUTools
Conference, 2010, March 2010.
[2] NS-3 development team. Ns-3 network simulator.
http://www.nsnam.org/.
[3] NS-3 development team. Ns-3 network simulator, ns-3
attributes. http://www.nsnam.org/docs/release/3.
10/manual/html/attributes.html.
[4] NS-3 development team. Ns-3 network simulator, ns-3
Figure 8: Split-protocol stack method [15] tutorial, Decenmber 2012. http://www.nsnam.org/
docs/release/3.16/tutorial/ns-3-tutorial.pdf.
Reference [13] is a performance analysis of a NS3 network [5] NS-3 development team. Ns-3 network simulator, ns-3
simulation using the abovementioned MPI model to estab- model library, March 2013. http://www.nsnam.org/
lish distributed and parallel computation. Their results lead docs/models/ns-3-model-library.pdf.
the authors to the conclusion that “nearly optimal linear [6] Richard M. Fujimoto, Kalyan Perumalla, Alfred Park,
speedup is achievable”[13]. Parallelization and the distri- Hao Wu, Mostafa H. Ammar, and George F. Riley.
bution of network simulation are effective approaches for in- Large-scale network simulation: how big? how fast. In
creasing scalability, but fail to overcome the following aspect In Symposium on Modeling, Analysis and Simulation
of scalability. Often simulation designers want to test their of Computer Telecommunication Systems
network technology in an Internet-like environment. This is (MASCOTS), 2003.
barely possible due to its size and complexity. As claimed
[7] Google. Waf build tool.
in [6] the reason for this is the fact that the Internet is not
https://code.google.com/p/waf/.
understood very well and therefore hard to simulate. This
is not exclusively a scalability problem but it is a limitation [8] Tom Henderson, George Riley, Felipe Perrone, and
to network simulation. Mathieu Lacage. ns-3 tutorial. http://www.nsnam.
org/tutorials/geni-tutorial-part1.pdf.
[9] Argonne National Laboratory. Mpi message passing
4. CONCLUSION interface.
With being easily accessible and at the same time highly cus-
http://www.mcs.anl.gov/research/projects/mpi/.
tomizable NS3 has proven to be a potent network simulator.
[10] Matt Mackall. Mercurial source code management
The combination of helper classes and the option to config-
tool. http://mercurial.selenic.com/.
ure the classes individually turned out to be a very useful
concept. The community-based model concept of NS3 is a [11] Klaus Mueller and Tony Vignaux. Simpy network
strong point and a disadvantage at the same time. The fact simulator. http://simpy.sourceforge.net/.
that NS3 is a non-commercial software results in a larger and [12] Inc. OPNET Technologies. Opnet network simulator.
therefore more active community, which constantly helps to http://www.opnet.com/solutions/network_rd/
improve, extend and upgrade NS3. On the other hand this modeler.html.
makes it impossible to guarantee reliable customer support [13] Joshua Pelkey and George Riley. Distributed
and bug fixes. This gap is successfully filled by competitors simulation with mpi in ns-3. In Proceedings of the 4th
such as OPNet. International ICST Conference on Simulation Tools
There are of course some limitations to network simulation and Techniques, SIMUTools ’11, pages 410–414, ICST,
that even NS3 cannot overcome. One of them is credibility. Brussels, Belgium, Belgium, 2011. ICST (Institute for
This will always be an issue, because it is clearly impossible Computer Sciences, Social-Informatics and
to guarantee flawless real world behaviour of a simulation. Telecommunications Engineering).
One approach to partially solve this problem could be a far [14] George F Riley and John Abraham. Netanim.
more detailed formalization of the validation process. http://www.nsnam.org/wiki/index.php/NetAnim.
The limitation regarding upper layer functionality is in com- [15] George F. Riley, Mostafa H. Ammar, Richard M.
parison to validation rather simple. It is more of a limitation Fujimoto, Alfred Park, Kalyan Perumalla, and

Seminars FI / IITM / ACN SS2013, 62 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013
Donghua Xu. A federated approach to distributed
network simulation. ACM Trans. Model. Comput.
Simul., 14(2):116–148, April 2004.
[16] I. Stojmenovic. Simulations in wireless sensor and ad
hoc networks: matching and advancing models,
metrics, and solutions. Communications Magazine,
IEEE, 46(12):102–107, December.
[17] Dimitri van Heesch. Doxygen tool for creation of
documentation.
http://www.stack.nl/~dimitri/doxygen/.
[18] Elias Weingärtner, Hendrik vom Lehn, and Klaus
Wehrle. A performance comparison of recent network
simulators. In Proceedings of the IEEE International
Conference on Communications 2009 (ICC 2009),
Dresden, Germany, 2009. IEEE.
[19] Thomas Williams and Colin Kelley. Gnuplot.
http://www.gnuplot.info/.

Seminars FI / IITM / ACN SS2013, 63 doi: 10.2313/NET-2013-08-1_08


Network Architectures and Services, August 2013

You might also like