• No results found

CS 268: Lecture 11 Inter-domain Routing Protocol

N/A
N/A
Protected

Academic year: 2021

Share "CS 268: Lecture 11 Inter-domain Routing Protocol"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica). (*slides from Timothy Griffin and Craig Labovitz). . . . Overview An Introduction to BGP BGP and the Stable Paths problem Convergence of BGP in the real world The End-to-End Effects of Internet Path Selection. 2. 1.

(2) Internet Routing Internet organized as a two level hierarchy First level – autonomous systems (AS’s) . . - AS – region of network under a single administrative domain. AS’s run an intra-domain routing protocols . . - Distance Vector, e.g., RIP - Link State, e.g., OSPF. Between AS’s runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP) - De facto standard today, BGP-4. 3. Example Interior router BGP router AS-1. AS-3. AS-2. 4. 2.

(3) Inter-domain Routing basics Internet is composed of over 20000 autonomous systems . BGP = Border Gateway Protocol . - Policy-Based routing protocol. . - De facto inter-domain routing protocol of Internet. Relatively simple protocol, but… - complex configuration: entire world can see, and be impacted by, configuration mistakes 5. . . . . . BGP Basics Use TCP Border Gateway Protocol (BGP), based on Bellman-Ford path vector AS’s exchange reachability information through their BGP routers, only when routes change BGP routing information – a sequence of AS’s indicating the path traversed by a route General operations of a BGP router: - Learns multiple paths - Picks best path according to its AS policies - Install best pick in IP forwarding tables 6. 3.

(4) BGP Operations (Simplified) AS1. Establish session on TCP port 179. BGP session Exchange all active routes. AS2. Exchange incremental updates. While connection is ALIVE exchange route UPDATE messages 7. Customers and Providers. 01325476,89:1 Q/RPSUTV W-XYR. Z$[]\/^ S_.X$R. FHGDIJ,KMLHL,NPO ;<>=@?ABDCE. 

(5)      !! "#$%'&( *),+- . /+(  8. 4.

(6) The “Peering” Relationship.    . I-J KML L NPO K7879"6 .    

(7) . I-J KML L NPO1:<;>= K7879"6 . G  J J  N   I-J,K N I!>I"# . I%$NJ.J&OMIN' O(>I)* J G  J # +>!I MJ N  IUJ K N I. M I "# ,  J  G  J -.>LH/I  0 1@2I 3O $MK 4 65 5 5. 9. Peering Provides Shortcuts. G  J]N?4 K 7'@ K 7?7"A O  OMI-N' N IB#MI"#  I%$ O(@I/ *6JAMLDC/=NJ>E9F!J N J@G.  '  H.    

(8) 10 . 5.

(9) Peering Wars.  . . . Reduces upstream transit costs Can increase end-to-end performance May be the only way to connect your customers to some part of the Internet (“Tier 1”). . . . 9 :; <1 You would rather have customers Peers are usually your competitors Peering relationships may require periodic renegotiation. 

(10)         ! " #$  %& '  (   *)+,

(11) -./  01 "234' 5

(12) 06 #$ ! ".1' 78. 11. Architecture of Dynamic Routing. “” J•. CEDF. =?> @ g&HKJhL<gijP\QfSVUXWYSkH$ZlP\Q^]_Z^`aJSmWnP6WOdOWTe oqpnrsutwvyx{zn|{pY}T~c€‚OƒO„ €†‡„ €ƒYˆ„ƒ ‰„&Š‹ˆaŒvTt|cvOŽ[ GIHKJML<GONOPRQTSVUXWYS HZ[P\Q^]_Z^`aJSbWcP6WOdOWfe IŽf tXvn‘ax{zn|{pY}T~[’ ŠK. =?>BA. Gg&HK–J. 12. 6.

(13) AS-Path Sequence of AS’s a route traverses Used for loop detection and to apply policy AS-3. AS-4. 130.10.0.0/16. AS-2. 120.10.0.0/16. AS-5 110.10.0.0/16. AS-1. 120.10.0.0/16 AS-2 AS-3 AS-4 130.10.0.0/16 AS-2 AS-3 110.10.0.0/16 AS-2 AS-5 13. Four Types of BGP Messages Open : Establish a peering session. Keep Alive : Handshake at regular intervals. Notification : Shuts down a peering session. Update : Announcing new routes or withdrawing previously announced routes..  

