PPT

CMPE 257: Wireless and
Mobile Networking
SET 3m:
Medium Access Control
Protocols
Winter 2004
UCSC
CMPE252B
1
MAC Protocol Topics

MAC protocols using multiple channels
with one transceiver only
MMAC (Multi-channel MAC)
 SSCH (Slotted Seeded Channel Hopping)

Spring 2005
CMPE257 UCSC
2
Motivation for Multi-Channel

Multiple orthogonal 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
2
Single channel
Spring 2005
Multiple Channels
CMPE257 UCSC
3
Problem Statement

Using k channels does not translate into throughput
improvement by a factor of k


Constraint: Each node has only a single transceiver


Nodes listening on different channels cannot talk to each
1
2
other
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
Spring 2005
CMPE257 UCSC
4
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
Spring 2005
CMPE257 UCSC
5
802.11 Power Saving
Mechanism
Beacon
Time
A
B
C
ATIM Window
Beacon Interval
Spring 2005
CMPE257 UCSC
6
802.11 Power Saving
Mechanism
Beacon
A
Time
ATIM
B
C
ATIM Window
Beacon Interval
Spring 2005
CMPE257 UCSC
7
802.11 Power Saving
Mechanism
Beacon
A
Time
ATIM
B
ATIM-ACK
C
ATIM Window
Beacon Interval
Spring 2005
CMPE257 UCSC
8
Multi-Channel Hidden
Terminals

Consider the following naïve protocol
Static channel assignment (based on node
ID)
 Communication takes place on receiver’s
channel


Spring 2005
Sender switches its channel to receiver’s channel
before transmitting
CMPE257 UCSC
9
Multi-Channel Hidden Terminals
Channel 1
Channel 2
A
RTS
B
C
A sends RTS
Spring 2005
CMPE257 UCSC
10
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
Spring 2005
CMPE257 UCSC
11
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
Spring 2005
CMPE257 UCSC
12
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
Spring 2005
CMPE257 UCSC
13
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
Spring 2005
CMPE257 UCSC
14
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



Spring 2005
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
CMPE257 UCSC
15
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
Spring 2005
CMPE257 UCSC
16
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

Spring 2005
CMPE257 UCSC
17
Preferred Channel List (PCL)

Each node maintains PCL


Records usage of channels inside the transmission
range
High preference (HIGH)


Medium preference (MID)


Already selected for the current beacon interval
No other vicinity node has selected this channel
Low preference (LOW)


Spring 2005
This channel has been chosen by vicinity nodes
Count number of nodes that selected this channel to break
ties
CMPE257 UCSC
18
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
Spring 2005
CMPE257 UCSC
19
Channel Negotiation
Common Channel
Selected Channel
A
Beacon
B
C
D
Time
ATIM Window
Spring 2005
Beacon Interval
CMPE257 UCSC
20
Channel Negotiation
Common Channel
A
B
Selected Channel
ATIMATIM RES(1)
Beacon
ATIMACK(1)
C
D
Time
ATIM Window
Spring 2005
Beacon Interval
CMPE257 UCSC
21
Channel Negotiation
Common Channel
A
B
C
D
Selected Channel
ATIMATIM RES(1)
Beacon
ATIMACK(1)
ATIMACK(2)
ATIM
ATIMRES(2)
Time
ATIM Window
Spring 2005
Beacon Interval
CMPE257 UCSC
22
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
Time
ATIM Window
Spring 2005
Beacon Interval
CMPE257 UCSC
23
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
Spring 2005
CMPE257 UCSC
24
Aggregate Throughput (Kbps)
Wireless LAN - Throughput
2500
2500
MMAC
2000
DCA
1500
1500
1000
500
MMAC
2000
DCA
1000
802.11
500
1
10
100
1000
Packet arrival rate per flow (packets/sec)
1
30 nodes
802.11
10
100
1000
Packet arrival rate per flow (packets/sec)
64 nodes
MMAC shows higher throughput than DCA and 802.11
Spring 2005
CMPE257 UCSC
25
Aggregate Throughput (Kbps)
Multi-hop Network –
Throughput
1500
MMAC
DCA
1000
2000
MMAC
1500
DCA
1000
500
802.11
0
500
0
1
10
100
1000
Packet arrival rate per flow (packets/sec)
1
10
100
1000
Packet arrival rate per flow (packets/sec)
3 channels
Spring 2005
802.11
4 channels
CMPE257 UCSC
26
Aggregate Throughput (Kbps)
Throughput of DCA and MMAC
(Wireless LAN)
4000
4000
6 channels
3000
3000
6 channels
2000
2 channels
2000
2 channels
1000
1000
802.11
802.11
0
0
Packet arrival rate per flow (packets/sec)
Packet arrival rate per flow (packets/sec)
MMAC
DCA
MMAC shows higher throughput compared to DCA
Spring 2005
CMPE257 UCSC
27
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
Spring 2005
CMPE257 UCSC
28
Conclusion and 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

