Download ad hoc networks - BWN-Lab

Document related concepts

Airborne Networking wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Kademlia wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
AD HOC NETWORKS
Ian F. Akyildiz
Broadband & Wireless Networking Laboratory
School of Electrical and Computer Engineering
Georgia Institute of Technology
Tel: 404-894-5141; Fax: 404-894-7883
Email: [email protected]
Web: http://www.ece.gatech.edu/research/labs/bwn
Ad Hoc Networks
 Infrastructure-less wireless networks
dynamically formed using only mobile
hosts (no routers)
 Network topology dynamic as all hosts
are mobile!
 Mobile hosts themselves double up as
routers!!
 Multi-hop paths …
 Highly resource constrained
 Extreme case of network mobility…
IFA’2004
2
Topologies
-Ad Hoc Networking
 An ad hoc network is a peer-to-peer network
(no centralized server) set up temporarily to
meet some immediate need.
 For example, a group of employees, each with a
laptop or palmtop computer may convene in a
conference room for a business or classroom
meeting.
 The employees link their computers in a
temporary network just for the duration of the
meeting.
IFA’2004
3
Topologies
-Ad Hoc Networking
IFA’2004
4
Topologies
-Ad Hoc Networking
Differences between
Ad-Hoc wireless LAN and a CLASSICAL wireless LAN
 The classical wireless LAN forms a stationary infrastructure
consisting of one or more cells with a control module for each
cell.
 Within a cell, there may be a number of stationary end systems.
 Nomadic stations can move from one cell to another.
 In contrast, there is no infrastructure for an ad-hoc network.
 Rather, a peer collection of stations within range of each other
may dynamically configure themselves into a temporary network.
IFA’2004
5
Illustration
A
B
C
D
IFA’2004
6
Wireless Ad Hoc Networks








Disaster recovery
Battlefield
Smart office
Gaps in cellular infrastructure
Virtual Navigation (cities, buildings, areas, etc..)
Telemedicine (e.g., accident sites)
Tele-Geoprocessing Applications
Education via Internet
IFA’2004
7
Classes of Wireless Ad Hoc
Networks
 Three distinct classes
– Mobile Ad Hoc Networks (MANET)
 possibly highly mobile nodes
 power constrained
– Wireless Ad Hoc Sensor/Device Networks
 relatively immobile
 severely power constrained nodes
 large scale
– Wireless Ad Hoc Backbone Networks
 rapidly deployable wireless infrastructure
 largely immobile nodes
 Common attributes:
– Ad hoc deployment, no infrastructure
– Routes between S-D nodes may contain multiple hops
IFA’2004
8
Multihop Routing
 Traverse multiple links to reach a destination
IFA’2004
9
MANET
Mobility causes route changes
IFA’2004
10
Variations
 Fully symmetric vs. asymmetries in
– Transmission ranges
– Battery life
– Processing capability
– Speed, patterns, and predictability of movement
– Ability to act as multihop relay
– Ability to act as leaders of a cluster of nodes
 Coexistence with an infrastructure
 Variations in traffic characteristics
– Bit rate, timeliness
– Unicast/multicast/geocast
– Addressing (host, content, capability)
IFA’2004
11
Unicast Routing in MANET
 Host mobility
– link failure/repair due to mobility may have different
characteristics than those due to other causes
 Rate of link failure/repair may be high when nodes move fast
 New performance criteria may be used
– route stability despite mobility
– energy consumption
 Many protocols have been proposed
– Some have been invented specifically for MANET
– Others are adapted from older protocols for wired networks
 No single protocol works well in all environments
– some attempts made to develop adaptive protocols
IFA’2004
12
Types of Protocols
 Proactive Protocols
– Determine routes independent of traffic
pattern
– Traditional (link-state, distance-vector)
routing protocols are proactive
 Reactive Protocols
– Maintain routes only if needed
 Hybrid Protocols
IFA’2004
13
Traditional Routing Algorithms
 Distance Vector
