Unit 4 Routing

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

Routing Algorithms-

 Routing algorithms are meant for determining the routing of packets


in a node.
 Routing algorithms are classified as-

1. Static Routing Algorithms


2. Dynamic Routing Algorithms

1. Static routing does not involve any change in routing table unless the network
administrator changes or modify them manually. Static routing algorithms
function well where the network traffic is predictable. This is simple to design
and easy to implement. There is no requirement of complex routing protocols.

The routing decisions are not made by current topology or traffic because the static
routing systems can not react to network changes hence it doesn’t require extra
resources to learn the changes. That is the reason, static routing is considered as
inappropriate for large and constantly changing networks.

Static routing is also known as non-adaptive routing which enables a pre-computed


route to be fed into the routers offline. The administrative distance is a metric to
measure the trustworthiness of the information received from a router. The default
administrative distance for static route is 1, consequently the static routes will only be
covered in the routing table when there is a direct connection to that network. Static
routes can be considered as an efficient method for a small and simple network that
does not change frequently.

2. Dynamic routing is a superior routing technique which alters the routing


information according to the altering network circumstances by examining the
arriving routing update messages. When the network change occurs, it sends out
a message to the router to specify that change, then the routes are recalculated
and sent as a new routing update message. These messages pervade the network,
enabling the router to change their routing tables correspondingly.

The technique uses routing protocols to disseminate knowledge such as RIP, OSPF,
BGP, etc. Unlike static routing, it does not require manual updation instead its
automatic in manner and updates the routing table information periodically relying
upon network conditions. For doing so, it requires extra resources for storing the
information.

Dynamic routing or otherwise called as adaptive routing. The routing decisions are
altered in these algorithms to mirror the changes in the topology or traffic. There are
various adaptive algorithms which can be classified according to the source of
information (from where router get the information, adjacent routers or from all
routers), change in routes (whether the route is changing when load changes or when
topology changes), optimization metrics used (distance, number of hops, residual
bandwidth).

The routes on which dynamic routing is performed are known as dynamic routes where
the information is responsive to changes in the network so that it is consistently being
updated. Though, there is always a slack between the period that a network changes and
when all the routers are informed about the change. The router tries to match the
network change, and it causes a delay which is also known as convergence time. The
convergence time must be shorter. The larger network requires dynamic routing
because with static routing larger networks could not be manageable and result in loss
of connectivity.

Key Differences Between Static and Dynamic Routing

BASIS FOR
STATIC ROUTING DYNAMIC ROUTING
COMPARISON

Configuration Manual Automatic

Routing table Routing locations are Locations are dynamically filled in


building hand-typed the table.

Routes User defined Routes are updated according to

change in topology.

Routing algorithms Doesn't employ complex Uses complex routing algorithms to

routing algorithms. perform routing operations.

Implemented in Small networks Large networks

Link failure Link failure obstructs the Link failure doesn't affect the

rerouting. rerouting.

Security Provides high security. Less secure due to sending

broadcasts and multicasts.

Routing protocols No routing protocols are Routing protocols such as RIP,

indulged in the process. EIGRP, etc are involved in the

routing process.

Additional resources Not required Needs additional resources to store

the information.

Key Differences Between Static and Dynamic Routing

1. The routers are configured manually, and the table is also created manually in static
routing whereas in dynamic routing the configuration and table creation is automatic and
router driven.
2. In static routing, the routes are user-defined while in dynamic routing the routes are
updated as topology changes.
3. Static routing does not employ complex algorithms. As against, dynamic routing uses the
complex algorithm for calculating shortest path or route.
4. Dynamic routing is suitable for large networks where the number of hosts is high.
Conversely, static routing can be implemented in a small network.
5. When a link fails in static routing, the rerouting is discontinued and requires manual
intervention to route traffic. In contrast, link failure in dynamic routing does not disrupt
rerouting.
6. The message broadcast and multicast in dynamic routing makes it less secure. On the
other hand, static routing does not involve advertisement which makes it more secure.
7. Dynamic routing involves protocols such as RIP, EIGRP, BGP, etc. Inversely, static
routing does not require such protocols.
8. Static routing does not need any additional resources while dynamic routing requires
additional resources such as memory, bandwidth, etc.

Advantages and Disadvantages Static Routing


Advantages

 Easily implemented in a small network.


 No overheads are produced on router CPU.
 Secure because the routes are managed statically.
 It is predictable as the route to the destination is fixed.
 Extra resources (such as CPU and memory) are not required as update mechanisms are
