Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
31 views59 pages

Outline: Route Discovery Route Cache Route Maintenance

The document describes how route discovery works in Dynamic Source Routing (DSR). When a node S wants to send a packet to a destination node D but does not know the route, it initiates route discovery by broadcasting a Route Request (RREQ) packet. Each node that forwards the RREQ adds its identifier to the packet. If a node receives a RREQ and is the destination D, it returns a Route Reply (RREP) to the source with the accumulated route record. Otherwise, it forwards the RREQ after adding its identifier. This process allows the source to learn the route to D contained in the RREP.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views59 pages

Outline: Route Discovery Route Cache Route Maintenance

The document describes how route discovery works in Dynamic Source Routing (DSR). When a node S wants to send a packet to a destination node D but does not know the route, it initiates route discovery by broadcasting a Route Request (RREQ) packet. Each node that forwards the RREQ adds its identifier to the packet. If a node receives a RREQ and is the destination D, it returns a Route Reply (RREP) to the source with the accumulated route record. Otherwise, it forwards the RREQ after adding its identifier. This process allows the source to learn the route to D contained in the RREP.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 59

Outline

❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-1
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)
❒ Each RREQ, has sender’s address,
destination’s address, and a unique Request
ID determined by the sender
❒ Each node appends own identifier when
forwarding RREQ

5-2
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-3
Route Discovery in DSR –
Example 1

5-4
DSR – Route Discovery

B
RREQ:S
S A
C D

1. Node S needs a route to D


2. Broadcasts RREQ packet

5-5
DSR – Route Discovery

B
RREQ:S
S A
C D

1. Node S needs a route to D


2. Broadcasts RREQ packet
3. Node A receives packet, has no route to D
❒ Rebroadcasts packet after adding its address to source
route

5-6
Route Discovery – Node Actions
❒ Upon receiving a RREQ, the node takes
the following actions:
1. The node is the Target (Destination)
❍ 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 subsequent routing

5-7
Route Discovery – Node Actions
2. The node is the intermediate node
❍ The node discards this message, if
1.The message has the same ID i.e. has seen it before
OR
2. Finds its own address in the route record

❍ If Not, The node appends its own address to


the route record in the ROUTE REQUEST
message
1. Propagates the message to the next hop neighbors

5-8
DSR – Route Discovery

B
RREQ:S, A
S A
C D

1. Node S needs a route to D


2. Broadcasts RREQ packet
3. Node A receives packet, has no route to D
❒ Rebroadcasts packet after adding its address to source
route

5-9
DSR – Route Discovery

B
RREQ: S, A

S A RREQ: S, A
D
C

4. Node C receives RREQ, has no route to D


❍ Rebroadcasts packet after adding its address to source
route

5-10
DSR – Route Discovery

RREQ: S, A, C
S A
C D

4. Node C receives RREQ, has no route to D


❍ Rebroadcasts packet after adding its address to source
route

5-11
DSR – Route Discovery

RREQ: S, A, C
S A
C D

4. Node C receives RREQ, has no route to D


❍ Rebroadcasts packet after adding its address to source
route
5. Node D receives RREQ, unicasts RREP to C
❍ Puts D in RREP source route

5-12
Route Reply in DSR
❒ Route Reply can be sent by reversing the route in Route
Request (RREQ) only if links are guaranteed to be bi-
directional
❍ One way to ensure this is to check, if the received RREQ was
on a link that is known to be bi-directional, e.g.

❒ If IEEE 802.11 MAC is used to send data, then links have to


be bi-directional (since Ack is used)

❒ If unidirectional (asymmetric) links are allowed, then RREP


may need a route discovery for S from node D
❍ 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.

5-13
DSR – Route Reply

S A
C D
RREP: D
4. Node C receives RREQ, has no route to D
❍ Rebroadcasts packet after adding its address to source
route
5. Node D receives RREQ, unicasts RREP to C
❍ Puts D in RREP source route
5-14
DSR – Route Reply

RREP: D, C
S A RREP: D
C D

6. Node C receives RREP


