MultiChannel MAC for Ad Hoc Networks Handling MultiChannel

  • Slides: 54
Download presentation
Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver

Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver Jungmin So and Nitin Vaidya University of Illinois at Urbana-Champaign

Introduction Motivation Problem Statement

Introduction Motivation Problem Statement

Motivation • Multiple Channels available in IEEE 802. 11 – 3 channels in 802.

Motivation • Multiple Channels available in IEEE 802. 11 – 3 channels in 802. 11 b – 12 channels in 802. 11 a • Utilizing multiple channels can improve throughput – Allow simultaneous transmissions 1 1 defer Single channel 2 Multiple Channels

Problem Statement • Using k channels does not translate into throughput improvement by a

Problem Statement • Using k channels does not translate into throughput improvement by a factor of k – Nodes listening on different channels cannot talk to each other 1 2 • Constraint: Each node has only a single transceiver – Capable of listening to one channel at a time • Goal: Design a MAC protocol that utilizes multiple channels to improve overall performance – Modify 802. 11 DCF to work in multi-channel environment

Preliminaries 802. 11 Distributed Coordination Function (DCF) 802. 11 Power Saving Mechanism (PSM)

Preliminaries 802. 11 Distributed Coordination Function (DCF) 802. 11 Power Saving Mechanism (PSM)

802. 11 Distributed Coordination Function • Virtual carrier sensing – Sender sends Ready-To-Send (RTS)

802. 11 Distributed Coordination Function • Virtual carrier sensing – Sender sends Ready-To-Send (RTS) – Receiver sends Clear-To-Send (CTS) – RTS and CTS reserves the area around sender and receiver for the duration of dialogue – Nodes that overhear RTS and CTS defer transmissions by setting Network Allocation Vector (NAV)

802. 11 Distributed Coordination Function A A B C D Time

802. 11 Distributed Coordination Function A A B C D Time

802. 11 Distributed Coordination Function RTS A C D Time A B B RTS

802. 11 Distributed Coordination Function RTS A C D Time A B B RTS

802. 11 Distributed Coordination Function CTS A RTS C D C NAV A B

802. 11 Distributed Coordination Function CTS A RTS C D C NAV A B B SIFS D Time

802. 11 Distributed Coordination Function A RTS CTS SIFS D Time DATA C D

802. 11 Distributed Coordination Function A RTS CTS SIFS D Time DATA C D C NAV A B B DATA NAV

802. 11 Distributed Coordination Function ACK A RTS D Time DATA CTS C D

802. 11 Distributed Coordination Function ACK A RTS D Time DATA CTS C D C NAV A B B SIFS ACK NAV

802. 11 Distributed Coordination Function A RTS D Time DATA CTS C D C

802. 11 Distributed Coordination Function A RTS D Time DATA CTS C D C NAV A B B SIFS ACK Contention Window NAV DIFS

802. 11 Power Saving Mechanism • Time is divided into beacon intervals • All

802. 11 Power Saving Mechanism • Time is divided into beacon intervals • All nodes wake up at the beginning of a beacon interval for a fixed duration of time (ATIM window) • Exchange ATIM (Ad-hoc Traffic Indication Message) during ATIM window • Nodes that receive ATIM message stay up during for the whole beacon interval • Nodes that do not receive ATIM message may go into doze mode after ATIM window

802. 11 Power Saving Mechanism Beacon Time A B C ATIM Window Beacon Interval

802. 11 Power Saving Mechanism Beacon Time A B C ATIM Window Beacon Interval

802. 11 Power Saving Mechanism Beacon A Time ATIM B C ATIM Window Beacon

802. 11 Power Saving Mechanism Beacon A Time ATIM B C ATIM Window Beacon Interval

802. 11 Power Saving Mechanism Beacon A B Time ATIM-ACK C ATIM Window Beacon

802. 11 Power Saving Mechanism Beacon A B Time ATIM-ACK C ATIM Window Beacon Interval

802. 11 Power Saving Mechanism Beacon A B ATIM-RES ATIM-ACK C ATIM Window Beacon

802. 11 Power Saving Mechanism Beacon A B ATIM-RES ATIM-ACK C ATIM Window Beacon Interval Time

802. 11 Power Saving Mechanism Beacon A B ATIM-RES Time DATA ATIM-ACK Doze Mode

