SlideShare a Scribd company logo
Routing
Link State Routing
Link State Routing
 Link-state routing is the intradomain routing protocol.
 The basic idea behind link-state protocols is very simple: Every
node knows how to reach its directly connected neighbours, and if
we make sure that the totality of this knowledge is disseminated to
every node, then every node will have enough knowledge of the
network to build a complete map of the network.
Link State Routing
 This is clearly a sufficient condition (although not a necessary
one) for finding the shortest path to any point in the network.
Thus, link-state routing protocols rely on two mechanisms:
 Reliable dissemination of link-state information
 The calculation of routes from the sum ofall the accumulated link-
state knowledge.
Link State Routing
Reliable Flooding
 Reliable flooding is the process of making sure that all the nodes participating in
the routing protocol get a copy of the link-state information from all the other
nodes.
 As the term “flooding” suggests, the basic idea is for a node to send its link-state
information out on its entire directly connected links, with each node that
receives this information forwarding it out on its entire links.
 This process continues until the information has reached all the nodes in the
network.
Link State Routing
More precisely, each node creates an update packet, also called as link-state
packet (LSP) that contains the following information:
 The ID of the node that created the LSP
 a list of directly connected neighbors of that node, with the cost of the link to
each one
 a sequence number
 a time to live for this packet
Link State Routing
Flooding works in the following way,
 store most recent LSP from each node
 forward LSP to all nodes but one that sent it
 generate new LSP periodically; increment SEQNO
 start SEQNO at 0 when reboot
 decrementTTL of each stored LSP; discard whenTTL=0
Link State Routing
Fig.Flooding of link-state packets. (a) LSP arrives at node X; (b) X floods
LSP to A and C; (c) A and C flood LSP to B (but not X); (d) flooding is
complete
Link State Routing
Route Calculation
 Dijkstra’s Algorithm - Assume non-negative link weights
 N: set of nodes in the graph
 l((i, j): the non-negative cost associated with the edge
between nodes i, j N and l(i, j) =  if no edge connects i and j
Link State Routing
 Let s N be the starting node which executes the algorithm
to find shortest paths to all other nodes in N
 Two variables used by the algorithm
 M: set of nodes incorporated so far by the algorithm
 C(n) : the cost of the path from s to each node n
Link State Routing
M = {s}
For each n in N – {s}
C(n) = l(s, n)
while ( N  M)
M = M  {w} such that C(w) is the minimum for
all w in (N-M)
For each n in (N-M)
C(n) = MIN (C(n), C(w) + l(w, n))
Link State Routing
 In practice, each switch computes its routing table directly from
the LSP’s it has collected using a realization of Dijkstra’s algorithm
called the forward search algorithm
 Specifically each switch maintains two lists, known as Tentative
and Confirmed
 Each of these lists contains a set of entries of the form
(Destination, Cost, NextHop)
Link State Routing
The algorithm works as follows:
 Initialize the Confirmed list with an entry for myself; this
entry has a cost of 0.
 For the node just added to the Confirmed list in the previous
step, call it node Next, select its LSP.
Link State Routing
 For each neighbor (Neighbor) of Next, calculate the cost (Cost) to reach
thisNeighbor as the sum of the cost from myself to Next and from Next to
Neighbor.
 If Neighbor is currently on neither the Confirmed nor the tentative list, thenadd
(Neighbor, Cost, NextHop) to the Tentative list, where NextHop is thedirection I go to
reach Next.
 If Neighbor is currently on the Tentative list, and the Cost is less than the currentlylisted
cost for Neighbor, then replace the current entry with (Neighbor,Cost, NextHop), where
NextHop is the direction I go to reach Next.
Link State Routing
 If theTentative list is empty, stop. Otherwise, pick the entry from the
Tentativelist with the lowest cost, move it to the Confirmed list, and return to
step 2.
OSPF - Routing Protocol
Solve the problem

More Related Content

OSPF - Routing Protocol

  • 2. Link State Routing  Link-state routing is the intradomain routing protocol.  The basic idea behind link-state protocols is very simple: Every node knows how to reach its directly connected neighbours, and if we make sure that the totality of this knowledge is disseminated to every node, then every node will have enough knowledge of the network to build a complete map of the network.
  • 3. Link State Routing  This is clearly a sufficient condition (although not a necessary one) for finding the shortest path to any point in the network. Thus, link-state routing protocols rely on two mechanisms:  Reliable dissemination of link-state information  The calculation of routes from the sum ofall the accumulated link- state knowledge.
  • 4. Link State Routing Reliable Flooding  Reliable flooding is the process of making sure that all the nodes participating in the routing protocol get a copy of the link-state information from all the other nodes.  As the term “flooding” suggests, the basic idea is for a node to send its link-state information out on its entire directly connected links, with each node that receives this information forwarding it out on its entire links.  This process continues until the information has reached all the nodes in the network.
  • 5. Link State Routing More precisely, each node creates an update packet, also called as link-state packet (LSP) that contains the following information:  The ID of the node that created the LSP  a list of directly connected neighbors of that node, with the cost of the link to each one  a sequence number  a time to live for this packet
  • 6. Link State Routing Flooding works in the following way,  store most recent LSP from each node  forward LSP to all nodes but one that sent it  generate new LSP periodically; increment SEQNO  start SEQNO at 0 when reboot  decrementTTL of each stored LSP; discard whenTTL=0
  • 7. Link State Routing Fig.Flooding of link-state packets. (a) LSP arrives at node X; (b) X floods LSP to A and C; (c) A and C flood LSP to B (but not X); (d) flooding is complete
  • 8. Link State Routing Route Calculation  Dijkstra’s Algorithm - Assume non-negative link weights  N: set of nodes in the graph  l((i, j): the non-negative cost associated with the edge between nodes i, j N and l(i, j) =  if no edge connects i and j
  • 9. Link State Routing  Let s N be the starting node which executes the algorithm to find shortest paths to all other nodes in N  Two variables used by the algorithm  M: set of nodes incorporated so far by the algorithm  C(n) : the cost of the path from s to each node n
  • 10. Link State Routing M = {s} For each n in N – {s} C(n) = l(s, n) while ( N  M) M = M  {w} such that C(w) is the minimum for all w in (N-M) For each n in (N-M) C(n) = MIN (C(n), C(w) + l(w, n))
  • 11. Link State Routing  In practice, each switch computes its routing table directly from the LSP’s it has collected using a realization of Dijkstra’s algorithm called the forward search algorithm  Specifically each switch maintains two lists, known as Tentative and Confirmed  Each of these lists contains a set of entries of the form (Destination, Cost, NextHop)
  • 12. Link State Routing The algorithm works as follows:  Initialize the Confirmed list with an entry for myself; this entry has a cost of 0.  For the node just added to the Confirmed list in the previous step, call it node Next, select its LSP.
  • 13. Link State Routing  For each neighbor (Neighbor) of Next, calculate the cost (Cost) to reach thisNeighbor as the sum of the cost from myself to Next and from Next to Neighbor.  If Neighbor is currently on neither the Confirmed nor the tentative list, thenadd (Neighbor, Cost, NextHop) to the Tentative list, where NextHop is thedirection I go to reach Next.  If Neighbor is currently on the Tentative list, and the Cost is less than the currentlylisted cost for Neighbor, then replace the current entry with (Neighbor,Cost, NextHop), where NextHop is the direction I go to reach Next.
  • 14. Link State Routing  If theTentative list is empty, stop. Otherwise, pick the entry from the Tentativelist with the lowest cost, move it to the Confirmed list, and return to step 2.