## 2 State of the Art
Strategies differ according to the level of overhead and the effectiveness of the channel allocation. These strategies are the following:  
(i) The exclusive frequency assignment strategy, the number of frequencies should be equal to or greater than the number of nodes within two hops. Nodes exchange their identities (IDs) in their 2-hop neighborhood. Nodes choose frequencies according to the increasing order of their ID values. If a node presents the smallest ID in its 2-hop neighborhood, it chooses the smallest frequency among those available and then it sends the chosen frequency to its 2-hop neighbors. This strategy ensures that nodes in any 2-hop neighborhood are assigned different frequencies, but it induces high communication overhead due to the ID and frequency exchange between 2-hop neighbors using CSMA/CA. (ii) The even-selection strategy which is more suitable for dense WSNs where the number of frequencies is smaller than the number of nodes within two hops. It is similar to exclusive frequency strategy, but when all frequencies are already chosen in a 2-hop neighborhood, a node randomly chooses one of the least chosen frequencies. (iii) The eavesdropping strategy where each node takes a random backoff during which it waits for its 1-hop neighbors to choose their frequencies. When its backoff expires, it randomly chooses one of the least chosen frequencies within one hop. This strategy has less communication overhead compared to the first two strategies, but it only collects frequencies information within one hop neighborhood and during a limited random time interval which results in more interference. (iv) The implicit-consensus strategy where each node calculates a random number for itself and a random number for each node in its 2-hop neighborhood using the same pseudo-random number generator. A node wins current frequency if its random number is the highest among all the other random numbers. It then broadcasts its frequency to the 2-hop neighbors. This strategy guarantees smaller overhead but assumes a high number of available frequencies. At the beginning of each time slot, nodes contend for the medium to broadcast control traffic on a common broadcast channel. When a node transmits a packet, it switches between its own channel and the destination channel during the preamble sending time, which results in increasing the protocol overhead and the number of repetitions due to frequent channel switching. The performance of MMSN is evaluated through simulations using GloMoSim simulator and compared with CSMA/CA. In [12], authors propose MC-LMAC (Multi-Channel Lightweight MAC) protocol which is a distributed schedule-based multi-channel MAC protocol based on the single channel energy-efficient MAC protocol LMAC [13]. MC-LMAC guarantees that the same slot/channel pair is not simultaneously used within a two-hop neighborhood. Each node manages an \"occupied slots\" vector per channel with a length equal to the number of time slots. This vector is used for storing the information about the slots occupied by the neighbors. Each bit in the \"occupied slots\" vector is set if the time slot at the same position is occupied. This vector is then sent to 1-hop neighbors. In order for a node to choose a channel,it executes an \(OR\) operation over all the \"occupied slots\" vectors received on a certain channel in order to find a free time slot. The authors claim that there are no collision and no interference in a 2-hop neighboring allocation, but we will show this is not the right strategy when data frame acknowledgments are used. On the other hand, MC-LMAC suffers from the overhead of the control messages that are exchanged in order to discover the channels used in the different TMDA slots in 2-hop neighborhood. The problem increases as the network density increases. In [14], authors propose MuChMAC (Multi-Channel MAC) protocol, a distributed low-overhead Multi-Channel MAC protocol. It uses a dynamic channel assignment approach. It combines TDMA and asynchronous MAC techniques. Time is divided into slots.