SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in Ad Hoc Networks

advertisement
SSCH: Slotted Seeded Channel Hopping
for Capacity Improvement
in Ad Hoc Networks
Victor Bahl (Microsoft Research)
Ranveer Chandra (Cornell University)
John Dunagan (Microsoft Research)
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
ETHERNET
Channel 6
Channel 11
2
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)
3
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
Issues
• Packets to multiple destinations  high delays
• Control channel congestion
• Does not handle broadcasts
Data
4
Our Contributions
SSCH: a new channel hopping protocol that
– Increases network capacity using multiple channels
– Overcomes limitations of dedicated control channel
– No control channel congestion
– Handles multiple destinations without high delays
– Handles broadcasts for MANET routing
5
Outline of the Talk
•
•
•
•
•
•
Problem Overview
Related Work
SSCH: The Main Idea
SSCH: A Few Details
Performance of SSCH
Conclusion
6
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
7
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
8
Outline of the Talk
•
•
•
•
Problem Overview
Related Work
SSCH: The Main Idea
SSCH: A Few Details
– Parity Slots: Ensuring overlap
– Partial Sync: Sending to multiple destinations
– Handling broadcasts
• Performance of SSCH
• Conclusion
9
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
10
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 overlap
11
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
1
0
0
1
Parity Slot
= seed 1
1
2
2
1
0
0
12
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)
2
Complete Sync
(sync 1st seed)
Seeds (1, 2)
Channels: (1, 2)
13
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
14
Outline of the Talk
•
•
•
•
•
Problem Overview
Related Work
SSCH: The Main Idea
SSCH: A Few Details
Performance of SSCH
– Improvement in throughput
– Handling broadcast packets
– Performance in multi-hop mobile networks
• Conclusions
15
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
16
Throughput (in Mbps)
SSCH: Stationary Throughput
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
17
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
# Broadcasts
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
For DSR, 6 broadcasts works well (also true for AODV)
18
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
2
Average route length
for IEEE 802.11a
1
0
0.2
0.4
0.6
0.8
Speed (in m/s)
1
2.5
2
1.5
1
0.5
Average flow throughput
for IEEE 802.11a
0
0.2
0.4
0.6
0.8
1
Speed (in m/s)
SSCH achieves much better throughput
although it forces DSR to discover slightly longer routes
19
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)
20
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)
21
22
Download