شبیه سازی شبکه های کامپیوتری - شبیه‌ساز NCTUns 6.0
شبیه سازی شبکه های کامپیوتری

این نرم افزار برای شبیه سازی شبکه های VANET,MANET,WIMAX به کار می‌رود که تحت لینوکس می باشد.

The NCTUns 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 conditions.

·         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 simulated network.

·         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 simulation case.

·         It is continuously supported, maintained, and improved. New functions and network types are continuously added to NCTUns to enhance its functions, speed, and capabilities.


+ نوشته شده در  چهارشنبه یازدهم اسفند 1389ساعت 11:2  توسط |