Intra domain routing
Upcoming SlideShare
Loading in...5
×
 

Intra domain routing

on

  • 1,484 views

 

Statistics

Views

Total Views
1,484
Views on SlideShare
1,484
Embed Views
0

Actions

Likes
0
Downloads
16
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Change circles to rectangles, don’t block the text

Intra domain routing Intra domain routing Presentation Transcript

  • Intra Domain Routing Module 6 – COMPUTER DEPARTMENT
  • Network Layer, Control Plane2  Function:  Set up routes within a single network Data Plane  Key challenges: Applicatio  Distributing and updating routes n Presentatio  Convergence time n  Avoiding loops Session Transport Network RIP OSPF BGP Control Plane Data Link Physical
  • Internet Routing3 Internet organized as a two level hierarchy First level – autonomous systems (AS’s)  AS – region of network under a single administrative domain  Examples: Comcast, AT&T, Verizon, Sprint, etc. AS’s use intra-domain routing protocols internally  Distance Vector, e.g., Routing Information Protocol (RIP)  Link State, e.g., Open Shortest Path First (OSPF) Connections between AS’s use inter-domain routing protocols  Border Gateway Routing (BGP)
  • AS Example4 AS-1 AS-3InteriorRouters AS-2 BGP Routers
  • Why Do We Need ASs?5 Routing algorithms are not efficient enough to execute on the entire Internet topology Different organizations may routes • Easier to compute use different routing policies • Greater flexibility Allows organizations to hide their internal network • More autonomy/independence structure Allows organizations to choose how to route across each other (BGP)
  • Routing on a Graph6 Goal: determine a “good” path through the network from source to destination What is a good path? 5  Usuallymeans the shortest path 3  Load balanced B C 5 2  Lowest $$$ cost A 2 1 F 3 Network modeled as a graph 1 2 D E  Routers  nodes 1  Link  edges  Edge cost: delay, congestion level, etc.
  • Routing Problems7 Assume A network with N nodes  Each node only knows 5  Its immediate neighbors 3  The cost to reach each neighbor B C 5 2 How does each node learn 2 1 A 3 F the shortest path to every 1 E 2 other node? D 1
  • Intra-domain Routing Protocols8 Distance vector  Routing Information Protocol (RIP), based on Bellman- Ford  Routers periodically exchange reachability information with neighbors Link state  Open Shortest Path First (OSPF), based on Dijkstra  Each network periodically floods immediate reachability information to all other routers  Per router local computation to determine full routes 8
  • 9 Outline Distance Vector Routing  RIP Link State Routing  OSPF Measuring OSPF
  • Distance Vector Routing10 What is a distance vector?  Current best known cost to reach a destination Idea: exchange vectors among neighbors to learn about lowest cost paths Destination Cost  No entry for C A 7  Initially, only has info forDV Table B 1 immediate neighborsat Node C D 2 E 5  Other destinations cost = ∞ F 1  Eventually, vector is filled Routing Information Protocol (RIP)
  • Distance Vector Routing Algorithm11 1. Wait for change in local link cost or message from neighbor 2. Recompute distance table 3. If least cost path to any destination has changed, notify neighbors
  • Distance Vector Initialization12 Node A Node B 3 B D Dest. Cost Next Dest. Cost Next 2 1 B 2 B A 2 A 1 C 7 C C 1 C A 7 C D ∞ D 3 D1. Initialization:2. for all neighbors V do Node C Node D3. if V adjacent to A Dest. Cost Next Dest. Cost Next4. D(A, V) = c(A,V); A 7 A A ∞5. else6. D(A, V) = ∞; B 1 B B 3 B… D 1 D C 1 C
  • Distance Vector: 1st Iteration13 Node A Node B 3 B D Dest. Cost Next Dest. Cost Next 2 1 B 2 B A 2 A 1 3 B C 7 C C 1 C A 7 C D ∞ 5 8 C B D 3 2 D C…7. loop:…12. else if (update D(V, Y) received from V)13. for all destinations Y do14. D(A,C) = min(D(A,C), D(A,B)+D(B,C)) D if (destination Y through V) Node Node C D(A,D) = = min(7, 2 + 1) = 315. D(A,Y) = D(A,V) + D(V, Y);16. else min(D(A,D), D(A,B)+D(B,D)) D(A,C)+D(C,D)) Next Dest. Cost Next Dest. Cost17. D(A, Y) = min(D(A, Y), = min(8, 2 + 3) = 5 min(∞, 7 1) 8 A 3 7 B A A ∞ 4 B D(A, V) + D(V, Y)); B 1 B B 3 B18. if (there is a new min. for dest. Y) D 1 D C 1 C19. send D(A, Y) to all neighbors20. forever
  • Distance Vector: End of 3rd Iteration14 Node A Node B 3 B D Dest. Cost Next Dest. Cost Next 2 1 B 2 B A 2 A 1 C 3 B C 1 C A 7 C D 4 B D 2 C…7. loop:…12. • Nothing changes, algorithm terminates else if (update D(V, Y) received from V)13. for all destinations Y do14.15. • Until something changes… if (destination Y through V) D(A,Y) = D(A,V) + D(V, Y); Node D Node C16. else Dest. Cost Next Dest. Cost Next17. D(A, Y) = 4 A 3 B A C min(D(A, Y), D(A, V) + D(V, Y)); B 1 B B 2 C18. if (there is a new min. for dest. Y) D 1 D C 1 C19. send D(A, Y) to all neighbors20. forever
  • 7. loop: 8. wait (link cost update or update message) 9. if (c(A,V) changes by d) 10. for all destinations Y through V do15 11. D(A,Y) = D(A,Y) + d B 12. else if (update D(V, Y) received from V) 4 1 1 13. for all destinations Y do 14. if (destination Y through V) 15. D(A,Y) = D(A,V) + D(V, Y); A 50 C 16. else 17. D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y)); 18. Link Cost Changes, Algorithm if (there is a new minimum for destination Y) 19. Good news travels fast send D(A, Y) to all neighbors 20. Algorithm Starts forever Terminates D C N D C N D C N D C N Node B A 4 A A 1 A A 1 A A 1 A C 1 B C 1 B C 1 B C 1 B D C N D C N D C N D C N Node C A 5 B A 5 B A 2 B A 2 B B 1 B B 1 B B 1 B B 1 B Time
  • Count to Infinity Problem16 • Node B knows D(C, A) = 5 B • However, B does not know 4 60 1 the path is C  B  A A 50 C Bad news travels slowly • Thus, D(B,A) = 6 ! D C N D C N D C N D C NNode B A 4 A A 6 C A 6 C A 8 C C 1 B C 1 B C 1 B C 1 B D C N D C N D C N D C NNode C A 5 B A 5 B A 7 B A 7 B B 1 B B 1 B B 1 B B 1 B Time
  • Poisoned Reverse17 If C routes through B to get to A B C tells B that D(C, A) = ∞ 4 60 1  Thus, B won’t route to A via C Does this completely solve this count toC A 50 infinity problem? D C N D C N NO D C N D C NNode B A 4 A A 60 A A 60 A A 51 C Multipath loops1 can stillCtrigger the issue C 1 B C B 1 B C 1 B D C N D C N D C N D C NNode C A 5 B A 5 B A 50 A A 50 A B 1 B B 1 B B 1 B B 1 B Time
  • 18 Outline Distance Vector Routing  RIP Link State Routing  OSPF Measuring OSPF
  • Link State Routing19 Each node knows its connectivity and cost to direct neighbors Each node tells every other node this information Each node learns complete network topology Use Dijkstra to compute shortest paths
  • Flooding Details20 Each node periodically generates Link State Packet  ID of node generating the LSP  List of direct neighbors and costs  Sequence number (64-bit, assumed to never wrap)  Time to live Flood is reliable (ack + retransmission) Sequence number “versions” each LSP Receivers flood LSPs to their own neighbors  Except whoever originated the LSP LSPs also generated when link states change
  • Dijkstra’s Algorithm21Step Start S B C D E F0 A 2, A 5, A 1, A ∞ ∞1 AD 4, D 2, D ∞2 ADE 3, E 4, E3 ADEB4 ADEBC5 ADEBCF 5 … 3 8. Loop 1. Initialization: B C 5 9. find2. not in S s.t. D(w) is a minimum; w S = {A}; 2 10. add w to S; all nodes v 3. for A 2 1 F 11. update D(v) v adjacent to A 4. if for all v adjacent 3 5. then D(v) = c(A,v); to w and not in S: 1 D E 2 12. 6. else D(v) = ∞; D(v) = min( D(v), D(w) + c(w,v) ); 1 13. until… nodes in S; all