802. 11 Power Saving Mechanism Beacon A B ATIM-RES Time DATA ATIM-ACK Doze Mode C ATIM Window Beacon Interval

802. 11 Power Saving Mechanism Beacon A B ATIM-RES ATIM-ACK Time DATA ACK Doze

802. 11 Power Saving Mechanism Beacon A B ATIM-RES ATIM-ACK Time DATA ACK Doze Mode C ATIM Window Beacon Interval

Issues in Multi-Channel Environment Multi-Channel Hidden Terminal Problem

Issues in Multi-Channel Environment Multi-Channel Hidden Terminal Problem

Hidden Terminal Problem A DATA B C C does not hear A’s transmission

Hidden Terminal Problem A DATA B C C does not hear A’s transmission

Hidden Terminal Problem A DATA B C C starts transmitting – collides at B

Hidden Terminal Problem A DATA B C C starts transmitting – collides at B

Solution: Virtual Carrier Sensing D A RTS B C A sends RTS D overhears

Solution: Virtual Carrier Sensing D A RTS B C A sends RTS D overhears RTS and defers transmission

Solution: Virtual Carrier Sensing D A CTS B C B sends CTS C overhears

Solution: Virtual Carrier Sensing D A CTS B C B sends CTS C overhears CTS and defers transmission

Solution: Virtual Carrier Sensing D A DATA B A sends DATA to B C

Solution: Virtual Carrier Sensing D A DATA B A sends DATA to B C

Solution: Virtual Carrier Sensing D A RTS B C D overhears RTS and defers

Solution: Virtual Carrier Sensing D A RTS B C D overhears RTS and defers transmission

