0% found this document useful (0 votes)
73 views54 pages

Understanding MANET Routing Protocols

This document discusses mobile ad hoc networks (MANETs) and routing protocols. It begins by explaining the differences between infrastructure networks and ad hoc networks. It then provides examples of MANET applications for military, civilian, and commercial uses. The document discusses key differences between routing in MANETs versus traditional wired networks. It also summarizes several popular MANET routing protocols, including DSR, and provides an example of how route discovery works in DSR.

Uploaded by

parviz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views54 pages

Understanding MANET Routing Protocols

This document discusses mobile ad hoc networks (MANETs) and routing protocols. It begins by explaining the differences between infrastructure networks and ad hoc networks. It then provides examples of MANET applications for military, civilian, and commercial uses. The document discusses key differences between routing in MANETs versus traditional wired networks. It also summarizes several popular MANET routing protocols, including DSR, and provides an example of how route discovery works in DSR.

Uploaded by

parviz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Advanced Computer Networks

MANET: Mobile Ad Hoc Network

Islamic Azad University Of Tabriz


Department of Engineering
Computer Engineering Group

Ali Ghaffari
E-mail: [Link]@[Link]
Infrastructure vs. multi-hop
Infrastructure networks:
One or several Access-Points (AP) connected to the wired network
Mobile nodes communicate through the AP
Ad hoc network:
Mobile nodes communicate directly with each other
Multi-hop ad hoc networks: all nodes can also act as routers
Instantly deployable, re-configurable (no fixed infrastructure)
Node portability (eg sensors), mobility
Limited battery power
Multi-hopping ( to save power, overcome obstacles, etc.)
Created to satisfy a temporary need

Hybrid (nodes relay packets from AP):


Goal: increase capacity, reduce power consumption, and guarantee a
minimum service
Ad Hoc Network Applications
Military
Automated battlefield
Special operations
Homeland defense
Civilian
Disaster Recovery (flood, fire, earthquakes etc)
Search and rescue in remote areas
Environment monitoring (sensors)
Space/planet exploration

Commercial
Sport events, festivals, conventions
Patient monitoring
Ad hoc collaborative computing (Bluetooth)
Sensors on cars (car navigation safety)
Car to car communications
MANET vs. Traditional Routing (1)
Every node is potentially a router in a MANET, while most nodes in traditional
wired networks do not route packets
Nodes transmit and receive their own packets and, also, forward packets
for other nodes
Topologies are dynamic in MANETs due to mobile nodes, but are relatively
static in traditional networks
Routing in MANETs must consider both Layer 3 and Layer 2 information,
while traditional protocols rely on Layer 3 information only
Link layer information can indicate connectivity and interference
MANET topologies tend to have many more redundant links than traditional
networks
A MANET router typically has a single interface, while a traditional router
has an interface for each network to which it connects
Routed packet sent forward when transmitted, but also sent to
previous transmitter

Channel properties, including capacity and error rates, are relatively static in
traditional networks, but may vary in MANETs
MANET vs. Traditional Routing (2)
Interference is an issue in MANETs, but not in traditional networks
For example, a forwarded packet from B-to-C competes with new packets
sent from A-to-B
Channels can be asymmetric with some Layer 2 technologies
Note that the IEEE 802.11 MAC assumes symmetric channels
Power efficiency is an issue in MANETs, while it is normally not an issue in
traditional networks

There is limited physical security in a MANET compared to a traditional


network
Increased possibility of eavesdropping, spoofing, and denial-of-security
attacks
Traditional routing protocols for wired networks do not work well in most
MANETs
MANETs are too dynamic
Wireless links present problems of interference, limited capacity, etc.
MANET Routing
Need dynamic routing
Frequent topological changes possible.
Very different from dynamic routing in the Internet.
Routing overhead must be kept minimal
Wireless low bandwidth
Mobile low power
Minimize # of routing control messages
Minimize routing state at each node
Nodes must determine how to forward packets
Source routing: Routing decision is made at the sender
Hop-by-hop routing: Routing decision is made at each intermediate node
Difficult to achieve good performance
Routes change over time due to node mobility
Best to reduce overhead of route discovery and maintenance
MANET Routing
Proactive protocols
Determine routes independent of traffic pattern
Traditional link-state and distance-vector routing protocols are proactive
Examples:
DSDV (Dynamic sequenced distance-vector)
OLSR (Optimized Link State Routing)

Reactive protocols
Maintain routes only if needed
Examples:
DSR (Dynamic source routing)
AODV (Ad Hoc On-demand distance vector)

Hybrid protocols
Combines both approaches
Example: Zone Routing Protocol (intra-zone: proactive; inter-zone: on-
demand)
Protocol Types

MANET Routing Protocols

Proactive Reactive

Hybrid
Example: Example:
OLSR AODV