(14) .       ! "

(15) # ! 14. 7.

(16) Two Types of BGP Neighbor Relationships. AS1. • External Neighbor (eBGP) in a different Autonomous Systems • Internal Neighbor (iBGP) in the same Autonomous System. bC,Da* 0 #.  3 *)b' "5 D  7'-'*$ # !  )uDa 3 !   +,m)+ 6)+. eBGP. iBGP AS2 15. iBGP Peers Must be Fully Meshed eBGP update. iBGP updates.

(17)   !#"%$&!#'#(# )'"*+)#( ,#!-, $.

(18) /0"1!"*%

(19)   &##23. 46587:9<;=5?>@BAADCACFE%G HJI GK5LCNMOGQPER5S@UTNVWGDGKX> Y5ZE\[D5S@ H @^]`_ 4ba@dcAeUER5f@gTAJhKEiAjM@ H V M&GKPE%AU>5f@E%G=a9<; CGAg>@BGUEk>Be H VWA H @BC e H PJ>BAU>l7m9<;=XBGKVf5LeJn [email protected]&GKMp H ER5WGj@qE%GNrBA VLGU>E 4b7m9s;NCGAU>@UGUE XM&G I 5WCDAtR>[BGKME%AU>JE X H ER[BuvM&GjPER5S@UT 16. 8.

(20) Important BGP attributes LocalPREF - Local preference policy to choose “most” preferred route. Multi-exit Discriminator (MED) - Which peering point to choose?. Import Rules - What route advertisements do I accept?. Export Rules - Which routes do I forward to whom? 17. Route Selection Summary.  

(21)   . O!LPDRQ!A1H JKA1J!S/CETF/Q!LPU V FWXU.   

(22)  !

(23) #"  "%$& '( !

