Routing In Ad Hoc Networks Introduction – fixed and wireless networks

Routing In Ad Hoc Networks
1. Introduction to Ad-hoc networks
2. Routing in Ad-hoc networks
3. Proactive routing protocols
•
DSDV
4. Reactive routing protocols
•
DSR, AODV
5. Non-uniform routing protocols
•
ZRP, CEDAR
6. Other approaches
•
Geographical routing
AdHoc-1
S-38.121 / S-04 / N Beijar
Introduction – fixed and wireless networks
Fixed network
S-38.121 / S-04 / N Beijar
Cellular network / Wireless LAN
Mobile ad hoc network
AdHoc-2
Mobile Ad Hoc Networks (MANETs)
• Network of mobile wireless nodes
– No infrastructure (e.g. basestations, fixed links, routers, centralized servers)
– Data can be relayed by intermediate nodes
– Routing infrastructure created dynamically
Traffic from A ÿ D is
relayed by nodes B and C
A
C
B
D
Radio coverage
of node A
AdHoc-3
S-38.121 / S-04 / N Beijar
Ad Hoc Networks
• Characteristics
–
–
–
–
Dynamic topology
Links are low bandwidth, variable capacity, sometimes unidirectional
Limited battery power and other resources in the nodes
More route alternatives (every node is a router)
• Typical applications
–
–
–
–
–
–
Military environments (soldiers, tanks, planes)
Emergency and rescue operations
Meeting rooms
Personal area networking, e.g. Bluetooth
Wireless home networking
Special applications (industrial control, taxis, boats)
S-38.121 / S-04 / N Beijar
AdHoc-4
Routing in Ad Hoc Networks
• Challenges
– Dynamic topology
– Unreliable links
– Limited resources (battery,
processing power)
– Low link bandwidth
– Security
– No default router available
• No physical links
– Wireless links created and
destroyed as nodes move
– Frequent disconnections and
partitions
C
A
D
B
C
A
D
B
S-38.121 / S-04 / N Beijar
AdHoc-5
Traditional routing is proactive
• In proactive routing (table-driven routing), the routing tables are
created before packets are sent
– Link-state (e.g. OSPF)
– Distance-vector (e.g. RIP)
• Each node knows the routes to all other nodes in the network
• Problems in Ad-Hoc networks
– Maintenance of routing tables requires much bandwidth
– Dynamic topology ÿ much of the routing information is never used
ÿWaste of capacity
– Flat topology
ÿNo aggregation
S-38.121 / S-04 / N Beijar
AdHoc-6
Reactive routing
• In reactive routing the routes are created when needed
– Before a packet is sent, a route discovery is performed
– The results are stored in a cache
– When intermediate nodes move, a route repair is required
• Advantages
– Only required routes are maintained
• Disadvantages
– Delay before the first packet can be sent
– Route discovery usually involves flooding
S-38.121 / S-04 / N Beijar
AdHoc-7
Routing protocols in Ad Hoc Networks
• Many routing protocols have been proposed
– Both proactive and reactive
– Some protocols adapted from wired networks, some invented
for mobile ad hoc networks
• No single protocol works well in all environment
– Attempts to combine different solutions, e.g. adaptive and
combinations of proactive and reactive protocols
• Standardization in IETF
– MANET (Mobile Ad hoc Network) working group
• Currently considered routing protocols: DSR, AODV, OLSR, TBRPF
– MobileIP
S-38.121 / S-04 / N Beijar
AdHoc-8
Proactive routing protocols
Destination Sequenced Distance-Vector
(DSDV)
S-38.121 / S-04 / N Beijar
AdHoc-9
Proactive Ad Hoc routing protocols
• Protocols
–
–
–
–
–
DSDV (Destination Sequenced Distance-Vector)
WRP (Wireless Routing Protocol)
GSR (Global State Routing)
FSR (Fisheye State Routing)
OLSR (Optimized Link State Routing)
• Main principles similar to fixed networks
ÿ we will only look at DSDV.
S-38.121 / S-04 / N Beijar
AdHoc-10
Proactive distance vector protocols
• Problems of distance vector protocols in ad-hoc networks
– Topology changes are distributed too slowly
– Moving nodes can create routing loops
• The connectivity information is not valid at the new place
– Bandwidth consuming
– Count-to-infinity problem
S-38.121 / S-04 / N Beijar
AdHoc-11
Destination Sequenced Distance-Vector
(DSDV)
• DSDV is a proactive distance vector protocol
• Improvements for Ad Hoc networks
– Tagging of distance information
• Increasing sequence numbers
• Nodes can discard received old entries and duplicates
– Delay before sending distance vectors
• Allows settling
– Incremental updates are sent instead of full table
S-38.121 / S-04 / N Beijar
AdHoc-12
Destination Sequenced Distance-Vector
(DSDV)
Sequence number example
sequence
number n
C
B
message is delayed
D
A
E
F
B
C
D
A
node A moves A
E
sequence
F
number n+1
sequence
number n
F can discard message n, although message n+1 reached F before
AdHoc-13
S-38.121 / S-04 / N Beijar
Reactive routing protocols
Dynamic Source Routing (DSR)
Ad-hoc On-demand Distance Vector Routing
(AODV)
S-38.121 / S-04 / N Beijar
AdHoc-14
Reactive routing – route request
• Also called ”on demand”
• The source must discover a route to the destination
– The source broadcasts a route request message
– Each node re-broadcasts the route request (flooding), and adds
its own address to the path
– When the destination receives the route request, it generates a
route reply, which traverses the reverse path back to the source
• Route discovery effectively floods the network with the
route request packet
S-38.121 / S-04 / N Beijar
AdHoc-15
Reactive routing – route maintenance
• The source and the intermediate nodes must maintain the
route when it is used.
• If the topology changes, the route must be repaired
– The source sends a new route request to the destination
– Improvement: Intermediate nodes can discover broken links and
automatically repair the connection
• Intermediate nodes can remember successful paths
– If a route request to the destination is received from another
node, the intermediate node can answer on behalf of the
destination
S-38.121 / S-04 / N Beijar
AdHoc-16
Reactive routing protocols
• Reactive routing protocols
– DSR (Dynamic Source Routing)
• draft-ietf-manet-dsr-09.txt
– AODV (Ad-hoc On-demand Distance Vector)
• RFC 3561 (experimental)
– TORA (Temporally Ordered Routing Algorithm)
– ABR (Associativity Based Routing)
• We only look at a a few (DSR, AODV)
AdHoc-17
S-38.121 / S-04 / N Beijar
DSR – Dynamic Source Routing
Example
Source node S floods a Route Request (RREQ)
[S]
S
A
J
B
[S]
C
[S]
E
F
K
G
S-38.121 / S-04 / N Beijar
I
D
H
AdHoc-18
DSR – Dynamic Source Routing
Example
Nodes receiving the Route Request forward it to their neighbors
[S,A]
S
A
J
B
[S,A]
C
[S,F]
F
E
K
I
D
[S,F]
H
G
AdHoc-19
S-38.121 / S-04 / N Beijar
DSR – Dynamic Source Routing
Example
The process is repeated
[S,A,B]
S
A
J
B
C
E
[S,F,K]
F
K
I
D
H
G
[S,F,G]
S-38.121 / S-04 / N Beijar
AdHoc-20
DSR – Dynamic Source Routing
Example
The destination node receives the Route Request
S
A
J
B
C
F
E
K
I
H
G
[S,A,B,C]
D
[S,F,G,H]
AdHoc-21
S-38.121 / S-04 / N Beijar
DSR – Dynamic Source Routing
Example
The destination generates a Route Reply (RREP), which is forwarded
back to the source along the reversed path.
S
A
J
B
C
E
F
K
G
S-38.121 / S-04 / N Beijar
I
[S,A,B,C,D]
D
H
AdHoc-22
DSR – Dynamic Source Routing
• The source node caches the path received in the RREP
• The entire route is included in packets sent from S
ÿ Source routing
• The source node also learns the routes to the intermediate nodes
– S also learns route to A, B and C
• Intermediate nodes learn routes to nodes in forwarded RREQ and
RREP packets
– Node B learns route to S, A, C and D
S
Data [S,A,B,C,D]
A
J
B
C
E
F
K
G
I
D
H
AdHoc-23
S-38.121 / S-04 / N Beijar
DSR Properties
• Advantages
– Only the communicating nodes need to maintain the route
– Several alternative routes to the destination
– Intermediate nodes can reply to requests using their cache
• Problems
– Long routes ÿ Long packets
(Large overhead in e.g. small voice packets)
– Route request is flooded to the whole network
(Can be limited with expanding ring search)
– Contention if too many nodes reply
– Stale caches
S-38.121 / S-04 / N Beijar
AdHoc-24
AODV – Ad-hoc On-demand Distance Vector
Routing
• Aims to reduce packet size by maintaining the route in the
intermediate nodes as distance vectors
• Route request (RREQ) flooded similarly to DSR
• When the route reply (RREP) is relayed, the intermediate node
record the next hop in their forwarding table
• The forwarding table has entries for both directions
• Entries in the forwarding table time out when not used
S
A
J
B
C
E
F
K
G
I
H
D
Destination
Next hop
D
C
S
A
Routing table of B
AdHoc-25
S-38.121 / S-04 / N Beijar
AODV routing table
For each routing table entry
• Destination IP address
• Destination sequence number
• Interface
• Hop count
• Next hop
• List of precursors
• Lifetime
• Flags
– valid destination sequence number
– valid, invalid, repairable, being repaired
S-38.121 / S-04 / N Beijar
AdHoc-26
The entries are identified with destination
sequence numbers
• Sequence number are used to
– Prevent routing loops
– Avoid old and broken routes
• The destination generates the sequence number and
includes it in the reply
• If two routes are available, the requesting node selects the
one with greatest sequence number
• The requesting node gives a minimum sequence number
– Intermediate nodes can reply only if it has a route with at least
the given minimum number
AdHoc-27
S-38.121 / S-04 / N Beijar
Route requests
• A node sends a route request when it needs a route to a destination
and does not have one
• Destination number in RREQ is the last known number for the
destination (may be unknown)
• Expanding ring search
• Waiting packets are queued during the route request
• Intermediate nodes
– Discards duplicate requests
– Creates an entry towards the requester (sequence number from RREQ)
• Used for reply
– Creates an entry to the previous hop (no sequence number)
– Replies if it has an active route with requested or higher sequence number
– Otherwise broadcasts the request on all interfaces
S-38.121 / S-04 / N Beijar
AdHoc-28
Route replies
• If the destination replies
– The sequence number is first incremented if it is equal to the number in the
request
– RREP contains the current sequence number, hop count = 0, full lifetime
• If an intermediate node replies
– The sequence number, hop count and lifetime are copied from the routing
table to the RREP
– It may be necessary to unicast a gratuitous RREP to the destination so it
learns the path to the requester
• The intermediate nodes update their routing table
(this is simplified)
– The RREP is forwarded to the originator
– The next hop to the originator is added to the precursor list
AdHoc-29
S-38.121 / S-04 / N Beijar
Route errors are reported
• Neighboring nodes with active routes periodically exchange Hello
messages
• If a next hop link in the routing table fails, the active neighbors are
informed
– A neighbor is considered active for an entry, if the neighbor sent a packet
within a timeout interval that was forwarded using the entry.
– The RERR indicates the unreachable destinations
– The sequence number for the destinations using the link is increased
• A Route Error (RERR) message is also generated if a node is
unable to relay a message
• The source performs a new route request when it receives a RERR
• An intermediate node can perform a local repair
S-38.121 / S-04 / N Beijar
AdHoc-30
Non-uniform protocols
Zone Routing Protocol (ZRP)
Clustering routing protocols
AdHoc-31
S-38.121 / S-04 / N Beijar
Non-uniform protocols
•
•
•
The previously discussed (uniform) protocols scales to
networks with less than 100 nodes
Larger networks (up to 1000 nodes) require hierarchy
Two approaches
1. Neighbor selection
•
Routing activity is focused on a subset of the neighbors
–
–
–
Zone Routing Protocol (ZRP)
Optimized Link State Routing (OLSR)
Fisheye State Routing (FSR)
2. Partitioning
•
The network is topologically partitioned
–
–
S-38.121 / S-04 / N Beijar
Core Extraction Distributed Ad-hoc Routing (CEDAR)
Cluster Based Routing Protocol (CBRP)
AdHoc-32
ZRP – Zone Routing Protocol
• Based on the concept of zones
– Every node has a zone, with a specific zone radius
– Zone radius given as hop count
– The zones of neighboring nodes overlap
• Proactive routing used within the zone
– Packets are most likely sent to nearby located destinations
– Reduces the topology maintenance costs to a limited zone
• Reactive routing used outside the zone
– Uses local topology information ÿ not all nodes are queried
– Bordercasting sends the route request to the border of the zone
AdHoc-33
S-38.121 / S-04 / N Beijar
ZRP – Zone Routing Protocol
ρ=2
Peripheral nodes
with minimum
distance ρ
H
G
C
B
Interior nodes with
minimum distance
less than ρ
D
A
S
F
E
I
K
J
S-38.121 / S-04 / N Beijar
AdHoc-34
ZRP Example (1)
H
Packet from node S to node X
G
C
B
D
A
U
S
X
K
F
E
T
J
W
L
I
V
N
P
O
Q
R
AdHoc-35
S-38.121 / S-04 / N Beijar
ZRP Example (2)
X is not within the zone of S
H
G
C
B
D
A
U
S
X
K
F
E
T
J
I
N
P
Q
W
L
V
O
R
S-38.121 / S-04 / N Beijar
AdHoc-36
ZRP Example (3)
Send route request to
peripheral nodes
H
G
C
B
D
A
U
S
X
K
F
E
T
J
W
L
I
V
N
P
O
Q
R
AdHoc-37
S-38.121 / S-04 / N Beijar
ZRP Example (4)
Not in routing table of zone of I.
Process repeated to peripheral nodes.
H
G
C
B
D
A
U
S
X
K
F
E
T
J
I
N
P
Q
W
L
V
O
R
S-38.121 / S-04 / N Beijar
AdHoc-38
ZRP Example (5)
Found in routing table of T. Route
reply sent back to S.
H
G
C
B
D
A
U
S
X
K
F
E
T
J
I
N
P
Q
W
L
V
O
R
AdHoc-39
S-38.121 / S-04 / N Beijar
Clustering Routing Protocols
E.g. Core-Extraction Distributed Ad hoc Routing (CEDAR)
NB: The clusters are
non-overlapping!
Core node
Cluster
Backbone link
S-38.121 / S-04 / N Beijar
AdHoc-40
Summary, other approaches
AdHoc-41
S-38.121 / S-04 / N Beijar
Routing Protocol Classification
Single channel
Uniform
Topology-based
Proactive
Reactive
GSR
DSR
Non-uniform
Destination-based
Proactive
DSDV
WRP
Reactive
Neighbor selection
ZRP
OLSR
Partioning
CEDAR
CBRP
AODV
TORA
ABR
[L.M. Feeney, SICS]
S-38.121 / S-04 / N Beijar
AdHoc-42
Other routing approaches
• Geographical Routing
– Utilize location information in routing
• Associativity-Based Routing (ABR)
– Only links that have been stable for some time are used
• Multicasting in Ad hoc networks
S-38.121 / S-04 / N Beijar
AdHoc-43
Geographical routing in Ad hoc networks
• All nodes know their position (GPS, relative position)
1. Locating the destination (given the address, obtain the location)
ÿ
Location service
•
ÿ
Grid’s Location Service (GLS)
Location updates
•
•
•
Predictive Location-based QoS Routing (PLQR)
Nodes send location updates periodically (interval depends on speed)
Extra updates are sent when velocity or direction changes
2. Routing to a destination (given the location, route the packet)
–
–
–
Geographical Routing Algorithm (GRA)
Each node routes the packet to the node that is closer to the destination
than itself
Route discovery (flooding) if there is no node closer
S-38.121 / S-04 / N Beijar
AdHoc-44