1 / 56

Lecture 21 Distance Vector Routing Protocols 11/14/2013

Computer Networks. Lecture 21 Distance Vector Routing Protocols 11/14/2013. Outline. Admin and recap Distance vector protocols. Admin. Any questions on Assignment 4?. Recap: Resource Allocation Framework. Forward (design) engineering: how to determine objective functions

maren
Download Presentation

Lecture 21 Distance Vector Routing Protocols 11/14/2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Networks Lecture 21 Distance Vector Routing Protocols 11/14/2013

  2. Outline • Admin and recap • Distance vector protocols

  3. Admin • Any questions on Assignment 4?

  4. Recap: Resource Allocation Framework • Forward (design) engineering: • how to determine objective functions • given objective, how to design effective alg • Reverse (understand) engineering: • understand current protocols (what are the objectives of TCP/Reno, TCP/Vegas?)

  5. Network layer functions: • Control protocols • error reportinge.g. ICMP Control protocols - router “signaling”e.g. RSVP • Network layer protocol (e.g., IP) • addressing conventions • packet format • packet handling conventions • Routing protocols • path selection • e.g., RIP, OSPF, BGP forwarding Recap: Internet Network Layer: Protocols Transport layer Network layer Link layer physical layer

  6. Recap: Data (Forwarding) Plane routing and call setup

  7. Routing Recap: Routing Design Space • Routing has a large design space • who decides routing? • source routing: end hosts make decision • network routing: networks make decision • how many paths from source s to destination d? • multi-path routing • single path routing • does the route(s) provide QoS? • QoS • best effort, shortest path • will routing adapt to network traffic demand? • adaptive routing • static routing Goal: determine “good” paths (sequences of routers) thru network from source to dest.

  8. Routing Design Space: Adaptive Routing • Routing has a large design space • who decides routing? • source routing: end hosts make decision • network routing: networks make decision • how many paths from source s to destination d? • multi-path routing • single path routing • does the route(s) provide QoS? • QoS • best effort, shortest path • will routing adapt to network traffic demand? • adaptive routing • static routing

  9. Represent network as a graph, with positive costs assigned to network links The path from a source to a destination chosen by the routing protocol is a shortest (lowest cost) path among all possible paths 5 3 5 2 2 1 3 1 2 1 A D B E F C Shortest/Lowest Cost Path Routing

  10. Assume link costs reflect current traffic Link costs reflect current traffic intensity 0 0 0 0 1+e 1 2+e 0 0 1 1+e e 0 0 0 1 1 e t=1 t=0 0 2+e 0 D D D D A A A A B C C B B B C C 0 B C D A 2+e 0 0 1 1+e 1 1+e e 0 t=2 t=3 Routing: Single-Path, Adaptive Routing 1 1 e Solution: Link costs are a combination of current traffic intensity (dynamic) and topology (static). To improve stability, the static topology part should be large. Thus less sensitive to traffic; thus non-adaptive.

  11. Example: Cisco Proprietary  Recommendation on Link Cost • Link metric: • metric = [K1 * bandwidth-1 + (K2 * bandwidth-1) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)] By default, k1=k3=1 and k2=k4=k5=0. The default composite metric for EIGRP, adjusted for scaling factors, is as follows: BWmin is in kbps and the sum of delays are in 10s of microseconds. EIGRP : Enhanced Interior Gateway Routing Protocol

  12. 5 3 5 2 2 1 3 1 2 1 A D B E F C Example: EIGRP Link Cost • The bandwidth and delay for an Ethernet interface are 10 Mbps and 1 ms, respectively. • The calculated EIGRP BW metric is as follows: • 256 × 107/BW = 256 × 107/10,000 • = 256 × 10000 • = 256000

  13. Outline • Admin and recap • Distance vector protocols

  14. Basis of RIP, IGRP, EIGRP routing protocols Distributed alg to computeshortest paths conceptually, runs for each destination separately hence we consider one dest only state: each node maintains a current estimate of distance to the destination di denotes the distance estimation from node i to dest update rule: based on Bellman-Ford alg. 5 3 5 2 2 1 3 1 2 1 A D B E F C Distance Vector Routing

  15. At node i, the basic update rule where - di denotes the distance estimation from i to the destination, - N(i) is set of neighbors of node i, and - dij is the distance of the direct link from i to j Distance Vector Routing: Update destination j i

  16. A D E B C Synchronous Bellman-Ford (SBF) 1 7 2 8 10 2 • Nodes update in rounds: • there is a global clock; • at the beginning of each round, each node sends its estimate to dest to all of its neighbors; • at the end of the round, updates its estimation A B E C D

  17. Outline • Network overview • Control plane: routing overview • Distance vector protocols • synchronous Bellman-Ford (SBF) • - SBF/

  18. A D E B C SBF/ 1 7 2 8 10 2 • Initialization (time 0):

  19. 1 7 2 8 10 2 1232 2 0 2 2 0 1032 2 0 1032 2 0   0 d(0) d(4) d(2) d(3) d(1) A D B E C Example Consider D as destination; d(t) is a vector consisting of estimation of each node at round t A B C E D • Observations: • d(0)  d(1)  d(2)  d(3)  d(4) • After a few iterations d(n) = d(n+1) = d*

  20. A Nice Property of SBF: Monotonicity • Consider two configurations d(t) and d’(t) • If d(t)  d’(t) • i.e., each node has a higher estimate in d than in d’, • then d(t+1)  d’(t+1) • i.e., each node has a higher estimate in d than in d’ after one round of synchronous update.

  21. Correctness of SBF/ • Claim: di(h) is the length Li(h) of a shortest path from i to the destination using ≤ h hops • base case: h = 0 is trivially true • assume true for ≤ h, i.e., Li(h)=di(h), Li(h-1)=di(h-1), …

  22. since di(h) ≤ di(h-1) Correctness of SBF/ • consider ≤ h+1 hops:

  23. Bellman Equation • We referred to the update rules as Bellman equations (BE): where dD = 0. • SBF/ solves the equations in a distributed way • Does the equation have a unique solution (i.e., the shortest path one)?

  24. 1 7 2 8 10 2 A D E B C 1 1 1 1 Uniqueness of Solution to BE • Assume another solution d, we will show that d = d* case 1: we show d  d* Since d is a solution to BE, we can construct paths as follows: for each i, pick a j which satisfies the equation; since d* is shortest, d  d* 2 3 Dest. 10 2

  25. Uniqueness of Solution to BE Case 2: we show d ≤ d* assume we run SBF with two initial configurations: • one is d • another is SBF/ (d), -> monotonicity and convergence of SBF/ imply that d ≤ d*

  26. Outline • Network overview • Control plane: routing overview • Distance vector protocols • synchronous Bellman-Ford (SBF) • SBF/ • SBF/-1

  27. A D E B C SBF at another Initial Configuration: SBF/-1 1 7 2 8 10 2 • Initialization (time 0):

  28. 1 7 2 8 10 2 -1-1 -1 -1 0 103 2 2 0 9 3 2 2 0 8 2 2 2 0 7 1 1 2 0 6 0 0 2 0 103 2 2 0 d(5) d(4) d(3) d(6) d(1) d(0) d(2) A D B E C Example Consider D as destination A B C E D Observation: d(0)  d(1)  d(2)  d(3)  d(4)  d(5) = d(6) = d*

  29. Correctness of SBF/-1 • SBF/-1 converges due to monotonicity • At equilibrium, SBF/-1 satisfies Bellman equations: where dD = 0. • Another solution is shortest path solution d* • Since there is a unique solution to the BE equations; thus SBF/-1 converges to shortest path

  30. Discussion • How do you prove that SBF converges under other non-negative initial conditions?

  31. Toolbox • A key technique for proving convergence (liveness) of distributed protocols: two extreme configurations to sandwich any real configurations

  32. Discussion • Problem of SBF? A B E C D

  33. Outline • Network overview • Control plane: routing overview • Distance vector protocols • synchronous Bellman-Ford (SBF) • asynchronous Bellman-Ford (ABF)

  34. Asynchronous Bellman-Ford (ABF) • No notion of global iterations • each node updates at its own pace • Asynchronously each node i computes using last received value dij from neighbor j. • Asyncrhonously node j sends its estimate to its neighbor i: • there is an upper bound on the delay of estimate packets (no worry for out of order)

  35. 1 distance table E sends to its neighbors 7 A: 10 B: 8 C: 4 D: 2 E: 0 2 8 10 2 A D E B C Distance Table: Example Below is just one step! The protocol repeats forever! distance tablesfrom neighbors computation E’s distance table d () A B C D A B D A B D E 10 15  0 7  A: 10 B: 8 7 0  17 8  destinations D: 4 1 2 9 4 0 2 D: 2 10 8 2

  36. j i Asynchronous Bellman-Ford (ABF) • In general, nodes are using different andpossibly inconsistent estimates dj dij di

  37. Asynchronous Bellman-Ford (ABF) • ABF will eventually converge tothe shortest path • links can go down and come up – but if topology is stabilized after some timet, ABF will eventually converge to theshortest path ! • Ifthe network is connected, then ABF converges in finite amount of time, if conditions are met

  38. ABF Convergence • There are too many different “runs” of ABF, so need to use monotonicity • Consider two sequences: • SBF/; call the sequence U() • SBF/-1; call the sequence L()

  39. j i System State where can distance estimate from node j appear?

  40. dj di System State • three types of distance estimates from node j: • dj: current distance estimate at node j • - dij: last dj that neighbor i received • - dij: those dj that are still in transit to neighbor i dij dij

  41. ABF Convergence • Consider the time when the topology is stabilized as time 0 • U(0) and L(0) provide upper and lower bound at time 0 on all corresponding elements of states • Lj (0) ≤ dj≤ Uj (0) for all dj state at node j • Lj (0) ≤ dij≤ Uj (0) • Lj (0) ≤ update messages dij≤ Uj (0)

  42. dj di ABF Convergence • dj • after at least one update at node j: dj falls between Lj (1) ≤ dj ≤ Uj (1) • dij : • eventually all dij that are only bounded by Lj (0) and Uj (0) are replaced with inLj(1) and Uj(1) dij dij

  43. Distributed:each node communicates its routing table to its directly-attached neighbors Iterative:continues periodically or when link changes, e.g. detects a link failure Asynchronous:nodes need not exchange info/iterate in lock step! Convergence in finite steps, independent of initial condition if network is connected Asynchronous Bellman-Ford: Summary

  44. Properties of Distance-Vector Algorithms • Good news propagate fast

  45. Properties of Distance-Vector Algorithms • Bad news propagate slowly (link A-B broke) • This is called the counting-to-infinity problem Question: why does counting-to-infinity happen?

  46. What is a Routing Loop? • A routing loop is a global state (consisting of the nodes’ local states) at a global moment (observed by an oracle) such that there exist nodes A, B, C, … E such that A (locally) thinks B as down stream, B thinks C as down stream, … E thinks A as down stream • Counting-to-infinity because of routing loops

  47. 1 7 2 8 1 2 A D E B C The Reverse-Poison (Split-horizon) Hack If the path to dest is through neighbor h, report  to neighbor h for dest. distance tables from neighbors computation E’s distance table distance table E sends to its neighbors E D () A B C D A 0 7   1 c(E,A) B 7 0 1  8 c(E,B) A 1 8   D   2 0 2 c(E,D) B 15 8 9  D   4 2 1, A 8, B 4, D 2, D To B A: 1 B:  C: 4 D: 2 E: 0 To A A:  B: 8 C: 4 D: 2 E: 0 To D A: 1 B: 8 C:  D:  E: 0 destinations distance through neighbor

  48. An Example Where Split-horizon Fails 1 1 1 1 • C and D fails, C will set its distance to D as  • C sends the bad news () to A • A switches to use use B to go to D • A sends the news to C • C sends the news to B I can reach D w/ cost 3 Question: what is the routing loop formed?

  49. Outline • Admin and recap • Distance vector protocols • synchronous Bellman-Ford (SBF) • asynchronous Bellman-Ford (ABF) • RIP, EIGRP

  50. Example: RIP ( Routing Information Protocol) • Distance vector • Included in BSD-UNIX Distribution in 1982 • Link cost: 1 • Distance metric: # of hops • Distance vectors • exchanged every 30 sec via Response Message (also called advertisement) using UDP • each advertisement: route to up to 25 destination nets

More Related