not needed.
 Bandwidth usage is not required between routers.

Disadvantages

 Unsuitable for complex topologies and large networks.


 Large networks increase configuration complexity and time consumption.
 Link failure can hinder traffic rerouting.
 The administrator must be extra careful while configuring the routes.

Advantages and Disadvantages of Dynamic Routing


Advantages

 Suitable for all the topologies.


 Network size doesn’t affect the router operations.
 Topologies are adapted automatically to reroute the traffic.

Disadvantages
 Initially, it could be complicated to implement.
 The broadcasting and multicasting of routing updates make it less secure.
 Routes rely on current topologies.
 Additional resources are required such as CPU, memory and link bandwidth.

The Objectives of Routing Protocols (Goals):

Routing algorithms, while different in nature, all have the same


basic objectives. While some algorithms are better than others, all
routing protocols have their advantages and disadvantages. Routing
algorithms are designed with the following objectives and goals:

 Optimal Routing
 Stability
 Ease of Use
 Flexibility
 Rapid Convergence

Optimal Routing

One of the primary goals of all routing protocols is to select the most
optimal path through the network from the source subnet or host to
the destination subnet or host. The most optimal route depends on
the metrics used by the routing protocols. A route that may be
considered the best by one protocol may not necessarily be the most
optimal route from the perspective of another protocol. For
example, RIP might consider a path that is only two hops long as the
most optimal path to a destination network, even though the links
were 64Kbps links, while advanced protocols such as OSPF and
EIGRP might determine that the most optimal path to that same
destination is the one traversing four routers, but using 10Gbps
links, for example.

Stability

Network stability, of a lack thereof, is another major objective for


routing algorithms. Routing algorithms should be stable enough to
accommodate unforeseen network events, such hardware failures
and even incorrect implementations. While this is typically a
characteristic of all routing algorithms, the manner and time in
which they respond to such events makes some better than other
and thus more preferred in modern day networks.

Ease of Use

Routing algorithms are designed to be as simple as possible. In


addition to also providing the capability to support complex
internetwork deployments, routing protocols should take into
consideration the resources required to run the algorithm. Some
routing algorithms require more hardware or software resources,
e.g. CPU and memory, to run than others; however, they are capable
of providing more functionality than alternative simple algorithms.

Flexibility

In addition to providing routing functionality, routing algorithms


should also be feature-rich, allowing them to support the different
requirements encountered in different networks. It should be noted
that this capability typically comes at the expense of other features,
such as convergence which is described next.

Rapid Convergence

Rapid convergence is another primary objective of all routing


algorithms. As stated earlier in this chapter, convergence occurs
when all routers in the network have the same view and agree on
optimal routes. When convergence takes a long time to occur,
intermittent packet loss and loss of connectivity may be experienced
between remote networks. In addition to these problems, slow
convergence can result in network routing loops and outright
network outages.
STATIC ROUTING EXAMPLE

Flooding –
 Requires no network information like topology, load condition
,cost of diff. paths
 Every incoming packet to a node is sent out on every outgoing
like except the one it arrived on.
 For Example in above figure
 A incoming packet to (1) is sent out to (2),(3)
 from (2) is sent to (6),(4) and from (3) it is sent to (4),(5)
 from (4) it is sent to (6),(5),(3) , from (6) it is sent to
(2),(4),(5),from (5) it is sent to (4),(3)
Characteristics –
 All possible routes between Source and Destination is tried. A
packet will always get through if path exists
 As all routes are tried, there will be atleast one route which is
the shortest
 All nodes directly or indirectly connected are visited
Limitations –
 Flooding generates vast number of duplicate pakects
 Suitable damping mechanism must be used
Hop-Count –
 A hop counter may be contained in the packet header which is
decremented at each hop.
with the packet being discarded when the counter becomes
zero
 The sender initializes the hop counter. If no estimate is known,
it is set to the full diameter of the subnet.
 Keep track of the packets which are responsible for flooding
using a sequence number. Avoid sending them out a second
time.
Selective Flooding: Routers do not send every incoming packet out
on every line, only on those lines that go in approximately in the
direction of the destination.
Advantages of Flooding :
 Highly Robust, emergency or immediate messages can be sent
(eg military applications)
 Set up route in virtual circuit
 Flooding always chooses the shortest path
 Broadcast messages to all the nodes

Dynamic routing
Shortest path routing

Shortest path routing refers to the process of finding paths through a


