Beruflich Dokumente
Kultur Dokumente
Abstract
1. Introduction
The NCTUns is a high-fidelity and extensible network simulator and emulator capable of
simulating various protocols used in both wired and wireless IP networks. Its core
technology is based on the novel kernel re-entering methodology invented by Prof. S.Y.
Wang when he was pursuing his Ph.D. degree at Harvard University. Due to this novel
methodology, NCTUns provides many unique advantages that cannot be easily achieved
by traditional network [3]. In the following, we briefly explain its capabilities and
features.
It directly uses the real-life Linuxs TCP/IP protocol stack to generate recording
method simulation results.
By using a novel kernel re-entering simulation methodology, a real-life UNIX (e.g.,
Linux) kernels protocol stack can be directly used to generate high-fidelity simulation
results.
It can use any real-life UNIX network configuration and monitoring tools.
For example, the UNIX route, ifconfig, netstat, tcpdump, traceroute commands can be
run on a simulated network to configure or monitor the simulated network.
Its setup and procedure of a simulated network and application programs are
exactly the same as those used in real-world IP networks.
For example, each layer-3 interface has an IP address assigned to it and application
programs directly use these IP addresses to communicate with each other. For this reason,
any person who is familiar with real-world IP networks can easily learn and operate
NCTUns in a few minutes. For the same reason, NCTUns can be used as an educational
tool to teach students how to configure and operate a real-world network.
It simulates many special and new types of networks. The supported types include
Ethernet-based fixed Internet, IEEE 802.11(b) wireless LANs, mobile ad hoc (sensor)
networks, GPRS cellular networks, optical networks (including both circuit-switching
and busrt-switching networks), IEEE 802.11(b) dual-radio wireless mesh networks, IEEE
802.11(e) QoS wireless LANs, Planned and active mobile ad hoc networks, and 3dB
beam width 60-degree and 90-degree directional antennas.
Its simulation engine adopts open-system architecture and is open source. By using a
set of module APIs provided by the simulation engine, a protocol developer can easily
implement his (her) protocol and integrate it into the simulation engine. NCTUns uses a
simple but effective syntax to describe the settings and configurations of a simulation job.
These descriptions are generated by the GUI and stored in a suite of files. Normally the
GUI will automatically transfer these files to the simulation engine for execution.
However, if a researcher wants to try his (her) novel device or network configurations
that the current GUI does not support, he (she) can totally avoid the GUI and generate the
suite of report files by himself (herself) using any text editor (or script program). The
non-GUI-generated suite of files can then be manually fed to the simulation engine for
execution.
NCTUns adopts a distributed architecture. For understanding the mechanism and design
of NCTUns, need to discuss many things. Here, briefly discuss the following components
which are helping to accepting the method and propose of NCTUns [11].
a. The first component is the GUI program by which a user edits a network topology,
configures the protocol modules used inside a network node, specifies mobile nodes
initial location and moving paths, plots performance graphs, plays back the animation of
a packet transfer trace, etc.
d. The fourth component is the simulation job dispatcher program that can
simultaneously manage and use multiple simulation servers to increase the aggregate
simulation throughput. It can be run on a separate machine or on a simulation server.
e. The fifth component is the coordinator program. On every simulation server, the
coordinator program must be run up. The coordinator should be alive as long as the
simulation server is alive. When a simulation server is powered on and brought up, the
coordinator must be run up. It will register itself with the dispatcher to join in the
dispatchers simulation server farm. When the status (idle or busy) of the simulation
server changes, it will notify the dispatcher of the new status. This enables the dispatcher
to choose an available simulation server from its simulation server farm to service a job.
When the coordinator receives a job from the dispatcher, it forks a simulation engine
process to simulate the specified network and protocols. It may also fork several real-life
application program processes specified in the job. These processes are used to generate
traffic in the simulated network. When the simulation engine process is alive, the
coordinator communicates with the dispatcher and the GUI program on behalf of the
simulation engine process. For example, the simulation engine process needs to
periodically send its current simulation clock to the GUI program. This is done by first
sending the clock information to the coordinator and then asking the coordinator to
forward this information to the GUI program. This enables the GUI user to know the
progress of the simulation. During a simulation, the GUI user can also on-line set or get
an objects value (e.g., to query or set a switchs current switch table). Message
exchanges that occur between the simulation engine process and the GUI program are all
relayed via the coordinator.
f. The sixth component is the kernel patches that need to be made to the kernel source
code so that a simulation engine process can run on a UNIX machine correctly. Currently
NCTUns 5.0 runs on Red-Hats Fedora Core 9, whose kernel is Linux 2.6.25.
g. The seventh component is the various real-life user-level application programs. Due to
the novel kernel-reentering simulation methodology, any real-life existing or to-be
developed application program can be directly run up on a simulated network to generate
realistic network traffic.
h. The eighth component is the various user-level daemons that are run up for the whole
simulation case. For example, NCTUns provides RIP and OSPF routing daemons. By
running these daemons, the routing entries needed for a simulated network can be
constructed automatically. As another example, NCTUns provides and automatically runs
up several emulation daemons when it is turned into an emulator. Due to this distributed
design, a remote user can submit his (her) simulation job to a job dispatcher, and the
dispatcher will then forward the job to an available simulation server for execution. The
server will process (simulate) the job and later return the results back to the remote GUI
program for further analyses. This scheme can easily support the server farm model in
which multiple simulation jobs are performed concomitantly on different simulation
servers.
In addition to the above multi-machine mode, another mode called the single
machine mode is supported. In such a mode, all of these components are installed and
run on a single machine. Although in this mode different simulation jobs cannot be run
concurrently on different machines, since most users have only one machine to run their
simulations, this mode may be more appropriate for them. In fact, it is the default mode
after the NCTUns package is installed.
The performance of NCTUns was discussed detail in [11].Here, in this paper has been
provided some cases and its performance curves which is very important in
communication engineering.
Some screenshots of NCTUns are given in the next page to give readers a quick idea
about NCTUns in several cases of communication engineering. In communication
engineer we can use both fixed wired network and mobile wireless network. In both cases
NCTUns is very important.
Here, in this paper is provided some very important design and its performance in next
page for fixed wired network.
Opening Screen
All time when a client launches the GUI program, the next starting screen in the next
page will detonate up.
0
(a) (b)
Fig 4. (a). The opening screen of NCTUns. (b) The blow up the network
Topology Editor
The topology editor provides a suitable and spontaneous way to graphically create a
network topology. This constructed network is a fixed wired network. For ITS
applications, a road network can also be constructed.
(a) (b)
Fig 4.2: The screen of topology editor.
A network tool (node) has many attributes. Setting and modifying the attributes of a
network node can be easily done by double-clicking the icon of a network node. A
characteristic dialog box can be explaining its characteristics.
(a) (b)
Performance Monitor
This performance monitor can simply and graphically produce and present plots of some
monitored performance metrics over time. Because the format of its input data log file
uses the general two-column (x, y) format and the data is in plain text, the performance
monitor can be used as an independent plotting tool.
In this paper we propose extensions to NCTUns network simulator to allow the consistent
emulation for fixed wired network.The approach used to achieve such a goal can also
benefit other emulation cases, allowing large emulations to be divided into smaller cases
running on interconnected hosts, each one running an instance of NCTUns. The
important study is to test and discover the best traffic classifications and bandwidth
allocations for different types of system or scenario using the routers and the performance
monitor.
7. REFERENCES
[1] S.Y. Wang and H.T. Kung, A Simple Methodology for Constructing Extensible and
High-Fidelity TCP/IP Network Simulator, IEEE INFOCOM99, March 21-
25, 1999, New York, USA.
[2] S.Y. Wang and H.T. Kung, A New Methodology for Easily Constructing Extensible
and High-Fidelity TCP/IP Network Simulators, Computer Networks, Vol. 40, Issue 2,
October 2002, pp. 257-278.
[3] S.Y. Wang, NCTUns 1.0, in the column Software Tools for Networking, IEEE
Networks, Vol. 17, No. 4, July 2003.
[4] S.Y. Wang, C.L. Chou, C.H. Huang, C.C. Hwang, Z.M.Yang, C.C. Chiou, and C.C.
Lin, The Design and Implementation of NCTUns 1.0 Network Simulator,
Computer Networks, Vol. 42, Issue 2, June 2003, pp. 175-197.
[5] S.Y. Wang and Y.B. Lin, NCTUns Network Simulation and Emulation for
Wireless Resource Management, Wireless Communication and Mobile Computing,
Wiley, Vol. Issue 8, pp. 899 ~ 916, December 2005.
[6] S.Y. Wang and K.C. Liao, Innovative Network Emulations using the NCTUns
Tool, as a book chapter of the Computer Networking and Networks book, (ISBN 1-
59454-830-7, published by Nova Science Publishers)
[7] S.Y. Wang, C.L. Chou, C.C. Lin, The Design and Implementation of the NCTUns
Network Simulation Engine, Elsevier Simulation Modeling Practice and Theory.