❍ Adds its address to source route
❍ Unicasts to A

5-15
DSR – Route Reply

B
RREP: D, C, A RREP: D, C
RREP: D
S A
C D

7. Node A receives RREP


❍ Adds its address to source route
❍ Unicasts to S

5-16
DSR – Route Reply

B
RREP: D, C, A RREP: D, C
RREP: D
S A
C D

7. Node S receives RREP


❍ Uses route for data packet transmissions

5-17
Route Discovery in DSR –
Example 2

5-18
Route Discovery in DSR
Y

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

Represents a node that has received RREQ for D from S

5-19
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


5-20
Route Discovery in DSR
Y

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

 Node H receives packet RREQ from two neighbors:


potential for collision
5-21
Route Discovery in DSR
Y

Z
S E
F [S,E,F]
B
C M L
J
A G
H D
[S,C,G] 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

5-22
Route Discovery in DSR
Y

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

Z
S E
F [S,E,F,J,M]
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 route discovery
5-24
Route Discovery – Send Buffer
❒ During Route Discovery, the sending node saves a
copy of the message in the send buffer

❒ Send buffer has a copy of every packet that


cannot be transmitted by this node due to lack of
a route

❒ Each packet is time stamped and discarded after a


specified time out period, if it cannot be
forwarded

❒ For packets waiting in the send buffer, the node


should occasionally initiate a new route discovery

5-25
Route Discovery – Send Buffer
❒ New Route Discovery rate for the same destination
node should be limited if the node is currently
unreachable

❍ Results in wastage of wireless bandwidth due to a large


number of RREQs destined for the same destination -> High
overhead

❍ To reduce the overhead, the node goes into exponential


back-off for the new route discovery of the same target

❍ Packets are buffered that are received during the back-off

5-26
Route Reply in DSR
Y

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

Represents RREP control message


5-27
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
5-28
Data Delivery in DSR
Y

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

 Packet header size grows with route length


5-29
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages

5-30
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 D, node K learns route [K,G,C,S] to node S

❒ When node F forwards Route Reply RREP [D,J,F, E,S], 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
5-31
Use of Route Caching
❒ When node S learns that a route to node D is
broken,
❍ Can use 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
5-32
Use of Route Caching - Example

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

Represents cached route at a node


(DSR maintains the cached routes in a tree format)
5-33
Use of Route Caching: Benefits –
(1) Speed up of Route Discovery
[S,E,F,J,D]
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C [G,C,S] M L
J
A [C,S] G
H D
[K,G,C,S] K
I RREP N
RREQ
Z
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 5-37
Use of Route Caching: Benefits -
(2) Reduction in Propagation of Route
Requests
[S,E,F,J,D] Y
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C [G,C,S] M L
J
A [C,S] G
H D
[K,G,C,S] K
I RREP N
RREQ
Z

 Route Reply (RREP) from node K limits flooding of RREQ.


5-35
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-36
Route Error (RERR) - Example
Y

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

 Consider link between J and D fails


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
5-37
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-38
Route Reply Storms
B G
D C
C B G
G
A B

G
E F B G
A B G

❒ Using route cache nodes can reply to RREQ, if


they have the route
❒ If lots of node reply at the same time, it can
cause route reply storm
❒ In the Figure nodes B, C, D, E, F all have A’s route
request to destination G
5-39
Route Reply Storms
B G
D C
C B G
G
A B

G
E F B G
A B G

❒ When A sends the RREQ, B, C, D, E, F can respond at the


same time using their route caches -> because they all
received the RREQ at the same time

❒ Simultaneous replies from B, C, D, E, F can cause collision at


A (route reply storm)
5-40
Route Reply Storms
B G
D C
C B G
G
A B

G
E F B G
A B G
❒ Simultaneous replies from B, C, D, E, F can also cause local
congestion at A

❒ Also each node may reply with a different route length, e.g. 1 hop
(G) , 2 hops (B-G) , and 3 (C-B-G)

❒ Solution to Reply Storm – each node should randomly delay sending


the route reply

5-41
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-42
Route Request - Hop Limits
❒ Each RREQ message contains a field called hop-
limit

