Computer Networks Course

Computer Networks
Routing Algorithms
Topics
• Routing Algorithms
– Shortest Path (Dijkstra Algorithm)
– Distance Vector Routing
• Count to infinity problem
• Solutions for count to infinity problem
– Link State Routing
• Measuring line cost
Routing
• Point-to-point networks are dynamic networks
• A router may stop working or a new router may join
the network
• The connections between routers may change
• The properties of the connections may change
• As a result, the routing tables should be updated
from time to time
• To update routing tables, routing algorithms are
used
Routing Protocol Characteristics
Criteria used to compare routing protocols
includes
 Time to convergence – how quickly all routers
share consistent information
 Scalability – can the network continue to grow?
 Resource usage - memory, CPU, bandwidth
 Implementation & maintenance – intelligence
level required of network admin.
Shortest Path Routing
1. Mark starting node as current node.
2. Check neighboring nodes of the current node and
tentatively label them with (current node, cumulative
distance from start) if cumulative distance is less than
their current distance shown by the label.
3. Search all tentatively labeled nodes (and not just the
nodes labeled from the current node) for the
minimum label, make this minimum node's label
permanent, and make it the new current node.
4. If the current node is the destination/source, stop,
else goto 2.
Example-Shortest Path
Distance Vector Routing (1)
• Distance Vector Technology
– A router using distance vector routing protocols
knows 2 things:
• Distance to final destination
• Vector, or direction, on which the traffic should be
directed
Distance Vector Routing (2)
• Characteristics of Distance Vector routing
protocols:
– Periodic updates – 30 or 90 seconds
– Detects the immediate Neighbors and measure
distance to each one
– Exchange routing tables with the neighbors
– Update routing tables using the information from
the neighbors
Initial Network Discovery
• Directly connected networks are initially
placed in routing table
• These will be sent to their directly connected
neighbors!
• Also true if the router loses power for any
reason!
Distance Vector Routing (3)
Left: A subnet. Right: Inputs from A, I, H, K, and the new
routing table for J.
Updating Routing Tables
• Changes may occur for several reasons,
including:
– Failure of a link
– Introduction of a new link
– Failure of a router
– Change of link parameters
– Periodic update
Failure to Converge
The count-to-infinity problem.
Solutions for Count-to-Infinity (1)
• Setting a maximum for packet hops
– Typically is 16, once it reaches the 16th hop, it will
declare the network UNREACHABLE!
• Distance Vector routing protocols set a
specified metric value to indicate infinity
• Once a router “counts to infinity” it marks the
route as unreachable
Solutions for Count-to-Infinity (2)
• The Split Horizon Rule is used to prevent
routing loops
• Split Horizon rule:
– A router should not advertise a network through
the interface from which the update came.
Solutions for Count-to-Infinity (3)
• Split horizon with poison reverse
• The rule states that once a router learns of an
unreachable route through an interface,
advertise it as unreachable back through the
same interface
Link State Routing
Each router must do the following:
1. Discover its neighbors, learn their network address.
2. Measure the delay or cost to each of its neighbors.
3. Construct a packet telling all it has just learned.
4. Send this packet to all other routers.
5. Compute the shortest path to every other router.
Learning about the Neighbors
(a) Nine routers and a LAN. (b) A graph model
of (a).
Measuring Line Cost
• Line cost is measured by sending an ECHO
message and measuring the return time.
• Waiting time in router queue can be added to
include the line traffic load
Including Traffic Load in Line Cost
Including traffic load in cost line may cause
oscillation in choosing the shortest path.
Building Link State Packets
(a) A subnet. (b) The link state packets for this
subnet.
Distributing the Link State Packets
The packet buffer for router B.
Updating the Routing Tables
• After receiving the link state packets, each
router creates a labeled graph of the network.
• The shortest path to each destination is found
using Dijkstra’s shortest path algorithm
Questions?