– periodic exchange of messages with all physical neighbors that
contain information about who can be reached at what distance
– selection of the shortest path if several paths available
 Link State
– periodic notification of all routers about the current state of all
physical links
– router gets a complete picture of the network
 Example
– ARPA packet radio network (1973), DV-Routing
– every 7.5s exchange of routing tables including link quality
– updating of tables also by reception of packets
– routing problems solved with limited flooding
IFA’2004
14
Problems of Traditional Routing
Algorithms
 Dynamic of the topology
– frequent changes of connections, connection quality,
participants
 Limited performance of mobile systems
– periodic updates of routing tables need energy without
contributing to the transmission of user data, sleep modes
difficult to realize
– limited bandwidth of the system is reduced even more due to
the exchange of routing information
– links can be asymmetric, i.e., they can have a direction
dependent transmission quality
 Problem
– protocols have been designed for fixed networks with
infrequent changes and typically assume symmetric links
IFA’2004
15
Routing Protocols for Ad
Hoc Networks
 Proactive Routing Protocols
– DSDV (Destination Sequenced Distance Vector)
– LSR (Link State Routing)
 Reactive Routing Protocols
– DSR (Dynamic Source Routing)
– AODV (Ad-Hoc on-Demand Distance Vector)
 Hybrid Routing Protocols
– ZRP (Zone Routing Protocol)
– TORA
– CEDAR (Core Extraction Distributed Ad-hoc
Routing)
IFA’2004
16
Proactive Routing Protocols…
Unsuitable for such a dynamic network
For example, consider link-state
routing that sends out network-wide
floods for every link-state change …
Even in the absence of any existing
connections, considerable overhead
spent in maintaining “network state”
IFA’2004
17
Goals
Low overhead route computation
Ability to recover from frequent
failures at low-cost
Scalable (with respect to mobility
and number of hosts)
Robust
IFA’2004
18
Reactive (On-Demand) Protocols
Compute routes only when needed
Even if network state changes, any
re-computation done only when any
existing connections are affected
IFA’2004
19
Dynamic Source Routing
(DSR)
 Based on source routing
 On-demand
 Route computation performed on a perconnection basis
 Source, after route computation,
appends each packet with a source-route
 Intermediate hosts forward packet
based on source route
 TWO PHASES: ROUTE DISCOVERY &
ROUTE MAINTENANCE
IFA’2004
20
Dynamic Source Routing (DSR)
 When node S wants to send a packet to node D, but
does not know a route to D, node S initiates a route
discovery
 Source node S floods (bradcasts) Route Request
(RREQ) packet.
 RREQ packet contains DESTINATION ADDRESS,
SOURCE NODE ADDRESS and A UNIQUE
IDENTIFICATION NUMBER.
 Each node receiving the packet checks whether it
knows of a route to destination.
 If it does not, it appends/adds its own identifier
(address) to the route record and forwards the RREQ
packet.
IFA’2004
21
Dynamic Source Routing (DSR)
REMARK:
To limit the number of route requests, a node
only forwards the RREQ packet if the request
has not yet been seen by the node and if the
node’s address does not already appear in
the route record.
IFA’2004
22
Dynamic Source Routing I
 Split routing into discovering a path and
maintaining a path
 Discover a path
– only if a path for sending packets to a certain
destination is needed and no path is currently
available
 Maintaining a path
– only while the path is in use one has to make sure
that it can be used continuously
 No periodic updates needed!
IFA’2004
23
Dynamic Source Routing II
 Path discovery
– broadcast a packet with destination address and unique ID
– if a station receives a broadcast packet
 if the station is the receiver (i.e., has the correct destination
address) then return the packet to the sender (path was
collected in the packet)
 if the packet has already been received earlier (identified via
ID) then discard the packet
 otherwise, append own address and broadcast packet
– sender receives packet with the current path (address list)
 Optimizations
– limit broadcasting if maximum diameter of the network is known
– caching of address lists (i.e. paths) with help of passing packets
 stations can use the cached information for path discovery
