The Network Simulator of Tomorrow - JNS
The Network Simulator of Tomorrow - JNS
The Network Simulator of Tomorrow - JNS
Abstract-Networking is an important concept in the field of connectivity have recently emerged and have further
computing in the contemporary world. While networking enhanced computer networking with technologies like
equipment are readily available on the market, people in need Wired Equivalent Privacy (WEP) and Wi-Fi Protected
of computer networks however often turn to other trained and Access (WPA) [21].
qualified networking personnel to set up their required local While networking equipment are largely available on
area network. The fact that a network can physically and
the market, people tum to network specialists to set up their
logically be represented and configured in different ways
computer networks, either wired or wireless networks, at
makes network setup and configuration a time consuming job
home or in offices. The factors affecting the network to be
even for network specialists. The latter have to invest time in
set up depend on the size of the network, the number and
experimenting different network layouts to try to find an
type of network devices in the network topology. It also
optimal configuration that will also reduce investment costs.
The paper aims at proposing a network modeling and
becomes more time-consuming when it involves larger
simulation tool that enables people, both network specialists
networks with complex network device configurations and
and those with a minimal knowledge of networking concepts, when alternative network design solutions exist. In the end,
to set up, configure, understand and evaluate different a network may be set up and configured without a thorough
network configurations prior to real-life deployment. understanding of the underlying networking concepts. This
is often the case with networking students. In other cases,
Keywords-network; simulator; router; protocols; network specialists want to ensure that their configurations
configuration; OSPF; Java are correct before actually configuring the network devices,
or they may want to evaluate different network
I. INTRODUCTION configurations before setting up the most optimal one. To be
Networking is a common term in the field of computer able to do these, the network specialists rely on network
science which represents the interconnection of computers simulators. This paper is an attempt to build a simple but
and network devices through the use of communication robust network simulator that may be used by both network
channels so as to enable the exchange of information novices and experts.
between devices. Computer networking is possible with the The rest of this paper is structured as follows: Section 2
wide array of network equipment available which can talks about well-known network simulators. Section 3
support wired or wireless network connectivity or both. presents a number of design issues to be considered in the
Devices which form part of a computer network can be implementation of our network simulator JNS. Section 4
grouped according to the Open Systems Interconnection or presents the system architecture and the actual
OSI layer in which they have been designed to work, most implementation of JNS. Section 5 provides testing results
commonly at Layer 1, Layer 2 or at Layer 3. Network and evaluates our network simulator. Finally Section 6
devices can also operate in different network topologies, concludes with future works on JNS.
like the Bus network, the Ring network and the Star
network [19]. II. RELATED WORK
There has been constant innovation in the field of In the recent years, much effort has been made by
computer networking over the years which has helped to numerous individuals and organizations regarding network
standardize computer networking as well as enabling new simulation software. While some open-source projects are
features and technologies to be developed. For instance, the barely known to the public, other simulation software are
packet-based network which relies on Internet Protocol known to be constantly improving to reflect the continuous
version 4 (IPv4) quickly made its way to enhance switched changes in the world of networking. However, not all of
networks and this protocol is gradually being replaced by them provide similar functionalities. Below is an outline of
the Internet Protocol version 6 (IPv6) [20]. Static routing some common network simulators and their drawbacks.
constraints and issues have been resolved by dynamic The ns simulator is a network simulator that runs on
routing protocols like Distance Vector routing protocol and Linux. Ns provide for the simulation of TCP packets,
Link State Advertisement routing protocol. In addition to routing and multicast protocols. The ns simulator also
improved wired connectivity links with the use of Gigabit provides for the simulation of wired and wireless networks,
Ethernet and Optic fiber links, wireless Ethernet including satellite links [4]. The main drawbacks with the ns
530
simulator is that it is available on Linux only and it requires time packet flow between devices should be graphically
an understanding of OTcl programming language to be able represented to allow users to interactively view the packet
to model network topologies for simulation [18]. flow across network topologies. This real-time simulation
The Cisco Packet Tracer software is a well known shall allow a better understanding of the operations of the
network simulator with an easy to use interface and having network devices by simulating their operations. The network
advanced features. It provides a virtual environment simulator should display a simplified routing table for each
whereby network topologies, switching and routing can be router in the network. This feature will be very useful to
designed, configured and simulated. The ease of networking novices and will help them to understand the
troubleshooting makes it an ideal tool for networking operations of the router. Moreover, a network simulator must
students [2]. The biggest disadvantage with the Cisco provide for both static and dynamic routing protocols in the
Packet Tracer is that it is available only to Cisco Network router devices. The Distance Vector routing protocol and
Academy students [I]. Link State Advertisement protocol are two essential routing
OMNeT+ + is a modular open-source simulation protocols that should be implemented. The loading and
environment which can easily be implemented with new storing of network topologies and configurations of network
protocols. A command line interface is available as well [3]. devices are also important in order to allow the configuration
OMNeT++ can be considered as a framework rather than of devices in a stepwise manner.
simulator software. In fact, modules can be developed and
added to OMNeT++ which can be used for various IV. SYSTEM STRUCTURE AND IMPLEMENTATION
simulation environments. Integrating real world applications Based on the above design issues of a high performance,
into OMNeT++ can be time consuming and complex since real-time simulator software and taking into consideration
OMNeT++ does not provide much support for the the limitations of existing network simulators,
integration of real world applications [22]. JNetworkSimulator, abbreviated as JNS, a Java-based
The Georgia Tech Network Simulator (GTNetS) is network simulator has been developed. Rather than making
another free network simulator which allows for the study modifications to existing open-source simulator software or
of medium to large virtual computer networks [5, 17]. using customizable framework software with plug-in
GTNetS attempts to represent the simulation environment in modularity, JNS has been developed from scratch to avoid
a similar manner as actual networks. GTNetS is however any risk of existing framework limitations or component
not an all-featured simulator software but is rather rewrites in the case the core component is changed in the
programming-oriented where customization is required by event of a software update.
users so as to make a program as required for specific The JNS simulator software has been built in various
network simulations [13]. component layers. For optimal structure and interaction
between these components, a three-tier system architecture
III. DESIGN ISSUES
has been preferred. This architecture has three main
The challenges to be considered for the design and component layers, namely the Presentation layer, the
development of a network simulator are very critical for a Business Logic layer and the Data layer as illustrated in
very high performance, real time network simulator. In this Figure 1. This software architecture makes it an excellent
section we present the design issues to be considered for our way to enhance software modularity. In this respect, any
network simulator, which are greatly influenced by an changes to be done in JNS affects only a particular
analysis of the existing tools and their features. A user component for a specific layer.
friendly and uncluttered Graphical User Interface is very The Presentation layer is made up of Swing and AWT
important. The network simulator should allow a practice components since these make up the user interface part of
and visualization environment for the designing, the simulator which will be interacting with the end-user, as
configuration, and troubleshooting of networks. The well as handling all user inputs to the network simulator
environment should enable users to design networks by software.
using drag-and-drop capabilities. Another important feature
of a network simulator is real-time network device AWl
configuration through the command line interface which )
allows for real-life simulation of device configuration like
enterprise-class switches and routers. The simulator should
also include an innovative feature of device configuration --
using a graphical user interface instead of the command line SImulation ospr & RIP Padc.et
interface. This GUI configuration capability will be used by lenlnl KouUOI
Protocol
vGUallutton
531
Figure I. The Three-tier software architecture An Integrated Development Environment (IDE) is to be
chosen which provides essential tools in helping to design
The Business Logic layer is made up of the components and build the simulator software quickly and efficiently.
crucial to the functionalities of JNS. For instance, the Add NetBeans has been found as an ideal IDE since it has very
and Delete Devices and Connections component is used to good features and the most interesting feature is the ease of
handle virtual network device addition and deletion as well designing graphical user interfaces using Java Swing [12].
as creation and deletion of network connection links in the This is indeed an important aspect of the IDE since this will
simulator. The Device Configuration component handles help designing the user interfaces within the least time
network devices configuration via specific configuration possible.
windows depending on the network device being configured. By making a comparison between various databases
The Simulation Testing component handles the software available, MySQL has been found to be an excellent choice
simulation while providing meaningful network simulation for a database to be used with a network simulator [9]. For
result outputs to the user. The OSPF & RIP Routing instance, MySQL is reputed for its stability, robustness and
Protocol component is the key component providing Link performance since MySQL effectively uses a threaded
State routing and Distance Vector routing protocols to model [23]. Also, MySQL is an ideal multiplatform
network routers in JNS. Perhaps one of the most interesting component that can be used for the database part of a
aspects of JNS comes from the Packet Visualization network simulator. JNS can also load and save network
component, which handles the display of the real-time topologies where XML file contents are dynamically
network simulation with graphical packet flows in the JNS generated, containing the individual configuration of each
simulation window so as to provide for a better saved network device in the network topology.
understanding of the network simulation to users. It should Dynamic device creation, deletion and configuration are
be noted that the SecurityManager component is a very among the most important functionalities of JNS. Device
important part of the Business Logic layer of the system. objects are created by simply dragging the device icon into
This component is responsible for user data validation from the main workspace. A new device object is thus created
the graphical user interface part of the simulator software as and is represented by the new icon on the workspace. All
well as for ensuring the correctness of real-time network device icons have associated menus when selected, which
simulation. enable users to delete the device, delete connection links or
The Database layer deals with the relevant database open a configuration window. Device deletion removes the
transaction between the Business Logic layer and the device object from the JNS workspace and deletes all
Database component of JNS. connections to neighbouring network devices.
Object Orientation is a programming paradigm whereby Different configuration windows exist in JNS for each
the use of objects and features are emphasized regarding the device type. Thus, depending on the device type being
object properties and interaction [15]. This means that real selected, a specific configuration window is created where
world objects can effectively be modeled in the system and
the device attributes are loaded and are available for further
features can be added and extended. Hence an object
configuration.
oriented programming language is advantageous to the
Routing Information Protocol (RIP) has been chosen for
design and development of our network simulator JNS since
the Distance Vector routing protocol. However, the most
all the components and layers of the JNS architecture can be
interesting and challenging implementation is that for the
regarded as objects.
Open Shortest Path First (OSPF) routing protocol to be used
For a high performance, real-time network simulator, a
for the Link State Advertisement protocol [7]. The OSPF
robust programming language is needed. The Java
routing protocol uses Dijkstra algorithm [16] which is
programming language provides for the best features which
independently used by each router device to compute the
can be implemented more rapidly compared to
shortest path [8] for all interconnected routers running the
programming language like C++ [11]. For instance, the
OSPF routing protocol.
Write-once-Run-Anywhere capability makes Java an ideal
The OSPF protocol works by routing updates being sent
choice since this provides for multiplatform capability [14]
to neighbouring routers on multicast IP address 224.0.0.5.
as long as the platform on which JNS would run has support
Routers send updates to the Designated Router (DR) on the
for the Java Virtual Machine and comes with a windowing
multicast address 224.0.0.6. The DR then calculates the
system. Also, Java provides other valuable features like
network routes and updates its network topology
Automatic Garbage Collection [10].
information, which is sent to all other routers. The
A user friendly Graphical User Interface which allows
following part of this section describes the implementation
rapid device configuration is very important. Java Swing
of the non-recursive, list-based Dijkstra SPF algorithm.
has been chosen to design the user interface of the network
The router currently running the algorithm is known as
simulator as well as for the graphical packet flow
the rootNode. There are five lists to be used in the shortest
visualization feature. The Object Oriented nature of Java
path first (SPF) algorithm. The ShortestPath list contains all
and the features available in Java Swing allow for the
known connected routers for which the shortest path has
effortless integration of the packet flow visualization feature
been calculated. The TentativePath is a list containing
in the network simulator.
532
n_ , " '
...... '---.. /
which has finished taking part in the SPF algorithm. Last,
the list TopologyList is sent by the DR to all other routers
containing information on all connected routers
// � -�
added to TentativeList.
In the third part, all link costs of the neighbouring nodes
in TentativeList are compared for each router having the /
smallest link cost value. Before adding this least cost router • •
node to the ShortestPath list, the list is checked whether it Swrtch:l Rout.r.! Routed Swrtch:3
of design issues presented earlier in the paper. The drag 1921681,0 255.2551.5 . . . Ethernet3 1921681.1 0
0.0.0,0 255.255.25". Ethemet4 0,0,0,0
and-drop feature of JNS proved to be very beneficial since it 0 1721618,0 255255,25". Ethernetl 1721616,2 10 lIO
allows for the rapid creation of a network topology, as 0 192168.2.0 255,25525", Eth.metl 172.1616,2 10 lIO
0 1921683.0 25525525", Eth.metl 1721616,2 20 lIO
shown in figure 2.
533
MySQL running on a Pentium 3, lOOOMHz computer. It {!1RouterJ Router Configur,tJon lBTID�
was noticed that for a very large network topology with OtYICt ConfiQullIbon lnttrhct Confioumon SUbc Roub" RIP ("OSPFl Comm,nd lint lnterbet
many devices and with all routers running OSPF dynamic rOSPfconfi9UIlItlOn
En.bltOSPF
534
functionalities of JNS. As future works, the implementation [14] Flanagan D., Java in a Nutshell, 5th Edition, O'Reilly Media, Inc.,
2005.
of the next generation of the Internet Protocol, namely IPv6,
will be one of our main focus. Also, the local area network [15] Lee R. C. and Tepfenhart W. M., Practical Object-Oriented
Development with UML and Java, Prentice Hall, Pearson Education,
limitation of JNS can be overcome by extending its ability to Upper Saddle River,New Jersey,2003
make Wide Area Network (WAN) interconnection possible
[16] Lucent Technologies, "OSPF and the Internet". Retrieved from:
between routers in JNS and provide relevant communication http://portmasters.comlmarketinglwhitepapers/ospf.pdf [Accessed 25
protocols for the WAN links. Furthermore, wireless devices April 2009]
can be implemented so as to take into consideration devices [17] Riley G. F., "The Georgia Tech Network Simulator",Proceedings of
and protocols working with Wireless LANs. Another the ACM SIGCOMM 2003 Workshops,2003
fascinating feature that could be implemented is the Cloud [IS] Meeneghan P. and Delaney D., "An Introduction to NS, Nam and
Collaboration System, where multiple users in a real LAN OTc1 scripting", National University of Ireland, Maynooth,
Maynooth,Co. Kildare,Ireland,2004.
can participate in the setting up, configuration and testing of
network devices in real-time in JNS. This would indeed be [19] Tanenbaum, A. S., Computer Networks, 4/E, Vrije University,
Amsterdam,The Netherlands,2003.
of considerable advantage for labs sessions on networking
[20] Convery S. and Miller D., "IPv6 and IPv4 Threat Comparison and
and in large organizations where different persons may be Best-Practice Evaluation (v1.0)",Cisco Systems,2004.
responsible for a network setup. Last but not least, a compact
[21] Wong S., "The evolution of wireless security in S02.11 networks:
version of the software in J2ME can be developed so that WEP,WPA and S02.11 standards",SANS Institute,2003.
administrators can move around the network with the [22] Mayer C. P. and Gamer T, "Integrating real world applications into
topology on their mobile phone or PDA. OMNeT++",200S.
[23] Liu X., Heo, J. and Sha, L, "Modeling 3-Tiered Web Applications",
REFERENCES Proc. of 13th IEEE MASCOTS,Atlanta,Georgia,2005.
[1] Cisco Systems, Inc., 200S. CCNA Discovery 4.0. Cisco Networking
Academy, Cisco Systems, Inc. Retreived from:
http://cisco.netacad.netl [Accessed 13 October 200S]
[2] Cisco Systems Inc., 200S. "Packet Tracer 5.0". Cisco Networking
Academy, Cisco Systems, Inc. Retrieved from:
http://www.cisco.comlwebllearninglnetacadlcourse_cataloglPacketTr
acer.html [Accessed 10 October 200S]
[3] OMNeT++ Home Page. Retrieved from: http://www.onmetpp.orgl
[Accessed 15 October 200S]
[4] The Network Simulator ns-2. Retrieved from:
http://www.isLeduinsnamlns/ [Accessed 15 October 200S]
[5] Georgia Tech Network Simulator (GTNetS), Georgia Institute of
Technology. Retrieved from:
http://www.ece.gatech.eduiresearch/labsIMANIACS/GTNetS
[Accessed 15 October 200S]
[6] XStream Home Page, Retrieved from:
http://xstream.codehaus.orglindex.html [Accessed 11 February 2009]
[7] Waldura, R. "Dijkstra's Shortest Path Algorithm in Java", 2007.
Retrieved from: http://renaud.waldura.comldoc/javaldijkstral
[Accessed 11 Febrnary 2009]
[S] Bhatia, M., "Dijkstra Algorithm Demystified", Routing Freak,
WordPress. Retrieved from:
http://routingfreak.wordpress.coml200S/03/06/shortest-path-first
algorithmdemystifiedl [Accessed 3 January 2009]
[9] Sun Microsystems,"MySQLTM Provides Scalability,Reliability, and
Enterprise Support at a Lower Cost",April 2009
[10] Sun Microsystems, "Java SE 6 Performance White Paper, Java™
Platform Performance Engineering", Retrieved from:
http://java.sun.comlperformance/reference/whitepapers/6...Performanc
e.html [Accessed 10 Jan 2010]
[11] Ahuja S. P.,Eggen, R.,and Daucher,C., "Performance Evaluation of
Java And C++ Distributed Applications In A CORBA Environment",
Proceedings of the International Symposium on Performance
Evalnation of Computer and Telecommunication Systems (SPECTS
2002),San Diego,CA,July 2002.
[12] Binstock A.,"Eclipse 3.3 or NetBeans 6.0? Finally,there's a decision
to make!", JavaWorld. Retrieved from:
http://www.javaworld.comljavaworldljw-03-200S/jw-03-java
ides030S.html?page=1 [Accessed 25 September 2009]
[13] Emmanouil F., "Deadlock Avoidance with Virtual Channels,
University of Barcelona",2009
535