Example:
ZRP
Common Features
MANET routing protocols must
Discover a path from source to destination
Maintain that path (e.g., if an intermediate node moves and breaks the path)
Define mechanisms to exchange routing information
Reactive protocols
Discover a path when a packet needs to be transmitted and no known path
exists
Attempt to alter the path when a routing failure occurs
Reduce routing overhead
Increased delay
Proactive protocols
Find paths, in advance, for all source-pair destinations
Periodically exchange routing information to maintain paths
Reduced delay, increased routing overhead
DSR(Dynamic Source Routing)
When node S wants to send a packet to node D, but does not know a route to
D, node S initiates a routing process
DSR does not assume bi-directional links
The protocol is able to adapt quickly to dynamic network topology
Loop freedom is guaranteed
Large overhead in data packets
Flexible implementation
Runs in three phases
Route Discovery Route Reply Path Establishment
Route Discovery
Source node S floods Route Request (RREQ)
Each node appends own identifier when forwarding RREQ
Route Discovery: at source A

A need to send to G

Lookup Cache for route A to G

Start Route no Route


Discovery Buffer found
Protocol packet ?

Continue
yes
normal
wait

yes Write route in


processing
packet header

Route Packet
Discovery in
finished buffer? no Send packet
to next-hop
done
Route Discovery: At an intermediate node

Accept route <src,id> in Discard


yes
request recently seen route
packet requests list? request

no
Hosts yes Discard
address
already in route
partial route request

no
Append
myAdd
myAddr to no r=targe
partial route
t
yes
Store <src,id> in Send route
list reply packet

Broadcast packet done


Route Discovery in DSR

RREQ Y
Initiator ID
Initiator seq# Z
Target ID S E
Partial route
F
B
C M L
J
A G
H D
K
I N

Represents a node that has received RREQ for D from S


Route Discovery in DSR

Y
Broadcast transmission

[S] Z
S E
F
B
C M L
J
A G
H D
K
I N

Represents transmission of RREQ


[X,Y] Represents list of identifiers appended to RREQ
Route Discovery in DSR

Z
S [S,E]
E
F
B
C M L
J
A [S,C] G
H D
K
I N
Route Discovery in DSR

Z
S E
F [S,E,F,J]
B
C M L
J
A G
H D
K
I [S,C,G,K] N
Route Reply 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
Route Reply in DSR

Z
S RREP [S,E,F,J,D]
E
F
B
C M L
J
A G
H D
K
I N

Represents RREP control message


Route Reply in 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
Data Delivery in DSR

DATA [S,E,F,J,D] Z
S E
F
B
C M L
J
A G
H D
K
I N

Packet header size grows with route length


Route Maintenance
Route maintenance performed only while route is in use
Error detection:
Monitors the validity of existing routes by passively listening to data
packets transmitted at neighboring nodes
Lower level acknowledgements
If a packet cannot be forwarded, the upstream node will send a ROUTE
ERROR message back to the sender
The ROUTE ERROR message contains:
Address of the node which could not forward the packet
Which link is broken
Example

B
RERR
RERR G

D
G

Route Cache (A)


E H
G: A, B, D, G
G: A, C, E, H, G
F: B, C, F C
F
Optimizations

Full use of route cache


An intermediate (IN) node also has knowledge of the entire path when
forwarding packets
If an IN node receives a RREQ for a DST for which it caches the route, it
can send RREP back to SRC without further propagating RREQ
Further restriction: RREQ discarded if the partial route in the RREQ and
cached route at the IN node contains a loop
A slight reply delay is introduced to avoid simultaneous replies from
multiple nodes
Piggybacking on Route Discoveries
Allowing some data to be piggybacked in RREQ packets
Care taken in case the intermediate node with cached route to DST sends a
RREP to SRC without further propagating the piggybacked RREQ
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

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 set-up when Route Request is
forwarded
Route Requests in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N

Represents a node that has received RREQ for D from S


Route Requests in AODV

Broadcast transmission
Y

S E Z
F
B
C M L
J
A G
H D
K
I N

Represents transmission of RREQ


Route Requests in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N

Represents links on Reverse Path


Reverse Path Setup in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N

Node C receives RREQ from G and H, but does not forward


it again, because node C has already forwarded RREQ once
Reverse Path Setup in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N
Reverse Path Setup in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N

Node D does not forward RREQ, because node D


is the intended target of the RREQ
Route Reply in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N

Represents links on path taken by RREP


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
Forward Path Setup in AODV

S E Z
F
B
C M L
J
A G
H D
K
I N

Forward links are setup when RREP travels along the reverse path

Represents a link on the forward path


Data Delivery in AODV

DATA Y

S E Z
F
B
C M L
J
A G
H D
K
I N

Routing table entries used to forward data packet.

Route is not included in packet header.


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 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)
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
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
Destination Sequence Number
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

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
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 )
Why Sequence Numbers in AODV

A B C D

Loop C-E-A-B-C
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


AODV Route Request
Initiated when a node wants to communicate with another node, but does not
have a route to that node
Source node broadcasts a route request (RREQ) packet to its neighbors
Sequence numbers are assigned to routes and routing table entries
Used to supersede stale cached routing entries
Source sequence indicates freshness of reverse route to the source
Destination sequence number indicates freshness of route to the destination