❒ Hop limit controls the propagation of RREQ to the


number of hops i.e. how many intermediate nodes
are allowed to forward the RREQ

❒ Each receiving node decrements the hop-limit by 1


before forwarding.

❒ RREQ is not forwarded & is discarded by node


when this limit becomes zero even before
reaching the destination
5-43
Route Request - Hop Limits
❒ A RREQ with hop-limit zero will determine that
the target is the one hop neighbor

❒ It also likely that this one hop neighbor has the


source route in its cache

❒ If no RREP is received within a timeout period, a


new RREQ is sent by the sender with no hop-limit

5-44
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-45
Route Maintenance - Packet
Salvaging
❒ When a node discovers 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

5-46
Route Maintenance - Packet Salvaging -
Example
A B C X D E

❒ 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


5-47
Route Maintenance - Packet
Salvaging - Example

A B C X D E

❒ When a packet is salvaged – its marked as


“Salvaged”
❒ A Salvaged packet is salvaged only one time to
avoid routing loops when salvaged at multiple
locations
❒ A recommended strategy for salvaging is
❍ Breakdown the address into two parts – prefix address
(hops that are used until now) and suffix address
(address from the route cache)
❍ This strategy avoids backtracking from the current node
to an already traversed node 5-54
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-49
Route Maintenance - Route Shortening

“B,C,D” “B,C,D” “B,C,D”


A B C D

❒ Routes may be shortened if one of intermediate nodes


become unnecessary
❒ The vertical arrow shows the one –hop destination e.g. B, C,
D, with arrow on B means B is the destination
❒ If C overhears that A is forwarding a packet to B that is
destined to C, then
❒ C sends a “Gratuitous” message (Its RREP message) to
original sender A.
❒ The RREP informs A to route packets as A-C-D instead of A-
B-C-D
5-50
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❒ Summary

5-51
Route Maintenance - Spreading of
Route Error Message
❒ When a source node receives an RERR in
response to a data packet that it
forwarded
❍ It piggybacks this RERR on a new RREQ that it
forwards to its neighbors
❍ Neighbors get aware of the RERR and update
their route caches
❍ This helps in reductions in getting the stale
routes in RREP sent by the neighbors

5-52
Route Maintenance - Spreading of
Route Error Message - Example

A B C X D E

❒ 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

5-53
Outline
❒ Introduction
❒ Route Discovery
❒ Route Cache
❒ Route Maintenance
❍ Preventing Route Reply Storms
❍ Route Request hop limits
❍ Packet Salvaging
❍ Automatic Route Shortening
❍ Increased spreading of Route Error messages
❍ Caching negative information

❒ Summary

5-54
Route Maintenance - Caching
Negative Information
A B C X D E

❒ In certain situations, caching of negative


information can help DSR. For example,
❍ If A knows that link C-D is broken, it can keep this
information in its routing cache for a specified time
(using a timer) , e.g. by making the distance to routes
through C as infinity
❍ A will not use this path in response to any RREP it
receives for subsequent RREQs
❍ After the expiration of timer, the link can be added again
in the route cache with correct hop counts, if link is
repaired
5-55
Route Maintenance - Caching
Negative Information
A B C X D E

❒ Consider a case where link quality is varying with


respect to time i.e. its in fade for some time. For
example,
❍ Assume that link C-D is in fade, i.e. its healthy for an
interval and broken for another interval.
❍ By keeping the information that the link is broken, the
node can prevent the addition of this link in its route
cache when it becomes healthy again
❍ It can keep this information in its routing cache for a
specified times (using a timer) till the link become normal
❍ After the expiration of timer, the link can be added
again in the route cache with correct hop counts
❍ This mechanism prevents oscillations in the route cache

5-56
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 5-64
Dynamic Source Routing: Disadvantages
❒ Packet header size grows with route length due to
source routing
❒ Flood of route requests may potentially reach all
nodes in the network
❒ 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

5-58
Dynamic Source Routing:
Disadvantages
❒ 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.

5-59

You might also like