Simulation of multi-radio multi-channel 802.11-based mesh networks in ns-3
© Amiri-Nezhad et al.; licensee Springer. 2014
Received: 31 December 2013
Accepted: 10 June 2014
Published: 16 July 2014
In the context of wireless network simulation, many simulators are capable of evaluating the performance of single-channel network protocols, but they need many modifications to be able to simulate multi-radio multi-channel networks. We address the problem of simulating channel assignment protocols for multi-radio wireless mesh networks in ns-3 simulator, providing the essential steps needed to simulate a channel assignment protocol. In addition, we explain the details of simulating the Semi-dynamic Interference aware Channel Assignment (SICA) protocol as an example. We use SICA as a reference to address the challenges of validating and verifying the simulation model. To validate the channel assignment model in SICA, we use mathematical validation based on Markov chains. Furthermore, we propose a novel automated test module to verify the simulation process.
Multi-radio WMNs are able to offer higher network capacity using different non-overlapping channels provided by IEEE 802.11 standards in the unlicensed bands . Although there are several non-overlapping channels available, the number of channels that can be used simultaneously by a single node is limited by the number of radio interfaces installed on the node. Therefore, a mechanism which selects the best channel, in terms of interference, among all available channels, is needed in order to achieve the maximum possible network performance.
Technical solutions for multi-hop wireless networks are being specified in IEEE 802.11s . IEEE 802.11s is developed as an extension of the successful IEEE 802.11 standard for WLANs (wireless local area networks) . IEEE 802.11s defines the mesh operation in a single channel although multi-radio mesh routers can form different meshes. The connection between different meshes is provided via bridging. Mesh routers can initiate the channel switching mechanism which moves the mesh, or part of it, to another channel. The routers which do not want to follow the channel switch request may join another mesh. Channel switching may help mesh routers to avoid the external interference but does not reduce the internal interference between routers which belong to the same mesh basic service set (MBSS), since it moves the MBSS to another channel. However, frequent channel switching may degrade the mesh performance due to the high overheads that it implies .
In multi-radio mesh networks, channel assignment (CA) is a mechanism which tries to find a feasible mapping between wireless channels and radio interfaces at each node with the aim of maximizing the capacity of the network.
A channel assignment solution must satisfy the following conditions to be feasible:
The number of channels assigned to a node must be equal or less than the number of radio interfaces it has.
The neighboring nodes must have at least a radio at a common channel to be able to communicate with each other.
Based on the time duration between consecutive runs of the channel assignment protocol, CAs are categorized as static, dynamic, and semi-dynamic .
Most of the CAs proposed in the literature fall into static category [4–13], where nodes tune their radios to certain channels permanently. Static CAs are easy to deploy but unsuccessful to cope with the changes in the wireless environment .
Dynamic channel assignments [14, 15], on the other hand, enforce the nodes to switch their interface dynamically from one channel to another between successive data transmissions. Therefore, they require tight synchronizations among nodes. Dynamic approaches are only used for single radio nodes working over multiple frequencies, since they cannot exploit the advantages of multi-radio networks .
Static CAs can be easily extended to be semi-dynamic [16–26] if the node refreshes the channels assigned to the radios on a regular time period. Semi-dynamic CAs adapt fast to the changes in the traffic pattern and the interference on the wireless medium from both internal and external sources. However, to maintain the network connectivity, neighboring nodes are supposed to share a common channel [16, 27].
Hybrid CAs apply a semi-dynamic channel assignment to the fixed radio interface of each multi-radio node while the other radio is controlled dynamically. Wireless nodes which use hybrid CAs may not share a common channel with their neighbors, since the dynamic radio switches to the channel of the neighboring nodes to make the connection.
Implementing a multi-radio multi-channel mesh network is very challenging due to the following reasons:
The current 802.11 commodity devices suffer interference caused from non-overlapping frequencies over each other due to lack of prefect filtering at the antenna .
The media access control (MAC) layer of the IEEE 802.11 standard should be modified to support channel assignment mechanisms .
Channel assignment mechanisms are usually evaluated via simulations due to the multiple considerations and complex scenarios required to evaluate them [7–10, 13, 22–25]. However, most of the current network simulators do not support multi-radio routers nor dynamic re-configuration of the radio interface, requiring modifications into their core level to allow the evaluation of CA mechanisms .
ns-3  is a young simulator which allows the wireless mesh nodes to be equipped with more than one radio interface and makes it possible to change the frequency of the radio during the simulation run time. Although those features are necessary in order to simulate a multi-radio multi-channel network, they are not enough for simulating hybrid or dynamic CA mechanisms. Multi-radio mesh networks simulated in ns-3 based on the recently published standard, IEEE 802.11s , are assumed to share common channels. The ns-3 modules for IEEE 802.11s can be used to simulate static or semi-dynamic CAs, but they are insufficient for dynamic or hybrid CA. As in IEEE 802.11s, the peer links are formed over common channels, and the peer management protocol must be changed to be able to send beacons for neighboring mesh points which do not share any common channel. This modification is incompatible with the IEEE 802.11s standard which assumes that mesh points operate in a single channel . According to the IEEE 802.11s standard, multi-radio stations form different meshes on different channels, which are unified in a single LAN using the layer 2 bridging. We consider the problem of simulating hybrid CAs without restricting our work to IEEE 802.11s mesh networks.
In this work, we show in detail how to simulate a hybrid channel assignment protocol using ns-3 simulator without any need to modify the simulator’s source code (Section 2). This work is the first step in clarifying the necessary components and considerations for building a dynamic/hybrid CA in ns-3. Furthermore, we have also focused on the validation and verification mechanisms for simulation-based studies, which are the two aspects that have not yet been considered by the research community when it comes to implement the CA mechanism. We use the simulator version 3.9 released on August 2011. As a specific example, we present the simulation of the channel assignment proposed in [25, 26] (Section 3). This example is used to explain the simulation verification and the validation of the CA model (Sections 4 and 5). A brief summary of other CA protocols proposed in the literature which could also be implemented following the presented approach is described in Section 6, and conclusions are presented in Section 7.
2 Simulation components for multi-radio mesh networks
In this section, we introduce the required extensions to ns-3 simulator  for simulating hybrid CA mechanisms. These extensions include the basic functions on top of which the CA mechanism can be implemented, in addition to presenting how to simulate external interference for adaptive CAs.
2.1 Multi-radio wireless nodes
The figure depicts a general cross-layer channel assignment protocol that interacts with the components of the simulation: traffic generators, routing protocol, and the channel sensing mechanism.
Physical and MAC layer configuration
MAC and physical layer standard
The propagation delay between the specified source and destination
Modalize the propagation loss through a transmission medium
Data and control packets transmission rate
Sections 2.2.1, 2.2.2, and 2.3 provide a brief explanation of the components which must be added to the multiradio node to make it possible to simulate the channel assignment mechanism.
2.2 Network devices
2.2.1 Configuring the radio interface
ns-3 indicates each channel with a unique ID, which starts from 0. By default, the channel assigned to all radios in a node is set to 0. To re-configure the channel assigned to a radio interface, a node has to change the ID of the default channel in the physical layer of the radio interface. All channels in ns-3 are supposed to be non-overlapping.
Note that if the interface is busy due to sending or receiving, it is not possible to switch to another frequency. Program 2 checks the status of the device (line 5) before setting the new channel.
It is also possible to acquire the remaining time until the device gets idle (line 9) and set the channel afterwards (line 11).
2.2.2 Data service components
Unlike single-channel networks, a node in a multi-channel architecture needs to consider the possibility of having next hop neighbors on different channels. Therefore, to forward a packet, a wireless mesh node needs to know the channel on which it can send the packet, in addition to the address of the next hop mesh node.
The Destination Channel Query function finds the channel on which the packet must be sent. A Packet Queuing mechanism buffers packets and keeps them until the sender switches one radio interface to the corresponding destination channel. To avoid saturation in a given queue, the packets that have been waiting for a period of time exceeding a certain threshold are dropped from the queue. For such purpose, a time stamp is assigned to each new arriving packet and used as a reference to drop the packets.
a. Destination Channel Query: Multi-radio nodes keep the following information about their neighbors in addition to their address:
The number of radio interfaces a node has
The channel assigned to each radio interface
At which time each node will switch from one channel to another
At which time each node can receive packets on each channel.
The mentioned information is kept in the Neighbor Table. To forward a packet, a node gets the receiving channel of the next hop neighbor. With this information, the node can tune a radio to that channel and send the pending packets.
Nodes use control messages to update the information about their neighbors in the Neighbor Table. This is necessary for the adaptive channel allocation mechanisms, where a node changes the channel of its radio interface frequently.
Every time that a node informs its neighbors about switching the channel of its radio interface, the neighbors will update the entry in the Neighbor Table.
In a multi-channel architecture, nodes may need to monitor the available channels to acquire the list of busy channels. When forwarding a packet, the node should make sure that the receiver is not in the monitoring mode. Therefore, the node needs to keep the next monitoring period for all of its neighbors to avoid initializing any transmission.
b. Time Stamp Assignment: Nodes must time stamp the packets waiting to be sent over a certain channel; in case the destination channel is busy, the older packets must be discarded to avoid saturation. Therefore, it is possible to control the length of the buffers.
The time stamp assigned to each packet is equal to the time at which the packet was received from the routing agent (Tenqueu(p)). We define Twait(p) as the maximum amount of time that a packet is allowed to stay in the buffer before it is transmitted over the wireless media. To remove the old packets, a node checks the current time of the system (Tcurrent) and deletes those packets that Tcurrent>Tenqueu(p) + Twait(p).
To avoid the queues from getting saturated in high traffic rate, nodes may select a smaller value for Twait(p).
c. Data Queuing: In multi-radio multi-channel networks, the number of available frequencies is bigger than the number of radio interfaces at each router (|C|>I). Therefore, the neighboring nodes may set their antennas over different channels. A wireless mesh node which has traffic for more than one neighbor, might need to switch to different channels to be able to deliver its packets to the next hop. During the time that a node transmits data over a channel, packets destined for other channels must be buffered to be sent later.
We create sequential first-in, first-out queues for buffering packets in ns-3 for different channels. Each queue corresponds to one of the available channels. The defined queues have the ability to eliminate the old packets automatically as described in Section 2.2.2.
Packet buffer elements
The type of the packet: data or control
A pointer to the packet
The time at which the packet expires and should be
2.3 External interference and channel sensing
Simulating two separate wireless networks which interfere with each other is not possible in ns-3. Different wireless networks simulated in the same scenario do not have any effect over each other since ns-3 treated them separately.
For an adaptive channel assignment, we have a scenario where each channel is occupied by different amounts of interference. Nodes estimate the amount of interference through sensing or monitoring all channels at the same time [16, 22]. Simulating this scenario is possible only if the interference threshold is set separately for each channel.
To simulate the external interference in ns-3, we can consider the external interference as it was noise, and therefore, we can model it by properly adjusting the noise figure and the error rate parameter for each radio interface . However, using this approach, we are not able to differentiate between the signal propagation, the noise effects, and the external interference, which introduces an unnecessary complexity to understand the results, as we can simply avoid by developing an independent module.
The emulator keeps the channel Busy for a predefined period of time (BusyDuration) according to IEEE 802.11k . The duration of Idle state is determined using an exponential random variable with the mean equal to MeanIdleTime.
In the constructor (line 8 of Program 4), a timer is initialized to call the ChangeStatus function when it expires. Initially, the delay of the timer is set to an exponentially distributed random variable with the mean equal to MeanIdleTime m s.
To monitor a channel, a node checks the Interference Emulator Status attached to the channel during the sensing period.
The amount of interference over a channel, induced by an external network, can be varied by setting different values for MeanIdleTime and BusyDuration.
2.4 Routing modifications
When simulating multi-radio multi-channel WMNs, considering a proper routing protocol is challenging. The routing has to be considered as a joint problem with the channel assignment [16, 18–20], since any change in the channel radio mapping affects the quality of the links between nodes and may trigger the routing protocol to re-route the traffic. On the other hand, the changes in the traffic pattern have an impact on the next decision of the channel assignment protocol. Therefore, the routing protocol and the routing metric must be modified to adapt to the channel assignment [6, 32].
In ns-3, the available routing protocols are not applicable for multi-radio wireless networks when using dynamic or hybrid channel assignment. Nevertheless, as we are only focusing on fixed WMNs, where nodes are fixed or have limited mobility, the static routing is a simple way to avoid complexity related to the dynamic routing protocols. The global routing simulated in ns-3 provides static routing only for wired networks by filling the routing tables at the beginning of the simulation. In the case of wireless networks, there is no static routing since the topology of a wireless network is determined by the propagation model and other parameters at run time .
The Routing Table can be filled either using a file containing all shortest paths between all nodes or during the simulation using route request messages. We have used a file which is filled by R numerical tool  feeding the position of nodes in the network.
The routing header which is attached to each packet has the following elements:
Node ID of the source
Node ID of the destination
Node ID of the next hop device to the destination
The time of originating the packet.
The relay nodes on the path from the source to the destination update the ID of the next hop node in the header and forward the packet.
In a dynamic or hybrid CA, the synchronization can be achieved through exchanging messages either using a fixed radio over a common channel or using the data channels. Since each node assigns a channel to its receiving radio which differs from its neighbors, nodes must be aware of the channels which are being used by their neighbors and any upcoming switching to the new channel, in case of using adaptive CAs. Moreover, if nodes sense the medium to detect the external interference, they must be aware of the sensing period of their neighbors to avoid initiating any transmission on the same channel that is being sensed for detecting external interference.
We use the term event to refer to upcoming switching a channel or sensing a channel event.
We use control messages to make nodes aware of upcoming events. The key point is, instead of reporting the time of each event, nodes report the remaining time slots until the event. Neighboring nodes upon receiving the message add the time slots reported in the received control message to their local time to acquire the time of each event.
To reduce the delay of receiving a control message, which may affect the calculation, the control messages have to get the highest priority to be transmitted along other messages.
This method works fine in ns-3, and nodes are able to synchronize the events with their neighbors.
3 An example of CA implementation: SICA
In this section, we provide a brief explanation about Semi-dynamic Interference aware Channel Assignment (SICA) mechanism as presented in [25, 26]. We explain in detail how each component of SICA is implemented in ns-3. Notice that, in Sections 4 and 5, we tackle the challenge of validating and verifying the simulation model for SICA. We introduce a novel Markov model to validate the SICA results from the theoretical point of view. We also develop a new automated test module to verify the implementation of SICA in the simulator.
SICA is implemented in a network where nodes are equipped with two radio interfaces; each one is able to use a set C (with cardinality |C| > 1) of non-overlapping channels. The radios will be referred to as the receiving radio and the transmitting radio, and denoted by R and T, respectively.
The aim of the channel assignment mechanism is to select the channels which suffer less interferences in terms of both internal and external interference. The channel assignment mechanism selects and assigns a channel to the R radio of each node. Then, the node switches the T radio according to the receiving channel of its neighbors to start transmission. After a channel switch, the T radio remains on the same channel until all packets, which are addressed to the same destination node, have been sent or until a maximum period of time has expired .
Nodes estimate the amount of external interference on a channel via sensing the channel. Then, they use control packets called Hello to exchange channel sensing information and inform their neighbors about upcoming interface switching for the receiving radio (R).
3.1 External interference estimation
Using the Channel Emulators (Section 2.3), the status of a channel can be monitored as Busy or Idle. Each node monitors the channel’s status for its receiving radio (R) once in each sensing period of length TSS seconds. For monitoring a channel c, the node checks the status of the corresponding Channel Emulator (ce) at a pre-defined rate (TSRate).
Tbusy and Tidle show the duration of the Busy and the Idle states, respectively.
Note that each node senses only one channel during the monitoring period. It then sends this information to its neighbors, and as its neighbors do the same, it gathers information about other channels via the control packets received from its neighbors (see Section 3.3).
The internal interference is estimated based on the Interference Protocol Model proposed in . Each node is informed by its neighbors about the current channel of their receiving radio. Therefore, a node i can calculate the number of neighboring nodes over channel c (R i (c)). Then, the node estimates the density of interfering nodes on channel c by where N i represents the total number of neighbors of node i.
In SICA, nodes use the average of the estimated external and internal interference over a channel as a metric to select a channel that has more available capacity.
3.2 Channel selection mechanism
The channel selection mechanism is developed as a repeated game which uses the interference estimation information and selects the best possible channel for the receiving radio of a node.
Initially, the channel selection mechanism calculates and assigns a weight to all available channels based on the amount of internal and external interference estimated over a channel. Then, the weights are updated using the multiplicative weight update technique proposed in [36, 37].
Program 6 computes and sorts the probability of selecting a channel according to Equation 3 (lines 11 to 18 and line 20). Then, it sorts the list of available channels based on the weights (probabilities) assigned to each channel (line 19). Line 21 computes the cumulative probability vector by adding up each probability value with all probabilities lower than it. Then, the probabilities are fed to the empirical random variable generator (lines 22 and 23) which generates a random number as an index for the available channels’ list (line 24 of Program 6).
3.3 Control packet elements
In addition to the receiving channel announcement, Hello packets are used to inform about the channel sensing information and the receiving channel of the neighboring nodes, so a node can compute the external and internal interference for each channel. In order to do that, there is a field in each packet which contains the amount of external interference over the receiving channel estimated by the node. The number of neighbors and the channels of their receiving radio is also added at the end of each Hello packet.
The remaining time before a node switches its R radio to another channel and the remaining time before the node starts sensing the current channel are also announced via Hello packets. The announcements inform the neighboring nodes about upcoming channel switching or sensing events.
3.4 Data and control transmission
For each channel c∈C, SICA maintains two sequential first-in first-out queues for buffering packets (Section 2.2.2): control packet queue (Qctrl(c)) and data packet queue (Qd(c)). Qctrl(c) has higher priority than Qd(c). The source and each node in the middle of the path to the destination push each packet to the corresponding queue attached to each channel. Each packet is time stamped when it is pushed to the queue. Using the time stamp as a reference, packets that remain in the queue for a longer time than a certain threshold are discarded to avoid saturation (see Section 2.2.2).
TInterfaceReadyToSend (line 4) is a function which gets the ID of the channel and the estimation of the required time to send a packet by the T radio and checks whether it is possible or not to send a packet over the channel.
In the following cases, the TInterfaceReadyToSend returns False, which prevents the node from sending packets over channel c:
The channel is being sensed by any of the neighbors.
The channel is busy due to the external interference.
The T interface did not switch to the channel successfully.
The estimated transmission time is less than the remaining time over the current channel.
4 Validating the game model
Model validation deals with building the right model. It is the process of determining whether a simulation model is an accurate representation of the system. Validation can be obtained based on mathematical proof of correctness by comparing the results of the model with other models [38, 39].
The channel assignment in SICA is modeled as a repeated game, where nodes compete to occupy the most vacant channel (as explained in detail in Section 3.2). The game is played repeatedly in a sequence of game rounds. In each round, the player plays a mixed strategy based on the weights assigned to each channel.
In the following section, we use a Markov chain model to prove that the results of the game are consistent with how the system operates. Moreover, the model comparison makes it possible to find under which conditions the game converges to a steady state and which parameters have greater effect on the performance.
We simulate the game model using R numerical tool  and compare the result with the results obtained using the Markov model to compute the probability of selecting channels.
We define the process of selecting a channel for a radio interface at each node as a Markov chain.
Here λ is the learning parameter which means that small values of λ enable the player to choose the optimal strategy more accurately. For our model, we define λ=1-β, where β is the learning parameter used for the game model of SICA (see Section 3).
Figure 10 shows the probability of selecting a channel at each node. For clarity, we show the available bandwidth of each channel with a red line at the same figure with the probability distribution of selecting a channel. As shown, the available bandwidth in each channel decreases linearly from channels 1 to 8. The right y-axis shows the available bandwidth related to the total bandwidth of a channel, while the left y-axis shows the probability of selecting the channel.
Figure 10 shows that the weighted learning algorithm matches quite closely the result from solving the Markov model after 100 rounds for β=0.9.
We examine SICA and the Markov model for the case that 50% of the channels (channels with the IDs from 5 to 8) are occupied by the external interference. The interference occupies 80% of the bandwidth of those channels, while channels with the IDs from 1 to 4 are almost free.Figure 11 shows that in this specific scenario, when the decision about selecting the best channels is more clear, the learning algorithm of SICA converges to the Markov solution much faster, in this case only after 15 rounds.
The other technique for validating a model is showing the model operation behavior over time . To study the behavior of SICA over time, we simulate SICA using ns-3 simulator for a grid network of size 5×5 nodes and 2 CBR traffic flows of 100 kbps. The results are obtained averaging over 10 simulation runs, and the error bars show the 90% confidence interval.Figure 12 shows how the probability of selecting a target channel changes over time, when a different amount of external interference is introduced on each channel. Specifically, the channel with the higher ID suffers more external interference. The figure shows that the nodes tend to select the channel which offers more bandwidth, which is the expected behavior of any CA.Figure 13 shows the average probability of selecting each channel over time when the external interference is introduced on the first four channels (channels with the IDs from 1 to 4) while other channels are free. The figure shows that the probability of selecting any of the busy channels tends to 0 over time, while the probability of selecting any of the free channels (channels with the IDs from 5 to 8) increases to 0.25 which confirms the results shown in Figure 11. Moreover, it can be observed how SICA achieves a proportional utilization of the four free channels.
5 Verifying the simulation model
Model verification ensures that the computer programming and implementation of the conceptual model are correct . Assertion checking is one of the dynamic verification techniques for simulation model. Unlike the static techniques which analyze the program to determine if it is correct (syntax analysis), dynamic verification deals with checking the correctness of the values which are obtained after executing the program [38, 42].
To verify the simulation in ns-3, we design a state space explorer (SSE) which is invoked by the major events that happen in the simulations and performs state checking to verify the correctness of the simulation.
We assume that the simulation, as a system, consists of a group of entities joined together to accomplish the packet delivery goal and hence virtually represents the operation of the real system.
We consider each radio interface as an entity with the following attributes:
The frequency channel it is using
The number of packets it has received
The number of packets it has sent
The number of packets it has dropped.
The State of the system (s t ) is the complete description of the system at any time which includes all entities and values of their attributes. We consider those attributes which are relevant to the objective of interest. s t represents a function of all entities which assigns a value to all attributes. We consider that contains all possible states of the system and call it state space.
The Event (e t ) is any occurrence which changes the state of the system. In our model, we consider the following events:
Sending a packet (Send, unconditional event)
Receiving a packet (Receive, conditional, )
Dropping a packet (Drop, conditional, )
Changing the channel of the radio interface (Channel Change, unconditional event).
An Assertion is a property which must be held for all states of the system to be able to prove the correctness of the simulation.
For the simulation of the channel assignment protocol, we define the following assertions:
Only one channel must be assigned to a radio. In a hybrid CA, after assigning a channel to a radio, the radio may not switch immediately to the new channel since the node must inform the neighbors about the upcoming switching. Moreover, if a radio is receiving data, the node will not switch until the end of the data transmission. Therefore, CA must avoid assigning a new channel to a radio before the previous channel assignation took effect.
There must be a common channel between the sender radio and the receiver radio at any given time. In dynamic and hybrid CAs, the data transmission mechanism must be sure that the radios of the nodes are tuned to the same channel before the transmission starts. This must be achieved through an appropriate synchronization and switching mechanism.
We have designed SSE in ns-3, which starts from the initial state of the system and reaches the successor state following the simulation events, and checks for any violation from the assertions.
s0 is defined as the initial state of the simulation. We define ś as explored by s0 if ś is the successor state of the system after the triggering event e (), and we notate it as . The event handler is triggered by any of the events in , and it calls the state control procedure to check the assertion of the successor event.
where I i represents the number of radio interfaces of node i.
6 Related work
Channel assignment is a problem that must be solved toward the implementation of wireless mesh networks, and it has been studied extensively during the last years. Although many solutions have been considered for channel assignment [3–13, 16–24, 43–47], few proposals are adaptive to the changes in the wireless environment such as the interference induced from other wireless networks [16, 22, 25, 48].
The first interference aware CA mechanism is Breath First Search Channel Assignment (BFSCA) . BFSCA is a priority-based and centralized algorithm which assigns better channels to the links that are close to the gateway. The channel assignment assumes that there is a common channel between nodes for coordination. Another relevant adaptive and semi-dynamic CA proposal is Urban-X . Urban-X is a traffic and interference aware CA which relies on a common channel between nodes for exchanging control packets.
Semi-dynamic Interference aware Channel Assignment (SICA)  is a game-based CA mechanism that considers both the internal and external interference. SICA is distributed and assumes that in wireless networks, nodes do not have perfect information about their neighbors. This is the main contribution that differentiates SICA from other game-based CAs [24, 49–55]. Moreover, nodes do not need to tune one radio interface over a common channel. The implementation of SICA in ns-3 has been detailed in the previous section.
Simulating SICA and any other hybrid or dynamic CA in the current network simulators needs some general components which are missing in all simulators. The necessary modifications for ns-2 simulator , for evaluating multi-radio wireless networks, are presented in . The manual is restricted to the static channel assignment, which assigns a channel to the radio interface of a node before the simulation starts and keeps the configuration until the end of the simulation. Unlike the previous work, we provide the essential steps toward simulating channel assignment protocols in ns-3 simulator in this paper, including the validation of the game model used in SICA with a Markov model.
Furthermore, to the best of the authors’ knowledge, this is the first time that the correctness of the channel assignment simulation is controlled through checking the simulation events.
In this paper, we have presented the extensions which must be done in ns-3 simulator to simulate channel assignment mechanisms for multi-radio wireless networks. We provided the simulation details of the Semi-dynamic Interference aware Channel Assignment (SICA) mechanism which is proposed in [25, 26]. In addition, the source code of SICA is published and available in . We also tackled the challenge of testing the simulation model in channel assignment protocols by using SICA as an example. We proposed a new Markov model and an automated test algorithm.
We verified the simulation of SICA using a novel state space checker which checks the relevant simulation events for any violation from the feasibility conditions of channel assignment solution. The results prove the correctness of the simulation and show that SICA is capable of utilizing the channels in a fair and efficient way. Moreover, we justified the results obtained by the game theory-based model of SICA, using a new Markov chain model.
In the future, we plan to expand our implementation by improving the data delivery mechanism to incorporate differentiated priority scheduling, such that higher priority traffic can be transmitted in preference to lower priority traffic. It is also desired to consider traffic rate adaptation for channel assignment in addition to designing a method to avoid saturation of data queues for high rate traffic. We also plan to investigate the necessary modifications to the routing protocol for making it able to work along hybrid channel assignment protocols.
This work has been partially supported by the Spanish Government under project TEC2012-32354 (Plan Nacional I+D) and TIN2013-47272-C2-2, and by the Catalan Government (SGR-2014-1173 and SGR-2014-881).
- IEEE-SA: IEEE standard for information technology-telecommunications and information exchange between systems-local and metropolitan area networks-specific requirements - part 11: wireless LAN medium access control (MAC) and physical layer (PHY) specifications. IEEE Std 802.11-2007 (Revision of IEEE Std 802.11-1999) 2007. doi:10.1109/IEEESTD.2007.373646Google Scholar
- IEEE-SA: IEEE standard for information technology-telecommunications and information exchange between systems-local and metropolitan area networks-specific requirements - part 11: wireless LAN medium access control (MAC) and physical layer (PHY) specifications amendment 10: mesh networking. IEEE Std 802.11s-2011 (Amendment to IEEE Std 802.11-2007) 2011.Google Scholar
- Crichigno J, Wu M-Y, Shu W: Protocols and architectures for channel assignment in wireless mesh networks. Ad Hoc Netw 2008, 6: 1051-1077. doi:10.1016/j.adhoc.2007.10.002View ArticleGoogle Scholar
- Zhang L, Wang X, Liu C: Channel assignment in multi-radio multi-channel wireless mesh network by topology approach. In Proc. WRI Int. Conf. Communications and Mobile Computing CMC ’09. IEEE, Yunnan, China; 6–8 Jan 2009:358-362. doi:10.1109/CMC.2009.245Google Scholar
- Xu L, Xiang Y, Shi M: A novel channel assignment algorithm based on topology simplification in multi-radio wirelesss mesh networks. In Proc. 25th IEEE Int. Performance, Computing, and Communications Conf. IPCCC 2006. IEEE, Phoenix, AZ, USA; 10–12 April 2006:230-238. doi:10.1109/.2006.1629411Google Scholar
- Draves R, Padhye J, Zill B: Routing in multi-radio, multi-hop wireless mesh networks. In Proceedings of the 10th Annual International Conference on Mobile Computing and Networking. ACM, New York; 2004:114-128.Google Scholar
- Marina MK, Das SR, Subramanian AP: A topology control approach for utilizing multiple channels in multi-radio wireless mesh networks. Comput. Netw 54(2):241-256. (IEEE, Boston, MA, USA, 3–7 Oct. 2005). doi:10.1016/j.comnet.2009.05.015Google Scholar
- Subramanian AP, Gupta H, Das SR, Cao J: Minimum interference channel assignment in multiradio wireless mesh networks. IEEE Trans. Mobile Comput Dec. 2008, 7(12):1459-1473.View ArticleGoogle Scholar
- Avallone S, Akyildiz IF: A channel assignment algorithm for multi-radio wireless mesh networks. Proc. 16th Int. Conf. Comput Commun. Netw. ICCCN 2007 2008, 31(7):1343-1353.Google Scholar
- Skalli H, Ghosh S, Das SK, Lenzini L: Channel assignment strategies for multiradio wireless mesh networks issues and solutions. Commun. Mag. IEEE 2007, 45(11):86-95. doi:10.1109/MCOM.2007.4378326View ArticleGoogle Scholar
- Shao B, Tao J, Wang F: Static channel assignment with the physical interference model for maximum capacity in multi-radio multi-channel wireless mesh networks. In Proc. 9th Int Grid and Cooperative Computing (GCC) Conf. IEEE, Nanjing, China; 1–5 Nov 2010:338-343. doi:10.1109/GCC.2010.72Google Scholar
- Raniwala A, Gopalan K, Chiueh T-c: Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks. SIGMOBILE Mob. Comput. Commun. Rev 2004, 8(2):50-65.View ArticleGoogle Scholar
- Amiri Nezhad M, Cerdà-Alabern L: Utility based channel assignment mechanism for multi radio mesh networks. In Proceedings of the 8th ACM International Workshop on Mobility Management and Wireless Access. MobiWac ’10. ACM, New York; 2010:68-74.View ArticleGoogle Scholar
- Gong MX, Midkiff SF, Mao S: On-demand routing and channel assignment in multi-channel mobile ad hoc networks. Ad Hoc Netw 2009, 7(1):63-78. ElsevierView ArticleGoogle Scholar
- Bahl P, Chandra R: SSCH: slotted seeded channel hopping for capacity improvement in IEEE 802.11 ad-hoc wireless networks. 2004.View ArticleGoogle Scholar
- Ramachandran KN, Belding EM, Almeroth KC, Buddhikot MM: Interference-aware channel assignment in multi-radio wireless mesh networks. In Proc. 25th IEEE Int. Conf. Computer Communications INFOCOM 2006. IEEE, Barcelona, Spain; Apr 2006:1-12. doi:10.1109/INFOCOM.2006.177View ArticleGoogle Scholar
- Wu X, Liu J, Chen G: Analysis of bottleneck delay and throughput in wireless mesh networks. In Proc. IEEE Int Mobile Adhoc and Sensor Systems (MASS) Conf. IEEE, Vancouver, BC; Oct 2006:765-770. doi:10.1109/MOBHOC.2006.278648Google Scholar
- Alicherry M, Bhatia R, Li LE: Joint channel assignment and routing for throughput optimization in multiradio wireless mesh networks. IEEE J. Select. Areas Commun 2006, 24(11):1960-1971. doi:10.1109/JSAC.2006.881641View ArticleGoogle Scholar
- Mohsenian-Rad AH, Wong VWS: Joint logical topology design, interface assignment, channel allocation, and routing for multi-channel wireless mesh networks. IEEE Trans. Wireless Commun 2007, 6(12):4432-4440. doi:10.1109/TWC.2007.060312View ArticleGoogle Scholar
- Raniwala A, Chiueh T-C: Architecture and algorithms for an IEEE 802.11-based multi-channel wireless mesh network. In INFOCOM 2005. 24th Ann. Joint Conf. IEEE Comput Commun. Soc. Proc. IEEE. IEEE, Miami, FL, USA; 13–17 March 2005:2223-2234. doi:10.1109/INFCOM.2005.1498497Google Scholar
- Kyasanur P, Vaidya NH: Routing and link-layer protocols for multi-channel multi-interface ad hoc wireless networks. SIGMOBILE Mob. Comput. Commun. Rev 2006, 10(1):31-43.View ArticleGoogle Scholar
- Wooseong Kim MDF, Andreas JK, Gerla M: Urban-X: towards distributed channel assignment in cognitive multi-radio mesh networks. In IFIP Wireless Days. IEEE, Venice; 2010.Google Scholar
- Kim S-H, Suh Y-J: Rate-based channel assignment algorithm for multi-channel multi-rate wireless mesh networks. Proc. IEEE Global Telecommunications Conf. IEEE GLOBECOM 2008 2008, 1-5. doi:10.1109/GLOCOM.2008.ECP.125Google Scholar
- Felegyhazi M, Cagalj M, Bidokhti SS, Hubaux J-P: Non-cooperative multi-radio channel allocation in wireless networks. In INFOCOM 2007. 26th IEEE International Conference on Computer Communications. IEEE. IEEE, New Orleans, LA, USA; 30 Nov. 2008–4 Dec. 2008:1442-1450.Google Scholar
- Nezhad MA, Cerda-Alabern L: Adaptive channel assignment for wireless mesh networks using game theory. In Proc. IEEE 8th Int Mobile Adhoc and Sensor Systems (MASS) Conf. IEEE, Valencia, Spain; 17–22 Oct 2011:746-751. doi:10.1109/MASS.2011.82Google Scholar
- Amiri Nezhad M, Cerda-Alabern L, Bellalta B, Guerrero Zapata M: A semi-dynamic, g.b., interference aware channel assignment for multi-radio multi-channel wireless mesh networks. Int. J. Ad Hoc Ubiquitous Comput 2013, 14(3):200-2013. doi:10.1504/IJAHUC.2013.058237, InderScienceView ArticleGoogle Scholar
- Dhananjay A, Zhang H, Li J, Subramanian L: Practical, distributed channel assignment and routing in dual-radio mesh networks. In SIGCOMM ’09: Proceedings of the ACM SIGCOMM 2009 Conference on Data Communication. ACM, New York; 2009:99-110. doi:10.1145/1592568.1592581View ArticleGoogle Scholar
- Robinson J, Papagiannaki K, Diot C, Guo X, Krishnamurthy L: Experimenting with a multi-radio mesh networking testbed. In WiNMee Workshop. IEEE, Seoul, Korea; 3 Apr 2005.Google Scholar
- Aguero-Calvo R, Perez-Campo J: Adding Multiple Interface Support in NS-2. University of Cantabria, Cantabria, Spain; 2007. . http://personales.unican.es/aguerocr/Google Scholar
- ns-3 Development Team: ns-3 Manual (release ns-3.9). ns-3 project, Seattle, WA, USA; 2011. . http://www.nsnam.org/docs/manual/html/index.htmlGoogle Scholar
- IEEE-SA: IEEE standard for information technology telecommunications and information exchange between systems local and metropolitan area networks specific requirements part 11: wireless LAN medium access control (MAC) and physical layer (PHY) specifications amendment 1: radio resource measurement of wireless LANs. IEEE Std 802.11k-2008 (Amendment to IEEE Std 802.11-2007) 2008. doi:10.1109/IEEESTD.2008.4544755Google Scholar
- Youssef M, Ibrahim M, Abdelatif M, Chen L, Vasilakos AV: Routing metrics of cognitive radio networks: a survey. Commun. Surv. Tutor. IEEE 2014, 16(1):92-109. doi:10.1109/SURV.2013.082713.00184View ArticleGoogle Scholar
- RDC Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna; 2008. R Foundation for Statistical Computing. . http://www.R-project.org R Foundation for Statistical Computing. .Google Scholar
- Nezhad MA: Semi-dynamic Interference Aware Channel Assignment (SICA). 2012.http://personals.ac.upc.edu/maryam/SICA.tar.gzGoogle Scholar
- Gupta P, Kumar PR: The capacity of wireless networks. IEEE Trans. Inform. Theory 2000, 46(2):388-404. doi:10.1109/18.825799MathSciNetView ArticleGoogle Scholar
- Freund Y, Schapire RE: Game theory, on-line prediction and boosting. In COLT ’96: Proceedings of the Ninth Annual Conference on Computational Learning Theory. ACM, New York; 1996:325-332.View ArticleGoogle Scholar
- Freund Y, Schapire RE: Adaptive game playing using multiplicative weights. Games Econom. Behav 1999, 29(1–2):79-103.MathSciNetView ArticleGoogle Scholar
- Sargent RG: Verification, validation and accreditation of simulation models. In Proceedings of the 2000 Winter Simulation Conference. IEEE, Orlando, FL, USA; 10–13 Dec 2000:50-591. doi:10.1109/WSC.2000.899697View ArticleGoogle Scholar
- Law AM: How to build valid and credible simulation models. In Proceedings of the 2009 Winter Simulation Conference (WSC). IEEE, Austin, TX, USA; 13–16 Dec 2009:24-33. doi:10.1109/WSC.2009.5429312View ArticleGoogle Scholar
- Weibing L, Xianjia W, Binbin H: Evolutionary Markov games based on neural network. In Proceedings of the 6th International Symposium on Neural Networks: Advances in Neural Networks - Part III. ISNN 2009. Springer, Berlin, Heidelberg; 2009:109-115. doi:10.1007/978-3-642-01513-7-12. . http://dx.doi.org/10.1007/978-3-642-01513-7_12 doi:10.1007/978-3-642-01513-7-12. .View ArticleGoogle Scholar
- Kindermann R: Markov Random Fields and Their Applications (Contemporary Mathematics; V. 1). Amer Mathematical Society; 1980. . http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0821850016View ArticleGoogle Scholar
- Balci O: Verification, validation, and accreditation. In Proceedings of the 30th Conference on Winter Simulation. WSC ’98. IEEE Computer Society Press, Los Alamitos; 1998:41-4. . http://dl.acm.org/citation.cfm?id=293172.293183Google Scholar
- Si W, Selvakennedy S, Zomaya AY: An overview of channel assignment methods for multi-radio multi-channel wireless mesh networks. J. Parallel Distrib. Comput 2010, 70: 505-524. doi:10.1016/j.jpdc.2009.09.011View ArticleGoogle Scholar
- Cheng H, Xiong N, Vasilakos AV, Yang LT, Chen G, Zhuang X: Nodes organization for channel assignment with topology preservation in multi-radio wireless mesh networks. Ad Hoc Netw 2012, 10(5):760-773. doi:10.1016/j.adhoc.2011.02.004. Special Issue on Cognitive Radio Ad Hoc NetworksView ArticleGoogle Scholar
- Demestichas PP, Stavroulaki VAG, Papadopoulou LM, Vasilakos AV, Theologou ME: Service configuration and traffic distribution in composite radio environments. Syst. Man, Cybernet. Part C: Appl. Rev. IEEE Trans 2004, 34(1):69-81. doi:10.1109/TSMCC.2003.818500View ArticleGoogle Scholar
- Duarte PBF, Fadlullah ZM, Vasilakos AV, Kato N: On the partially overlapped channel assignment on wireless mesh network backbone: a game theoretic approach. Select. Areas Commun. IEEE J 2012, 30(1):119-127. doi:10.1109/JSAC.2012.120111View ArticleGoogle Scholar
- He Y, Yuan R, Sun J, Gong W: Semi-random backoff: towards resource reservation for channel access in wireless lans. In 17th IEEE International Conference on Network Protocols, 2009. ICNP 2009. IEEE, Princeton, NJ, USA; 13–16 Oct 2009:21-30. doi:10.1109/ICNP.2009.5339700View ArticleGoogle Scholar
- Lopez-Perez D, Chu X, Vasilakos AV, Claussen H: On distributed and coordinated resource allocation for interference mitigation in self-organizing LTE networks. Netw. IEEE/ACM Trans 2013, 21(4):1145-1158. doi:10.1109/TNET.2012.2218124View ArticleGoogle Scholar
- Gao L, Wang X, Xu Y, Chen W: Distributed multi-radio channel allocation in multi-hop ad hoc networks. In ICC’08. IEEE, Beijing, China; 19–23 May 2008:3156-3160.Google Scholar
- Chen T, Zhong S: Perfectly fair channel assignment in non-cooperative multi-radio multi-channel wireless networks. Comput. Commun 2009, 32(6):1058-1061.View ArticleGoogle Scholar
- Shah I, Jan S, Loo K-K: Selfish flow games in non-cooperative multi-radio multi-channel wireless mesh networks with imperfect information. In 2010 6th International Conference on Wireless and Mobile Communications (ICWMC). IEEE, Valencia, Spain; 20–25 Sept 2010:219-225.View ArticleGoogle Scholar
- Kim H-K, Oh C-Y, Lee T-J: Fair and collision-aware multi-channel assignment based on game theory for wireless multi-hop networks. IEICE Trans. Commun 2009, 92: 1282-1290. doi:10.1587/transcom.E92.B.1282View ArticleGoogle Scholar
- Byun S-S, Balashingham I, Vasilakos AV, Lee H-N: Computation of an equilibrium in spectrum markets for cognitive radio networks. Comput. IEEE Trans 2014, 63(2):304-316. doi:10.1109/TC.2012.211MathSciNetView ArticleGoogle Scholar
- Khan MA, Tembine H, Vasilakos AV: Game dynamics and cost of learning in heterogeneous 4G networks. Select. Areas Commun. IEEE J 2012, 30(1):198-213. doi:10.1109/JSAC.2012.120118View ArticleGoogle Scholar
- Khan MA, Tembine H, Vasilakos AV: Evolutionary coalitional games: design and challenges in wireless networks. Wireless Commun. IEEE 2012, 19(2):50-56. doi:10.1109/MWC.2012.6189413View ArticleGoogle Scholar
- K Fall, (eds.): KV, The ns Manual (formerly ns Notes and Documentation). ACM, Berkeley; 2003. . http://www.isi.edu/nsnam/ns/doc/index.htmlGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.