type flags resvd hopcnt


(source_addr, broadcast_id) uniquely
broadcast_id
identifies the RREQ
broadcast_id is incremented for dest_addr
every RREQ packet sent dest_sequence_#
Receivers can identify and discard source_addr
duplicate RREQ packet source_sequence_#
AODV Route Request (2)
Every neighbor receives the RREQ and either
Returns a route reply (RREP) packet, or
Forwards the RREQ to its neighbors
If a node cannot respond to the RREQ
The node increments the hop count
The node saves information to implement a reverse path set up (AODV
assumes symmetrical links)
Neighbor that sent this RREQ packet
Destination IP address
Source IP address
Broadcast ID
Source nodes sequence number
Expiration time for reverse path entry (to enable garbage collection)
AODV: Use Sequence Numbers
Each node X maintains a sequence number
acts as a time stamp
incremented every time X sends any message)
Each route to X (at any node Y) also has Xs sequence number associated
with it, which is Ys latest knowledge of Xs sequence number.
Sequence number signifies freshness of the route higher the number,
more up to date is the route.

S Y ? D
Dest seq. no. = 10 Has a route to D
with seq. no = 7 Seq. no. = 15

RREQ carries 10 Y does not reply, but


forwards the RREQ
Intermediate node replies with a route (instead of forwarding request) only
if it has a route with a higher associated sequence number.
AODV Route Maintenance
Route changes can be detected by
Failure of periodic HELLO packets
Failure or disconnect indication from the link level
Failure of transmission of a packet to the next hop (can detect by
listening for the retransmission if it is not the final destination)
The upstream (toward the source) node detecting a failure
propagates an route error (RERR) packet with a new
destination sequence number and a hop count of infinity
(unreachable)
The source (or another node on the path) can rebuild a path by
sending a RREQ packet
AODV Example (8)

4
1 6

5 7
3
2 7
Assume that Node 7 moves and link 6-7 breaks
Node 6 issues an RERR packet indicating the broken path
The RERR propagates back to Node 1
Node 1 can discover a new route
Summary: AODV
At most one route per destination maintained at each node
After link break, all routes using the failed link are erased.
Not the case in DSR (multiple routes)
Expiration based on timeouts.
No expiration timer in DSR
Use of sequence numbers to prevent loops and ensure freshness
of the routes.
Optimizations
Routing tables instead of storing full routes.
Control flooding (incrementally increase region)
Ring based approach
Similar Performance with DSR
Works well with large networks (around 1000 nodes)
DSR is for small networks (at most ~200 nodes)
Proactive Protocols
Different than Reactive Protocols
Traditional distributed shortest path routing protocols
link-state or distance-vector protocol
Continuously update the reachability information at all the
network nodes
Lower route request latency and higher overhead
DSDV is the best example
Destination Sequence Distance Vector Routing
Proactive
Table-Driven
Hierarchical Routing
Scalability MANET protocols often do not perform well for large networks
(especially if not dense)
Global topology is based on the connectivity of each mobile node
Clusters can be used to provide scalability
Clusters are formed (dynamically, of course) to provide hierarchy
Global routing is done to clusters
Local routing is done to nodes within a cluster
Clusters of clusters (super-clusters) can be formed to extend hierarchy
Similar in principle to IP subnets
A special node, called the cluster-head, is designated in each cluster
Responsible for routing data to or from other clusters
May be a special node, or may be designated through a clustering algorithm
Algorithms
Clustering -- form clusters
Cluster-head identification -- may be an integral part of the clustering
algorithm
Routing -- some routing algorithm is still needed
Applied at each level of the hierarchy
Hierarchical Algorithm Example
Cluster 2

Cluster 1

Cluster 3
Cluster-head Gateway Switch Routing (CGSR)

CGSR is a clustered multi-hop mobile wireless network with several heuristic


routing schemes.
A distributed cluster-head (CH) selection algorithm is used to elect a node as
the cluster head.
It modifies DSDV by using a hierarchical CH to route traffic.
Gateway nodes serve as bridge nodes between two or more clusters.
A packet sent by a node is first routed to its CH and then the packet is routed
from the CH to a gateway of another cluster and then to the CH and so on, until
the destination cluster head is reached.
Frequent changes in the CH may affect the performance of the routing protocol.
CGSR (Contd)

6
12
5

11
10
4 7

1
9
8 Gateway Node
3
Cluster Head

Internal Node

Routing in CGSR from node 1 to node 8


Zone Routing Protocol (ZRP) / Hybrid Protocol

ZRP combines proactive and reactive approaches


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
Xs routing zone
Intra-zone routing: Proactively maintain routes to all nodes within the source
nodes own zone.
Inter-zone routing: Use an on-demand protocol (similar to DSR or AODV) to
determine routes to outside zone.
Zone Concept

ZONE

Radius of routing zone = 2 hops

You might also like