(own paths or paths for other hosts)
IFA’2004
24
Dynamic Source Routing III
Maintaining paths
– after sending a packet
wait for a layer 2 acknowledgement (if
applicable)
listen into the medium to detect if other
stations forward the packet (if possible)
request an explicit acknowledgement
– if a station encounters problems it
can inform the sender of a packet
or look-up a new path locally
IFA’2004
25
Route Discovery in DSR
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents a node that has received RREQ for D from S
IFA’2004
26
Route Discovery in DSR
Y
Broadcast transmission
[S]
S
E
F
B
C
L
G
H
K
I
IFA’2004
M
J
A
[X,Y]
Z
D
N
Represents transmission of RREQ
Represents list of identifiers appended to RREQ
27
Route Discovery in DSR
Y
Z
S
E
[S,E]
F
B
C
A
M
J
[S,C]
H
G
K
I
L
D
N
• Node H receives packet RREQ from two neighbors:
potential for collision
IFA’2004
28
Route Discovery in DSR
Y
Z
S
E
F
B
[S,E,F]
C
M
J
A
L
G
H
I
[S,C,G] K
D
N
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
IFA’2004
29
Route Discovery in DSR
Y
Z
S
E
[S,E,F,J]
F
B
C
M
J
A
L
G
H
K
I
D
[S,C,G,K]
N
• Nodes J and K both broadcast RREQ to node D
• Since nodes J and K are hidden from each other, their
transmissions may collide
IFA’2004
30
Route Discovery in DSR
Y
Z
S
E
[S,E,F,J,M]
F
B
C
M
J
A
L
G
H
K
D
I
N
• Node D does not forward RREQ, because node D
is the intended target of the route discovery
IFA’2004
31
Route Discovery in DSR
 Destination D on receiving the first
RREQ, sends a Route Reply (RREP)
 RREP is sent on a route obtained by
reversing the route appended to received
RREQ
 RREP includes the route from S to D on
which RREQ was received by node D
IFA’2004
32
Route Reply in DSR
Y
Z
S
E
RREP [S,E,F,J,D]
F
B
C
J
A
L
G
H
K
I
IFA’2004
M
D
N
Represents RREP control message
33
Route Reply in DSR
 Route Reply can be sent by reversing the route in Route
Request (RREQ) only if links are guaranteed to be bidirectional (SYMMETRICAL)
– To ensure this, RREQ should be forwarded only if it
received on a link that is known to be bi-directional
 If unidirectional (asymmetric) links are allowed, then
RREP may need a route discovery for S from node D
– Unless node D already knows a route to node S
– If a route discovery is initiated by D for a route to
S, then the Route Reply is piggybacked on the Route
Request from D.
 If IEEE 802.11 MAC is used to send data, then links
have to be bi-directional (since ACK is used)
IFA’2004
34
Dynamic Source Routing (DSR)
 Node S on receiving RREP, caches the route
included in the RREP
 When node S sends a data packet to D, the
entire route is included in the packet header
– hence the name source routing
 Intermediate nodes use the source route
included in a packet to determine to whom a
packet should be forwarded
IFA’2004
35
Data Delivery in DSR
Y
DATA [S,E,F,J,D]
S
Z
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Packet header size grows with route length
IFA’2004
36
DSR Optimization: Route Caching
 Each node caches a new route it learns by any means
 When node S finds route [S,E,F,J,D] to node D, node S
also learns route [S,E,F] to node F
 When node K receives Route Request [S,C,G] destined for
node, node K learns route [K,G,C,S] to node S
 When node F forwards Route Reply RREP [S,E,F,J,D],
node F learns route [F,J,D] to node D
 When node E forwards Data [S,E,F,J,D] it learns route
[E,F,J,D] to node D
 A node may also learn a route when it overhears Data
packets
IFA’2004
37
Use of Route Caching
 When node S learns that a route to node D is
broken, it uses another route from its local cache, if
such a route to D exists in its cache.
 Otherwise, node S initiates route discovery by
sending a route request
 Node X on receiving a Route Request for some node
