Extensible and High-Fidelity Network Simulator and Emulator
Propose a simple methodology for easily constructing extensible and
high-fidelity TCP/IP network simulators
Wang, S. Y., and Kung, H. T., A Simple Methodology for
Constructing Extensible and High-Fidelity TCP/IP Network Simulators,
Proc. IEEE INFOCOM'99 (The Conference on Computer Communications), New
York, USA, March 1999, pp. 1134-1143. (full version: ps) (short version: ps)
Kung, H. T., and Wang, S. Y., The Behavior of Competing
TCP Connections on a Packet Switched Ring: A Study Using the Harvard TCP/IP
Proc. International Conference on Parallel and Distributed Processing
Techniques and Applications (PDPTA'99), June 1999, pp. 2143-2149.
Harvard TCP/IP network simulator 1.0 (the
tar.gz file, the source tree)
Division of Engineering and Applied Science
Network Research Group
Author: S.Y. Wang (firstname.lastname@example.org)
The Harvard TCP/IP network simulator, based on a simulation
methodology proposed by S.Y. Wang and H.T. Kung at INFOCOM'99, uses
existing real-world BSD code (including the TCP/IP stack, application
programs, utilities and tools, etc.) to provide high-fidelity and
extensible TCP/IP network simulation. This version (version 1.0)
is being used by more than 150 universities, industrial research
labs, and ISPs. Questions, suggestions, and source code
contributions should be sent to email@example.com.
S.Y. Wang 10/23/99
New and More Advanced Software (the successor to the Harvard network simulator)
NCTUns network simulator and emulator (the
web site )
NCTUns is a high-fidelity and extensible network simulator and emulator capable of simulating various protocols used in both wired and wireless networks. Its core technology is based on the novel kernel re-entering methodology invented by Prof. S.Y. Wang [1, 2] 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 simulators such as ns-2  and OPNET .
After obtaining his Ph.D. degree from Harvard University in September 1999, Prof. S.Y. Wang returned to Taiwan and became a professor in the Department of Computer Science, National Chiao Tung University (NCTU), Taiwan, where he founded his "Network and System Laboratory." Since that time, Prof. S.Y. Wang has been leading and working with his students to design and implement NCTUns (the NCTU Network Simulator) for many years.
The NCTUns network simulator and emulator has many useful features listed below:
- It can be used as an emulator and supports seamless integration of simulation and emulation. 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 conditions.
- It directly uses the real-life Linux TCP/IP protocol stacks to generate high-fidelity simulation results. By using a novel kernel re-entering simulation methodology, a real-life UNIX (e.g., Linux) kernel protocol stack can be directly used to generate high-fidelity simulation results.
- It can use any real-life existing or to-be-developed UNIX application program as a traffic generator program without any modification. Any real-life program can be run on a simulated network to generate network traffic. This 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 moved to and used 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 are used.
- Its setup and usage 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 different and new types of networks. The supported types include WiMax PMP and mesh mode networks, DVB-RCST satellite networks, 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, and 3dB beamwidth 60-degree and 90-degree directional antennas.
- It simulates a network quickly. By combining the kernel re-entering methodology with the discrete-event simulation methodology, a simulation job can be finished quickly.
- It provides a highly-integrated and professional GUI environment. This GUI can help a user (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) playing back the animation of a logged packet transfer trace, etc. All these operations can be easily and intuitively 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 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 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 provides complete and high-quality documentations. Currently, the GUI user manual has 118 pages while the protocol developer manual has 320 pages. NCTUns also provides over 50 example simulation cases and their demo video clips to help a user easily understand how to run up a simulation case.
- It is continuously supported, maintained, and improved. New functions and network types are continuously added to NCTUns to enhance its function, speed, and capability.
At NCTU, Prof. S.Y. Wang and his students are working hard to continuously add more functionalities and features to NCTUns. They want to make it a high-quality software and would like to contribute it to the communication and networking community.
THE NCTUNS NETWORK SIMULATOR AND EMULATOR IS AN INTELLECTUAL PROPERTY OF THE NETWORK AND SYSTEM LABORATORY (NSL), DEPARTMENT OF COMPUTER SCIENCE, NATIONAL CHIAO TUNG UNIVERSITY, TAIWAN. ALL RIGHTS RESERVED.
 S.Y. Wang and H.T. Kung, "A Simple Methodology for Constructing Extensible and High-Fidelity TCP/IP Network Simulators," IEEE INFOCOM'99, March 21-25, 1999, New York, USA
 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.
 NS-2 web site, available at http://www.isi.edu/nsnam/ns/
 OPNET Inc. web site, available at http://www.opnet.com/
Prof. S.Y. Wang
National Chiao Tung University, Taiwan