DINAMIC SOURCE ROUTING

DSR is a reactive routing protocol that exploids floading to get routing informations the source calculate the paths when starting to send a packet, to achieve that it exploits flooding

ROUTE DISCOVERY

Before starting a communication the source start a route discovery process to find the route to the destination

flowchart TD
a[the source sends a packet \n with source and destination in flooding mode]
b[nodes that recive the packets \n add their own identifier to the header]
c[the destination recives the packet \n and send a route reply packet to the source]
a --> b
b --> b
b --> c

The source cache the path (without timeouts) as a valid path to the destination, the intermediate nodes does not cache any information, and the header size increase with the route lenght

ROUTE ERROR

When a node cannot forward the request to the next node in a path the node send a ROUTE ERROR packet to the node in the path before him

PATH CACHING

a possible optimization is to cache the paths in the intermediate node, this reduce the number of flooding operations and can improve the performance but it also bring the cache invalidation problem to the table

ADVANTAGESDISADVANTAGES
Paths are maintained only among nodes that need to communicate (reduced overhead)Growth of packet header size
Caching can reduce the overhead associated with routing discoveryRREQ flooding
Each discovery can lead to the determination of multiple paths toNecessary mechanisms to avoid RREQ collisions among neighbors
destination because of intermediaries that reply based on local cachesIncrease of channel conflicts when sending RREP (RREP storm issue; overhearing and local decision based on shortest path)
RREPs that use stale cache (affecting other caches in cascading)

PREVIOUS NEXT