D can send a Route Reply if node X knows a route to
node D
 Use of route cache
– can speed up route discovery
– can reduce propagation of route requests
IFA’2004
38
Use of Route Caching
[S,E,F,J,D]
[E,F,J,D]
S
B
[F,J,D],[F,E,S]
E
F
C
M
J
[C,S]
A
[J,F,E,S]
L
G
H
[G,C,S]
D
K
I
N
Z
[P,Q,R] Represents cached route at a node
(DSR maintains the cached routes in a tree format)
IFA’2004
39
Use of Route Caching:
Can Speed up Route Discovery
[S,E,F,J,D]
[E,F,J,D]
S
[F,J,D],[F,E,S]
E
F
B
C
[G,C,S]
[C,S]
A
[J,F,E,S]
M
J
L
G
H
I
[K,G,C,S] K
D
RREP
N
RREQ
When node Z sends a route request
for node C, node K sends back a route
reply [Z,K,G,C] to node Z using a locally
cached route
IFA’2004
Z
40
Use of Route Caching:
Can Reduce Propagation of Route Requests
[S,E,F,J,D]
Y
[E,F,J,D]
S
[F,J,D],[F,E,S]
E
F
B
C
[G,C,S]
[C,S]
A
[J,F,E,S]
M
J
L
G
H
I
D
[K,G,C,S] K
RREP
N
RREQ
Z
Route Reply (RREP) from node K limits flooding of RREQ.
In general, the reduction may be less dramatic.
IFA’2004
41
Route Error (RERR)
Y
RERR [J-D]
S
Z
E
F
B
C
M
J
A
L
G
H
K
I
D
N
J sends a route error to S along route J-F-E-S when its attempt to
forward the data packet S (with route SEFJD) on J-D fails
Nodes hearing RERR update their route cache to remove link J-D
IFA’2004
42
Route Caching: Beware!
 Stale (obsolete) caches can adversely affect
performance
 With passage of time and host mobility,
cached routes may become invalid
 A sender host may try several stale routes
(obtained from local cache, or replied from
cache by other nodes), before finding a
good route
IFA’2004
43
Dynamic Source Routing:
Advantages
 Routes maintained only between nodes who need
to communicate
– reduces overhead of route maintenance
 Route caching can further reduce route
discovery overhead
 A single route discovery may yield many routes
to the destination, due to intermediate nodes
replying from local caches
IFA’2004
44
Dynamic Source Routing:
Disadvantages
 Packet header size grows with route length
 Flood of route requests may potentially reach all nodes
 Care must be taken to avoid collisions between route requests
propagated by neighboring nodes
– insertion of random delays before forwarding RREQ
 Increased contention if too many route replies come back due to
nodes replying using their local cache
– Route Reply Storm problem
– Reply Storm may be eased by preventing a node from sending
RREP if it hears another RREP with a shorter route
 An intermediate node may send Route Reply using a stale cached
route, thus polluting other caches
 This problem can be eased if some mechanism to purge
(potentially) invalid cached routes is incorporated.
IFA’2004
45
Ad Hoc On-Demand Distance Vector
Routing (AODV)
 DSR includes source routes in packet headers
 Resulting large headers can sometimes degrade
performance
– particularly when data contents of a packet
are small
 AODV attempts to improve on DSR by
maintaining routing tables at the nodes, so that
data packets do not have to contain routes
 AODV retains the desirable feature of DSR
that routes are maintained only between nodes
which need to communicate
IFA’2004
46
AODV
 Route Requests (RREQ) are forwarded in a
manner similar to DSR
 When a node re-broadcasts a Route Request, it
sets up a reverse path pointing towards the
source
– AODV assumes symmetric (bi-directional)
links
 When the intended destination receives a Route
Request, it replies by sending a Route Reply
 Route Reply travels along the reverse path setup when Route Request is forwarded