Spring 2005
CMPE257 UCSC
29
Motivation: Improving Capacity
Traffic on orthogonal channels do not interfere
e.g. Channels 1, 6 and 11 for IEEE 802.11b
Example: An IEEE 802.11b
network with 3 Access Points
Can we get the benefits of multiple
channels in ad hoc networks?
Channel 1
SERIAL
ETHERNET
SERIAL
ETHERNET
Channel 6
SERIAL
Channel 6
ETHERNET
Channel 11
Spring 2005
CMPE257 UCSC
30
Channel Hopping: Prior Work

Using multiple radios:



DCA (ISPAN’00): a control and a data channel
MUP (Broadnets’04): multiple data channels
Consumes more power, expensive
Using non-commodity radios:


HRMA (Infocom’99): high speed FHSS networks
Nasipuri et al, Jain et al: listen on many channels
Expensive, not easily available
Using a single commodity radio:
Multi-channel MAC (MMAC) (Mobihoc’04)

Spring 2005
CMPE257 UCSC
31
Channel Hopping: MMAC
MMAC Basic idea:
Periodically rendezvous on a fixed channel to decide the next channel
Channel 1
Channel 6
Channel 11
Data



Control
Data
Control
Data
Issues
Packets to multiple destinations  high delays
Control channel congestion
Does not handle broadcasts
Spring 2005
CMPE257 UCSC
32
SSCH
A new channel hopping protocol that
Increases network capacity using multiple
channels
 Overcomes limitations of dedicated control
channel

–
–
–
Spring 2005
No control channel congestion
Handles multiple destinations without high delays
Handles broadcasts for MANET routing
CMPE257 UCSC
33
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
Seed = 1
1
0
2
1
0
2
1
0
0
1
2
0
1
2
0
1
3 channels
E.g. for 802.11b
Ch 1 maps to 0
Ch 6 maps to 1
Ch 11 maps to 2
(0 + 1) mod 3 = 1
• Enables bandwidth utilization across all channels
• Does not need control channel rendezvous
Spring 2005
CMPE257 UCSC
34
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
2
1
0
2
1
0
2
1
0
3 channels
B wants to start a flow with A
Seed
2
0
1
2
1
0
2
1
0
1
1
2
2
2
2
2
2
2
Follow A: Change next (channel, seed) to (2, 2)
Stale (channel, seed) info simply results in delayed syncing
Spring 2005
CMPE257 UCSC
35
Nodes might not overlap!
If seeds are same and channels are different in a slot:
Seed = 2
1
0
2
1
0
2
1
0
3 channels
Seed = 2
2
1
0
2
1
0
2
1
Nodes are off by a slot  Nodes will not overlap
Spring 2005
CMPE257 UCSC
36
SSCH: Parity Slots
Every (Number of Channels+1) slot is a Parity Slot
In the parity slot, the channel number is the seed
Seed = 1
1
2
1
0
1
2
1
0
3 channels
Seed = 1
0
1
1
2
Parity Slot
0
1
1
2
Parity Slot
Guarantee:
If nodes change their seeds only after the parity slot,
then they
will UCSC
overlap
Spring 2005
CMPE257
37
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 + 1) mod 3 = 2
Spring 2005
1
0
0
1
1
2
2
1
0
0
Parity Slot
= seed 1
CMPE257 UCSC
38
Illustration of the SSCH
Protocol
Suppose each node has 2 seeds, and hops through 3 channels.
Seeds 1
Node A 1
2
2
1
2
2
1
1
0
2
0
1
1
1
2
2
1
2
2
1
1
0
2
0
1
2
2
1
0
0
1
2
1
2
1
2
B wants to start a flow with A
Node B 1
Seeds 2
2
0
1
2
0
1
2
2
2
2
Partial Sync
(only 2nd seed)
Seeds: (2, 2)
Channels: (2, 1)
Spring 2005
2
Complete Sync
(sync 1st seed)
Seeds (1, 2)
Channels: (1, 2)
CMPE257 UCSC
39
SSCH: Handling Broadcasts
A single broadcast attempt will not work with SSCH
since packets are not received by neighbors on other channels
Seeds
Node A
1
2
1
2
2
1
0
0
1
B’s broadcast
B’s broadcast in SSCH
Node B
Seeds
0
1
2
0
2
2
2
2
2
SSCH Approach
Rebroadcast the packet over ‘X’ consecutive slots
 a greater number of nodes receive the broadcast