Multi-Channel Hidden Terminals • Consider the following naïve protocol – Static channel assignment (based

Multi-Channel Hidden Terminals • Consider the following naïve protocol – Static channel assignment (based on node ID) – Communication takes place on receiver’s channel • Sender switches its channel to receiver’s channel before transmitting

Multi-Channel Hidden Terminals Channel 1 Channel 2 A RTS B A sends RTS C

Multi-Channel Hidden Terminals Channel 1 Channel 2 A RTS B A sends RTS C

Multi-Channel Hidden Terminals Channel 1 Channel 2 A CTS B C B sends CTS

Multi-Channel Hidden Terminals Channel 1 Channel 2 A CTS B C B sends CTS C does not hear CTS because C is listening on channel 2

Multi-Channel Hidden Terminals Channel 1 Channel 2 A DATA B RTS C C switches

Multi-Channel Hidden Terminals Channel 1 Channel 2 A DATA B RTS C C switches to channel 1 and transmits RTS Collision occurs at B

Related Work Previous work on multi-channel MAC

Related Work Previous work on multi-channel MAC

Nasipuri’s Protocol • Assumes N transceivers per host – Capable of listening to all

Nasipuri’s Protocol • Assumes N transceivers per host – Capable of listening to all channels simultaneously • Sender searches for an idle channel and transmits on the channel [Nasipuri 99 WCNC] • Extensions: channel selection based on channel condition on the receiver side [Nasipuri 00 VTC] • Disadvantage: High hardware cost

Wu’s Protocol [Wu 00 ISPAN] • Assumes 2 transceivers per host – One transceiver

Wu’s Protocol [Wu 00 ISPAN] • Assumes 2 transceivers per host – One transceiver always listens on control channel • Negotiate channels using RTS/CTS/RES – – RTS/CTS/RES packets sent on control channel Sender includes preferred channels in RTS Receiver decides a channel and includes in CTS Sender transmits RES (Reservation) – Sender sends DATA on the selected data channel

Wu’s Protocol (cont. ) • Advantage – No synchronization required • Disadvantage – Each

Wu’s Protocol (cont. ) • Advantage – No synchronization required • Disadvantage – Each host must have 2 transceivers – Per-packet channel switching can be expensive – Control channel bandwidth is an issue • Too small: control channel becomes a bottleneck • Too large: waste of bandwidth • Optimal control channel bandwidth depends on traffic load, but difficult to dynamically adapt

Protocol Description Multi-Channel MAC (MMAC) Protocol

Protocol Description Multi-Channel MAC (MMAC) Protocol

Proposed Protocol (MMAC) • Assumptions – Each node is equipped with a single transceiver

Proposed Protocol (MMAC) • Assumptions – Each node is equipped with a single transceiver – The transceiver is capable of switching channels – Channel switching delay is approximately 250 us • Per-packet switching not recommended • Occasional channel switching not to expensive – Multi-hop synchronization is achieved by other means

MMAC • Idea similar to IEEE 802. 11 PSM – Divide time into beacon

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

Preferred Channel List (PCL) • Each node maintains PCL – Records usage of channels

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

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 Common Channel Selected Channel A Beacon B C D Time ATIM Window

Channel Negotiation Common Channel Selected Channel A Beacon B C D Time ATIM Window Beacon Interval

Channel Negotiation Common Channel A B Selected Channel ATIM RES(1) Beacon ATIMACK(1) C D

Channel Negotiation Common Channel A B Selected Channel ATIM RES(1) Beacon ATIMACK(1) C D Time ATIM Window Beacon Interval

Channel Negotiation Common Channel A B C D Selected Channel ATIM RES(1) Beacon ATIMACK(1)

Channel Negotiation Common Channel A B C D Selected Channel ATIM RES(1) Beacon ATIMACK(1) ATIMACK(2) ATIMRES(2) Time ATIM Window Beacon Interval

Channel Negotiation Common Channel A B C D ATIM RES(1) Selected Channel RTS DATA

Channel Negotiation Common Channel A B C D ATIM RES(1) Selected Channel RTS DATA Channel 1 Beacon Channel 1 ATIMACK(1) ATIMACK(2) CTS ACK Channel 2 ATIMRES(2) RTS DATA ATIM Window Beacon Interval Time

Performance Evaluation Simulation Model Simulation Results

Performance Evaluation Simulation Model Simulation Results

Simulation Model • • • ns-2 simulator Transmission rate: 2 Mbps Transmission range: 250

Simulation Model • • • ns-2 simulator Transmission rate: 2 Mbps Transmission range: 250 m Traffic type: Constant Bit Rate (CBR) Beacon interval: 100 ms • Packet size: 512 bytes • ATIM window size: 20 ms • Default number of channels: 3 channels • Compared protocols – 802. 11: IEEE 802. 11 single channel protocol – DCA: Wu’s protocol – MMAC: Proposed protocol

Aggregate Throughput (Kbps) Wireless LAN - Throughput 2500 MMAC 2000 DCA 1500 1000 500

Aggregate Throughput (Kbps) Wireless LAN - Throughput 2500 MMAC 2000 DCA 1500 1000 500 2000 MMAC 1500 DCA 1000 802. 11 1 10 1000 Packet arrival rate per flow (packets/sec) 30 nodes 500 1 802. 11 10 1000 Packet arrival rate per flow (packets/sec) 64 nodes MMAC shows higher throughput than DCA and 802. 11

Aggregate Throughput (Kbps) Multi-hop Network – Throughput 1500 MMAC DCA 1000 2000 MMAC 1500

Aggregate Throughput (Kbps) Multi-hop Network – Throughput 1500 MMAC DCA 1000 2000 MMAC 1500 DCA 1000 500 802. 11 0 1 10 1000 Packet arrival rate per flow (packets/sec) 3 channels 500 802. 11 0 1 10 1000 Packet arrival rate per flow (packets/sec) 4 channels

Aggregate Throughput (Kbps) Throughput of DCA and MMAC (Wireless LAN) 4000 6 channels 3000

Aggregate Throughput (Kbps) Throughput of DCA and MMAC (Wireless LAN) 4000 6 channels 3000 6 channels 2000 2 channels 1000 802. 11 0 0 Packet arrival rate per flow (packets/sec) DCA Packet arrival rate per flow (packets/sec) MMAC shows higher throughput compared to DCA

Analysis of Results • DCA – Bandwidth of control channel significantly affects performance –

Analysis of Results • 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

Conclusion & Future Work

Conclusion & Future Work

Conclusion • MMAC requires a single transceiver per host to work in multi-channel ad

Conclusion • MMAC requires a single transceiver per host to work in multi-channel ad hoc networks • MMAC achieves throughput performance comparable to a protocol that requires multiple transceivers per host

Future Work • Dynamic adaptation of ATIM window size based on traffic load for

Future Work • Dynamic adaptation of ATIM window size based on traffic load for MMAC • Efficient multi-hop clock synchronization • Routing protocols for multi-channel environment

Thank you! jso 1@uiuc. edu

Thank you! jso 1@uiuc. edu