IFA’2004
47
AODV
Ad Hoc On-demand Distance
Vector Routing
– Hop-by-hop routing as opposed to source routing
– On-demand
– When a source node wants to send a message to some
destination node and does not already have a valid
route to that destination, it initiates a path discovery
process to locate the destination (as in DSR case)
– It broadcasts the RREQ packet to its neighbors
– They then send it to their neighbors until the
destination or a node with “fresh enough cash
information” to the destination is located.
IFA’2004
48
AODV
Ad Hoc On-demand Distance
Vector Routing
– When RREQ propagates, routing tables are
updated at intermediate nodes (for route to
source of RREQ)
– When RREP is sent by destination, routing
tables updated at intermediate nodes (for
route to destination), and propagated back to
source
IFA’2004
49
AODV
Ad Hoc On-demand Distance
Vector Routing
– Each node maintains its own sequence number and a
broadcast ID.
– The broadcast ID is incremented for every RREQ the
node initiates and together with the node’s IP
address, uniquely identifies an RREQ.
– Along with its own sequence number and broadcast ID,
the source node includes in the RREQ the most recent
sequence number it has for the destination.
– Intermediate nodes can reply to the RREQ only if
they have a route to the destination whose
corresponding destination sequence number is greater
than or equal to that contained in the RREQ.
IFA’2004
50
AODV
Ad Hoc On-demand Distance
Vector Routing
– During the process of forwarding the RREQ,
intermediate nodes recording their route
tables the address of the neighbor from which
the first copy of the broadcast packet is
received establishing a reverse path.
– If more same RREQs are received later, they
are discarded.
– RREP packet is sent back to the neighbors and
the routing tables are accordingly updated.
IFA’2004
51
Route Requests in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents a node that has received RREQ for D from S
IFA’2004
52
Route Requests in AODV
Y
Broadcast transmission
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents transmission of RREQ
IFA’2004
53
Route Requests in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
D
I
N
Represents links on Reverse Path
IFA’2004
54
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
IFA’2004
55
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
J
A
L
G
H
K
I
IFA’2004
M
D
N
56
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
D
I
N
• Node D does not forward RREQ, because node D
is the intended target of the RREQ
IFA’2004
57
Route Reply in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
D
I
N
Represents links on path taken by RREP
IFA’2004
58
Route Reply in AODV
 An intermediate node (not the destination) may also send
a Route Reply (RREP) provided that it knows a more
recent path than the one previously known to sender S
 To determine whether the path known to an intermediate
node is more recent, destination sequence numbers are
used
 The likelihood that an intermediate node will send a Route
Reply when using AODV not as high as DSR
– A new Route Request by node S for a destination is
assigned a higher destination sequence number. An
intermediate node which knows a route, but with a
smaller sequence number, cannot send Route Reply
IFA’2004
59
Forward Path Setup in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
D
I
N
Forward links are setup when RREP travels along
the reverse path
IFA’2004
Represents a link on the forward path
60
Data Delivery in AODV
Y
DATA
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Routing table entries used to forward data packet.
NOTE: Route is not included in packet header as in DSR.
IFA’2004
61
Timeouts
 A routing table entry maintaining a reverse path
is purged after a timeout interval
– timeout should be long enough to allow RREP
to come back
 A routing table entry maintaining a forward
path is purged if not used for a
active_route_timeout interval
– if no data is being sent using a particular
routing table entry, that entry will be
deleted from the routing table (even if the
route may actually still be valid)
IFA’2004
62
Link Failure Reporting
 A neighbor of node X is considered active for a
routing table entry if the neighbor sent a
packet within active_route_timeout interval
which was forwarded using that entry
 When the next hop link in a routing table entry
breaks, all active neighbors are informed
 Link failures are propagated by means of Route
Error messages, which also update destination
sequence numbers
IFA’2004
63
Route Error
 When node X is unable to forward packet P (from node S to
node D) on link (X,Y), it generates a RERR message
 Node X increments the destination sequence number for D
cached at node X
 The incremented sequence number N is included in the RERR
 When node S receives the RERR, it initiates a new route
discovery for D using destination sequence number at least as
large as N
 When node D receives the route request with destination
