Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals

advertisement
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
Motivation
• Multiple Channels available in IEEE 802.11
– 3 channels in 802.11b
– 12 channels in 802.11a
• 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 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)
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
B
C
D
Time
802.11 Distributed Coordination Function
RTS
A
C
D
C
D
Time
A
B
B
RTS
802.11 Distributed Coordination Function
CTS
A
RTS
CTS
C
D
C
NAV
A
B
B
SIFS
D
Time
802.11 Distributed Coordination Function
DATA
A
RTS
CTS
SIFS
D
Time
DATA
C
D
C
NAV
A
B
B
NAV
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
NAV
A
B
B
SIFS
ACK
Contention Window
NAV
DIFS
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
A
Time
ATIM
B
C
ATIM Window
Beacon Interval
802.11 Power Saving Mechanism
Beacon
A
Time
ATIM
B
ATIM-ACK
C
ATIM Window
Beacon Interval
802.11 Power Saving Mechanism
Beacon
A
ATIM ATIM-RES
B
ATIM-ACK
C
ATIM Window
Beacon Interval
Time
802.11 Power Saving Mechanism
Beacon
A
ATIM ATIM-RES
Time
DATA
B
ATIM-ACK
Doze Mode
C
ATIM Window
Beacon Interval
802.11 Power Saving Mechanism
Beacon
A
ATIM ATIM-RES
Time
DATA
B
ATIM-ACK
ACK
Doze Mode
C
ATIM Window
Beacon Interval
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 starts transmitting – collides at B
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 CTS and defers transmission
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 transmission
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
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 to channel 1 and transmits RTS
Collision occurs at B
Related Work
Previous work on multi-channel MAC
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 [Nasipuri99WCNC]
• Extensions: channel selection based on channel
condition on the receiver side [Nasipuri00VTC]
• Disadvantage: High hardware cost
Wu’s Protocol [Wu00ISPAN]
• 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 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
Proposed Protocol (MMAC)
• Assumptions
– Each node is equipped with a single transceiver
– The transceiver is capable of switching channels
– Channel switching delay is approximately 250us
• 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 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 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
Common Channel
Selected Channel
A
Beacon
B
C
D
Time
ATIM Window
Beacon Interval
Channel Negotiation
Common Channel
A
B
Selected Channel
ATIMATIM RES(1)
Beacon
ATIMACK(1)
C
D
Time
ATIM Window
Beacon Interval
Channel Negotiation
Common Channel
A
B
C
D
Selected Channel
ATIMATIM RES(1)
Beacon
ATIMACK(1)
ATIMACK(2)
ATIM
ATIMRES(2)
Time
ATIM Window
Beacon Interval
Channel Negotiation
Common Channel
A
B
C
D
ATIMATIM RES(1)
Selected Channel
RTS
DATA
Channel 1
Beacon
Channel 1
ATIMACK(1)
ATIMACK(2)
CTS
ACK
CTS
ACK
Channel 2
Channel 2
ATIM
ATIMRES(2)
RTS
DATA
ATIM Window
Beacon Interval
Time
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
• Compared protocols
– 802.11: IEEE 802.11 single channel protocol
– DCA: Wu’s protocol
– MMAC: Proposed protocol
Aggregate Throughput (Kbps)
Wireless LAN - Throughput
2500
2500
MMAC
2000
DCA
1500
1000
500
MMAC
2000
1500
DCA
1000
802.11
1
10
100
1000
Packet arrival rate per flow (packets/sec)
30 nodes
500
1
802.11
10
100
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
DCA
1000
500
802.11
0
500
802.11
0
1
10
100
1000
Packet arrival rate per flow (packets/sec)
3 channels
1
10
100
1000
Packet arrival rate per flow (packets/sec)
4 channels
Aggregate Throughput (Kbps)
Throughput of DCA and MMAC
(Wireless LAN)
4000
4000
6 channels
3000
3000
6 channels
2000
2000
2 channels
2 channels
1000
1000
802.11
802.11
0
0
Packet arrival rate per flow (packets/sec)
DCA
Packet arrival rate per flow (packets/sec)
MMAC
MMAC shows higher throughput compared to DCA
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
• 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 MMAC
• Efficient multi-hop clock synchronization
• Routing protocols for multi-channel environment
Thank you!
jso1@uiuc.edu
Download