Spring 2005
CMPE257 UCSC
40
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
Spring 2005
CMPE257 UCSC
41
SSCH: Stationary Throughput
Throughput (in Mbps)
Per-Flow throughput for disjoint flows
14
12
10
SSCH
8
6
4
2
IEEE 802.11a
0
0
5
10
15
# Flows
SSCH significantly outperforms single channel IEEE 802.11a
Spring 2005
CMPE257 UCSC
42
SSCH Handles Broadcasts
7
Route Discovery Time
(in sec)
Average Route Length
(# hops)
10 Flows in a 100 node network using DSR
6
5
4
Average route length for
IEEE 802.11a
3
2
1
0
2
3
4
5
6
7
8
9
0.4
0.3
0.2
Average discovery time
for IEEE 802.11a
0.1
0
2
3
4
5
6
7
8
# Broadcasts
# Broadcasts
For DSR, 6 broadcasts works well (also true for AODV)
Spring 2005
CMPE257 UCSC
43
9
SSCH in Multihop Mobile
Networks
5
Flow Throughput
(in Mbps)
Average Route Length
(# hops)
Random waypoint mobility:
Speeds min: 0.01 m/s max: rand(0.2, 1) m/s
4
3
Average route length
for IEEE 802.11a
2
1
0
0.2
0.4
0.6
0.8
2.5
2
1.5
1
0.5
1
Average flow throughput
for IEEE 802.11a
0
0.2
0.4
0.6
0.8
1
Speed (in m/s)
Speed (in m/s)
SSCH achieves much better throughput
although it forces DSR to discover slightly longer routes
Spring 2005
CMPE257 UCSC
44
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)
Spring 2005
CMPE257 UCSC
45
Future Work




Analyze TCP performance over SSCH
Study interoperability with non-SSCH nodes
Study interaction with 802.11 auto-rate
Implement and deploy SSCH (MultiNet)
Spring 2005
CMPE257 UCSC
46
References

[SV04] So and Vaidya, Multi-Channel

MobiHoc 2004.
[BCD04] Bahl et al., SSCH: Slotted
MAC for Ad Hoc Networks: Handling
Multi-Channel Hidden Terminals Using a
Single Transceiver, in Proc. of ACM
Seeded Channel Hopping for Capacity
Improvement in IEEE 802.11 Ad-Hoc
Wireless Networks, in Proc. of ACM
MobiCom 2004.
Spring 2005
CMPE257 UCSC
47
Acknowledgments

Parts of the presentation are adapted
from the following sources:
So’s ACM MobiHoc 2004 presentation
 Ranveer Chandra, Cornell University,


Spring 2005
http://www.cs.cornell.edu/people/ranveer/multinet
/ssch_mobicom.ppt
CMPE257 UCSC
48