sequence number N, node D will set its sequence number to N,
unless it is already larger than N
IFA’2004
64
Link Failure Detection
Hello messages: Neighboring nodes
periodically exchange hello message
Absence of hello message is used as
an indication of link failure
Alternatively, failure to receive
several MAC-level acknowledgement
may be used as an indication of link
failure
IFA’2004
65
Why Sequence Numbers in AODV
 To avoid using old/broken routes
– To determine which route is newer
 To prevent formation of loops
A
B
C
D
E
– Assume that A does not know about failure of link C-D
because RERR sent by C is lost
– Now C performs a route discovery for D. Node A receives
the RREQ (say, via path C-E-A)
– Node A will reply since A knows a route to D via node B
– Results in a loop (for instance, C-E-A-B-C )
IFA’2004
66
Optimization: Expanding Ring Search
 Route Requests are initially sent with
small Time-to-Live (TTL) field, to limit
their propagation
– DSR also includes a similar optimization
 If no Route Reply is received, then
larger TTL tried
IFA’2004
67
Summary: AODV
 Routes need not be included in packet headers
 Nodes maintain routing tables containing entries only for
routes that are in active use
 At most one next-hop per destination maintained at each
node
– DSR may maintain several routes for a single
destination
 Unused routes expire even if topology does not change
IFA’2004
68
Proactive Protocols
Most of the schemes discussed so
far are reactive
Proactive schemes based on
distance-vector and link-state
mechanisms have also been proposed
IFA’2004
69
Link State Routing
 Each node periodically floods status of its links
 Each node re-broadcasts link state information
received from its neighbor
 Each node keeps track of link state information
received from other nodes
 Each node uses above information to determine
next hop to each destination
IFA’2004
70
Destination-Sequenced
Distance-Vector (DSDV)
 Each node maintains a routing table which stores
– next hop towards each destination
– a cost metric for the path to each destination
– a destination sequence number that is created by the
destination itself
– Sequence numbers used to avoid formation of loops
 Each node periodically forwards the routing table to its
neighbors
– Each node increments and appends its sequence
number when sending its local routing table
– This sequence number will be attached to route
entries created for this node
IFA’2004
71
Destination-Sequenced DistanceVector (DSDV)
 Assume that node X receives routing
information from Y about a route to
node Z
X
Y
Z
 Let S(X) and S(Y) denote the destination
sequence number for node Z as stored at
node X, and as sent by node Y with its
routing table to node X, respectively
IFA’2004
72
Destination-Sequenced
Distance-Vector (DSDV)
 Node X takes the following steps:
X
Y
Z
– If S(X) > S(Y), then X ignores the routing
information received from Y
– If S(X) = S(Y), and cost of going through Y is smaller
than the route known to X, then X sets Y as the next
hop to Z
– If S(X) < S(Y), then X sets Y as the next hop to Z,
and S(X) is updated to equal S(Y)
IFA’2004
73
Comparison
Local
Low maintenance overhead
Low update overhead
High access overhead
Dynamic networks
IFA’2004
Link state
Low maintenance overhead
Low access overhead
High update overhead
Static networks
74
Hybrid Protocols:
Zone Routing Protocol (ZRP)
 Zone routing protocol combines
– Proactive protocol: which pro-actively updates network
state and maintains route regardless of whether any
data traffic exists or not
– Reactive protocol: which only determines route to a
destination if there is some data to be sent to the
destination
 All nodes within hop distance at most d from a node X
are said to be in the routing zone of node X
 All nodes at hop distance exactly d are said to be
peripheral nodes of node X’s routing zone
IFA’2004
75
ZRP
 Intra-zone routing: Pro-actively maintain state
information for links within a short distance from any
given node
– Routes to nodes within short distance are thus
maintained proactively (using, say, link state or
distance vector protocol)
 Inter-zone routing: Use a route discovery protocol for
determining routes too far away nodes. Route discovery is
similar to DSR with the exception that route requests are
propagated via peripheral nodes.
IFA’2004
76
Temporally-Ordered Routing
Algorithm (TORA)
 On demand routing.
 Designed for a dynamic environment.
 Each node keeps routing information about
