Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver Jungmin So and Nitin Vaidya Modified and Presented by Yong Yang University of Illinois at Urbana-Champaign
Problem Statement Utilizing multiple channels can improve throughput Allow simultaneous transmissions Multiple Channels available in IEEE 802.11 3 non-overlapping channels in 802.11b But, 802.11MAC protocol is only for a single channel Doesn’t work well due to Multi-channel Hidden Terminal Problem Naïve method: a node has a transceiver for each channel 1 defer 2 Single channel Multiple Channels
Overview Goal: Design a MAC protocol that utilizes multiple channels to improve overall performance Modify 802.11 DCF to work in multi-channel environment Constraint: Each node has only a single transceiver Capable of listening to one channel at a time MMAC (Multi-channel MAC) Divide time into fixed-time interval using beacons Have a small window at the start of each interval Senders and receivers negotiate channels for this interval Common Channel Selected Channel Negotiate Channel A RTS DATA Beacon B CTS ACK
Multi-Channel Hidden Terminals Consider the following naïve protocol Each node has one transceiver One channel is dedicated for exchanging control msg Reserve channel as in IEEE 802.11 DCF Sender indicates preferred channels in RTS Receiver selects a channel and includes it in CTS Sender and Receiver switch to the selected channel This protocol is similar to DCA (Dynamic Channel assignment) [Wu00 ISPAN] RTS/CTS can’t solve Hidden Terminal Problem
Multi-Channel Hidden Terminals Time A B C D RTS(2, 3) Channel 1 Channel 2 Channel 3
Multi-Channel Hidden Terminals Time A B C D RTS(2, 3) CTS(2) Channel 1 Channel 2 Channel 3
Multi-Channel Hidden Terminals Time A B C D RTS(2, 3) CTS(2) DATA Channel 1 Channel 2 Channel 3
Multi-Channel Hidden Terminals Time A B C D RTS(2, 3) CTS(2) DATA RTS(2, 3) Channel 1 Channel 2 Channel 3
Multi-Channel Hidden Terminals Time A B C D RTS(2, 3) CTS(2) DATA RTS(2, 3) CTS(2) Channel 1 Channel 2 Channel 3
Multi-Channel Hidden Terminals Time A B C D RTS(2, 3) CTS(2) DATA RTS(2, 3) CTS(2) DATA Collision Channel 1 Channel 2 Channel 3
Proposed Protocol (MMAC) Assumptions Each node is equipped with a single transceiver The transceiver is capable of switching channels Multi-hop synchronization is achieved by other means Out-of-band solutions (e.g. GPS) In-band solutions (e.g. beaconing)
MMAC Idea similar to IEEE 802.11 PSM Divide time into beacon intervals At the beginning of each beacon interval, all nodes must listen to a predefined common channel for a fixed duration of time (ATIM window) Nodes negotiate channels using ATIM messages Nodes switch to selected channels after ATIM window for the rest of the beacon interval A B C Time Beacon ATIM ATIM-ACK DATA ACK ATIM-RES Doze Mode ATIM Window Beacon Interval
Preferred Channel List (PCL) Each node maintains PCL Records usage of channels inside the transmission range High preference (HIGH) Already selected for the current beacon interval Medium preference (MID) No other vicinity node has selected this channel Low preference (LOW) This channel has been chosen by vicinity nodes Count number of nodes that selected this channel to break ties
Channel Negotiation In ATIM window, sender transmits ATIM to the receiver Sender includes its PCL in the ATIM packet Receiver selects a channel based on sender’s PCL and its own PCL Order of preference: HIGH > MID > LOW Tie breaker: Receiver’s PCL has higher priority For “LOW” channels: channels with smaller count have higher priority Receiver sends ATIM-ACK to sender including the selected channel Sender sends ATIM-RES to notify its neighbors of the selected channel
Channel Negotiation A B C D Time Common Channel Selected Channel Beacon B C D Time ATIM Window Beacon Interval
Channel Negotiation A B C D Time Common Channel Selected Channel ATIM- RES(1) ATIM A Beacon B ATIM- ACK(1) C D Time ATIM Window Beacon Interval
Channel Negotiation A B C D Time Common Channel Selected Channel ATIM- RES(1) ATIM A Beacon B ATIM- ACK(1) ATIM- ACK(2) C D ATIM ATIM- RES(2) Time ATIM Window Beacon Interval
Channel Negotiation A B C D Time ATIM ATIM- ACK(1) RES(1) Common Channel Selected Channel Beacon RTS CTS DATA ACK Channel 1 ATIM- ACK(2) CTS ACK Channel 2 C Channel 2 D ATIM ATIM- RES(2) RTS DATA Time ATIM Window Beacon Interval
Some facts of MMAC Outside the ATIM window, the default channel is also used for data transmission To avoid ATIM collision, from the start of the ATIM window, each node waits for a random backoff interval before trans-mitting an ATIM packet Two closed transmissions may choose the same channel RTS/CTS are still used Nodes refrain from transmitting a packet if the time left in the current beacon interval is not long enough
1 Sender, 2 Receivers A has packets for both B and C C must wait until the next beacon interval But packets for C may block the queue Solutions: Multiple queues Randomly choose which one to send packets to first Send ATIM to the destination of the first packets in the queue A ATIM-ACK(1) ATIM-ACK(2) ATIM ATIM B C
Performance Evaluation Simulation Model Simulation Results
Simulation Model ns-2 simulator Transmission rate: 2Mbps Transmission range: 250m Traffic type: Constant Bit Rate (CBR) Beacon interval: 100ms Packet size: 512 bytes ATIM window size: 20ms Default number of channels: 3 channels Two Network Scenarios: wireless LAN, multi-hop network Compared protocols 802.11: IEEE 802.11 single channel protocol DCA: Wu’s protocol MMAC: Proposed protocol
Wireless LAN – Throughput 2500 2000 1500 1000 500 2500 2000 1500 1000 500 MMAC MMAC DCA DCA Aggregate Throughput (Kbps) 802.11 802.11 1 10 100 1000 1 10 100 1000 Packet arrival rate per flow (packets/sec) Packet arrival rate per flow (packets/sec) 30 nodes 64 nodes MMAC shows higher throughput than DCA and 802.11 as network becomes saturated
Wireless LAN – Throughput vs. #Channels 4000 3000 2000 1000 4000 3000 2000 1000 6 channels 6 channels 2 channels Aggregate Throughput (Kbps) 2 channels 802.11 802.11 Packet arrival rate per flow (packets/sec) Packet arrival rate per flow (packets/sec) DCA MMAC The number of channels DCA can fully utilize is limited by the capa-city of the control channel When network load is high, the control channel could be the bottleneck
Multi-hop Network – Throughput 2000 1500 1000 500 1500 1000 500 MMAC MMAC DCA DCA Aggregate Throughput (Kbps) 802.11 802.11 1 10 100 1000 1 10 100 1000 Packet arrival rate per flow (packets/sec) Packet arrival rate per flow (packets/sec) 3 channels 4 channels
Conclusion DCA Bandwidth of control channel significantly affects performance Narrow control channel: High collision and congestion of control packets Wide control channel: Waste of bandwidth It is difficult to adapt control channel bandwidth dynamically MMAC ATIM window size significantly affects performance ATIM/ATIM-ACK/ATIM-RES exchanged once per flow per beacon interval – reduced overhead Compared to packet-by-packet control packet exchange in DCA ATIM window size can be adapted to traffic load Requirement for synchronization