network that have a minimum of distance or other cost metric. Routing of data
packets on the Internet is an example involving millions of routers in a complex,
worldwide, multilevel network. Optimum routing on the Internet has a major
impact on performance and cost.
This article will explain a basic routing algorithm [1] commonly used in routing
protocols for small to mid-sized networks. A firm understanding of this
algorithm will help in studying these protocols.
Figure 1. Computing the shortest path through a network
Figure 1. Computing the shortest path through a network

Use Dijkstra's algorithm to compute the shortest paths from a given source node to all
other nodes in a network. Links are bi-directional, with the same distance in either
direction. Distance can be any measure of cost.

# Example from Figure 1 (8 nodes, 11 links)


nodeset = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'}

linklist = [('A', 'B', 2), ('B', 'C', 7), ('C', 'D', 3),
# (node,node,distance)
('B', 'E', 2), ('E', 'F', 2), ('F', 'C', 3),
('A', 'G', 6), ('G', 'E', 1), ('G', 'H', 4),
('F', 'H', 2), ('H', 'D', 2), ]

INF = int(1e9) # larger than any possible path

The strategy is to start at the source node, send probes to each of its adjacent nodes, pick
the node with the shortest path from the source, and make that the new working node.
Send probes from the new working node, pick the next shortest path, and make that the
next working node. Continue selecting the shortest possible path until every node in the
network has been selected.

Figure 1 shows the first few steps in our example network. Labels on each node show its
distance from the source, and the previous node on the path from which that distance
was computed. As new nodes are first probed, they are added to a working set, shown
with a darkened open circle. After each probe cycle, we look at the entire set of working
nodes. The node with the shortest path is moved to a final set, shown with a solid circle.
Figure 1b shows the situation after the first probes from node 'A', with one node in the
final set, and two nodes in the working set.

The labels on nodes in the working set are tentative. They will be replaced if another
probe arrives with a shorter total path. Figure 1d shows node G getting an update of its
label after a probe from node E. The updates at a node stop when no other working set
node has a shorter path. This is the proof that the
method works. The node with the shortest path in a working set can never get any
shorter, because subsequent probes can only come from other working nodes, and those
paths are already at least as long. There are no negative links.

Figure 1i shows the final tree for node A. The light dotted lines are links not used in any
shortest path from node A. They might be used in another tree, however. Each node in
a network can compute its own shortest path tree, given the linklist for the entire
network.

'''Create a Link State Database to quickly look up the adjacent nodes for any given
node.
'''Given a source node and a Link State Database for the network, return a table with
two values for each node - the distance on the shortest path from the source to that
node, and the name of the last node on that path before the final node. Saving the
previous node makes it easy to re-construct an entire path,
from any leaf to the root of the tree.

Given a source node and a Link State Database for the network, return a table with
three values for each node - the distance on the shortest path from the source to that
destination node, and the names of the first and last nodes on the path,
not including the endpoints. The first node is needed in a routing table. The last node is
needed to construct a tree with src at the root.

Limitations
The main limitations of simple shortest-path routing have to do with real-
world problems that occur in large networks. We can't just keep adding nodes
to a huge routing table at each and every node. As shown in Figure 2, the time
to build (or re-build) a table increases as the square of the number of nodes.
Also, as nodes are added, the number of failing links, changes in topology, and
other events that trigger re-builds throughout the network - these events will
occur more frequently.
Aside from these technical limitations, there are administrative headaches
that come with huge networks, and these often set a size limit far short of what
is technically possible. A campus-wide network might have 100 nodes with
only two connections to the outside world, and no desire to keep track of
nodes for businesses in the same city. Those businesses might be better served
by a city-wide network that includes one of the campus "border" routers. The
city-wide network might include a few hundred nodes that all have routing
table entries for each other, but only one entry for all the nodes on campus.
Similarly, the city network might look like just one node in a larger regional
network. Hierarchical routing is one way to partition a network into smaller,
more manageable pieces.
A routing algorithm is not enough to design a network. We need a complete
routing protocol to deal with real-world issues. The Routing protocol articles
will discuss how we handle issues such as:
partitioning - strictly hierarchical is not the only possibility
rapid recovery - minimize the time that routing tables are "out of sync" with
actual topology
preferential routing - voice packets must not have a noticeable delay
load balancing - don't overload the shortest path
security - keep the bad guys from diverting traffic
policy overrides - block our competitors, even if they are coming through one
of our customers

In this article, we will discuss about distance vector routing.

Distance Vector Routing Algorithm-

Distance Vector Routing is a dynamic routing algorithm.