adjacent nodes.
 A DAG (Directed Acyclic Graph) describes all
discovered paths to a node.
– When one link fails, its neighbors reverse
direction in the DAG, and utilize another
path.
– Timing of failures is important, so TORA
requires synchronized clocks (i.e. GPS)
IFA’2004
77
Temporally-Ordered Routing
Algorithm (TORA)
 Water flowing downhill toward to a destination node
through a network of tubes/pipes that models the
routing state of the real network.
 Tubes/pipes represent links between nodes in the
network, junctions of tubes represent the nodes, and
the water in the tubes represents the packets
flowing toward the destination.
 Each node has a height with respect to the
destination that is computed by the routing protocol.
IFA’2004
78
Temporally-Ordered Routing
Algorithm (TORA)
If a tube between nodes A and B
becomes blocked such that water can
no longer flow through it, the height of
A is set to a height greater than that
of any of is remaining neighbors, such
that water fill now flow back out of A
(and toward the other nodes that had
been routing packet to the destination
via A).
IFA’2004
79
Temporally-Ordered Routing
Algorithm (TORA)
TORA performs 3 basic functions:
 ROUTE CREATION
 ROUTE MAINTENANCE
 ROUTE ERASURE
IFA’2004
80
TORA– ROUTE CREATION &
MAINTENANCE
 For each node in the network a separate directed acyclic graph (DAG)
is maintained for each destination.
 When a node needs a route to a destination, it broadcasts a QUERY
packet containing the destination address.
 This packet travels through the network until it reaches either the
destination or an intermediate node which already has a path to that
destination.
 The recipient of the QUERY packet then broadcasts an UPDATE
packet listing its height with respect to the destination.
 Each node receiving this UPDATE packet sets is height to a value
greater than the height of the neighbor from which the UPDATE
packet has been received.
 When a node detects a network partition, it generates a CLEAR
packet that resets routing state and removes invalid routes from the
network.
IFA’2004
81
TORA– ROUTE CREATION &
MAINTENANCE
 During the route creation and maintenance phases, nodes
use the “height” metric to establish a DAG rooted at the
destination.
 Links are assigned a direction (upstream or downstream)
based on the relative height metric of neighboring nodes.
(See Figure)
IFA’2004
82
TORA– ROUTE CREATION &
MAINTENANCE
 For node mobility when the DAG route is broken, and
route maintenance is necessary to re-establish a DAG
rooted at the same destination.
 See Figure upon failure of the last downstream link, a
node generates a new reference level.
 Links are reversed to reflect the change.
IFA’2004
83
TORA
Destination
IFA’2004
84
TORA
Failure
IFA’2004
85
TORA
Reversal
IFA’2004
86
TORA
Reversal
IFA’2004
87
TORA
Reversal
IFA’2004
88
TORA
 TORA is partially proactive and partially reactive
 Reactive  route creation is initiated on demand.
 Proactive  Route maintenance is done proactively
such that multiple routing options are available in
case of link failures.
IFA’2004
89
So far ...
 All nodes had identical responsibilities
 Some schemes propose giving special
responsibilities to a subset of nodes
– Even if all nodes are physically identical
 Core-based schemes are examples of
such schemes
IFA’2004
90
Core-Extraction Distributed Ad
Hoc Routing (CEDAR)
 A subset of nodes in the network is identified as the core
 Each node in the network must be adjacent to at least one
node in the core
– Each node picks one core node as its dominator (or leader)
 Core is determined by periodic message exchanges between
each node and its neighbors
– attempt made to keep the number of nodes in the core
small
 Each core node determines paths to nearby core nodes by
means of a localized broadcast
– Each core node guaranteed to have a core node at <=3 hops
IFA’2004
91
CEDAR: Core Nodes
A
G
D
H
B
C
E
F
S
A core node
IFA’2004
J
K
Node E is the dominator
for nodes D, F and K
92
CEDAR
 Advantages