(24) *),+/.10324(56.70324 '( !

(25) 8724(

(26)

(27) 90:24;<. @BA1CED7DGFIHKJ!LEM>FNLEJ J!AFNLEM. '( !

(28) *<=>

(29) ?87-. @BV A1QEY[Z W\VEC!LE]EU^C!LE] _ A1J C!`4TF/JEU 18. 9.

(30) Implementing Customer/Provider and Peer/Peer relationships. Enforce transit relationships - Outbound route filtering. Enforce order of route preference - provider < peer < customer. 19. Import Routes $ %& ')(+* ,%-%&. /0,. $ , ,%-%&. /0,.

(31)     . 1.2/0&34,%-%&. /0,. 576-89%&. /0,.

(32)     .   .   .

(33)    !.

(34)  " # !. 20. 10.

(35) Export Routes $ %& ')(+* ,%-%&. /0,. $ , ,%-%&. /0,.    "   . 1.2/0&34,%-%&. /0,. 576-89%&. /0,.

(36)     .  .     !.    !.

(37)      21. Overview .  An Introduction to BGP. BGP and the Stable Paths problem.  Convergence of BGP in the real world.  The End-to-End Effects of Internet Path Selection. 22. 11.

(38) What Problem is BGP solving? Underlying problem. Distributed means of computing a solution. Shortest Paths. RIP, OSPF, IS-IS. X?. BGP. Having an X can aid in the design of policy analysis algorithms and heuristics, aid in the analysis and design of BGP and extensions, help explain some BGP routing anomalies, Our provide a fun way of thinking about the protocol. focus. 23. Q : How simple can X get? A: The Stable Paths Problem (SPP) 210 22 0. An instance of the SPP : graph of nodes and edges node 0, called the origin for each non-zero node, a set or permitted paths to the origin—this set always contains the “null path” ranking of permitted paths at each node—null path is always least 1 preferred. 5. 5210. 2 4. 420 430. 3. 30. 0 1 130 10. most preferred … least preferred (not null). When modeling BGP : nodes represent BGP speaking border routers, and 0 represents a node originating some address block 24. 12.

(39) A Solution to a Stable Paths Problem 2. A solution is an assignment of permitted paths to each node such that node u’s assigned path is either the null path or is a path uwP, where wP is assigned to node w and {u,w} is an edge in the graph,. 210 20. 5. 5210. 2 4. 420 430. 0 1. 3 30 each node is assigned the highest 1 3 0 1 ranked path among those 10 consistent with the paths assigned to its neighbors. A Solution need not represent a shortest path tree, or a spanning tree.. 25. Example: SHORTEST1. 10 130. 1. 2. 20 210. 0 4 30. 430 420. 3 26. 13.

(40) Example: SHORTEST1 (Solution). 10 130. 1. 2. 20 210. 0 4. 430 420. 3. 30. 27. Example: SHORTEST2. 10 130. 1. 2. 20 210. 0 4 30. 420 430. 3 28. 14.

(41) Example: SHORTEST2 (Solution). 10 130. 1. 2. 20 210. 0 4 30. 420 430. 3 29. Example: GOOD GADGET. 130 10. 1. 2. 210 20. 0 4 30. 430 420. 3 30. 15.

(42) Example: GOOD GADGET (Solution). 130 10. 1. 2. 210 20. 0 4 30. 430 420. 3 31. A Stable Paths Problem may have multiple solutions 120 10. 120 10. 1. 120 10 1. 0. 0. 2 210 20 DISAGREE. 1. 2 210 20 First solution. 0 2 210 20 32. Second solution. 16.

(43) Example: NAUGHTY GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 430 420. 3 33. Example: NAUGHTY GADGET (Solution 1). 130 10. 1. 2. 210 20. 0 4 3420 30. 430 420. 3 34. 17.

(44) Example: NAUGHTY GADGET (Solution 2). 130 10. 1. 210 20. 2. 0 4 3420 30. 430 420. 3 35. SPP explains possibility of BGP divergence. BGP is not guaranteed to converge to a stable routing. Policy inconsistencies can lead to “livelock” protocol oscillations. See “Persistent Route Oscillations in Inter-domain Routing” by K. Varadhan, R. Govindan, and D. Estrin. ISI report, 1996. The SPP view : Solvable must converge. Can Diverge must diverge. 36. 18.

(45) Example: NAUGHTY GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 430 420. 3. 37. Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 420 430. 3. 38. 19.

(46) Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 39. Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 2 chooses (2 1 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 40. 20.

(47) Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0). … 4 chooses ( ) …. 41. Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 3 chooses (3 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 42. 21.

(48) Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 4 chooses (4 3 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 43. Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 1 chooses (1 3 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 44. 22.

(49) Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 2 chooses (2 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 45. Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 4 chooses (4 2 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 46. 23.

(50) Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 420 430. 3 … 3 chooses (3 4 2 0) …. • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) 47. Example: BAD GADGET. 130 10. 1. 2. 210 20. 0 4 3420 30. 3 … 1 chooses (1 0) …. 420 430 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0). That was one round of oscillation!. 48. 24.

(51) BAD GADGET : No Solution In a BGP-like protocol • each node local decisions • at least one node can always improve its path. 2. 210 20 4. Result: persistent oscillation. 420 430. 0 3. 1. 3420 3 0 49. 130 10. SURPRISE : Beware of Backup Policies. 2. 210 20. BGP is not robust : it is not guaranteed to recover from network failures.. 4. 40 420 430. 0 3. 1 130 10. Becomes BAD GADGET if link (4, 0) goes down.. 3420 3 0 50. 25.

(52) PRECARIOUS Has a solution, but can get “trapped” 4 310 3120. 4310 453120 43120. 1. 3. 120 10. 0. 5. 6. 5310 563120 53120. 6310 643120 63120. 2. This part has a solution only when node 1 is assigned the direct path (1 0).. 210 20. As with DISAGREE, this part has two distinct solutions. 51. Theoretical Results  The problem of determining whether an instance. of stable paths problem is solvable is NPcomplete  Shortest path route selection is provably safe. 52. 26.

(53) What is to be done? Static Approach. Dynamic Approach. Extend BGP with a dynamic means of detecting and suppressing policy-based oscillations?. Automated Analysis of Routing Policies (This is very hard).. Inter-AS coordination. These approaches are complementary. 53. Overview  An Introduction to BGP .  BGP and the Stable Paths problem. Convergence of BGP in the real world.  The End-to-End Effects of Internet Path Selection. 54. 27.

(54) Convergence in the real-world? [Labovitz99] Experimental results from two year study which measured 150,000 BGP faults injected into peering sessions at several IXPs Found: - Internet averages 3 minutes to converge after failover - Some multihomed failovers (short to long ASPath) require 15 minutes 55. BGP Convergence Example. R AS2. AS3. AS0. AS1. *B R via AS3 *B R via AS1,AS3 B R via AS2,AS3. *B R via AS3 * B R via AS0,AS3 *B B R via 203 AS2,AS3. AS0. AS1. *B B **B B. R R R R. via AS3 via viaAS0,AS3 013 via AS2,AS3 via 10356 AS2. 28.

(55) . Convergence Result If we assume 1. unbounded delay on BGP processing and propagation 2. Full BGP mesh BGP peers 3. Constrained shortest path first selection algorithm. . There exists possible ordering of messages such that BGP will explore all possible ASPaths of all possible lengths Convergence time of BGP is O(N!), where N number of BGP speakers. 57. Overview  An Introduction to BGP.  BGP and the Stable Paths problem .  Convergence of BGP in the real world. The End-to-End Effects of Internet Path Selection. 58. 29.

(56) End-to-end effects of Path Selection  Goal of study: Quantify and understand the. impact of path selection on end-to-end performance  Basic metric - Let X = performance of default path - Let Y = performance of best path - Y-X = cost of using default path.  Technical issues. - How to find the best path? - How to measure the best path?. 59. Approximating the best path  Key Idea - Use end-to-end measurements to extrapolate potential alternate paths.  Rough Approach. - Measure paths between pairs of hosts - Generate synthetic topology – full NxN mesh - Conservative approximation of best path.  Question: Given a selection of N hosts, how. crude is this approximation?. 60. 30.

(57) Methodology For each pair of end-hosts, calculate: - Average round-trip time - Average loss rate - Average bandwidth. Generate synthetic alternate paths (based on long-term averages) For each pair of hosts,graph difference between default path and alternate path. 61. 

(58)   

(59)  . 62. 31.

(60) 

(61)      . 63.   

(62)      . 64. 32.

(63) 

(64)      . 65. Why Path Selection is imperfect? Technical Reasons -. Single path routing Non-topological route aggregation Coarse routing metrics (AS_PATH) Local policy decisions. Economic Reasons - Disincentive to offer transit - Minimal incentive to optimize transit traffic. 66. 33.

(65)

References

Related documents

For casual Web surfing, surface credibility matters most and earned credibility matters little, since people are not processing information deeply and are not engaging with

We explored the prognostic value of diffusion tensor imaging (DTI) parameters of selected white matter (WM) tracts in predicting neuropsychological outcome, both at baseline and

I, N.N., a servant of God, call upon thee, desire and conjure thee, O Spirit Anoch, by the wisdom of Solomon, by the obedience of Isaac, by the blessing of Abraham, by the piety

On the complex issue of how religion bears on public reason, see Kent Greenawalt, Religious Convictions and Political Choice (New York: Oxford University Press, 1988), chapters 8,

„ Neighbor does not have neighbor statement for this router „ Neighbor does not have a route to the source ip address of. the BGP open packet generated by

those Only routes used by router itself (i.e. those chosen into routing table) are propagated to chosen into routing table) are propagated to. other neighbors

Introduction Border Gateway Protocol BGP routers typically receive multiple paths to the expense destination The BGP best path algorithm decides which base the no path you install

secondary to SnapMirror deployment 37 SnapVault with data compression 37 SnapVault with deduplication 37 SnapVault with volume SnapMirror 38 storage efficiency 37 SnapVault