این نرم افزار برای شبیه سازی شبکه های VANET,MANET,WIMAX به کار میرود که تحت لینوکس می باشد.
network simulator and emulator has many useful features listed below:
It can be easily used as an emulator. An external host
in the real world can exchange packets (e.g., set up a TCP connection) with
nodes (e.g., host, router, or mobile station) in a network simulated by NCTUns.
Two external hosts in the real world can also exchange their packets via a
network simulated by NCTUns. This feature is very useful as the function and
performance of real-world devices can be tested under various simulated network
It supports distributed emulation of a large network over multiple
machines. When the emulated network has many nodes, many real-world applications
need to run on these nodes, many real-world devices need to connect to the
emulated network, or the amount of real-world packets exchanged among
real-world devices over the emulated network is large, a single machine may not
have enough CPU power and main memory to run the emulation in real time. In such
a condition, NCTUns can partition the emulated network into several smaller
parts and let each part be emulated by a NCTUns machine. The usage of a
distributed emulation is totally automatic and the user won’t notice that the
emulation is carried out over multiple machines.
It supports seamless integration of emulation and simulation. A complicated
network simulated by NCTUns can be seamlessly integrated with a real-life
network. Real-life network traffic can pass through a complicated simulated network
and interact with simulated network traffic.
It directly uses the real-life Linux TCP/IP protocol stack to
generate high-fidelity simulation results. By using a novel kernel
re-entering simulation methodology, a real-life Linux kernel’s protocol stack
is directly used to generate high-fidelity simulation results.
It can run any real-life UNIX application program on a simulated
node without any modification. Any real-life
program (e.g., P2P BitTorrent or Java programs) can be run on a simulated host,
router, mobile node, etc. to generate realistic network traffic. This
capability also enables a researcher to evaluate the functionality and
performance of a distributed application or system under various network
conditions. Another important advantage of this feature is that application
programs developed during simulation studies can be directly deployed and run
on real-world UNIX machines after simulation studies are finished. This
eliminates the time and effort required to port a simulation prototype to a
real-world implementation if traditional network simulators were used.
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
Its setup and usage of a simulated network and application programs
are exactly the same as those used in real-life IP networks. For example,
each layer-3 interface has an IP address automatically assigned to it by the
GUI and application programs directly use these IP addresses to communicate
with each other. For this reason, any person who is familiar with real-life IP
networks will easily learn and operate NCTUns in just 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-life network.
It simulates various important networks. The supported
networks 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, Tactical
and active mobile ad hoc networks, 3dB beamwidth 60-degree and 90-degree
steerable and directional antennas, IEEE 802.16(d) WiMAX wireless networks
(including the PMP and mesh modes), DVB-RCS satellite networks, wireless
vehicular networks for Intelligent Transportation Systems (including V2V and
V2I), multi-interface mobile nodes for heterogeneous wireless networks, IEEE
802.16(e) mobile WiMAX networks, IEEE 802.11(p)/1609 WAVE wireless vehicular
networks, various realistic wireless channel models, IEEE 802.16(j) transparent
mode and non-transparent mode WiMAX networks, etc.
It simulates various important protocols. For example, IEEE
802.3 CSMA/CD MAC, IEEE 802.11 (b) CSMA/CA MAC, IEEE 802.11(e) QoS MAC, IEEE
802.11(b) wireless mesh network routing protocol, IEEE 802.16(d)(e)( j) WiMAX
wireless MAC and PHY, DVB-RCS satellite MAC and PHY, learning bridge protocol,
spanning tree protocol, IP, Mobile IP, Diffserv (QoS), RIP, OSPF, UDP, TCP,
RTP/RTCP/SDP, HTTP, FTP, Telnet, BitTorrent, etc.
It finishes a network simulation case quickly. By combining the
kernel re-entering methodology with the discrete-event simulation methodology,
a simulation job can be finished quickly.
It generates repeatable simulation results. If the user
fixes the random number seed for a simulation case, the simulation results of a
case are the same across different simulation runs even if there are some other
activities (e.g., disk I/O) occurring on the simulation machine.
It provides a highly-integrated and professional GUI environment. This GUI can
help a user to quickly (1) draw network topologies, (2) configure the protocol
modules used inside a node, (3) specify the moving paths of mobile nodes, (4)
plot network performance graphs, (5) play back the animation of a logged packet
transfer trace, etc. All of these operations can be easily, intuitively, and
quickly done with the GUI.
Its simulation engine adopts an 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 and
easy-to-understand 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 bypass the GUI and generate the suite of
description 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.
It supports remote and concurrent simulations. NCTUns adopts a
distributed architecture. The GUI and simulation engine are separately
implemented and use the client-server model to communicate. Therefore, a remote
user using the GUI program can remotely submit his (her) simulation job to a
server running the simulation engine. The server will run the submitted
simulation job and later return the results back to the remote GUI program for analyses.
This scheme can easily support the cluster computing model in which multiple
simulation jobs are performed in parallel on different server machines. This can increase
the total simulation throughput.
It provides complete and high-quality documentations. The GUI user
manual and the protocol developer manual provide detailed information about how
to use NCTUns. The NCTUns package provides 83 example simulation cases and
their demo video clips to help a user easily understand how to run up a
It is continuously supported, maintained, and improved. New functions
and network types are continuously added to NCTUns to enhance its functions,
speed, and capabilities.