Dynamic Source Routing (DSR) comes under the reactive routing protocol category, as it is capable of discovering the route from source to destination only when required and needed.
Dynamic Source Routing protocol uses a process called “Route Discovery Mechanism” that is capable of discovering the route for data packets from source node to destination nodes using intermediate nodes.
As like proactive routing protocols such as Global State Routing an Dynamic Sequence Distance Vector Routing no separate table is maintained.
The major change in DSR as compare to GSR and DSDV is, in DSDV after asking a requirement of route from source to destination, path via intermediate nodes is checked for its length. Then a “Re-Request” packet is sent back from destination to source via the smallest route possible in the whole network. The “Re-Request” packet does contains its unique ID also.
This process of separately sending a “Re-Request” packet from destination to source makes it easier for the sender to send the data packets on fixed path rather than sending it on multiple paths to check for total distance.
Dynamic Source Routing Protocol : Working
Dynamic Source Routing does broadcast the route to its neighbors but does not floods the information. It only trace the route by calculating the total distance or by calculating the number of nodes present in between source and destination nodes.
Consider a network containing 10 nodes where node N1 being the source and node N10 being the destination nodes. Below mentioned steps will let you know how DSR protocol works and how Re-Request packet is transmitted through the network.
Dynamic Source Routing : Network
Step 1: Start from source node N1 and broadcast the information about it to its neighbors i.e. in this case the route information is “<1>”, because of its one-to-one link between node N1 and N2.
Step 2: Broadcast previous route information to neighbors of node N2 i.e. to node N3, N4, N5. The new route will remain same “<1,2>” in all the cases.
Step 3: Take node N3 and broadcast previous route(<1,2>) to next neighboring nodes i.e. node N6. New route till node N6 will be “<1,2,3>” and same process can be done for other nodes i.e. Node N4 and N5.
Step 4 : Further, broadcast the new routes i.e. <1,2,3,6> , <1,2,4> , <1,2,5> to nodes N8, N7 & N9 respectively.
Step 5: Repeat the above steps until destination node is reached via all the routes.
The updated routes will be as:
Dynamic Source Routing : Updated Network
After this, “Re-Request” packet will be sent in backward direction i.e. from destination node “N10” to source node “N1”. It will trace the shortest route by counting the number of nodes from route discovered in previous steps.
The three possible routes are :
Route 1: <1,2,3,6,8>
Route 2: <1,2,4,7,8>
Route 3: <1,2,5,9>
Route 3 i.e. "<1,2,5,9>” will be chosen as it contains the least number of nodes and hence it will definitely be the shortest path and then data can be transferred accordingly.
The Re-Request Packet route can be located as:
Dynamic Source Routing
Advantages : Dynamic Source Routing Protocol
A perfect route is discovered always.
Low bandwidth Consumption.
Disadvantages : Dynamic Source Routing Protocol
If the route gets broke, data transmission cannot happen.
Time taking algorithm-Slow.
If network is large , then it is impossible for the data packets header to hold whole information of the routes.