This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Some Issues in Ad Hoc Networks
Nitin VaidyaUniversity of Illinois at Urbana-Champaign
www.crhc.uiuc.edu/~nhv
Keynote talk presented at the International Workshop onTheoretical Aspects of Wireless Ad Hoc, Sensor, and Peer-to-Peer Networks
Illinois Institute of Technology, Chicago, June 11, 2004
Dynamic auto-configuration important for autonomous operation of an ad hoc network
Goal:
Assign each node a unique address
OR
Assign each address to at most one node
Can be viewed as distributed mutual exclusion with an address being a resource
19
Auto-Configuration inAd Hoc Networks
Worst case network delays may be unknown, or highly variable, or unbounded
Partitions may occur, and merge
20
Duplicate Address Detectionin Ad Hoc Networks
Several proposals
One example [Perkins]:
Host picks an address randomly Host performs route discovery for the chosen
address If a route reply is received, address duplication is
detected
21
Example: Initially Partitioned Network
D’s packets for address a routed to A
22
Merged Network
Duplicate address detection (DAD) important to avoid misrouting
23
Strong DAD
Detect duplicate addresses within t seconds
Not possible to guarantee strong DAD in presence of unbounded delays May occur due to partitions Even when delays are bounded, bound may be
difficult to calculate
•Unknown network size
24
DAD
Strong DAD impossible with unbounded delay
How to achieve DAD ?
25
Design Principle
If you cannot solve a problem
Change the problem
26
Weak DAD: Requirement
Packets from a given host to a given address
should be routed to the same destination,
despite duplication of the address
27
Example: Initially Partitioned Network
D’s packets for address a routed to A
28
Merged Network:Acceptable Behavior
with Weak DAD
Packets from Dto address astill routed tohost A
29
Merged Network:Unacceptable behavior
Packets from Dto address arouted tohost K insteadof A
30
Weak DAD: Implementation
Integrate duplicate address detection with route maintenance
31
Weak DAD with Link State Routing
Each host has a unique (with high probability) key May include MAC address, serial number, … May be large in size
In all routing-related packets (link state updates) IP addresses tagged by keys (IP, key) pair
32
Weak DAD with Link State Routing
Address duplication not always detected
Duplication detected before misrouting can occur
Weak DAD Reliable, but potentially delayed
33
Link State Routing (LSR): Example
34
Weak DAD with LSR
35
Weak DAD with LSR
Host X with key K_x joins and choose IP_A
(address duplication)
X
36
Weak DAD with LSR
If host D receives a link state update containing (IP_A, K_x), host D detects duplication of address IP_A
Two pairs with identical IP address but distinct keys imply duplication
37
Just-in-Time DAD
Duplication detected before routing tables could be mis-configured
38
Moral of the Story
Traditionally, address assignment and routing are independent algorithms
Duplicate address detection integrated with route maintenance can provide stronger properties
39
Misbehavior Handling
Joint work with Pradeep Kyasanur
40
Problem Definition
Wireless
channel
Wireless
channel
Access Point
A B
Nodes are required to follow Medium Access Control (MAC) rules
Nodes can benefit by misbehaving
A B
41
IEEE 802.11 overview
Distributed Coordination Function (DCF) Widely used for channel access
DCF is a Carrier Sense Multiple Access/ Collision Avoidance (CSMA/CA) protocol
42
CSMA/CA
Don’t transmit when channel is busy
Defer transmission for a random duration on idle channel
43
Backoff Example
Choose backoff value B in range [0,CW] CW is the Contention Window
Count down backoff by 1 every idle slot
wait
Transmit
Transmit
wait
B2=10
B1=20
B2=10
B1=0
S1
S2
CW=31
B1=15
B2=25
44
Possible Misbehavior
Backoff from biased distribution Example: Always select a small backoff value
Transmit
wait
B1 = 1
B2 = 20
Transmit
wait
B2 = 19
B1 = 1Misbehaving node
Well-behaved node
45
Potential Solutions
Prevent misbehavior
Detect misbehavior
Penalize misbehavior
46
Game Theoretic Solutions [MacKenzie]
Assumes there is some cost for transmitting Nodes independently adjust access probability Under some assumptions, network reaches a
fair equilibrium
Game theoretic solutions to the misbehavior problem so far assume complete knowledge of the channel (difficult to have in multi-hop networks) Not yet clear whether partial information is adequate
47
Charging
Charge for transmitted packets
Transmitting more packets costs more
Disadvantages Per-packet charging can still allow misbehavior that
decreases the user’s delay Need to implement charging mechanism
48
Goals of proposed scheme
Detect misbehavior
Penalize misbehavior
49
Detecting Misbehavior
Observe each node
If a node does not wait long enough before transmitting, then conclude that it is misbehaving
Penalize the misbehaving node
50
Issues
Idle duration is a function of backoff interval chosen by a node
Observer does not know exact backoff value chosen by a sender Sender chooses random backoff
Hard to distinguish between maliciously chosen small values and a legitimate random sequence
Wireless channel introduces uncertainties Channel status seen by sender and receiver may be different
51
Observe backoffs chosen by a sender over multiple packets
Backoff values not from expected distribution Misbehavior
Longer delay in detection, since the distribution ofnon-deterministic backoff must be determined
Potential Solution: Use long-term statistics
52
A Simpler Approach
Remove the non-determinism
53
A Simpler Approach
Receiver provides backoff values to sender
Modification does not significantly change 802.11 behavior
54
Modifications to 802.11
• R provides backoff B to S D
AT
A
Sender S
Receiver R
CTS
AC
K(B
)
RTS
• S uses B for backoff for next packet
RTS
B
55
Detecting deviations
Receiver counts number of idle slots Bobsr
Condition for detecting deviations: Bobsr < B ≤ 1
Sender S
Receiver R
AC
K(B
) RTS
Backoff
Bobsr
56
Misbehavior Detection
The detection would always detect misbehavior IFIF all nodes observe identical channel status at all times
But all nodes do not see same channel status
Hidden terminals Fading
In general, cannot diagnose misbehavior with 100% accuracy
57
Penalizing Misbehavior
AC
K(B
+P
)
CTS D
ATA
Bobsr
Sender S
Receiver R
AC
K(B
)
RTS
Actual backoff < B
When misbehavior is suspected, larger backoff intervals are assigned
penalty mechanism
58
Penalty Scheme
Misbehaving sender has two options Ignore assigned penalty Easier to detect Follow assigned penalty No throughput gain
With penalty, sender has to misbehave more for same throughput gain
59
Diagnosing Misbehavior
If misbehavior suspected for “long enough” duration, conclude that the misbehavior is intentional
Higher layers / administrator can be informed of misbehavior
60
Multiple Observers
Currently, single observer is used (receiver) Data from multiple observers can be combined to
improve diagnosis
S
B
A R•S sends a packet to R
•A, B also monitor S
•Information from A, B, R may be combined
61
Moral of the Story
MAC layer misbehavior can severely affect throughput of well-behaved nodes
Improving predictability improves ability to detect misbehavior
Open issues: Using multiple observers Integrating diagnosis with higher layers
62
Distributed Mutual Exclusion
Joint work with Jennifer Welch and Jennifer Walter
63
Approach 1: implement existing distributed primitives on top of existing ad hoc routing protocols.
User Application
DistributedPrimitive
Routing Protocol
Ad-Hoc Network
Approach 2: modify distributed primitives to be aware of information from lower layers
User Application
Distrib.Primitive
Routing Protocol
Ad-Hoc Network
Why Design New Algorithms for MANETs?
64
Token-based: Only the node possessing the token may enter critical section
Nodes must have a way of sending requests to the token holder
One solution:
Mutual exclusion for fixed topology+
Routing on ad hoc networks
Distributed Mutual Exclusion
65
Link Reversal Algorithm [Gafni81](Routing Protocol)
A FB
C E G
D
66
Link Reversal Algorithm [Gafni81]
A FB
C E G
D
Maintain a directed acyclic graph (DAG) for each destination, with the destinationbeing the only sink
This DAG is for destination node D
Links are bi-directional
But algorithm imposeslogical directions on them
67
Link Reversal Algorithm
Link (G,D) broke
A FB
C E G
D
Any node, other than the destination, that has no outgoing linksreverses all its incoming links.
Node G has no outgoing links
68
Link Reversal Algorithm
A FB
C E G
D
Now nodes E and F have no outgoing links
Represents alink that wasreversed recently
69
Link Reversal Algorithm
A FB
C E G
D
Now nodes B and G have no outgoing links
Represents alink that wasreversed recently
70
Link Reversal Algorithm
A FB
C E G
D
Now nodes A and F have no outgoing links
Represents alink that wasreversed recently
71
Link Reversal Algorithm
A FB
C E G
D
Now all nodes (other than destination D) have an outgoing link
Represents alink that wasreversed recently
72
Link Reversal Algorithm
A FB
C E G
D
DAG has been restored with only the destination as a sink
73
Link Reversal Algorithm
Goal: Maintain DAG pointing to the “destination” despite topology changes
74
E
F
DA
B C
Static topology Spanning tree with edges directed toward the
token holder
Mutual Exclusion in Static Networks [Raymond89]
75
A
B C
ED ED
F
A
B C
ED E
F
76
Raymond’s Algorithm on Ad Hoc Networks
The algorithm can be implemented on top of routing protocol
– Routing algorithms provides abstraction of a fully connected network
Maintain a spanning tree using logical links in the “fully connected” network
“Adjacent” nodes in the spanning tree may be far from each other Potentially poor performance
77
Mutual Exclusion in Ad Hoc Networks
Gafni Variable topology, fixed sink
Raymond Fixed topology, moving sink
Proposed algorithm:
Mutual exclusion in ad hoc networks
Variable topology, moving sink
78
Moral of the Story
Existing algorithms not always appropriate
Algorithms for dynamic networks can be applied to ad hoc networks, but performance may be poor
Taking into consideration lower layer information can help
79
On to the preaching …
80
Abstractions
Of necessity, algorithm designers work with abstractions