It works in the following steps-

Step-01:

Each router prepares its routing table. By their local knowledge. each
router knows about-
 All the routers present in the network
 Distance to its neighboring routers

Step-02:

 Each router exchanges its distance vector with its neighboring routers.
 Each router prepares a new routing table using the distance vectors it
has obtained from its neighbors.
 This step is repeated for (n-2) times if there are n routers in the
network.
 After this, routing tables converge / become stable.

Distance Vector Routing Example-

Consider-
 There is a network consisting of 4 routers.
 The weights are mentioned on the edges.
 Weights could be distances or costs or delays.

Step-01:

Each router prepares its routing table using its local knowledge.
Routing table prepared by each router is shown below-

At Router A-
Destination Distance Next Hop

A 0 A

B 2 B

C ∞ –

D 1 D

At Router B-

Destination Distance Next Hop

A 2 A

B 0 B

C 3 C

D 7 D
At Router C-

Destination Distance Next Hop

A ∞ –

B 3 B

C 0 C

D 11 D

At Router D-

Destination Distance Next Hop

A 1 A

B 7 B

C 11 C

D 0 D
Step-02:

 Each router exchanges its distance vector obtained in Step-01 with its
neighbors.
 After exchanging the distance vectors, each router prepares a new
routing table.

This is shown below-

At Router A-

 Router A receives distance vectors from its neighbors B and D.


 Router A prepares a new routing table as-

 Cost of reaching destination B from router A = min { 2+0 , 1+7 } = 2


via B.
 Cost of reaching destination C from router A = min { 2+3 , 1+11 } = 5
via B.
 Cost of reaching destination D from router A = min { 2+7 , 1+0 } = 1
via D.

Explanation For Destination B

 Router A can reach the destination router B via its neighbor B or


neighbor D.
 It chooses the path which gives the minimum cost.
 Cost of reaching router B from router A via neighbor B = Cost
(A→B) + Cost (B→B)= 2 + 0 = 2
 Cost of reaching router B from router A via neighbor D = Cost
(A→D) + Cost (D→B) = 1 + 7 = 8
 Since the cost is minimum via neighbor B, so router A chooses the
path via B.
 It creates an entry (2, B) for destination B in its new routing table.
 Similarly, we calculate the shortest path distance to each destination
router at every router.

Thus, the new routing table at router A is-

Destination Distance Next Hop

A 0 A

B 2 B
C 5 B

D 1 D

At Router B-

 Router B receives distance vectors from its neighbors A, C and D.


 Router B prepares a new routing table as-

 Cost of reaching destination A from router B = min { 2+0 , 3+∞ , 7+1 }


= 2 via A.
 Cost of reaching destination C from router B = min { 2+∞ , 3+0 , 7+11 }
= 3 via C.
 Cost of reaching destination D from router B = min { 2+1 , 3+11 , 7+0 }
= 3 via A.

Thus, the new routing table at router B is-


Destination Distance Next Hop

A 2 A

B 0 B

C 3 C

D 3 A

At Router C-

 Router C receives distance vectors from its neighbors B and D.


 Router C prepares a new routing table as-
 Cost of reaching destination A from router C = min { 3+2 , 11+1 } = 5
via B.
 Cost of reaching destination B from router C = min { 3+0 , 11+7 } = 3
via B.
 Cost of reaching destination D from router C = min { 3+7 , 11+0 } = 10
via B.

Thus, the new routing table at router C is-

Destination Distance Next Hop

A 5 B

B 3 B

C 0 C

D 10 B

At Router D-

 Router D receives distance vectors from its neighbors A, B and C.


 Router D prepares a new routing table as-
 Cost of reaching destination A from router D = min { 1+0 , 7+2 , 11+∞ }
= 1 via A.
 Cost of reaching destination B from router D = min { 1+2 , 7+0 , 11+3 }
= 3 via A.
 Cost of reaching destination C from router D = min { 1+∞ , 7+3 , 11+0 }
= 10 via B.

Thus, the new routing table at router D is-

Destination Distance Next Hop

A 1 A

B 3 A

C 10 B

D 0 D
Step-03:

 Each router exchanges its distance vector obtained in Step-02 with its
neighboring routers.
 After exchanging the distance vectors, each router prepares a new
routing table.

This is shown below-

At Router A-

 Router A receives distance vectors from its neighbors B and D.


 Router A prepares a new routing table as-

 Cost of reaching destination B from router A = min { 2+0 , 1+3 } = 2


