wireless ad hoc networks - computer science department
TRANSCRIPT
Wireless ad hoc networks
Acknowledgement: Slides borrowed from Richard Y. Yang @ Yale
Infrastructure-based v.s. ad hoc
• Infrastructure-based networks
– Cellular network
– 802.11, access points
• Ad hoc networks• Ad hoc networks
– Mobile ad hoc networks
• Military applications, emergency rescue
– Mesh networks
• “Last mile” of the Internet. Provide high speed wireless
network.
Infrastructure v.s. ad hoc
infrastructuremode
APAP
AP wired networkAP: Access Point
3
ad-hoc (mesh) mode
Infrastructure-based v.s. ad hoc
• Infrastructure-based networks
– Deployment is costly. Structures are not flexible.
– Vulnerable to attacks.
• Ad hoc networks• Ad hoc networks
– Flexible, easy to deploy, cheaper.
– Robust and resilient to attacks/failures, self healing.
– Problem: many research problems to achieve high capacity.
Mesh networks
Multiple projects tested in Berlin, Germany, South africa, India.
DIY guide on wiki
Capacity of Wireless Networks
• The question we ask:
how much traffic can a wireless network carry,
assuming we can solve MAC issues perfectly?
• Why study capacity?• Why study capacity?
– learn the fundamental limits of wireless
networks
– separate the spatial reuse perspective and the
distributed synchronization (MAC) perspective
– gain insight for designing effective wireless
protocols6
Interference Model
• Transmission successful if there are no other
transmitters (transmit at the same freq and
code) within a distance (1+∆)r of the receiver,
where r is the distance from the sender to the
receiverreceiver
7
receiver
sender
r(1+∆)r
Derivation of Capacity for Arbitrary Networks
• Model
– domain is a disk of unit area
– there are n nodes in the domain
– the transmission rate is W bits/sec– the transmission rate is W bits/sec
8
Two Constraints
� transmissionsuccessful if there areno other transmitterswithin a distance
Interference constraint
� a single half-duplex transceiver at each node: � either transmits or
Radio interface constraint
9
within a distance (1+∆)r of the receiver
receiver
sender
r(1+∆)r
� either transmits or receives
� transmits to only one receiver
� receives from only one sender
Assumptions
• Optimal power assignment /transmission
range
• Optimal scheduling & multi-hop routing
• Node are static.• Node are static.
• Random source-destination pairs
• Consider asymptotic capacity when n-> infty
Capacity
• Capacity = λ
• Total bits transmitted by all nodes
11
Transmission range
• Transmission range is big
– Interference constraints prevent simultaneous
transmissions
• Transmission range is small• Transmission range is small
– It takes a lot of hops to arrive at the destination
• Even at optimal configuration, the capacity is low.
• On average, each node has O(W/√n) bit-
meter/sec, which converges to 0 as n->infty
Capacity
• Capacity (in bit-meter) for n nodes is
• On average, each node has O(W/√n) bit-
nW
L∆
≤π
λ8
• On average, each node has O(W/√n) bit-
meter/sec
• When n-> infty, the capacity per node is 0.
Capacity upper bound
• An ad hoc network does not scale.
• To improve capacity
– Avoid multi-hop traffic
– Use multiple radio interfaces– Use multiple radio interfaces
– Reduce interference
– Use multiple channels
Improving Capacity: Change Traffic Pattern
• To make communications local
– node placement: change the demand patterns (thus L)
• e.g. base stations/access points with high-speed backhaul
– use mobility
15
FE
A
B CD
BS1 BS2
S
T
infrastructure
Improving Capacity: Reduce Radio Interface
Constraint
• Multiple radio interfaces/codes
16
1
m
Improving Capacity: Reduce Interference
Constraint
• Antenna design: steered/switched directional antennas
17
• Non-interfering channels
A
D
CB A B
D
C
Improving capacity: exploiting
interference
• Network coding
A CBa b
A CBa⊕b a⊕b
• Hidden terminal problem
A CB
Wireless broadcast
C C CC
Hidden Terminal Scenario
R1 R2Src Dst
Hidden Terminal Scenario
C C CCR1 R2Src Dst
P1
Hidden Terminal Scenario
C C CCR1 R2Src Dst
P2 P1
1) Src and R2 transmit simultaneously
Hidden Terminal Scenario
C C CCR1 R2Src Dst
1) Src and R2 transmit simultaneously
2) R1 subtracts P1, which he relayed earlier to recover P2 that he wants
P1 P2
Hidden Terminal Scenario
C C CCR1 R2Src Dst
R2 and Src are hidden terminals
Simultaneous transmission � Collision
With analog network coding, Simultaneous transmission � Success!
P1 P2
Next
• Improving capacity using multiple channels in
802.11 mesh
• [SSCH]
Multi-Channel 802.11 Mesh
• Wireless LANs
– APs determine the channel
– Clients share the same channel as their associated APs
• 802.11 mesh networks
– Each node can choose operating 802.11 channels to – Each node can choose operating 802.11 channels to increase spatial reuse
25
1
12
2
Multi-Channel 802.11 Mesh: Goal
Goal: Using right channels at right nodes at right time to improve network throughput
1
1
1
26
1
m
c
1
c
1
12
2
Interface Assignment Strategies
� Static assignment� an interface is assigned a fixedchannel
�Dynamic assignment� interface assignment changes
1
1
c
27
� interface assignment changes with time
�Hybrid interface assignment� some interfaces use static assignment, others use dynamic assignment
� To focus on the key issue: assume a singleinterface
Key Challenge
� Connectivity vs using multiple channels
A1 1
B C A1
B C
28
Multiple channels not used Network is disconnected
1 11
D
2D
Additional constraints: intermediate relay
nodes need to share the same channel as
the upstream and downstream node
SSCH: Slotted Seeded Channel Hopping –
Overview
• A dynamic assignment algorithm
– divides the time into equal sized slots (e.g. 10 ms) and switches each radio across multiple orthogonal channels on the boundary of slots in a distributedmannermanner
• Main aspect of SSCH
– channel scheduling
• self-computation of tentative schedule
• communication of schedules
• synchronization with other nodes
29
SSCH – Desired Properties
• No Logical Partition: Any two nodes in communication range will overlap on a channel with moderate frequency
• Synchronization: Allow nodes that need to • Synchronization: Allow nodes that need to communicate to synchronize
• De-synchronization: Infrequently overlap between nodes with no communication
30
A1
2
B C
D
Channel Scheduling -Self-Computation
• Each node uses (channel, seed) pairs to represent its tentative schedule for the next slot
• Seed: [1 , number of channels -1] Initialized randomly• Focus on the simple case of using one pair• Update rule:
new channel = (old channel + seed) mod (number of channels)
new channel = (old channel + seed) mod (number of channels)
31
1 0 2 1 0 2 1 0A: Seed = 2
0 1 2 0 1 2 0 1B: Seed = 1
Example: 3 channels, 2 seeds
Channel Scheduling – Logical Partition
� Are nodes guaranteed to overlap?
� same init channel, same seed (always overlap)
� same init channel, different seeds (overlap occasionally)
� different init channels, different seeds (overlap occasionally)
� special case: Nodes may never overlap if they have the same
32
1 2 0 1 2 0 1 2A: Seed = 1
0 1 2 0 1 2 0 1B: Seed = 1
� special case: Nodes may never overlap if they have the same
seed but different channels
Channel Scheduling –
Solution to Logical Partition
• Parity slot
– every (number of channels) slots, add a parity slot
– in parity slot, the channel number is the seed
33
A: Seed = 1
B: Seed = 1
1 2 0 1 2 0 1 211
0 1 2 0 1 2 0 11 1
Parity Slot Parity Slot
Channel Scheduling -
Communication of Schedules
• Each node broadcasts its tentative schedule
(represented by the pair) once per slot
34
Channel Scheduling - Synchronization
• If node B needs to send data to node A, it adjusts its (channel, seed) pair to be the same as A.
1 1 1 1 1 1 1 11Seed
35
A
B
1 2 0 1 2 0 1 211
0 2 1 1 2 0 1 22 1
1 1 1 1 1 1 1 11Seed
Seed 2 2 2 1 1 1 1 12
Flow startsSync starts
upon the
parity slot
Channel Scheduling –
Channel Congestion
• It is likely various nodes will converge to the same (channel, seed) pair and communicate infrequently after that.
(1,2)(1,2)
36
(1,2)
(1,2)
(1,2)(1,2)
(1,2)
Channel Scheduling – Solution to Channel
Congestion
• De-synchronization
• To identify channel congestion: compare the number of the synchronized nodes and the number of the synchronized nodes and the number of the nodes sending data. De-synchronize when the ratio >= 2
• To de-synchronize, simply choose a new (channel, seed) pair for each synchronized and non-sending nodes
37
Channel Scheduling –Synchronizing with Multiple Nodes
• Examples– a sender with multiple receivers
– a forwarding node in a multi-hop network
• Solution: Use multiple seeds per node– use one seed to synchronize with one node– use one seed to synchronize with one node
– add a parity slot every cycle ( = number of channels * number of seeds); the channel number of the parity slot is the first seed.
38
2 2 1 0 110 2 2 1 00
Green slots are generated by seed 1
Yellow slots are generated by seed 2
1
Channel Scheduling –
Partial Synchronization
2 2 1 0 110 2 2 1 001A
Seed 1 2 1 1 2 1 1 222 1 12
39
2 0 1 2 110 2 0 1 021B
2 1 2 2 2 2 2 222 2 22Seed
Flow starts
Partial Sync
Sync the second seed only
Evaluations of SSCH
• Simulate in QualNet
• 802.11a, 54Mbps, (used) 13 orthogonal channels
• Slot switch time = 80 µs• Slot switch time = 80 µs
• 4 seeds per node, slot duration = 10 ms
• UDP flows: CBR flows of 512 bytes sent every 50 µs (enough to saturate the channel)
40
Evaluation – Throughput (UDP)
41
Evaluation – Multi-hop Mobile Networks
42
Conclusion
• Lots of research questions on multi-channel multi-
radio network
• Coordination of the nodes with distributed
algorithms
• Maximize throughput
• Often cross-layer optimization is considered.