Routing ProtocolRouting in MANET o Routing in MANET is different as in wired network o In MANET...
Transcript of Routing ProtocolRouting in MANET o Routing in MANET is different as in wired network o In MANET...
Routing Protocol
The main function of the network layer is routing packets
from the source to the destination
The main function of the network layer is routing packets from the source to the
destination
Routing protocol
Routing means to guide the data within the network from source to destination efficiently
A routing protocol specifies how routers communicate with each other.
The choice of the route being done by routing algorithms.
Function of Routing protocol
Discover a path from source to destination
Maintain that path (e.g if an intermediate node leaves,
moves and breaks the path)
Define mechanisms to exchange routing information
Routing protocols establish routing tables at routers
How It is done ?
Router does this by acquiring enough knowledge of the topology of the network.
The following tasks should be taken care off :
- Minimize the number of hops
(path-length)
- Minimize delay
- Minimize packet loss
- Minimize cost
Routing in MANET
o Routing in MANET is different as in wired network
o In MANET nodes themselves behave as routers & they are free to move with any speed, in any direction and they can organize themselves randomly.
Host mobility
• Link failure/repair due to mobility
• Rate of link failure/repair is higher when nodes move fast
Distributed Environment
• No centralized routing possible because of the highly dynamic nature of the network.
Properties of Routing Protocol
Simple
Less storage space
Loop free
Low overhead (Short control message )
Less power consumption
Fast rerouting mechanism
Design Issues of Routing Protocols forAd Hoc Networks
Unidirectional Links Support
Usage of Super Hosts
Quality of Service (QoS) Routing
Multicast Support
Routing Architecture
Unidirectional Links Support
Almost every existing routing protocol tends to assume that all links are bidirectional.
However, there are a number of factors that will make wireless links unidirectional such as Different radio capabilities
Interference
Message broadcast requirement
Mute mode
Time varying link
Different radio capabilities
Radios within a network can have different transmit
powers or receiver sensitivities
For example in a tactical environment ,a man-pack and vehicular radios
Vehicular radios, being less constrained by size and weight, than their man-pack counterparts.
Unidirectional links are exceedingly in tactical networks.
Interference
This is due to either hostile jammers or friendly interference, which will reduce a nearby receiver‟s sensitivity.
For example, host A can receive packets from host B as there is very little interference in A‟s vicinity.
However, B may be in the vicinity of an interference node, and therefore cannot receive packets from A.
So, the link between A and B is directed from B to A.
Message broadcast requirement
There is an increasing emphasis on the wide area broadcast of messages.
Satellite-based transmitters are being used for the downward links, whereas the upward links use alternative paths.
Mute mode
An extreme instance, applicable only in tactical mobile networks , is when hosts cannot transmit due to any threat.
In such a case, it still needs to receive information; however, it cannot participate in bidirectional communications.
The state of link direction is time varying:
The directional state of the wireless link may be either a persistent or a transient phenomenon.
The frequency of such transitions and the duration of stay in each state will be a function of offered traffic, terrain, mobility patter, and energy availability.
Usage of Super Hosts
All existing routing protocols assume that all mobile hosts have the same properties
But there are many situations otherwise
Such hosts are referred to as “Super Hosts.”
The MANETs have two-level network architecture:
Backbone area
Subarea
Backbone area is composed of Super Hosts which assumed to have lower mobility than normal hosts so as to maintain the stability of the backbone.
Quality of Service (QoS) Routing
Most of the proposed routing protocols for MANETs optimized the solution for only one metric: hop distance
The shortest path is generally preferable.
MANETs, typically scarce and dynamic, make it difficult to perform efficient resource utilization or to execute critical real-time applications in wireless environments.
So there is a great need to provide QoS routing support to effectively flow into the network.
QoS Routing
QoS routing means that it selects routes with sufficient resources for the requested QoS parameters.
The goal of QoS routing has some points.
1-To meet the QoS requirements for each admitted connection
2-To achieve global efficiency in resource utilization.
Thus, QoS routing will consider multiple constraints, and provide better load balance
QoS Routing
In MANET, there are many metrics to be considered:
(1) most reliable path,
(2) most stable path,
(3) maximum total power remained path,
(4) maximum available bandwidth path etc
It is desirable to select the routes with having a minimum cost and not unlikely only to provide the shortest path based on the hop distance.
Multicast Support
Multicast routing sends a single copy of a data packet simultaneously to multiple receivers over a link that is shared by the paths to the receivers.
A multicast routing is a very useful and efficient way to support group communication .
Good where bandwidth is limited and energy is constrained.
Routing Architecture
The routing architecture of a MANET can be either
hierarchical or flat.
In most MANETs, the hosts will be acting as independent routers, which implies that routing architecture should conceptually be flat
In a flat self-organized network, the mobility management is not necessary because all of the nodes are visible to each other via routing protocols.
Flat Network
Hierarchical N/W
Cluster-based routing is a solution to address nodes heterogeneity, and to limit the amount of routing information that propagates inside the network.
The idea behind clustering is to group the network nodes into a number of overlapping clusters.
Clustering makes possible a hierarchical routing in which paths are recorded between clusters instead of between nodes.
This increases the routes lifetime, Decrease the amount of routing control overhead Inside the cluster one node that coordinates the cluster is
called CH and rest ordinary nodes are called CM and gateways.
Hierarchical N/W
Cluster 1
Cluster 3
Cluster 2
Classification of Routing Protocol in MANET
MANET Routing Protocols
Hybrid
Proactive Reactive
Example:DSDV,OLSR
Example:ZRP
Example:DSR,AODV
Proactive or Table-driven routing protocols:
Find paths, in advance, for all source-pair destinations
Periodically exchange routing information to maintain paths
Each node builds its own routing table which it can use to find a path to a destination.
Advantages:
Low route setup latency
Disadvantages:
High routing overhead (periodic distribution of routing information)
Stale routing information in highly dynamic topologies.
Some Proactive Routing protocol
DSDV (Destination Sequenced Distance Vector routing ) protocol ,
(WRP) Wireless Routing Protocol
(CGSR) Cluster-Head Gateway Switch Routing protocol
STAR ( Source Tree Adaptive Routing protocol)
TBRF (Topology Broadcast Reverse Forwarding)
OLSR (Optimized Link State Routing Protocol)
FSR (Fisheye State Routing Protocol)
FSLS ( Fuzzy sighted link state)
Reactive or On-demand routing protocols:
Discover a path when a packet needs to be transmitted
Attempt to alter the path when a routing failure occurs
Advantages:
Lower routing overhead
Disadvantages:
Larger route set up latency
Route discovery packet flooding
Examples of Reactive Routing Protocol
Dynamic Source Routing protocol (DSR),
Ad Hoc On-Demand Distance-Vector Routing protocol (AODV),
Temporally Ordered Routing Protocol (TORA).
Hybrid Routing Protocols:
Nodes are grouped into zones based on their geographical locations or distances form each other.
The routing is proactive for short distances and reactive for long distances.
e.g ZRP,CBR
Advantages:
Reduces impact of disadvantages of proactive and reactive routing protocols
No route setup latency for short distance connections Lower routing overhead due to reactive routing for
distant destinations
Disadvantages: More complex
How Routes are decided ?
Routing Algorithm ?
The routing algorithm is responsible for deciding the routes
The routing algorithm should be able to
calculate best path
cope up with changes in the topology
receive and transmit updates
Routing Algorithm ?
There are two types of routing algorithm
Link-State algorithm:
Distance-Vector algorithm:
39
Distance Vector vs. Link State Routing
In distance vector routing, each node has information only about the next hop:
Node A: to reach F go to B
Node B: to reach F go to D
Node D: to reach F go to E
Node E: go directly to F
Distance vector routing makespoor routing decisions if directions are not completelycorrect (e.g., because a node is down).
A B C
D E F
40
Distance Vector vs. Link State Routing
In link state routing, each node has a complete map of the topology
If a node fails, each node can calculate the new route
All nodes need to have a
consistent view of the network
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
Distance-Vector Routing
Known also as Distributed Bellman-Ford or RIP(Routing Information Protocol)
Distance Vector (Tables)
Every node maintains a routing table
The next node to reach to destination
The number of hops to reach the destination
How Distance Vector Maintain Table ?
A router using distance vector routing protocols
knows 2 things:
• Distance to final destination
• Vector ( direction)
15
14
13
1211
10 98
7
6
5
4
3
21
Dest NextNode Dist seqNo
2 2 1 22
3 2 2 26
4 5 2 32
5 5 1 134
6 6 1 144
7 2 3 162
8 5 3 170
9 2 4 186
10 6 2 142
11 6 3 176
12 5 3 190
13 5 4 198
14 6 3 214
15 5 4 256
Routing table for Node 1
Table-driven routing protocol – DSDV (cont.)
Example:
Distance vector algorithm: Table
11
1
1 1
1
1
1
Time = 0
Distance Vector Algorithm: Example
Time = 1
Example Cont…
Time = 2 (End)
Types of Updates in Distance Vector Routing
49
Periodic Updates: Updates to the routing tables are sent at the end of a certain time period
e.g 30 0r 90 seconds.
Triggered Updates: If in a case a metric changes on a link, router immediately sends out an
update without waiting for the end of the update period.
Full Routing Table Update: Most distance vector routing protocol send their neighbors the entire
routing table (not only entries which change).
Route invalidation timers: Routing table entries are invalid if they are not refreshed.
A typical value is to invalidate an entry if no update is received after 3-6 update periods.
Distance Vector (New Node Entry )
C
Dest Next Metric
A A 1
B B 0
C C 2
Dest Next Metric
A A 0
B B 1
C B 3
Dest Next Metric
A B 3
B B 2
C C 0
BA1 2
D
(D, 0)
(A, 2)(B, 1)(C, 0)
(D, 1)
(A, 1)(B, 0)(C, 1)
(D, 2)
Distance Vector (New Node Entry )
C1 1
BA D1
Broadcasts to update tables of C, B, A with new entry for D
(A, 0)(B,1)(C, 2)
(D, 3)
(D, 0)
Distance Vector (New Node Entry )
C1 1
BA D1
Routing Table of A, B, C with new entry for D
Dest. Next Metric …
A B 2
B B 1
C C 0
D D 1
Dest. Next Metric …
A A 1B B 0C C 1D C 2
Dest. Next Metric …
A A 0
B B 1
C B 2
D B 3
Distance Vector (Broken Link)
C
1 1
BA
D1
Dest.c
Next Metric …
… … …
D C 2
Dest. Next Metric …
… … …
D B 3
Dest. Next Metric …
… … …
D D
Loop Formation
A
B
C
It is a confusion between nodesDue to lack of sequence no.
Count to Infinity
C
1 1
BA
D1
Suppose that the link between C and D is disconnect
Distance Vector ( Count to Infinity )
C
1 1
BA
D1
Dest.c
Next Metric …
… … …
D C 2
Dest. Next Metric …
… … …
D B 3
Dest. Next Metric …
… … …
D B
County to Infinity problem
After a specific amount of time, routers exchange their tables, and so C receives B's routing table.
Since B doesn't know what has happened to the link between C and D, it says that it has a link to D with the weight of 2
(D,2)
(D,3)
(D,2)
Distance Vector (Count to Infinity)
C1 1
BA D1
Dest Next Metric …
… … …
D B 3, , …
Dest Next Metric …
… … …
D B 3,, …
Dest.c
Next Metric …
… … …
D C 2, …
C receives this table and thinks there is a separate link between B and D, so it corrects its table and changes infinity to 3 .
Once again, routers exchange their tables.
When B receives C's routing table, it sees that C has changed the weight of its link to D from 1 to 3,
So B updates its table and changes the weight of the link to D to 4 .
(D,2)
(D,4)
(D,3)
(D,2)
(D,4)
Distance Vector (Count to Infinity)
C1 1
BA D1
Dest. Next Metric …
… … …
D B 5, …
Dest. Next Metric …
… … …
D B 5, …
Dest.c Next Metric …
… … …
D C 4, …
(D,2)
(D,4)
(D,3)
(D,5)
(D,2)
(D,4)
Distance Vector (Count to Infinity)
C1 1
BA D1
Dest.
Next Metric …
… … …
D B 3, 5, …
Dest. Next Metric …
… … …
D B 3, 5, …
Dest.c
Next Metric …
… … …
D C 2, 4, 6…
This process continue until all nodes find out that the weight of link to D is infinity.
This is called count to infinity problem
In this way, DV algorithms have a slow convergence rate.
Draw Back of Distance Vector Routing Algorithm
Distance Vector may be good for fixed network
But does not suite for ad-hoc networks because of two reasons
Loop formation
Count to Infinity
Destination Sequence Distance Vector(DSDV )Protocol
DSDV
Based on Bellman Ford algorithm Exchange of routing tables
Routing Table based on the way to the destination, cost
Every node knows “where” everybody else is
Each node advertises its position Sequence number to avoid loops
Maintain fresh routes
Properties of DSDV
Keep the simplicity of Distance Vector
Guarantee Loop Freeness
New Table Entry for Destination Sequence Number
Allow fast reaction to topology changes
Make immediate route advertisement on significant changes in routing table
DSDV (Table Entries with sequence Number)
Destination Next Metric Seq. Nr Install Time
Stable Data
A A 0 A-550 001000 Ptr_A
B B 1 B-102 001200 Ptr_B
C B 3 C-588 001200 Ptr_C
D B 4 D-312 001200 Ptr_D
DSDV (Table Entries with sequence Number)
Sequence number originated from destination. Ensuresloop freeness.
Install Time when entry was made (used to delete stale entries from table)
Stable Data Pointer to a table holding information on how stable a route is. Used to damp fluctuations in network.
Rules to set sequence number
Purpose to decide whether the routing table is updated or not.
When a routing message is received, the message is compared to the routing table.
If a route does not exist, the advertised route from the message is added to the routing table.
If a route exists, then the sequence numbers from the routing table and the message are compared.
If the sequence numbers is same the routing message is discarded unless the metric is better (i.e, a smaller hop count ).
If the sequence number is smaller than the one in the routing table, the message is discarded.
If the sequence number is greater than the number in the routing table, the old route is replaced with the new route.
Rules to set sequence number
On each advertisement increase own destination sequence
number (use only even numbers)
If a node is no more reachable (timeout) increase sequence number of this node by 1 (odd sequence number) and set metric =
Route Advertisements
A node advertise to each neighbor own routing information
Destination Address
Metric = Number of Hops to Destination
Destination Sequence Number
Route Advertisement
C
Dest Next Metric Seq
A A 1 A-550
B B 0 B-100
C C 2 C-588
Dest Next Metric Seq
A A 0 A-550
B B 1 B-100
C B 3 C-586
Dest Next Metric Seq.
A B 1 A-550
B B 2 B-100
C C 0 C-588
BA1 2
Route Advertisement
CBA
B increases Sequence Number from 100 -> 102B broadcasts routing information to Neighbors A, C including destination sequence numbers
Dest. Next Metric Seq
A A 0 A-550
B B 1 B-102
C B 2 C-588
Dest. Next Metric Seq
A A 1 A-550
B B 0 B-102
C C 1 C-588
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-102
C C 0 C-588
1 1
Types of Updates
Immediate advertisements
Information on new Routes, broken Links, metric change is immediately propagated to neighbors
Full Update
Send all routing information from own table.
Incremental Update
Send only entries that has changed
(D, 0, D-000)
Entry of a new node
CBA D
Dest. Next Metric Seq.
A A 0 A-550
B B 1 B-104
C B 2 C-590
Dest. Next Metric Seq.
A A 1 A-550
B B 0 B-104
C C 1 C-590
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-104
C C 0 C-590
D D 1 D-000
1. D broadcast for first time to CSend Sequence number D-000
2. C Insert entry for D with sequence number D-000Then immediately broadcast own table
Entry of New Node (cont.)
CBA D
Dest. Next Metric Seq.
A A 1 A-550
B B 0 B-102
C C 1 C-592
D C 2 D-000
Dest. Next Metric Seq.
A A 0 A-550
B B 1 B-104
C B 2 C-590
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-102
C C 0 C-592
D D 1 D-000
3. C increases its sequence number to C-592 then broadcasts its new table.
4. B gets this new information and updates its table…….
(D, , D-101)(D, , D-101)
Immediate Advertisement to avoid loop or count to infinity
CBA D
Dest.c Next Metric Seq.
… … …
D C 3 D-100
Dest. Next Metric Seq.
… … …
D B 4 D-100
Dest. Next Metric Seq.
… … …
D B 1 D-100
Dest. Next Metric Seq.
… … …
D D 1 D-100
D D D-591
1. Node C detects broken Link:-> Increase Seq. Nr. by 1(only case where not the destination sets the sequence number -> odd number)
3. Immediate propagation B to A:(update information has higher Seq. Nr. -> replace table entry)
2. Immediate propagation C to B:(update information has higher Seq. Nr. -> replace table entry)
Dest.c Next Metric Seq.
… … … ...
D C 2 D-100
D C D-591
Dest. Next Metric Seq.
… … … ...
D B 3 D-100
D B D-591
Limitations of DSDV
Wastage of bandwidth due to unnecessary advertising of routing information even if there is no change in the network topology.
DSDV doesn‟t support Multi path Routing
Difficult to determine a time delay for the advertisement of routes
Difficult to maintain the routing table‟s advertisement for larger network.
Each and every host in the network should maintain a routing table for advertising
Lead to overhead, which consumes more bandwidth.
Good Morning
DYNAMIC SOURCE ROUTING (DSR)
81
Review of distance Vector Routing
In distance vector routing, each node has information only about the next hop:
Node A: to reach F go to B
Node B: to reach F go to D
Node D: to reach F go to E
Node E: go directly to F
Distance vector routing makespoor routing decisions if directions are not completelycorrect (e.g., because a node is down).
A B C
D E F
82
Review of Link State Routing
In link state routing, each node has a complete map of the topology
If a node fails, each node can calculate the new route
All nodes need to have a
consistent view of the network
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
Dynamic source Routing (DSR)
DSR is a reactive or On Demand routing protocol
Developed at CMU in 1996
It is based on the link state algorithm
Designed for multi hop small networks
DSR Mechanism
In DSR, source initiates route discovery on demand basis
The sender determines the route from source to destination
It includes the address of intermediate nodes to the route record in the packet
The protocol is composed of the two main mechanisms
Route Discovery
Route Maintenance
Route Discovery
Route Discovery is the mechanism to find a route by a node who is wishing to send a packet to a destination node
The source node insert a unique id , its id ,destination node id and sent this packet to neighbors node
Route Discovery (How to find a Route from S to D )?
S
D
BA
The routing problem is to find a route from S to D when
some or all of the nodes are mobile.
F
Route Maintenance
It is the mechanism by which a source node is able to detect link breakage between Source and Destination,
When Route Maintenance indicates a source route is broken, Source node can attempt to use any other route to Destination, or can invoke Route Discovery again to find a new route.
Route Maintenance is used only when S is actually sending packets to D.
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 Route Request (RREQ) packet
Each RREQ, has sender‟s address, destination‟s address, and a unique Request ID determined by the sender
Each intermediate node appends own id before forwarding RREQ packet
Action taken by the intermediate node
The node discards this message, if
The message has the same ID as received earlier or finds its own address in the route record
If not, the node appends its own address to the route record in the RREQ Packet and propagates the message to the next hop neighbors
Objective : S want to send data to D
B
A
E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
S
Problem : Node s does not know route to D
Route discovery phase-1
Node S ask about route to D by sending RREQ packet
RREQ packet consist
A unique node packet ID
A list of node (initially empty )
Source
Destination
Route discovery phase-1
B
A
E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
S
2 S D
S broadcast this packet
Broadcast Transmission
B
A
E
F
H
JC
G
I
K
Represents transmission of RREQ
Z
Y
M
N
L
[S]
Node B. C and E receive these packets
S
D
2 S D2 S D
2 S D
2 S D
But Broadcast Transmission
B
A
E
F
H
JC
G
I
K
Represents transmission of RREQ
Z
Y
M
N
L
[S]
Node B. C and E check for D and insert its ID and broadcast
S
D
2 S D2 S D
2 S D
2 S D
RREQ By B,C, E
B
A
E
F
H
JC
G
I
K
• Node H receives packet RREQ from two neighbors:
potential for collision.s already have sent RREQ
Z
Y
M
N
L
S
D
2 E S D
2 C S D
2 H S D
2 B S D
2 E S D
2 E S D
2 C S D
RREQ By H,G,F
B
A
E
F
H
JC
G
I
K
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
Z
Y
M
N
L
[S,C,G]
[S,E,F]
S
D
Route Discovery in DSR
B
A
E
F
H
JC
G
I
K
Z
Y
M
• Nodes J and K both broadcast RREQ to node D
• Since nodes J and K are hidden from each other, their
transmissions may collide
N
L
[S,C,G,K]
S
D
2 .FE S D
2 .FE J S D
Route Discovery in DSR
B
A
E
F
H
JC
G
I
K
Z
Y
• Node D does not forward RREQ, because node D
is the intended target of the route discovery
M
N
L
[S,E,F,J,M]S
D
Route Reply (RREP)
Route Reply can be sent by reversing the route in RREQ only if
links are guaranteed to be bidirectional
IEEE 802.11 MAC is used to send data, then links have to be bi-
directional ( Ack is used)
In case of unidirectional (asymmetric) links , then RREP may
need a route discovery from node D to S
Route discovery not needed -> If 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.
Action taken by destination node
Upon receiving a RREQ, the node takes the following actions:
Returns a Route Reply (RREP) message to the sender
Copies the accumulated route record from RREQ into RREP
Sender upon receiving RREP, caches the route in its route cache for sending data
Route Reply (RREP) from D
B
A
E
F
H
JC
G
I
K
M
N
L
RREP [S,E,F,J,D]
Represents RREP control message
S
D
Data Transmission
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
Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded
Node S Transmits data to D
B
A
E
F
H
JC
G
I
K
M
N
L
DATA [S,E,F,J,D]
S
D
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,J ] to node J and route [S,E,F] to node F
When node K receives Route Request [S,C,G] , 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
A node may also learn a route when it overhears Data
When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D
Problem: Stale caches may increase overheads
Route Error (RERR)
B
A
E
F
H
JC
G
I
K
Z
Y
M
N
L
DATA [S,E,F,J,D]
S
DRERR [J-D]
Consider link between J and D goes down
Route Error (RERR)
J sends a route error to S along route J-F-E-S
Nodes receiving RERR update their route cache to remove link J-D
Route Maintenance
When a node came to know that it cannot forward a data packet because the next hop link is broken, it generates RERR
Sends RERR upstream
Searches its own cache to find an alternate route from itself to destination to forward this packet
If route is found, the node modifies the route as per the route cache and forwards to the next hop node
Route Maintenance - Spreading ofRoute Error Message
Node A learns from RERR generated by C that link between C-D is broken
A removes the link from its own route cache
A - initiates a new route discovery (assuming it does not
have another route to E) and piggybacks a copy of RERR message on RREQ
This ensures that every node becomes aware of this link being broken and they update their route cache
This also ensures nodes do not get replies with old routing information
Route Maintenance-Example
In this example C is not able to forward the packet to D and E
C Generates RERR
Examines its route cache for an alternate path to E
If found, modifies the source route in the packet
Forwards the packet
Otherwise packet is dropped
ADCB E
Route Reply Storms
B
E
F
H
C
G
K
S
Let C sends the RREQ to nodes B,S,E,F,G, K, H
M
Route Reply Storms
Nodes B,S,E,F,G, K, H can respond at the same time using their route caches -> because they all
received the RREQ at the same time
Simultaneous replies from ALL NODES can cause collision at C
This is called route reply storm
Simultaneous replies from All nodes can also cause local congestion at C
Also each node may reply with a different route length
Solution to Reply Storm
Each node should randomly delay sending the route reply
DSR: Advantages
It does not use any periodic packets or Hello message to the network like periodic routing advertisement link status sensing, or neighbor detection packets
A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches
DSR: Disadvantages
Packet header size grows with route length due to source routing or in large networks
Flood of route requests may potentially reach all nodes in the network
Potential collisions between route requests propagated by neighboring nodes
Increased contention if too many route replies come back due to nodes replying using their local cache
Stale caches will lead to increased overhead
AODVRouting
AODV
AODV is a Reactive Protocol .
Routes need not be included in packet headers like DSR.
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)
Sequence numbers are used to avoid old/broken routes
Sequence numbers prevent formation of routing loops
Unused routes expire even if topology does not change
AODV
AODV has following functions.
Route Discovery
Route Maintenance
AODV: Route Discovery
A
EC
H
F
ID
B
J
G
K
Route Discovery include Route Request(RREQ) and Route Reply(RREP)
Route Request(RREQ) and Route Reply(RREP)
RREQ includes the last known sequence number for the destination
An intermediate node may also send a RREP provided that it knows a more recent path than the one previously known to sender
Intermediate nodes that forward the RREP, also record the next hop to destination
A routing table entry maintaining a reverse path is eliminated after a time out interval
A routing table entry maintaining a forward path is rmoved if not usedfor a active_route_timeout interval
Node A discover route to E
A
D
C
EA 1 1 E 0
A 1 1 E 1
A 1 1 E 2
A 1 1 E 2
Des Nexr Hop Seq
A A 1 1
Des Nexr Hop Seq
A c 2 1
Des Nexr Hop Seq
A D 3 1
RREQ
Route RREP by E
A
D
C
E
E A 120 3
E A 120 2
E A 120 1
E A 120 0
RREQ
Node A transmits to E
A
D
C
E
RREQ
DATA
DATA
DATA
Handling More than one RREP
An intermediate node may receive more than one RREP for the same RREQ.
In that case that node forwards the first RREP it receives and forwards a second RREP later only if :
The later RREP contains a greater sequence number for the destination, or
The hop-count to the destination is smaller in the later RREP
Otherwise, it does not forward the later RREPs. This reduces the number of RREPs propagating towards the source.
Route Error
When any node is unable to forward packet from node Sorce to Destination on link it generates a RERR message
That Node increments the destination sequence number for D cached at itself
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
Link Failure
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
Neighboring nodes periodically exchange hello message
When the next hop link in a routing table entry breaks, all activeneighbors are informed
Link failures are propagated by means of Route Error (RERR)messages, which also update destination sequence numbers
Performance of AODV
Good for medium and larger network
AODV does not retransmit data packets that are lost and hence does not guarantee packet delivery.
However, the packet delivery percentage is close to 100 with relatively small number of nodes.
The packet delivery percentage drops with increased moility.
Control Overheads
The overhead packets in AODV are due to RREQ, RREP and RERR messages.
AODV needs much less number of overhead packets compared to DSDV.
The number of overhead packets increases with increased mobility, since this gives rise to frequent link breaks and route discovery.
Latency in Route Discovery
The route discovery latency in AODV is low compared to DSR and DSDV.
The latency is almost constant even with increased mobility if the concentration of the nodes remain similar.
The average path length for discovered routes is also quite low.
A
EC
H
F
ID
B
J
G
K
A can now use the forward route to send data
DATA
DATA DATA
AODV: Route Discovery
A
EC
H
F
ID
B
J
G
K
Route Discovery include Route Request(RREQ) and Route Reply(RREP)
‘A’ Broadcast a route request (RREQ) packet with Initial TTL =1
A
EC
H
F
ID
B
J
G
K
Broadcast RREQ
A
EC
H
F
ID
B
J
G
K
Nodes receiving the RREQ sets up Reverse Routes to the source
Broadcast RREQ
Reverse Route
A
EC
H
F
ID
B
J
G
K
Note: Nodes B, C and F receives RREQMultiple times but forward it only once
‘A’ times out and re-broadcast a Route Request (RREQ) packet with TTL = 2
A
EC
H
F
ID
B
J
G
K
„A‟ times out and re-broadcast a Route Request (RREQ) packet with TTL = 4
Broadcast RREQ
Reverse Route
A
EC
H
F
ID
B
J
G
K
Route Request Eventually Reaches the Destination J
Broadcast RREQ
Reverse Route
A
EC
H
F
ID
B
J
G
K
Destination send route Reply (RREP) back tosource using the reverse route or RREP
RREP
A
EC
H
F
ID
B
J
G
K
Node Receiving the RREP sets up a Forward Path to the Destination
Route Reply
Forward Path
A
EC
H
F
ID
B
J
G
K
Node Receiving the RREP sets up a Forward Path to the Destination
Route Reply
Forward Path
A
EC
H
F
ID
B
J
G
K
Node Receiving the RREP sets up a Forward Path to the Destination
‘A’ now has a route to ‘J’
A
EC
H
F
ID
B
J
G
K
A can now use the forward route to send data
DATA
DATA DATA
AODV: Route Error(RERR)
A
EC
H
F
ID
B
J
G
K
A – Source
J - Destination
Route Error
When node X is unable to forward packet from node S to 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
A
EC
H
F
ID
B
J
G
K
ROUTE ERROE (RERR)
DATA
DATA DATA
Data is flowing between A(Source) & J(Destination)
Route Break between E & J
A
EC
H
F
ID
B
J
G
K
LinkBreak
Link between E and J breaks due to
•RF reasons, or
• node movement
AODV: Route Error
A
EC
H
F
ID
B
J
G
K
LinkBreak
Route Error message is sent to the source A
AODV: Route Error
A
EC
H
F
ID
B
J
G
K
LinkBreak
Route to J is removed and Route Discovery is reinitiated by source node A
Updating Route Tables
Suppose neighbours 4 and 5 route through 2 to reach D. Node 2 broadcasts RERR to all such neighbours.
Each neighbour marks its route table entry to D as invalid by setting the distance to infinity.
1 2
3
S D
RERR RERR3´
45
Link Failure
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
Neighboring nodes periodically exchange hello message
When the next hop link in a routing table entry breaks, all activeneighbors are informed
Link failures are propagated by means of Route Error (RERR)messages, which also update destination sequence numbers
Performance of AODV
AODV does not retransmit data packets that are lost and hence does not guarantee packet delivery.
However, the packet delivery percentage is close to 100 with relatively small number of nodes.
The packet delivery percentage drops with increased moility.
Control Overheads
The overhead packets in AODV are due to RREQ, RREP and RERR messages.
AODV needs much less number of overhead packets compared to DSDV.
The number of overhead packets increases with increased mobility, since this gives rise to frequent link breaks and route discovery.
Latency in Route Discovery
The route discovery latency in AODV is low compared to DSR and DSDV.
The latency is almost constant even with increased mobility if the concentration of the nodes remain similar.
The average path length for discovered routes is also quite low.