via B.
 Cost of reaching destination C from router A = min { 2+3 , 1+10 } = 5
via B.
 Cost of reaching destination D from router A = min { 2+3 , 1+0 } = 1
via D.

Thus, the new routing table at router A is-

Destination Distance Next Hop

A 0 A

B 2 B

C 5 B

D 1 D

At Router B-

 Router B receives distance vectors from its neighbors A, C and D.


 Router B prepares a new routing table as-
 Cost of reaching destination A from router B = min { 2+0 , 3+5 , 3+1 }
= 2 via A.
 Cost of reaching destination C from router B = min { 2+5 , 3+0 , 3+10
} = 3 via C.
 Cost of reaching destination D from router B = min { 2+1 , 3+10 , 3+0
} = 3 via A.

Thus, the new routing table at router B is-

Destination Distance Next Hop

A 2 A

B 0 B

C 3 C

D 3 A
At Router C-

 Router C receives distance vectors from its neighbors B and D.


 Router C prepares a new routing table as-

 Cost of reaching destination A from router C = min { 3+2 , 10+1 } = 5


via B.
 Cost of reaching destination B from router C = min { 3+0 , 10+3 } = 3
via B.
 Cost of reaching destination D from router C = min { 3+3 , 10+0 } = 6
via B.

Thus, the new routing table at router C is-

Destination Distance Next Hop


A 5 B

B 3 B

C 0 C

D 6 B

At Router D-

 Router D receives distance vectors from its neighbors A, B and C.


 Router D prepares a new routing table as-

 Cost of reaching destination A from router D = min { 1+0 , 3+2 , 10+5


} = 1 via A.
 Cost of reaching destination B from router D = min { 1+2 , 3+0 , 10+3
} = 3 via A.
 Cost of reaching destination C from router D = min { 1+5 , 3+3 , 10+0 }
= 6 via A.

Thus, the new routing table at router D is-

Destination Distance Next Hop

A 1 A

B 3 A

C 6 A

D 0 D

These will be the final routing tables at each router.

Identifying Unused Links-

After routing tables converge (becomes stable),


 Some of the links connecting the routers may never be used.
 In the above example, we can identify the unused links as-

We have-
 The value of next hop in the final routing table of router A suggests
that only edges AB and AD are used.
 The value of next hop in the final routing table of router B suggests
that only edges BA and BC are used.
 The value of next hop in the final routing table of router C suggests
that only edge CB is used.
 The value of next hop in the final routing table of router D suggests
that only edge DA is used.

Thus, edges BD and CD are never used.

Important Notes-

Note-01:

In Distance Vector Routing,


 Only distance vectors are exchanged.
 “Next hop”values are not exchanged.
 This is because it results in exchanging the large amount of data which
consumes more bandwidth.

Note-02:

While preparing a new routing table-


 A router takes into consideration only the distance vectors it has
obtained from its neighboring routers.
 It does not take into consideration its old routing table.

Note-03:
The algorithm is called so because-
 It involves exchanging of distance vectors between the routers.
 Distance vector is nothing but an array of distances.

Note-04:

 The algorithm keeps on repeating periodically and never stops.


 This is to update the shortest path in case any link goes down or
topology changes.

Note-05:

 Routing tables are prepared total (n-1) times if there are n routers in
the given network.
 This is because shortest path between any 2 nodes contains at most n-1
edges if there are n nodes in the graph.

Note-06:

 Distance Vector Routing suffers from count to infinity problem.


 Distance Vector Routing uses UDP at transport layer.

Link State Routing Protocols -


Operation
Link State routing protocols hold 3 distinctive tables: a neighbor
table, a topology table, and an actual routing table. Link state
routing operation follows four simple steps; each link state enabled
router must perform the following:

1. Discover its neighbors and build its neighbor table

2. Measure the cost (delay, bandwidth, etc) to each of its neighbors

3. Construct and send a routing update telling all it has learned to


all routers in the network

4. Apply the Dijkstra algorithm to construct the shortest path to all


possible destinations

Below you'll find more details on the four step process.

Step 1: Neighbor Discovery

Each Link State enabled router periodically sends a HELLO


message on each of its links. Neighbor routers respond to these
HELLO messages identifying themselves. Within the replies,
network addresses of the routers are attached and are used by the
HELLO initiator to build up its neighbor table.

Step 2: Measuring Link Cost

A set of tests is performed on each router to measure the cost to


