510 likes | 772 Views
Multi-Channel Wireless MAC. Lecture 5 CS 598 HL. Wireless Resource Management. How is wireless resource defined? Time domain management Contention-based (CSMA/CA), scheduling-based (TDMA, scheduling MAC), … Space domain management Cellular division, directional antenna, power control …
E N D
Multi-Channel Wireless MAC Lecture 5 CS 598 HL
Wireless Resource Management • How is wireless resource defined? • Time domain management • Contention-based (CSMA/CA), scheduling-based (TDMA, scheduling MAC), … • Space domain management • Cellular division, directional antenna, power control … • Frequency domain management • Channelization, … • Often joint management and optimization frequency time space
Some Real-life Examples • Cellular networks • Neighboring cells/sectors are assigned different sets of channels (space/frequency) • Users within a single cell are assigned different “channels” (frequency/time) • CDMA – orthogonal codes
Some Real-life Examples • Siebel Center 802.11b/g WLAN • Use three orthogonal channels for different access points • Configured manually!
Frequency/time Domain: Improving Capacity Can we get the benefits of multiple channels in ad hoc networks? Example: An IEEE 802.11b network with 3 Access Points Channel 1 Channel 6 Channel 6 Channel 11
Solution Space • Use special wireless interfaces • HRMA (Infocom’99): high speed FHSS networks • Nasipuri et al, Jain et al: listen on many channels • Use commodity interfaces • Work (transmit/receive/listen) on one channel only • Using multiple interfaces • Each interface configured in one channel for one neighbor • Provide “wire” abstraction • Using a single interface • MMAC (MOBIHOC’04) • SSCH (MOBICOM’04)
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 • 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 ? - MMAC • Sitting on top of 802.11 DCF? - SSCH
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
Multi-Channel Hidden Terminals • A 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
A C B Multi-Channel Hidden Terminals Channel 1 Channel 2 RTS A sends RTS
A C B Multi-Channel Hidden Terminals Channel 1 Channel 2 CTS B sends CTS C does not hear CTS because C is listening on channel 2
A B Multi-Channel Hidden Terminals Channel 1 Channel 2 DATA RTS C C switches to channel 1 and transmits RTS Collision occurs at B
Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver Jungmin So and Nitin Vaidya MOBIHOC 2004
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 – can be further improved if necessary • Per-packet switching not recommended • Occasional channel switching not to expensive • Multi-hop synchronization is achieved by other means • Based on 802.11 PSM
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 ATIM A B C ATIM Window Beacon Interval
802.11 Power Saving Mechanism Beacon Time ATIM A B ATIM-ACK C ATIM Window Beacon Interval
802.11 Power Saving Mechanism Beacon Time ATIM ATIM-RES A B ATIM-ACK C ATIM Window Beacon Interval
802.11 Power Saving Mechanism Beacon Time ATIM ATIM-RES DATA A B ATIM-ACK Doze Mode C ATIM Window Beacon Interval
802.11 Power Saving Mechanism Beacon Time ATIM ATIM-RES DATA A B ATIM-ACK ACK Doze Mode C ATIM Window Beacon Interval
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 • Receiver sends ATIM-ACK w/ selected channel • Sender sends ATIM-RES to notify its neighbors
Channel Negotiation Common Channel Selected Channel A Beacon B C D Time ATIM Window Beacon Interval
Channel Negotiation Common Channel Selected Channel ATIM- RES(1) ATIM A Beacon B ATIM- ACK(1) C D Time ATIM Window Beacon Interval
Channel Negotiation Common Channel Selected Channel ATIM- RES(1) ATIM A Beacon B ATIM- ACK(1) ATIM- ACK(2) C D ATIM Time ATIM- RES(2) ATIM Window Beacon Interval
Channel Negotiation Common Channel Selected Channel ATIM- RES(1) RTS DATA Channel 1 ATIM A Beacon Channel 1 B CTS ACK ATIM- ACK(1) ATIM- ACK(2) CTS ACK Channel 2 C Channel 2 D ATIM DATA RTS Time ATIM- RES(2) ATIM Window Beacon Interval
Analysis • DCA • BW of control channel significantly affects performance • Narrow control channel: high collision and congestion • Wide control channel: waste of bandwidth • 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 • Time-sync?
SSCH: Slotted Seeded Channel Hoppingfor Capacity Improvement in Ad Hoc Networks Victor Bahl, Ranveer Chandra, John Dunagan MOBICOM 2004
MMAC Channel Hopping Packets to multiple destinations high delays • Control channel congestion • Does not handle broadcasts Periodically rendezvous on a fixed channel to decide the next channel Channel 1 Channel 6 Channel 11 Data Control Data Data Control
Properties SSCH: a new channel hopping protocol that • Increases network capacity • Overcomes limitations of dedicated ctrl channel • No control channel congestion • Handles multiple destinations without high delays • Handles broadcasts for MANET routing
SSCH: Slots and Seeds Divide time into slots: switch channels at beginning of a slot New Channel = (Old Channel + seed) mod (Number of Channels) seed is from 1 to (Number of Channels - 1) (1 + 2) mod 3 = 0 Seed = 2 3 channels E.g. for 802.11b Ch 1 maps to 0 Ch 6 maps to 1 Ch 11 maps to 2 A 0 2 1 0 2 0 1 1 B Seed = 1 0 1 2 0 1 2 0 1 (0 + 1) mod 3 = 1 • Enables bandwidth utilization across all channels • Does not need control channel rendezvous
Follow A: Change next (channel, seed) to (2, 2) SSCH: Syncing Seeds • Each node broadcasts (channel, seed) once every slot • If B has to send packets to A, it adjusts its (channel, seed) Seed 2 2 2 2 2 2 2 2 2 A 0 2 1 0 2 0 2 1 1 3 channels B wants to start a flow with A B 1 0 1 2 1 0 2 1 0 2 1 1 2 2 2 2 2 2 Seed Stale (channel, seed) info simply results in delayed syncing
Nodes might not overlap! If seeds are same and channels are different in a slot: Seed = 2 0 2 1 0 2 0 A 1 1 3 channels B Seed = 2 2 1 1 0 2 1 0 2 Nodes are off by a slot Nodes will not overlap
SSCH: Parity Slots Every (Number of Channels+1) slot is a Parity Slot In the parity slot, the channel number is the seed A Seed = 1 1 2 1 0 1 2 1 0 3 channels B Seed = 1 0 1 1 2 0 1 1 2 Parity Slot Parity Slot Guarantee: If nodes change their seeds only after the parity slot, then they will overlap
SSCH: Partial Synchronization • Syncing to multiple nodes, e.g., A sends packets to B & C • Each node has multiple seeds • Each seed can be synced to a different node • Parity Slot Still Works • Parity slot: (Number of Channels)*(Number of Seeds) + 1 • In parity slot, channel is the first seed • First seed can be changed only at parity slot If the number of channels is 3, and a node has 2 seeds: 1 and 2 (2 +2)mod 3 = 1 1 2 2 1 0 0 1 1 2 2 1 0 0 Parity Slot = seed 1 (1 +1) mod 3 = 2
SSCH Protocol Suppose each node has 2 seeds, and hops through 3 channels. Seeds 1 2 1 2 1 2 1 2 1 2 1 2 Node A 1 2 2 1 0 0 1 1 2 2 1 0 0 B wants to start a flow with A Node B 1 2 0 1 2 0 2 1 2 2 1 0 0 Seeds 2 1 2 2 2 2 1 2 1 2 1 2 Partial Sync (only 2nd seed) Seeds: (2, 2) Channels: (2, 1) Complete Sync (sync 1st seed) Seeds (1, 2) Channels: (1, 2)
SSCH: Handling Broadcasts A single broadcast attempt will not work with SSCH since packets are not received by neighbors on other channels Seeds 1 2 1 2 Node A 2 1 0 0 1 B’s broadcast B’s broadcast in SSCH Node B 0 1 2 0 2 Seeds 2 2 2 2 SSCH Approach Rebroadcast the packet over ‘X’ consecutive slots a greater number of nodes receive the broadcast
Simulation Environment QualNet simulator: • IEEE 802.11a at 54 Mbps, 13 channels • Slot Time of 10 ms and 4 seeds per node • a parity slot comes after 4*13+1 = 53 slots, • 53 slots is: 53*10 ms = 530 ms • Channel Switch Time: 80 µs • Chipset specs [Maxim04], • EE literature [J. Solid State Circuits 03] • CBR flows of 512 byte packets per 50 µs
SSCH: Stationary Throughput Per-Flow throughput for disjoint flows SSCH IEEE 802.11a SSCH significantly outperforms single channel IEEE 802.11a
SSCH Handles Broadcasts 10 Flows in a 100 node network using DSR Average route length for IEEE 802.11a Average discovery time for IEEE 802.11a For DSR, 6 broadcasts works well (also true for AODV)
SSCH in Multihop Mobile Networks Random waypoint mobility: Speeds min: 0.01 m/s max: rand(0.2, 1) m/s Average route length for IEEE 802.11a Average flow throughput for IEEE 802.11a SSCH achieves much betterthroughput although it forces DSR to discover slightly longerroutes
Conclusions SSCH is a new channel hopping protocol that: • Improves capacity using a single radio • Does not require a dedicated control channel • Works in multi-hop mobile networks • Handles broadcasts • Supports multiple destinations (partial sync)
Ctrl Channel Congestion Problem SSCH: synchronize over multiple channels MMAC: Periodically rendezvous on a fixed channel to decide the next channel Differences? Channel 1 Channel 6 Channel 11 Data Control Data Data Control