– Route discovery/maintenance duties
limited to a small number of core nodes
– Link state propagation a function of link
stability/quality
 Disadvantages
– Core nodes have to handle additional
traffic, associated with route discovery
and maintenance
IFA’2004
93
SUMMARY:
Characteristics of DSDV
Parameters
DSDV
Time Complexity
O(d)
Link Addition/Failure
Communication
O(x=N)
Complexity
Routing Philosophy
Flat
2
Number of Required Tables
N = # of Nodes in Network
d = Network diameter
h = Height of Routing Tree
x = # of affected Nodes
IFA’2004
94
SUMMARY:
Characteristics of On-Demand
Routing Protocols
Parameters
Time Complexity
Initialization
Time Complexity
Post Failure
AODV
O(2d)
DSR
O(2d)
TORA
O(2d)
O(2d)
O(2d)
or O(1)
O(2d)
N = # of Nodes in Network
d = Network diameter
x = # of affected Nodes
l = Diameter of affected segment
y = nods forming path for Reply packet
z = Diameter of path for Reply packet
IFA’2004
95
SUMMARY
Characteristics of On-Demand
Routing Protocols
Parameters
Comm. Complexity
Initialization
Comm. Complexity
Post Failure
AODV
O(2N)
DSR
O(2N)
TORA
O(2N)
O(2N)
O(2N)
O(2x)
N = # of Nodes in Network
d = Network diameter
x = # of affected Nodes
l = Diameter of affected segment
y = nodes forming path for Reply packet
z = Diameter of path for Reply packet
IFA’2004
96
SUMMARY
Characteristics of On-Demand
Routing Protocols
Parameters
Multicast Capability
Beaconing
Requirements
Multiple Route
Possibilities
Expiration Timers
Reconfiguration:
Erase Route, Notify
Source
Link Reversal; Route
Repair
Localized Broadcast
Query
IFA’2004
AODV
Yes
DSR
Yes
Yes
Yes
TORA
Optional
Yes
Yes
Yes
97
SUMMARY
Characteristics of On-Demand
Routing Protocols
Parameters
Routing Metric:
Shortest Path
Routing Metric:
Associativity
Routing Metric:
Stablility
AODV
Yes
Routing Metric:
Freshness
Routing Metric: Load
and Delay
Yes
IFA’2004
DSR
Yes
TORA
Yes
98
Implementation Issues
 Several implementations apparently exist (see IETF)
– only a few available publicly
 Where to implement ad hoc routing?
– Link layer, Network layer, Application layer
 Address assignment
– Restrict all nodes to be on the same subnet
– Nodes may be given random addresses
– How to assign addresses? DHCP for ad hoc network?
 Security
– How can I trust you to forward my packets without
tampering?
– How do I know you are what you claim to be ?
 Performance
– Can we make any guarantees on performance?
IFA’2004
99
References
 [1] D. B. Johnson, D. A. Maltz, Y.-C. Hu, “The Dynamic Source
Routing Protocol for Mobile Ad Hoc Networks (DSR)”, IETF
Draft, April 2003.
 [2] C. E. Perkins, E. M. Belding-Royer, Ian D. Chakeres, “Ad
hoc On-Demand Distance Vector (AODV) Routing”, IETF Draft,
January 2004.
 [3] Z. J. Haas, M. R. Pearlman, P. Samar, P., “The Zone
Routing Protocol (ZRP) for Ad Hoc Networks” IETF Internet
Draft, draft-ietf-manet-zone-zrp-04.txt, July 2002.
 [4] V. Park, S. Corson,”Temporally-Ordered Routing Algorithm
(TORA)”, IETF Draft, draft-ietf-manet-tora-spec-03.txt,
work in progress, June 2001.
 [5] P. Sinha, R. Sivakumar, and V. Bharghavan, "CEDAR: A
CoreExtraction Distributed Ad HocroutingAlgorithm," Proc. IEEE
INFOCOM '99, Mar. 1999.
IFA’2004
100