what have we learned from reverse engineering the
play

What Have We Learned from Reverse-Engineering the Internets - PowerPoint PPT Presentation

What Have We Learned from Reverse-Engineering the Internets Inter-domain Routing Protocol? Timothy G. Griffin Computer Laboratory University of Cambridge, UK timothy.griffin@cl.cam.ac.uk Advanced Networks Colloquium ECE University of


  1. What Have We Learned from Reverse-Engineering the Internet’s Inter-domain Routing Protocol? Timothy G. Griffin Computer Laboratory University of Cambridge, UK timothy.griffin@cl.cam.ac.uk Advanced Networks Colloquium ECE — University of Maryland 28 October, 2011 tgg (cl.cam.ac.uk) lessons 28-10-2011 1 / 30

  2. The Answer! Hitherto algebraic path problems have focused on global optimality: finding best paths over all possible paths. Another notion is local optimality : each node gets the best paths it can obtain given what is available from its neighbors ( routing in equilibrium ). The two notions coincide in the classical theory. We have learned that in some cases ... Algebraic path problems admit unique local optima that are distinct from global optima. Local optima represent a more meaningful solution. We can find local optima in polynomial time. tgg (cl.cam.ac.uk) lessons 28-10-2011 2 / 30

  3. Shortest paths example, sp = ( N ∞ , min , +) The adjacency matrix 2 1 2 3 4 5  ∞ ∞  2 1 6 1 2 5 4 2 ∞ 5 ∞ 4 2     A = 1 5 ∞ 4 3 3 5 1 1 3 3     6 ∞ 4 ∞ ∞ 4   ∞ 4 3 ∞ ∞ 5 6 4 4 tgg (cl.cam.ac.uk) lessons 28-10-2011 3 / 30

  4. Shortest paths example, continued The routing matrix 2 1 2 3 4 5  0 2 1 5 4  1 2 5 4 2 0 3 7 4 2   A ∗ =   1 3 0 4 3 3 5 1 1 3 3     5 7 4 0 7 4   4 4 3 7 0 5 6 4 Matrix A ∗ solves this global optimality problem: 4 A ∗ ( i , j ) = p ∈ P ( i , j ) w ( p ) , min Bold arrows indicate the shortest-path tree rooted at 1. where P ( i , j ) is the set of all paths from i to j . tgg (cl.cam.ac.uk) lessons 28-10-2011 4 / 30

  5. Widest paths example, ( N ∞ , max , min ) The routing matrix 2 1 2 3 4 5  ∞ 4 4 6 4  1 2 5 4 4 ∞ 5 4 4 2   A ∗ =   4 5 ∞ 4 4 3 3 3 5   1 1   6 4 4 ∞ 4 4   ∞ 4 4 4 4 5 6 4 Matrix A ∗ solves this global optimality problem: 4 A ∗ ( i , j ) = p ∈ P ( i , j ) w ( p ) , max Bold arrows indicate the widest-path tree rooted at 1. where w ( p ) is now the minimal edge weight in p . tgg (cl.cam.ac.uk) lessons 28-10-2011 5 / 30

  6. Fun example, ( 2 { a , b , c } , ∪ , ∩ ) We want a Matrix A ∗ to solve this 2 global optimality problem: { a } { a b c } { c } � A ∗ ( i , j ) = w ( p ) , p ∈ P ( i , j ) { b c } { b } 5 1 3 where w ( p ) is now the intersection { a b } { b } of all edge weights in p . 4 For x ∈ { a , b , c } , interpret x ∈ A ∗ ( i , j ) to mean that there is at least one path from i to j with x in every arc weight along the path. tgg (cl.cam.ac.uk) lessons 28-10-2011 6 / 30

  7. Fun example, ( 2 { a , b , c } , ∪ , ∩ ) The matrix A ∗ 1 2 3 4 5  { a b c } { a b c } { a b c } { a b } { b c }  1 { a b c } { a b c } { a b c } { a b } { b c } 2     { a b c } { a b c } { a b c } { a b } { b c } 3     { a b } { a b } { a b } { a b c } { b } 4   { b c } { b c } { b c } { b } { a b c } 5 tgg (cl.cam.ac.uk) lessons 28-10-2011 7 / 30

  8. Semirings A few examples name S ⊕ , ⊗ 0 1 possible routing use N ∞ sp min + ∞ 0 minimum-weight routing N ∞ max min 0 ∞ greatest-capacity routing bw [ 0 , 1 ] max × 0 1 most-reliable routing rel { 0 , 1 } max min 0 1 usable-path routing use 2 W ∪ ∩ {} W shared link attributes? 2 W ∩ ∪ W {} shared path attributes? Path problems focus on global optimality � A ∗ ( i , j ) = w ( p ) p ∈ P ( i , j ) tgg (cl.cam.ac.uk) lessons 28-10-2011 8 / 30

  9. Recommended Reading tgg (cl.cam.ac.uk) lessons 28-10-2011 9 / 30

  10. What algebraic properties are needed for efficient computation of global optimality? Distributivity : a ⊗ ( b ⊕ c ) = ( a ⊗ b ) ⊕ ( a ⊗ c ) , L.D R.D : ( a ⊕ b ) ⊗ c = ( a ⊗ c ) ⊕ ( b ⊗ c ) . What is this in sp = ( N ∞ , min , +) ? : a + ( b min c ) = ( a + b ) min ( a + c ) , L . DIST R . DIST : ( a min b ) + c = ( a + c ) min ( b + c ) . But some realistic metrics are not distributive! What can we do? tgg (cl.cam.ac.uk) lessons 28-10-2011 10 / 30

  11. Left-Local Optimality Say that L is a left locally-optimal solution when L = ( A ⊗ L ) ⊕ I . That is, for i � = j we have � L ( i , j ) = A ( i , q ) ⊗ L ( q , j ) q ∈ V L ( i , j ) is the best possible value given the values L ( q , j ) , for all out-neighbors q of source i . Rows L ( i , _ ) represents out-trees from i (think Bellman-Ford). Columns L ( _ , i ) represents in-trees to i . Works well with hop-by-hop forwarding from i . tgg (cl.cam.ac.uk) lessons 28-10-2011 11 / 30

  12. Right-Local Optimality Say that R is a right locally-optimal solution when R = ( R ⊗ A ) ⊕ I . That is, for i � = j we have � R ( i , j ) = R ( i , q ) ⊗ A ( q , j ) q ∈ V R ( i , j ) is the best possible value given the values R ( q , j ) , for all in-neighbors q of destination j . Rows L ( i , _ ) represents out-trees from i (think Dijkstra). Columns L ( _ , i ) represents in-trees to i . Does not work well with hop-by-hop forwarding from i . tgg (cl.cam.ac.uk) lessons 28-10-2011 12 / 30

  13. With and Without Distributivity With For semirings, the three optimality problems are essentially the same — locally optimal solutions are globally optimal solutions. A ∗ = L = R Without Suppose that we drop distributivity and A ∗ , L , R exist. It may be the case they they are all distinct. Health warning : matrix multiplication over structures lacking distributivity is not associative! tgg (cl.cam.ac.uk) lessons 28-10-2011 13 / 30

  14. Example 1 ( 5 , 1 ) ( 5 , 1 ) ( 10 , 5 ) 2 ( 5 , 4 ) ( 5 , 1 ) ( 5 , 1 ) 4 3 5 ( 10 , 1 ) ( bandwidth , distance ) with lexicographic order (bandwidth first). tgg (cl.cam.ac.uk) lessons 28-10-2011 14 / 30

  15. Global optima 1 2 3 4 5  ( ∞ , 0 ) ( 5 , 1 ) ( 0 , ∞ ) ( 0 , ∞ ) ( 0 , ∞ )  1 ( 0 , ∞ ) ( ∞ , 0 ) ( 0 , ∞ ) ( 0 , ∞ ) ( 0 , ∞ ) 2   A ∗ =   ( 5 , 2 ) ( 5 , 3 ) ( ∞ , 0 ) ( 5 , 1 ) ( 5 , 2 ) 3 ,     ( 10 , 6 ) ( 5 , 2 ) ( 5 , 2 ) ( ∞ , 0 ) ( 10 , 1 ) 4   ( 10 , 5 ) ( 5 , 4 ) ( 5 , 1 ) ( 5 , 2 ) ( ∞ , 0 ) 5 tgg (cl.cam.ac.uk) lessons 28-10-2011 15 / 30

  16. Left local optima 1 2 3 4 5  ( ∞ , 0 ) ( 5 , 1 ) ( 0 , ∞ ) ( 0 , ∞ ) ( 0 , ∞ )  1 ( 0 , ∞ ) ( ∞ , 0 ) ( 0 , ∞ ) ( 0 , ∞ ) ( 0 , ∞ ) 2     L = ( 5 , 7 ) ( 5 , 3 ) ( ∞ , 0 ) ( 5 , 1 ) ( 5 , 2 ) 3 ,     ( 10 , 6 ) ( 5 , 2 ) ( 5 , 2 ) ( ∞ , 0 ) ( 10 , 1 ) 4   ( 10 , 5 ) ( 5 , 4 ) ( 5 , 1 ) ( 5 , 2 ) ( ∞ , 0 ) 5 Entries marked in bold indicate those values which are not globally optimal. tgg (cl.cam.ac.uk) lessons 28-10-2011 16 / 30

  17. Right local optima 1 2 3 4 5  ( ∞ , 0 ) ( 5 , 1 ) ( 0 , ∞ ) ( 0 , ∞ ) ( 0 , ∞ )  1 ( 0 , ∞ ) ( ∞ , 0 ) ( 0 , ∞ ) ( 0 , ∞ ) ( 0 , ∞ ) 2     R = ( 5 , 2 ) ( 5 , 3 ) ( ∞ , 0 ) ( 5 , 1 ) ( 5 , 2 ) 3 ,     ( 10 , 6 ) ( 5 , 6 ) ( 5 , 2 ) ( ∞ , 0 ) ( 10 , 1 ) 4   ( 10 , 5 ) ( 5 , 5 ) ( 5 , 1 ) ( 5 , 2 ) ( ∞ , 0 ) 5 tgg (cl.cam.ac.uk) lessons 28-10-2011 17 / 30

  18. Left-locally optimal paths to node 2 1 2 4 3 5 tgg (cl.cam.ac.uk) lessons 28-10-2011 18 / 30

  19. Right-locally optimal paths to node 2 1 1 , 3 , 4 → 2 3 → 2 4 → 2 2 5 → 2 4 3 → 2 3 5 → 2 5 4 → 2 tgg (cl.cam.ac.uk) lessons 28-10-2011 19 / 30

  20. Inter-domain routing in the Internet The Border Gateway Protocol (BGP) In the distributed Bellman-Ford family. Hard-state (not refresh based). Complex policy and metrics. Primary requirement: connectivity should not violate the economic relationships between autonomous networks. At a very high-level, the metric combines economics and traffic engineering. This is implemented using a lexicographic product, where economics is most significant. tgg (cl.cam.ac.uk) lessons 28-10-2011 20 / 30

  21. Simplified model (Gao and Rexford) customer route : from somebody paying you for transit services. provider route : from somebody you are paying for transit services. peer route : from a competitor. ◮ If you are at top of food chain you are forced to do this. ◮ Smaller networks do this to reduce their provider charges. customer < peer < provider tgg (cl.cam.ac.uk) lessons 28-10-2011 21 / 30

  22. Route visibility restriction Providers provider NO! Providers Peers NO! peer NO! peer Peers customer NO! YES Customers YES Customers The primary source for violations of distributivity. tgg (cl.cam.ac.uk) lessons 28-10-2011 22 / 30

  23. Bellman-Ford can compute left-local solutions A [ 0 ] = I A [ k + 1 ] ( A ⊗ A k ) ⊕ I , = Bellman-ford algorithm must be modified to ensure only loop-free paths are inspected. ( S , ⊕ , 0 ) is a commutative, idempotent, and selective monoid, ( S , ⊗ , 1 ) is a monoid, 0 is the annihilator for ⊗ , 1 is the annihilator for ⊕ , Left strictly inflationarity, L . S . INF : ∀ a , b : a � = 0 = ⇒ a < a ⊗ b Here a ≤ b ≡ a = a ⊕ b . Convergence to a unique left-local solution is guaranteed. Currently no bound is known on the number of iterations required. tgg (cl.cam.ac.uk) lessons 28-10-2011 23 / 30

Recommend


More recommend