each of its neighbors. The cost could be a measure of the end-to-end
delay, throughput, or a combination of these metrics. How these
tests are performed is out of the scope of this article. The important
thing to know is that each link state enabled router has to somehow
possess an estimate of the cost for each of its links.

Step3: Building and Distributing Link State Packets

Each router builds up a packet containing its neighbors and the


corresponding link costs to these neighbors. At the beginning of the
packet, each router adds its identity along with a sequence number
and an age parameter, the latter being used to ensure no packet will
wander around for an indefinite period of time. After the
construction process, the packet is flooded in the network.

Based on the same subnet diagram presented above the equivalent


link state packets for each of the routers are presented below.
Random link cost values have been assumed. Also for simplicity,
sequence and age values are omitted.

Step 4: Evaluating Shortest Paths

Using all the details from its link state table, a router is able to
compute, using the Dijkstra algorithm, the shortest path to any
given destination.

For example, the best path for Router A to reach Router D would be
the following:
Routing in a Mobile Network
Routing in a mobile ad-hoc network depends on many factors such as:

o Modeling of the topology,


o Selection of routers,
o Initiation of a route request,
o And specific underlying characteristics that could serve as heuristics in
finding the path effectively.

In a MANET, each node or device is expected to serve as a router, and each router is
indistinguishable from another in the sense that all routers execute the same routing
algorithm to compute paths through the entire network.

Routing Classification
Routing protocol can be classified as:

1. Proactive Protocol
2. Reactive Protocol
3. Hybrid Protocol
Proactive Protocol
Proactive protocols attempt to evaluate continuously the routes within the network.
It means proactive protocol continuously maintain the routing information, so that
when a packet needs to be forwarded, the path is known already and can be
immediately used. The family of distance vector protocols is an example of proactive
scheme.

Reactive Protocols
Reactive protocols do not maintain routes but invoke a route determination
procedure only on demand or we can say reactive protocols build the routes only on
demand. Thus, when a route is required, some sort of global search procedure is
initiated. The family of classical flooding algorithms belongs to the reactive protocol
group. Examples of reactive ad-hoc network routing protocols include ad hoc on
demand distance vector (AODV) and temporally ordered routing algorithm (TORA).

Hybrid Protocols
Hybrid protocols attempt to take advantage of best of reactive and proactive
schemes. The basic idea behind such protocols is to initiate route discovery on
demand but at a limited search cost. One of the popular hybrid protocols is zone
routing protocol (ZRP).

Source initiated on -demand protocols


o Source - initiated on demand routing is reactive in nature, unlike table
driven routing. This type of protocols generates routes only when a source
demands it.
o In other words, when a source node requires a route to a destination, the
source initiates a route discovery process in the network. This process finishes
when a route to the destination has been discovered or all possible routes have
been examined without any success.
o The discovered route is maintained by a route maintenance procedure, until it
is no longer desired or the destination becomes inaccessible.

Example of such protocol is AODV.


Ad hoc on demand distance vector routing (AODV)

o AODV is a routing protocol for MANETs (mobile ad hoc networks) and other
wireless ad hoc networks.
o It is a reactive routing protocol; it means it establishes a route to a destination
only on demand.
o AODV routing is built over the DSDV (Destination sequenced distance vector
routing ) algorithm. It is a significant improvement over DSDV.
o The devices that are not on a particular path do not maintain routing
information, nor do they participate in the routing table exchanges.
o When a source requires sending a message to a destination and does not have
a valid route to it, the source initiates a route discovery process.
o Source sends a route request (RREQ) packet to all its neighbors, the latter
forward the request to all their neighbors, and so on, until either the
destination or an intermediate mobile (node) with a "fresh enough" route to
the destination is reached.

The above figure illustrates the propagation of the broadcast request (RREQs) across
the network. Since in DSDV, destination sequence numbers are used to ensure that
all routes are loop free and contain the most recent route information. Each node
has a unique sequence number and a broadcast ID, which is incremented each time
the node, initiates RREQ.

The broadcast ID, together with the IP address of node, uniquely identifies every
RREQ.
Intermediate mobile reply only if they have a route to the destination with a
sequence number greater than or at least equal to that contained in the RREQ. To
optimize the route performance, intermediate nodes record the address.

From the above figure, since RREP (route reply packet) travels back on the reverse
path, the nodes on this path set up their forward route entries to point to the node
from which RREP had just been received. These forward route records indicate the
active forward route. The RREP continues traveling back along the reverse path till it
reaches the initiator of the route discovery. Thus, AODV can support only the use of
symmetric links.

You might also like