Control Plane Overview Subnet 1.2 Subnet 1.2
Total Page:16
File Type:pdf, Size:1020Kb
The Network Layer: Control Plane Overview Subnet 1.2 Subnet 1.2 R3 R2 R6 Interior Subnet 1.2 R5 Subnet 1.2 Subnet 1.2 R7 1. Routing Algorithms: Link-State, Distance Vector R8 R4 R1 Subnet 1.2 Dijkstra’s algorithm, Bellman-Ford Algorithm Exterior Subnet 1.2 Subnet 1.2 2. Routing Protocols: OSPF, BGP Raj Jain 3. SDN Control Plane Washington University in Saint Louis 4. ICMP Saint Louis, MO 63130 5. SNMP [email protected] Audio/Video recordings of this lecture are available on-line at: Note: This class lecture is based on Chapter 5 of the textbook (Kurose and Ross) and the figures provided by the authors. http://www.cse.wustl.edu/~jain/cse473-16/ Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-1 5-2 Network Layer Functions Overview Routing Algorithms T Forwarding: Deciding what to do with a packet using 1. Graph abstraction a routing table Data plane 2. Distance Vector vs. Link State T Routing: Making the routing table Control Plane 3. Dijkstra’s Algorithm 4. Bellman-Ford Algorithm Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-3 5-4 Rooting or Routing Routeing or Routing T Rooting is what fans do at football games, what pigs T Routeing: British do for truffles under oak trees in the Vaucluse, and T Routing: American what nursery workers intent on propagation do to T Since Oxford English Dictionary is much heavier than cuttings from plants. any other dictionary of American English, British T Routing is how one creates a beveled edge on a table English generally prevails in the documents produced top or sends a corps of infantrymen into full scale, by ISO and CCITT; wherefore, most of the disorganized retreat international standards for routing standards use the routeing spelling. Ref: Piscitello and Chapin, “Open Systems Networking: TCP/IP and OSI,” Adison-Wesley, 1993, p413 Ref: Piscitello and Chapin, “Open Systems Networking: TCP/IP and OSI,” Adison-Wesley, 1993, p413 Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-5 5-6 Graph abstraction Distance Vector vs. Link State 5 Distance Vector: T Vector of distances to all nodes, e.g., 5 T Graph: G = (N,E) v 3 w 2 5 u: {u:0, v:2, w:5, x:1, y:2, z:4} T N = Set of routers v 3 w u 2 1 z T Sent to neighbors, e.g., 5 = { u, v, w, x, y, z } 3 2 1 2 u will send to v, w, x u 2 1 z T x y 3 E = Set of links 1 T Large vectors to small # of nodes 1 x y 2 ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Tell about the world to neighbors 1 T Each link has a cost, e.g., c(w,z) = 5 T Older method. Used in RIP. T Cost of path (x1, x2,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Link State: T Routing Algorithms find the least cost path T Vector of link cost to neighbors, e.g, u: {v:2, w:5, x:1} T We limit to “Undirected” graphs, i.e., cost is same in both T Sent to all nodes, e.g., u will send to v, w, x, y, z directions T Small vectors to large # of nodes Tell about the neighbors to the world T Newer method. Used in OSPF. Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-7 5-8 Dijkstra’s Algorithm Dijkstra’s Algorithm: Example T Goal: Find the least cost paths from a given node to 5 all other nodes in the network v 3 w T Notation: 2 5 c(i,j) = Link cost from i to j if i and j are connected u 2 1 3 z D(k) = Total path cost from s to k 1 x y 2 N’ = Set of nodes so far for which the least cost path is known 1 T Method: T Initialize: N’={u}, D(v) = c(u,v) for all neighbors of u N’ D(v) Path D(w) Path D(x) Path D(y) Path D(z) Path T Repeat until N includes all nodes: 0 {u} 2 u-v 5 u-w 1 u-x f - f - 1 {u, x} 2 u-v 4 u-x-w 2 u-x-y f - Find node w N’, whose D(w) is minimum 2 {u, x, y} 2 u-v 3 u-x-y-w 4 u-x-y-z Add w to N’ 3 {u, x, y, v} 3 u-x-y-w 4 u-x-y-z 4 {u, x, y, v, w} 4 u-x-y-z Update D(v) for each neighbor of w that is not in N’ D(v) = min[D(v), D(w) + c(w,v)] for all v N’ 5 {u, x, y, v, w, z} Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-9 5-10 Complexity and Oscillations Homework 5A T Algorithm complexity: n nodes Prepare the routing calculation table for node 1 in the T Each iteration: need to check all nodes, w, not in N following network using Dijkstra’s algorithm T n(n+1)/2 comparisons: O(n2) T More efficient implementations possible: O(n log n) T Oscillations Possible: e.g., support link cost equals amount of 3 carried traffic 2 3 2 1 1 1 1 6 4 4 1 4 5 Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-11 5-12 Bellman-Ford Algorithm node x table Bellman Ford Example 1 cost too costcost toto costcost toto T Notation: x y z x y z x y z u = Source node x 0 2 7 x 0 2 3 x 0 2 3 y y 2 0 1 y from from 2 0 1 c(i,j) = link cost from i to j z z from 7 1 0 z 3 1 0 node y table h = Number of hops being considered cost to cost to cost to x y z x y z y Du(n) = Cost of h-hop path from u to n x y z 2 1 x x 0 2 7 T Method: x 0 2 3 x z y 2 0 1 y 2 0 1 y 7 from 2 0 1 from 1. Initialize: D (n) = f for all n z u; D (u) = 0 from z z 7 1 0 z 3 1 0 u u node z table cost to cost to cost to 2. For each node: Du(n) = minj [Du(j) +c(j,n)] x y z x y z x y z 3. If any costs change, repeat step 2 x x 0 2 7 x 0 2 3 y y 2 0 1 y 2 0 1 from from from z z z 71 0 3 1 0 3 1 0 Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ time ©2016 Raj Jain 5-13 5-14 Bellman-Ford Example 2 Bellman-Ford: Tabular Method A.w B. w w 5 v 5 v 5 v f 3 f 5 2 3 5 5 3 5 0 2 f 0 2 f 2 2 1 2 1 2 1 u 3 z u 3 z u 3 z 1 2 1 2 1 2 f 1 f 1 1 f 1 xy xy If cost changes xy C.w D. w 5 v 5 v Recompute the costs to all neighbors 2 4 2 3 3 5 3 5 h D(v) Path D(w) Path D(x) Path D(y) Path D(z) Path 0 2 10 0 2 4 0 f - f - f - f - f - 2 1 2 1 1 2 u-v 5 u-w 1 u-x f - f - uu3 z 3 z 1 2 1 2 2 2 u-v 4 u-x-w 1 u-x 2 u-x-y 10 u-w-z 1 1 2 1 1 2 3 2 u-v 3 u-x-y-w 1 u-x 2 u-x-y 4 u-x-y-z 4 2 u-v 3 u-x-y-w 1 u-x 2 u-x-y 4 u-x-y-z xy xy Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-15 5-16 Counting to Infinity Problem Routing Algorithms: Summary A R1 R2 Time 0A 1R1 1.