cs 457 lecture 16 routing continued
play

CS 457 Lecture 16 Routing Continued Spring 2010 Scaling - PowerPoint PPT Presentation

CS 457 Lecture 16 Routing Continued Spring 2010 Scaling Link-State Routing Overhead of link-state routing Flooding link-state packets throughout the network Running Dijkstras shortest-path algorithm Introducing hierarchy


  1. CS 457 – Lecture 16 Routing Continued Spring 2010

  2. Scaling Link-State Routing • Overhead of link-state routing – Flooding link-state packets throughout the network – Running Dijkstra’s shortest-path algorithm • Introducing hierarchy through “areas” Area 2 Area 1 Area 0 area border router Area 3 Area 4

  3. Distance Vector Algorithm • c(x,v) = cost for direct link from x to v – Node x maintains costs of direct links c(x,v) • D x (y) = estimate of least cost from x to y – Node x maintains distance vector D x = [D x (y): y є N ] • Node x maintains its neighbors’ distance vectors – For each neighbor v, x maintains D v = [D v (y): y є N ] • Each node v periodically sends D v to its neighbors – And neighbors update their own distance vectors – D x (y) ← min v {c(x,v) + D v (y)} for each node y ∊ N • Over time, the distance vector D x converges

  4. Bellman-Ford Algorithm • Define distances at each node x – d x (y) = cost of least-cost path from x to y • Update distances based on neighbors – d x (y) = min {c(x,v) + d v (y)} over all neighbors v 2 v � y � 1 3 1 4 x � z � u � 2 1 5 d u (z) = min{c(u,v) + d v (z), t � 4 w � c(u,w) + d w (z)} � 3 s �

  5. Distance Vector Algorithm Each node: Iterative, asynchronous: each local iteration caused wait for (change in local link by: cost or message from neighbor) • Local link cost change • Distance vector update message from neighbor recompute estimates Distributed: • Each node notifies if DV to any destination has neighbors only when its changed, notify neighbors DV changes • Neighbors then notify their neighbors if necessary

  6. Distance Vector Example: Step 0 Optimum 1-hop paths � Table for A Table for B C E � 3 � 1 � Dst Cst Hop Dst Cst Hop A 0 A A 4 A 1 � F � 2 � B 4 B B 0 B 6 � 1 � C ∞ – C ∞ – D 3 � A D ∞ – D 3 D 4 � B E 2 E E ∞ – F 6 F F 1 F Table for C Table for D Table for E Table for F Dst Cst Hop Dst Cst Hop Dst Cst Hop Dst Cst Hop A ∞ – A ∞ – A 2 A A 6 A B ∞ – B 3 B B ∞ – B 1 B C 0 C C 1 C C ∞ – C 1 C D 1 D D 0 D D ∞ – D ∞ – E ∞ – E ∞ – E 0 E E 3 E F 1 F F ∞ – F 3 F F 0 F

  7. Distance Vector Example: Step 2 Optimum 2-hop paths � Table for A Table for B C E � 3 � 1 � Dst Cst Hop Dst Cst Hop A 0 A A 4 A 1 � F � 2 � B 4 B B 0 B 6 � 1 � C 7 F C 2 F D 3 � A D 7 B D 3 D 4 � B E 2 E E 4 F F 5 E F 1 F Table for C Table for D Table for E Table for F Dst Cst Hop Dst Cst Hop Dst Cst Hop Dst Cst Hop A 7 F A 7 B A 2 A A 5 B B 2 F B 3 B B 4 F B 1 B C 0 C C 1 C C 4 F C 1 C D 1 D D 0 D D ∞ – D 2 C E 4 F E ∞ – E 0 E E 3 E F 1 F F 2 C F 3 F F 0 F

  8. Distance Vector Example: Step 3 Optimum 3-hop paths � Table for A Table for B C E � 3 � 1 � Dst Cst Hop Dst Cst Hop A 0 A A 4 A 1 � F � 2 � B 4 B B 0 B 6 � 1 � C 6 E C 2 F D 3 � A D 7 B D 3 D 4 � B E 2 E E 4 F F 5 E F 1 F Table for C Table for D Table for E Table for F Dst Cst Hop Dst Cst Hop Dst Cst Hop Dst Cst Hop A 6 F A 7 B A 2 A A 5 B B 2 F B 3 B B 4 F B 1 B C 0 C C 1 C C 4 F C 1 C D 1 D D 0 D D 5 F D 2 C E 4 F E 5 C E 0 E E 3 E F 1 F F 2 C F 3 F F 0 F

  9. Distance Vector: Link Cost Changes Link cost changes: 1 Y Node detects local link cost change 4 1 Updates the distance table X Z 50 If cost change in least cost path, notify neighbors algorithm terminates “good news travels fast”

  10. Distance Vector: Link Cost Changes Link cost changes: 60 Y Good news travels fast 4 1 Bad news travels slow - X Z 50 “count to infinity” problem! algorithm continues on!

  11. Distance Vector: Poison Reverse If Z routes through Y to get to X : 60 Y Z tells Y its (Z’s) distance to X is infinite 4 1 (so Y won’t route to X via Z) X Z 50 Still, can have problems when more than 2 routers are involved algorithm terminates

  12. Routing Information Protocol (RIP) • Distance vector protocol – Nodes send distance vectors every 30 seconds – … or, when an update causes a change in routing • Link costs in RIP – All links have cost 1 – Valid distances of 1 through 15 – … with 16 representing infinity – Small “infinity”  smaller “counting to infinity” problem • RIP is limited to fairly small networks – E.g., used in campus networks

  13. Comparison of LS and DV algorithms Message complexity Robustness: what • LS: with n nodes, E links, happens if router O(nE) messages sent malfunctions? • DV: exchange between LS: neighbors only – Node can advertise incorrect link cost – Convergence time – Each node computes varies only its own table Speed of Convergence DV: • LS: O(n 2 ) algorithm – DV node can advertise requires O(nE) messages incorrect path cost – Each node’s table used • DV: convergence time by others (error varies propagates) – May be routing loops – Count-to-infinity problem

  14. Conclusions • Routing is a distributed algorithm – React to changes in the topology – Compute the shortest paths • Two main shortest-path algorithms – Dijkstra  link-state routing (e.g., OSPF and IS- IS) – Bellman-Ford  distance vector routing (e.g., RIP) • Convergence process – Changing from one topology to another – Transient periods of inconsistency across routers

  15. Address Allocation

  16. Hierarchical Addressing: IP Prefixes • Divided into network & host portions (left and right) • 12.34.158.0/24 is a 24-bit prefix with 2 8 addresses 12 34 158 5 00001100 00100010 10011110 00000101 Network (24 bits) Host (8 bits)

  17. IP Address and 24-bit Subnet Mask Address � 12 34 158 5 00001100 00100010 10011110 00000101 11111111 11111111 11111111 00000000 255 255 255 0 Mask �

  18. Subnets 223.1.1.1 • IP address: 223.1.2.1 – subnet part 223.1.1.2 (high order bits) 223.1.1.4 223.1.2.9 – host part 223.1.2.2 (low order bits) 223.1.1.3 223.1.3.27 • What’s a subnet ? LAN – device interfaces with same subnet part of IP 223.1.3.2 223.1.3.1 address – can physically reach each other without network consisting of 3 subnets intervening router

  19. Subnets 223.1.1.0/24 223.1.2.0/24 Recipe • To determine the subnets, detach each interface from its host or router, creating islands of isolated networks. 223.1.3.0/24 Each isolated Subnet mask: /24 network is called a subnet.

  20. Example: Addressing at CSU Assigned prefix block 129.82.0.0/16 – 3 Different Sub-Organizations – Assign addresses to create the smallest possible forwarding table at the router To Interent Interface 0 CS Dept Math Dept 243 hosts Interface 3 Interface 1 100 hosts 129.82.?.? 129.82.?.? Interface 2 Wireless LAN - up to 500 hosts 129.82.?.?

  21. Scalability: Address Aggregation Provider is given 201.10.0.0/21 Provider 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 Routers in the rest of the Internet just need to know how to reach 201.10.0.0/21. The provider can direct the IP packets to the appropriate customer. �

  22. But, Aggregation Not Always Possible 201.10.0.0/21 Provider 1 Provider 2 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 Multi-homed customer with 201.10.6.0/23 has two providers. Other parts of the Internet need to know how to reach these destinations through both providers. �

  23. Are 32-bit Addresses Enough? • Not all that many unique addresses – 2 32 = 4,294,967,296 (just over four billion) – Plus, some are reserved for special purposes – And, addresses are allocated in larger blocks • And, many devices need IP addresses – Computers, PDAs, routers, tanks, toasters, … • Long-term solution: a larger address space – IPv6 has 128-bit addresses (2 128 = 3.403 × 10 38 ) • Short-term solutions: limping along with IPv4 – Private addresses – Network address translation (NAT) – Dynamically-assigned addresses (DHCP)

  24. What’s Next • Read Chapter 1, 2, 3, and 4.1-4.3 • Next Lecture Topics from Chapter 4.2 and 4.3 – Routing • Homework – Due Thursday in lecture • Project 2 – You should be working on Project 2!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend