VANS: Visual Ad hoc Network Simulator
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
VANS: Visual Ad hoc Network Simulator∗ Masako Shinohara, Hideki Hayashi, Takahiro Hara, Akimitsu Kanzaki and Shojiro Nishio Graduate School of Information Science and Tech., Osaka University {sinohara.masako, hideki, hara, kanzaki, nishio}@ist.osaka-u.ac.jp ABSTRACT of network topology changes and packet propagation, graphs and statistics of evaluation results, and information on mobile In this paper, we describe the design of a visual simulator hosts. This function enables users to visually comprehend the for ad hoc networks that provides a function that allows users simulation status. VANS also provides functions by which to perform various operations during the simulation. This en- users can perform various operations during the simulation. ables users to configure the evaluation environment by check- These functions enable users to configure the experimental ing its behavior. These operations can be easily performed environment by checking its behavior. Moreover, VANS of- with a GUI. We also describe the implementation of a sim- fers a GUI to users for easy operation. We also describe the ulator prototype that visually shows the behavior of routing implementation of a VANS prototype that visually shows the protocols. behavior of routing protocols. The remainder of this paper is organized as follows. In Keywords: ad hoc network, simulator, visualization tool, section 2, we introduce related works. We describe the de- mobile computing, routing sign and implementation of VANS in sections 3 and 4, re- spectively. Finally, in section 5, we conclude this paper. 1 INTRODUCTION As one of the research fields in mobile computing environ- 2 RELATED WORKS ments, interest is increasing in ad hoc networks constructed Some conventional simulators can simulate ad hoc net- of only mobile hosts that function as routers. In conven- works [1], [7], [8]. In this section, we introduce some typ- tional research on ad hoc networks, the performance of the ical simulators and describe differences between VANS and proposed protocols is usually evaluated by using simulation such typical simulators. experiments since it is difficult to evaluate them on practical platforms. For this reason, various network simulators for ad 2.1 NS-2 hoc networks have been proposed [1], [7], [8]. These con- ventional simulators provide the facility to simulate typical NS-2 [8] is a discrete event network simulator developed protocols in different layers; users evaluate the performance at the University of California, Berkeley. NS-2 can support of their proposed protocols in various situations by setting pa- users to conduct various simulations by providing typical pro- rameters to configure the experimental environment. tocols in each OSI layer. Users can also implement their pro- However, in conventional simulators, it is usually difficult posed protocols by creating agents that are derivative classes to comprehend protocol’s behavior because experimental re- inherited from basic classes provided by NS-2. NS-2 outputs sults are shown as a set of numerical data. For example, when the information on mobile host movements, packet propaga- a user finds an unexpected behavior during the protocol evalu- tion, and experimental results to external files. It supports ation, it is difficult to comprehend the cause only from numer- the creation of gnuplot/Xgraph graphs by reading these exter- ical data since network topology frequently changes due to nal files and shows the animation of the simulation status by the movement of mobile hosts. Moreover, conventional sim- using Network AniMator (Nam). Nam reexecutes the simu- ulators do not support user operations during the simulation. lation process after the experiment is terminated and displays That is, users can set parameters to configure the simulation it as animation. NS-2 is different from VANS because users environment only before starting the experiment, and they can can configure the experimental environment only before the see results only after the experiment is terminated. There- experiment starts and can see the experimental results only fore, users cannot reconfigure the experimental environment after the experiment is terminated. by checking its behavior. In addition, users must read a large number of manuals to learn how to use the simulator because 2.2 GloMoSim source coding is usually specialized for each simulator. In this paper, we propose a Visual Ad hoc Network Simula- GloMoSim [1] is a discrete event network simulator for tor (VANS), which is a visual simulator for ad hoc networks. wireless networks developed at University of California, Los VANS visually shows various information such as animation Angeles that provides various protocols of different layers that users can select at each layer. Since GloMoSim provides ∗ This research was partially supported by The 21st Century Center of various APIs, users can easily implement their proposed pro- Excellence Program “New Information Technologies for Building a Net- worked Symbiotic Environment” and Grant-in-Aid for Young Scientists tocols. Parameters for determining evaluation environments, (A)(1668005) of the Ministry of Education, Culture, Sports, Science and traffic generation, and protocols are specified in configuration Technology, Japan and by the Tateishi Science and Technology Foundation. files. Users can see an animation of a simulation status, check
User the evaluation environment, pause, and restart the simulation - Simulation status - Pause and restart execution by using a visualization tool written in Java. After a - Experimental results - Simulation reexecution - Information on mobile host - Change of configuration parameters simulation experiment is terminated, its results are output as a set of numerical data. GloMoSim is similar to VANS because both simulators assume wireless network environments and Display Displaymanager manager Event Eventmanager manager display request have a facility to visually check simulation behaviors. How- display request requests for ever, GloMoSim is different from VANS because it does not log processing Log Logmanager manager have a GUI to configure experimental environments. Log data request for processing on mobile hosts 2.3 OPNET Modeler Mobile Mobilehost hostmanager manager OPNET Modeler [7] is a network simulator developed at Mobility manager Communication manager the Massachusetts Institute of Technology that can model and simulate communication networks, devices, and protocols. Figure 1: Composition of VANS. OPNET Modeler is based on a series of hierarchical editors that directly parallel the structure of actual networks and pro- 3.2 Composition tocols. OPNET Modeler shows animations of simulation sta- tus and graphs of simulation results, a facility similar to that Figure 1 shows the composition of VANS, which consists provided by VANS. However, OPNET Modeler is different of four modules: event manager, mobile host manager, dis- from VANS because the configuration of the experimental en- play manager, and log manager. In the following subsection, vironment is very complicated, and users also cannot change we explain each of them. the configuration of the experimental environment during sim- ulations. 3.2.1 Event manager The event manager receives events as inputs from users and 3 VANS DESIGN sends execution requests to other modules as needed. Inputs from users are classified into two types of events: by GUI In this section, we describe the VANS design. operations and by timer. Events by GUI operations are gen- erated when users operate VANS. Events by GUI operations 3.1 Overview and modules handling them are summarized as follows: VANS visually shows simulation status during the simula- Event manager tion so that users can comprehend the behavior of the evalu- • Changes the simulation progress operations. ated protocol. Specifically, it shows the following statuses: • Changes configuration parameters of experimental envi- • Network topology changes and packet propagation. ronments. • Graphs and statistics of experimental results, e.g., control • Changes displayed statuses. traffic and setting delays. Mobile host manager • Mobile host information. • Changes configuration parameters of mobile hosts. Since VANS continuously updates the displays of the above • Selects destinations for data transmission. statuses, users can easily comprehend the ever-changing sim- ulation statuses. Moreover, users can visually comprehend • Adds and deletes mobile hosts. the process (packet flow) when a source transmits data pack- Display manager ets to a destination. • Displays windows, popup menus, and dialogs. VANS provides some functions by which users can per- Log manager form various operations during the simulation so that they can • Simulates reexecution by log data. reconfigure the experimental environment by checking its be- havior. Specifically, users can perform some operations that On the other hand, events by timer are automatically gen- change simulation progress, e.g., pause, restart, and reexecu- erated during the simulation according to the simulation pro- tion. They can also change configuration parameter values gram written by users. For example, communication events of the evaluation environment and mobile hosts. When users between mobile hosts, movement of mobile hosts, display of want to recheck a past simulation, VANS supports such re- simulation status, and log output are automatically generated execution by using log data. During this, users can add or at constant time intervals. delete mobile hosts to the network and change evaluation met- The event manager always monitors the entire simulation rics and displayed statuses. When users perform changes dur- during execution. When it detects an event by GUI opera- ing the simulation, these changes are immediately displayed. tions, it immediately processes the event if it is not processing These functions enable users to construct the evaluation en- other events at that time. vironment by checking the simulation behavior. Moreover, 3.2.2 Mobile host manager since VANS offers a GUI to users for easy operation, they need not read a large number of manuals to learn how to use The mobile host manager receives requests for processing it. on mobile hosts from the event manager and sends display
requests to the display manager as needed. This module con- ule reloads the corresponding logs to VANS. When the log sists of two submodules: a mobility manager that processes manager receives a request for log processing from the event movements of mobile hosts, and a communication manager manager, it retrieves logs from the external log files and trans- that processes communications between mobile hosts. fers them to the mobile host manager. Mobility manager: This submodule updates the current po- Logs are categorized into three types: experimental envi- sitions of mobile hosts at every unit of time, according to ronment, mobile host, and random number. The experimen- the mobility model selected by the user. This submod- tal environment log stores configuration parameters about the ule manages parameters about mobile host mobility so experimental environment and data about the entire simula- that users can continue the simulation experiment even if tion. The mobile host log stores configuration parameters they change these parameters during the simulation. about mobile hosts, information on their positions, and their sent and received packets. Both the experimental environment Communication manager: This submodule processes pack- and mobile host logs are output to external files at constant ets that mobile hosts transmit and receive according to time intervals and when users change configuration param- the communication protocol selected by the user. Also, eters about the experimental environment and mobile hosts. this submodule calculates data for displaying graphs and The random number log stores all random numbers generated statistics of experimental results and information on mo- during the simulation. bile hosts from the processing results. In addition, this By using random numbers stored in a random number log submodule manages parameters about communication and other information stored in the experimental environment between mobile hosts. and mobile host logs, this module supports users who re- execute the same simulation experiment. Since this mod- 3.2.3 Display manager ule records configuration parameter changes about the exper- When the display manager receives a display request from imental environment and mobile hosts as log data, the reexe- the event or mobile host managers, it displays or updates win- cuted experiment can reflect such changes. dows, menus, and dialogs; it also shows animation of network topology changes and packet propagation, graphs and statis- 4 IMPLEMENTATION OF VANS tics of evaluation results, and information on mobile hosts. Since in the research field of ad hoc networks, the design This module shows the simulation status of the display and of routing protocols is a very popular issue [3]–[6], we imple- reflects configuration changes from users immediately with- mented a VANS prototype that visually shows behaviors of out being affected by internal processes because the display routing protocols and evaluates their performances. The pro- process is independent of internal ones. totype was implemented by Microsoft Visual C++ .NET on This module displays the simulation area as a rectangle and Windows XP. draws a mobile host as a circle on the current position in the In the following, we describe the configuration parameters area, where its host identifier is specified at the lower left. A in the implemented prototype and the implementation details. radio link between two mobile hosts within communication We also describe a procedure in which a user incorporates the range of each other is drawn as a dotted line. If a mobile host proposed protocol in VANS. transmits a series of data packets, a flow identifier is assigned to the transmission. That is, packets associated with the same 4.1 Configuration parameters transmission are assigned to the same flow identifier. When a user selects a data transmission flow, the characters show- The prototype offers various configuration parameters about ing the source and destination of the data transmission are experimental environments and mobile hosts. A user can set displayed near the mobile hosts. Therefore, the user can dis- these values by using a GUI. tinguish the selected source and destination even when a large The configuration parameters about the experimental envi- number of mobile hosts exist. This module also draws prop- ronment are as follows: agating packets that correspond to the selected flow as solid • Simulation area arrowheads. An arrowhead is drawn from the position of the The flatland in which mobile hosts exist. A user can spec- mobile host sending a packet to the position of the mobile ify either a flatland with certain vertical and horizontal host receiving it. lengths or a torus as an infinite flatland. In addition, this module displays experimental results and information on mobile hosts as graphs and statistics during • Unit of simulation time the simulation. Evaluation metrics are shown as polygonal The actual time of the unit time in the simulation experi- line graphs, frequency distribution graphs, and dissemination ment. We define unit time as the period between when a graphs. The scale of the vertical and horizontal axes in each mobile host processes the received packet and sends it to graph are automatically adjusted as the simulation progresses. a neighboring mobile host. The statistics of simulation metrics are shown as tables. • Simulation time The period in which a user executes the simulation ex- 3.2.4 Log manager periment. The log manager outputs logs to external files during the These configuration parameters can be configured not only simulation. When users reexecute the simulation, this mod- before starting an experiment but also during its execution.
The mobile host configuration parameters are as follows: • Initial number of mobile hosts The number of mobile hosts when the simulation experi- ment starts. • Radio communication range The range (radius) in which a mobile host can send a packet to other mobile hosts and receive a packet from other mobile hosts by radio communication. • Maximum/minimum movement speed Figure 2: Dialog for initial setting. The range of movement speed of mobile hosts. • Mobility model and information on mobile hosts during the simulation, an in- The mobility model of mobile hosts. In this prototype, a formation window is displayed, as shown in Figure 4. In the user can choose one of three typical mobility models [2]: following, we explain the four windows: Random Walk, Random Waypoint, and Random Gauss • Setting window Markov. At the top of this window, a turn number that denotes • Routing protocol simulation progress is displayed. Users can suspend and The protocol used for communication between mobile restart the simulation by pushing the “play/pause” button. hosts. In this prototype, a user can choose one of three If a user suspends the simulation and inputs a turn num- typical routing protocols: Dynamic Source Routing ber less than the current one, the simulation returns to the (DSR) [3], Ad hoc On-Demand Distance Vector (AODV) status corresponding to the input number. This window [6], and Flooding, which is the simplest way to transmit also displays configuration parameters about the evalua- data packets to a destination. tion environment and mobile hosts. A user can change • Mode these values by pushing the “change” button and setting The mobile host mode during the simulation. There are new values. three modes: ‘active,’ ‘sleep,’ and ‘exit.’ ‘Active’ denotes • Simulation window that the mobile host is participating in a network; ‘sleep’ This window shows the animation of the simulation sta- denotes that the mobile host is temporarily leaving a net- tus. In this window, a circle denotes a mobile host, a work; and ‘exit’ denotes that the mobile host has already number at the lower left denotes the identifier of the mo- left the network. bile host, a dotted line denotes a radio link, and a solid Among these configuration parameters, the initial number of arrowhead denotes a packet propagation. SRC denotes mobile hosts and routing protocol can only be set before start- the source of data transmission corresponding to the se- ing an experiment, and the mode can only be changed dur- lected flow, and DST denotes the destination to which ing the experiment’s execution. The others can be set and the source sends a data packet. During the simulation, changed not only before starting an experiment but also dur- this window shows network topology changes and packet ing its execution. propagations. Figure 5 shows popup menus displayed on the simula- 4.2 Implementation details tion window when a user clicks on the right side of a mouse (a) where the mouse cursor is on a mobile host, In this subsection, we describe the initial setting before and (b) where it is not on a mobile host. A user can starting a simulation experiment and operations performed change mobile host configuration parameters by click- during the simulation. ing on the right side of a mouse where the mouse cursor is on a mobile host. Specifically, a user can perform the 4.2.1 Initial setting following operations: When a user starts up VANS, the dialog for initial setting Specifying a source or a destination: A user specifies is displayed (see Figure 2). Users can configure parameters a source or a destination from or to which packet about the evaluation environment and mobile hosts described propagations are displayed. in subsection 4.1 by using this dialog. In this dialog, users Changing mobile status: A user selects the status of the can choose one of the provided mobility models and routing mobile host among active, sleep, and exit. protocols. Displaying experimental results and information on mobile hosts: A user displays experimental results 4.2.2 Operations during simulation about the mobile host and information on the mo- After completing the initial setting, VANS starts the simu- bile host as graphs and statistics. lation experiment and displays three windows: setting, simu- Changing configuration parameters: A user changes lation, and packet, as shown in Figure 3. In addition, when the mobility model, the movement speed, and the a user performs an operation to display experimental results radio communication range of the mobile host.
Setting Window Simulation Window Packet Window Figure 3: Simulation execution. (a) Graph (b) Statistic Figure 4: Information window. (a) On a mobile host (b) Not on a mobile host Figure 5: Popup menus on the simulation window. On the other hand, a user can execute the following oper- ations by clicking on the right side of a mouse where the and keeps updating it with simulation progress. In the mouse cursor is not on a mobile host. prototype, two evaluation metrics can be shown without users’ coding: control traffics is shown as polygonal line Adding a mobile host: A user adds a new mobile host, graphs on the timeseries, and setting delay is shown as a i.e., makes a host participate at the position where frequency distribution graph. the user clicks on a mouse. In addition, this window can show routing tables held by Displaying experimental results: A user displays exper- mobile hosts. A routing table records route information imental results as graphs in the entire network. for mobile hosts to transmit data packets to destinations. Changing configuration parameters: A user changes Figure 4 shows examples of a graph of the control traffic the mobility model, the movement speed, and the and a routing table. radio communication range of all mobile hosts in the entire network. 4.3 Addition of protocols by users • Packet window Similar to conventional simulators, a user can implement On this window, a user can determine whether propaga- his/her proposed protocols on VANS and conduct a perfor- tions of each kind of packets are displayed on the simu- mance evaluation. In the implemented prototype, a user can lation window. Specifically, if a user checks the box on add the protocol by implementing in C++. For this aim, VANS the left side of a packet name, propagations of the corre- provides some functions for easy utilization of its visualiza- sponding packet are displayed on the simulation window. tion function. • Information window 4.3.1 Basic classes This window shows experimental results and information on mobile hosts during the simulation. Specifically, this When implementing a proposed protocol, the user needs to window shows an evaluation metric selected by the user define the packets and procedures of the protocol. Therefore,
VANS provides the following two basic classes that include restart, and reexecution, and change configuration parameter common and important factors for simulation experiments. values of the evaluation environment and mobile hosts. This • Packet class function enables users to configure the evaluation environ- This class manages parameters that send, receive, and ment by checking its behavior. We also described the imple- draw propagating packets. These parameters include the mentation of a VANS prototype that visually shows routing source and the destination of the packet, the type, and the protocol behavior. flow identifier of the packet, and the time (turn) when the By using VANS, a researcher can examine the validity of packet was sent. It also provides virtual functions to copy a proposed protocol in an assumed environment by visually packets, draw packets’ propagation, process the log data, checking network topology changes and experimental results. and check the flow identifier of the packet. When an unexpected problem, e.g., the generation of a huge number of error packets or abnormal protocol behavior, oc- • Network class curs due to design/implementation errors of the protocol, users This class is for communication between mobile hosts can detect the cause of the problem.VANS is also effective and manages the basic procedures and parameters for for researchers or students to learn routing protocol behavior. packet processing. These parameters include the radio Users can easily comprehend such behavior by checking the communication range and sequence numbers to identify network topology changes, the packet propagation, and the packets. This class provides virtual functions to draw the experimental results on simulation windows. They also can network, process the log data, and execute processes at comprehend the effects of each parameter on the experimen- the mobile host manager before data transmissions. tal results by changing the configuration parameters using a If a user needs new parameters or functions for the pro- GUI. posed protocol, it can add the parameters or functions to deri- As part of our future work, we plan to implement typical vation classes inherited from basic classes. Virtual functions protocols in various layers, e.g., TCP and UDP in the trans- can be redefined as needed if procedures of the proposed pro- port layer and IEEE802.11 and Bluetooth in the MAC layer. tocol are different from the basic classes. We also plan to evaluate VANS on a practical platform to ver- ify its effectiveness in an actual environment. 4.3.2 Change of interface When a user evaluates a proposed protocol, it usually con- REFERENCES ducts simulation experiments by changing parameters that im- pact the performance. Therefore, VANS provides the follow- [1] L. Bajaj, M. Takai, R. Ahuja, K. Tang, R. Bagrodia, ing two functions as APIs to add new configuration parame- and M. Gerla, GloMoSim: A scalable network sim- ters and configure evaluation metrics: ulation environment, Technical Report 990027, UCLA Computer Science Department (1999). • Addition of configuration parameters [2] T. Camp, J. Boleng, and V. Davies, A survey of mobility A user can add new parameters into the configuration models for ad hoc network research, Wireless Communi- parameters that impact the performance of the proposed cations and Mobile Computing (WCMC): Special issue protocol. If a user adds new parameters, VANS adds new on Mobile Ad Hoc Networking: Research, Trends and handles corresponding to the parameters into the dialog Applications, Vol. 2, No. 5, pp. 483–502 (2002). for initial setting and the setting window. By doing so, [3] D.B. Johnson, Routing in ad hoc networks of mo- the added parameters are shown in the dialog for initial bile hosts, Proc. IEEE Workshop on Mobile Comput- setting, and the user can configure them. These param- ing Systems and Applications (WMCSA’94), pp. 158– eters are also shown in the setting window, and the user 163 (1994). can change their values by pushing the “change” buttons [4] M.R. Pearlman, and Z.J. Haas, Determining the opti- and inputting them. mal configuration for the zone routing protocol, IEEE • Configuration of evaluation metrics Journal on Selected Areas in Communications, Vol. 17, A user can set evaluation metrics for the proposed pro- No. 8, pp. 1395–1414 (1999). tocol. In doing so, the user sets periodical intervals at [5] C.E. Perkins, and P. Bhagwat, Highly dynamic which VANS calculates the evaluation metrics. By con- destination–sequenced distance–vector routing (DSDV) figuring the display graphs and statistics of the evalua- for mobile computers, Proc. ACM SIGCOMM’94, pp. tion metrics, the user can comprehend temporal changes 234–244 (1994). of metrics. [6] C.E. Perkins, and E.M. Royer, Ad hoc on demand dis- tance vector routing, Proc. IEEE Workshop on Mobile 5 CONCLUSION Computing Systems and Applications (WMCSA’99), pp. 90–100 (1999). In this paper, we designed VANS, which is a visual sim- [7] Making Networks and Applications Perform, ulator for ad hoc networks. VANS shows animation of sim- http://www.opnet.com/. ulation status, graphs and statistics of experimental results, [8] The Network Simulator - ns-2, and information on mobile hosts. Therefore, users can visu- http://www.isi.edu/nsnam/ns/. ally comprehend simulation status. In VANS, users perform several operations about the simulation progress, e.g., pause,
You can also read