1 / 67

Inter-domain Routing Protocol

Inter-domain Routing Protocol. 2007. 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. CMU (PSC). The Internet: Zooming In. ASes: Independently owned & operated commercial entities.

sage
Download Presentation

Inter-domain Routing Protocol

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. Inter-domain Routing Protocol 2007

  2. 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

  3. CMU (PSC) The Internet: Zooming In • ASes: Independently owned & operated commercial entities Autonomous Systems (ASes) Abilene BGP Comcast AT&T Cogent IGPs (OSPF, etc) All ASes are not equal

  4. 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

  5. Inter-domain Routing basics • Internet is composed of over 20000 AS’s • All AS’s must cooperate to ensure reachability • BGP = Border Gateway Protocol • Policy-Based routing protocol • De facto inter-domain routing protocol of Internet • Relatively simple protocol, but… • Extremely complex configuration flexibility: entire world can see, and be impacted by, configuration mistakes • Many open research problems in policy, scalability, failover, configuration, correctness, security.

  6. BGP Basics • Use TCP - AS’s exchange • 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

  7. BGP Operations (Simplified) AS1 Establish session on TCP port 179 BGP session Exchange all active routes AS2 While connection is ALIVE exchange route UPDATE messages Exchange incremental updates

  8. Tier-1 ISPs have “default-free” routing tables (i.e., they don’t have any default routes), and typically have global reachability information. There are a handful of these today (about five or so). Various Types of ISPs Tier 1 ISP Tier 1 ISP Tier 2 Tier 2 Tier 2 Tier 3 Tier 2: Regional/National Tier 3: Local

  9. AS relationships • Very complex economic landscape. • Simplifying a bit: • Transit: “I pay you to carry my packets to everywhere” (provider-customer) • Peering: “For free, I carry your packets to my customers only.” (peer-peer) • Technical defn of tier-1 ISP: In the “default-free” zone. No transit. • Note that other “tiers” are marketing, but convenient. “Tier 3” may connect to tier-1.

  10. IP traffic Customers and Providers provider provider customer customer Customer pays provider for access to the Internet

  11. peer peer provider customer The “Peering” Relationship Peers provide transit between their respective customers Peers do not provide transit between peers Peers (often) do not exchange $$$ traffic allowed traffic NOT allowed

  12. peer peer provider customer Peering Provides Shortcuts Peering also allows connectivity between the customers of “Tier 1” providers.

  13. 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”) You would rather have customers Peers are usually your competitors Peering relationships may require periodic renegotiation Peering Wars Peer Don’t Peer Peering struggles are by far the most contentious issues in the ISP world! Peering agreements are often confidential.

  14. Architecture of Dynamic Routing OSPF BGP AS 1 EIGRP IGP = Interior Gateway Protocol AS 2 Metric based: OSPF, IS-IS, RIP, EIGRP (cisco) EGP = Exterior Gateway Protocol Policy based: BGP

  15. 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 120.10.0.0/16 AS-5 AS-2 110.10.0.0/16 120.10.0.0/16 AS-2 AS-3 AS-4 AS-1 130.10.0.0/16 AS-2 AS-3 110.10.0.0/16 AS-2 AS-5

  16. 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. announcement = prefix + attributes values

  17. Two Types of BGP Neighbor Relationships • External Neighbor (eBGP) in a different Autonomous Systems • Internal Neighbor (iBGP) in the same Autonomous System AS1 iBGP is routed using Interior Gateway Protocol (IGP) such as OSPF/IS-IS eBGP iBGP AS2

  18. eBGP update iBGP updates iBGP Peers Must be Fully Meshed • iBGP is needed to avoid routing loops within an AS • Injecting external routes into IGP does not scale and causes BGP policy information to be lost • BGP does not provide “shortest path” routing iBGP neighbors do not announce routes received via iBGP to other iBGP neighbors.

  19. Important BGP attributes • Local PREF • 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?

  20. Route Selection Summary Highest Local Preference Enforce relationships Shortest ASPATH Lowest MED Traffic engineering i-BGP < e-BGP Lowest IGP cost to BGP egress Throw up hands and break ties Lowest router ID

  21. provider route peer route customer route ISP route Import Routes From provider From provider From peer From peer From customer From customer

  22. filters block Export Routes provider route peer route customer route ISP route To provider From provider To peer To peer To customer To customer

  23. 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

  24. 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& heuristics • aid in the analysis and design of BGP and extensions • help explain some BGP routing anomalies • provide a fun way of thinking about the protocol Our focus

  25. 5 0 3 4 2 1 Q : How simple can X get?A: The Stable Paths Problem (SPP) 2 1 0 2 0 2 5 2 1 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 preferred 4 2 0 4 3 0 3 0 1 3 0 1 0 most preferred … least preferred (not null) 1 When modeling BGP : nodes represent BGP speaking border routers, and 0 represents a node originating some address block

  26. 5 2 1 0 5 1 0 2 4 3 A Solution to a Stable Paths Problem 2 A solution is an assignment of permitted paths to each node such that 2 1 0 2 0 • 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, • each node is assigned the highest ranked path among those consistent with the paths assigned to its neighbors. 4 2 0 4 3 0 3 0 1 1 3 0 1 0 A Solution need not represent a shortest path tree, or a spanning tree.

  27. 1 2 4 3 0 Example: SHORTEST1 2 0 2 1 0 1 0 1 3 0 4 3 0 4 2 0 3 0

  28. 1 2 4 3 0 Example: SHORTEST1 (Solution) 2 0 2 1 0 1 0 1 3 0 4 3 0 4 2 0 3 0

  29. 1 2 4 3 0 Example: SHORTEST2 2 0 2 1 0 1 0 1 3 0 4 2 0 4 3 0 3 0

  30. 1 2 4 3 0 Example: SHORTEST2 (Solution) 2 0 2 1 0 1 0 1 3 0 4 2 0 4 3 0 3 0

  31. 1 2 4 3 0 Example: GOOD GADGET 2 1 0 2 0 1 3 0 1 0 4 3 0 4 2 0 3 0

  32. 1 2 4 3 0 Example: GOOD GADGET (Solution) 2 1 0 2 0 1 3 0 1 0 4 3 0 4 2 0 • No another solution: • 1 chooses (1 0) • 2 chooses (2 1 0) • 3 chooses (3 0) • 4 chooses (4 3 0) 3 0

  33. 1 1 1 0 0 0 2 2 2 A Stable Paths Problem may have multiple solutions 1 2 0 1 0 1 2 0 1 0 1 2 0 1 0 2 1 0 2 0 2 1 0 2 0 2 1 0 2 0 DISAGREE First solution Second solution

  34. 1 2 4 3 0 Example: NAUGHTY GADGET 2 1 0 2 0 1 3 0 1 0 4 3 0 4 2 0 3 4 2 0 3 0

  35. 1 2 4 3 0 Example: NAUGHTY GADGET (Solution 1) 2 1 0 2 0 1 3 0 1 0 4 3 0 4 2 0 3 4 2 0 3 0

  36. 1 2 4 3 0 Example: NAUGHTY GADGET (Solution 2) 2 1 0 2 0 1 3 0 1 0 4 3 0 4 2 0 3 4 2 0 3 0

  37. 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, etc. ISI report, 1996 The SPP view : Solvable Can Diverge must diverge must converge

  38. 1 2 4 3 0 Example: NAUGHTY GADGET 2 1 0 2 0 1 3 0 1 0 4 3 0 4 2 0 3 4 2 0 3 0

  39. 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 1 2 4 3 0 3 4 2 0 3 0 Example: BAD GADGET That was one round of oscillation!

  40. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0)

  41. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 2 chooses (2 1 0) …

  42. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 4 chooses ( ) …

  43. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 3 chooses (3 0) …

  44. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 4 chooses (4 3 0) …

  45. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 1 chooses (1 3 0) …

  46. 1 2 3 0 4 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 2 chooses (2 0) …

  47. 1 2 3 0 4 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 4 chooses (4 2 0) …

  48. 1 2 3 0 4 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 3 chooses (3 4 2 0) … That was one round of oscillation!

  49. 1 2 4 3 0 Example: BAD GADGET 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 3 4 2 0 3 0 • 2 chooses (2 0) • 4 chooses (4 2 0) • 3 chooses (3 4 2 0) • 1 chooses (1 0) … 1 chooses (1 0) … That was one round of oscillation!

  50. 2 1 0 2 0 1 3 0 1 0 4 2 0 4 3 0 1 2 4 3 0 3 4 2 0 3 0 BAD GADGET : No Solution In a BGP-like protocol • each node local decisions • at least one node can always improve its path Result: persistent oscillation

More Related