Interdomain Routing BGP. Benjamin Baron

Size: px
Start display at page:

Download "Interdomain Routing BGP. Benjamin Baron"

Transcription

1 Interdomain Routing BGP Benjamin Baron

2 Goals of Today s Lecture Challenges of interdomain routing Scale, privacy, and policy Limitations of link-state and distance-vector routing Path-vector routing Faster loop detection than distance-vector routing More flexibility than shortest-path routing Border Gateway Protocol (BGP) Incremental, prefix-based, path-vector protocol Programmable import and export policies Multi-step decision process for selecting best route Multiple routers within an AS BGP convergence delay

3 Background IP addressing Address allocation blocks Packet forwarding Routing protocols Autonomous Systems Interdomain routing Intradomain routing

4 IP Addressing 32-bit number in dotted-quad notation ( ) Divided into network & host portions (left and right) /24 is a 24-bit prefix with 2 8 addresses Network (24 bits) Host (8 bits)

5 Some History: Why Dotted-Quad Notation? In the older days Class A: 0* Very large /8 blocks (e.g., MIT has /8) Class B: 10* Large /16 blocks (e.g,. Princeton has /16) Class C: 110* Small /24 blocks (e.g., AT&T Labs has /24) Class D: 1110* Multicast groups Class E: 11110* Reserved for future use (sounds a bit scary ) And then, address space became scarce

6 Classless Inter-Domain Routing (CIDR) Use two 32-bit numbers to represent a network. Network number = IP address + Mask IP Address : IP Mask: Address Mask Network Prefix for hosts Usually written as /15

7 CIDR = Hierarchy in Address Allocation Prefixes are key to Internet scalability Address allocation by ARIN/RIPE/APNIC and by ISPs Routing protocols and packet forwarding based on prefixes Today, routing tables contain ~500,000 prefixes / / / / / / / / / / / / / / / / /19...

8 IP Address!= Host Machine Dynamic IP address assignment (DHCP) Single client may have multiple addresses over time Address may correspond to multiple clients over time Shared machines Multiple users on a shared compute server Transfers traveling through proxies and firewalls Multiple Web sites hosted on a single machine Replicated sites Multiple machines hosting a single (popular) Web site Addresses do not correspond to geographic location Similar prefix does not necessarily imply nearby hosts Single prefix may span hosts in large geographic region Source IP address may be spoofed (e.g., DoS attack)

9 Forwarding vs. Routing Forwarding: data plane Directing a data packet to an outgoing link Individual router using a forwarding table Routing: control plane Computing the paths the packets will follow Routers talking amongst themselves Individual router creating a forwarding table

10 Routing vs. Forwarding Default to upstream router A R R1 R4 R R2 B R5 R3 R Net A B C D E default C Nxt Hop R1 Direct R3 R1 R3 R1 Forwarding always works Routing can be badly broken Net A B C D E default Nxt Hop R2 R2 Direct R5 R5 R2 D E Forwarding: determine next hop Routing: establish end-to-end paths Net A B C D E default Nxt Hop R4 R3 R3 R4 Direct R4

11 Longest Prefix Match Forwarding Forwarding tables in IP routers Maps each IP prefix to next-hop link(s) Destination-based forwarding Packet has a destination address Router identifies longest-matching prefix Nice algorithmic problem: very fast lookups forwarding table destination / / / / /24 outgoing link Serial0/0.1

12 Where do Forwarding Tables Come From? Routers have forwarding tables Map prefix to outgoing link(s) Entries can be statically configured E.g., map /24 to Serial0/0.1 But, this doesn t adapt To failures To new equipment To the need to balance load That is where routing (protocols) come in

13 How Are Forwarding Tables Populated to implement Routing? Statically Administrator manually configures forwarding table entries + More control + Not restricted to destination-based forwarding - Doesn t scale - Slow to adapt to network failures Dynamically Routers exchange network reachability information using ROUTING PROTOCOLS. Routers use this to compute best routes + Can rapidly adapt to changes in network topology + Can be made to scale well - Complex distributed algorithms - Consume CPU, Bandwidth, Memory - Debugging can be difficult - Current protocols are destination-based In practice : a mix of these. Static routing mostly at the edge

14 What is Routing? A famous quotation from RFC 791 A name indicates what we seek. An address indicates where it is. A route indicates how we get there. -- Jon Postel

15 Data, Control, and Management Planes Data Plane Control Plane Management Plane Timescale Packet (nsec) Event (10 msec to sec) Human (min to hours) Tasks Forwarding, buffering, filtering, scheduling Routing, signaling Analysis, configuration Location Line-card hardware Router software Humans or scripts

16 Architecture of Dynamic Routing OSPF AS 1 BGP IGP = Interior Gateway Protocol Metric based: OSPF, IS-IS, RIP, EIGRP (cisco) EGP = Exterior Gateway Protocol Policy based: BGP AS 2 EIGRP The Routing Domain of BGP is the entire Internet

17 Distributed Routing Technology Link State Topology information is flooded within the routing domain Best end-to-end paths are computed locally at each router Best end-to-end paths determine next-hops Based on minimizing some notion of distance Works only if policy is shared and uniform Examples: OSPF, IS-IS Vectoring Each router knows little about network topology Only best next-hops are chosen by each router for each destination network Best end-to-end paths result from composition of all nexthop choices Does not require any notion of distance Does not require uniform policies at all routers Examples: RIP, BGP

18 The Gang of Four Link State Vectoring IGP OSPF IS-IS RIP EGP BGP

19 Routers Talking to Routers Routing info Routing info Routing computation is distributed among routers within a routing domain Computation of best next hop based on routing information is the most CPU/memory intensive task on a router Routing messages are usually not routed, but exchanged via layer 2 between physically adjacent routers (internal BGP and multi-hop external BGP are exceptions)

20 Shortest-Path Routing Path-selection model Destination-based Minimum hop count or sum of link weights Dynamic vs. static link weights

21 Distance Vector Routing: Bellman-Ford Define distances at each node x d x (y) = cost of least-cost path from x to y Update distances based on neighbors d x (y) = min {c(x,v) + d v (y)} over all neighbors v u 3 2 v w x 5 s 3 4 y t 1 z d u (z) = min{c(u,v) + d v (z), c(u,w) + d w (z)} e.g., RIP and EIGRP

22 Link-State Routing: Dijsktra s Algorithm Each router keeps track of its incident links Link cost, and whether the link is up or down Each router broadcasts the link state To give every router a complete view of the graph Each router runs Dijkstra s algorithm To compute shortest paths and forwarding table e.g., OSPF and IS-IS

23 Intradomain Routing Today Link-state routing with static link weights Static weights: avoid stability problems Link state: faster reaction to topology changes Most common protocols in backbones OSPF: Open Shortest Path First IS-IS: Intermediate System Intermediate System Some use of distance vector in enterprises RIP: Routing Information Protocol EIGRP: Enhanced Interior Gateway Routing Protocol Growing use of Multi-Protocol Label Switching

24 Link-State Routing is Problematic Topology information is flooded High bandwidth and storage overhead Forces nodes to divulge sensitive information Entire path computed locally per node High processing overhead in a large network Minimizes some notion of total distance Works only if policy is shared and uniform Typically used only inside an AS E.g., OSPF and IS-IS

25 Challenges for Interdomain Routing Scale Prefixes: 150, ,000, and growing ASes: 20,000 visible ones, and growing AS paths and routers: at least in the millions Privacy ASes don t want to divulge internal topologies or their business relationships with neighbors Policy No Internet-wide notion of a link cost metric Need control over where you send traffic and who can send traffic through you

26 Shortest-Path Routing is Restrictive All traffic must travel on shortest paths All nodes need common notion of link costs Incompatible with commercial relationships National ISP1 National ISP2 YES NO Regional ISP3 Regional ISP2 Regional ISP1 Cust3 Cust2 Cust1

27 Distance Vector is on the Right Track Advantages Hides details of the network topology Nodes determine only next hop toward the dest Disadvantages Minimizes some notion of total distance, which is difficult in an interdomain setting Slow convergence due to the counting-to-infinity problem ( bad news travels slowly ) Idea: extend the notion of a distance vector

28 Path-Vector Routing Extension of distance-vector routing Support flexible routing policies Avoid count-to-infinity problem Key idea: advertise the entire path Distance vector: send distance metric per dest d Path vector: send the entire path for each dest d 3 d: path (2,1) d: path (1) 2 1 data traffic data traffic d

29 Faster Loop Detection Node can easily detect a loop Look for its own node identifier in the path E.g., node 1 sees itself in the path 3, 2, 1 Node can simply discard paths with loops E.g., node 1 simply discards the advertisement 3 d: path (2,1) d: path (1) 2 1 d: path (3,2,1)

30 Flexible Policies Each node can apply local policies Path selection: Which path to use? Path export: Which paths to advertise? Examples Node 2 may prefer the path 2, 3, 1 over 2, 1 Node 1 may not let node 3 hear the path 1,

31 Routing Protocols Dissemination Link State Distance Vector Path Vector Algorithm Converge Protocols

32 Routing Protocols Link State Distance Vector Path Vector Dissemination Flood link state advertisements to all routers Update distances from neighbors distances Update paths based on neighbors paths Algorithm Dijsktra s shortest path Bellman-Ford shortest path Local policy to rank paths Converge Fast due to flooding Slow, due to count-toinfinity Slow, due to path exploration Protocols OSPF, IS-IS RIP, EIGRP BGP

33 Two-Tiered Internet Routing Architecture Goal: distributed management of resources Internetworking of multiple networks Networks under separate administrative control Solution: two-tiered routing architecture Intradomain: inside a region of control Okay for routers to share topology information Routers configured to achieve a common goal Interdomain: between regions of control Not okay to share complete information Networks may have different/conflicting goals Led to the use of different protocols

34 Connections Between Networks dial-in access interdomain protocols private peering ISP 2 intradomain protocols ISP 1 gateway router IXP destination access router ISP 3 commercial customer destination

35 Internet Structure Federated network of Autonomous Systems (AS) Routers and links controlled by a single entity Routing between ASes, and within an AS Web client Web server

36 Internet Routing Architecture Divided into Autonomous Systems (AS) Distinct regions of administrative control Routers/links managed by a single institution Service provider, company, university, Hierarchy of Autonomous Systems Large, tier-1 provider with a nationwide backbone Medium-sized regional provider with smaller backbone Small network run by a single company or university Interaction between Autonomous Systems Internal topology is not shared between ASes but, neighboring ASes interact to coordinate routing

37 Autonomous Systems (ASes) An autonomous system is an autonomous routing domain that has been assigned an Autonomous System Number (ASN) the administration of an AS appears to other ASes to have a single coherent interior routing plan and presents a consistent picture of what networks are reachable through it. RFC 1930: Guidelines for creation, selection, and registration of an Autonomous System

38 AS Numbers (ASNs) Level 3: 1 MIT: 3 Harvard: 11 Yale: 29 ASNs are 16 bit values through are private Princeton: 88 AT&T: 7018, 6341, 5074, Sprint: 1239, 1240, 6211, 6242, UPMC: 1307 Currently around 20,000 in use ASNs represent units of routing policy

39 Characterizations of AS Topology Tier-1: small number of tier-1 ASes A near-clique of ~15 ASes with no providers AT&T, Sprint, UUNET, Transit core: peer with tier-1s and each other Around large ASes UUNET Europe, KDDI, and Singapore Telecom Regional ISPs: non-stubs near the edge Around 2000 medium-sized ASes Minnesota Regional Network, US West Stub ASes: no peer or customer neighbors Princeton, Rutgers, MIT, AT&T Research,

40 AS Institution Not equivalent to an AS Many institutions span multiple autonomous systems Some institutions do not have their own AS number Ownership of an AS may be hard to pinpoint (whois) Not equivalent to a block of IP addresses (prefix) Many institutions have multiple (non-contiguous) prefixes Some institutions are a small part of a larger address block Ownership of a prefix may be hard to pinpoint (whois) Not equivalent to a domain name (att.com) Some sites may be hosted by other institutions Some institutions have multiple domain names (att.net)

41 Interdomain Routing (Between ASes) Path: 6, 5, 4, 3, 2, Web server Client

42 Routing is Not Symmetric client Web request and TCP ACKs Web response server

43 Interdomain Routing: Border Gateway Protocol ASes exchange info about who they can reach IP prefix: block of destination IP addresses AS path: sequence of ASes along the path Policies configured by the AS s operator Path selection: which of the paths to use? Path export: which neighbors to tell? /24: path (2,1) /24: path (1) data traffic data traffic

44 Zooming in to AS 3 Border router Learns BGP route from neighbor AS Creates forwarding-table entry for prefix But, how do the other routers get there? Border router: /24

45 How do Other Routers Learn the BGP Route? Internal BGP ibgp sessions between the routers Allows other routers to get the big picture Simplest case: full mesh of ibgp sessions /24 through red router ibgp session /24

46 How To Get to the Egress Router? Interior Gateway Protocol (OSPF/IS-IS) Routers flood information to learn topology Routers determine next hop to other routers Compute shortest paths based on the link weights Link weights configured by the operator Use Serial0/0.1 to get to the red router

47 Constructing the Forwarding Table Three protocols External BGP: learn the external route Internal BGP: propagate inside the AS IGP: learn outgoing link on path to other router Router joins the data Prefix /24 reached through red router Red router reached via link Serial0/0.1 Forwarding entry: /24 à Serial0/0.1 Router forwards packets Lookup destination in table Forward packet out link Serial0/0.1

48 Border Gateway Protocol Interdomain routing protocol for the Internet Prefix-based path-vector protocol Policy-based routing based on AS Paths Evolved during the past 15 years 1989 : BGP-1 [RFC 1105] Replacement for EGP (1984, RFC 904) 1990 : BGP-2 [RFC 1163] 1991 : BGP-3 [RFC 1267] 1995 : BGP-4 [RFC 1771] Support for Classless Interdomain Routing (CIDR)

49 Components of BGP BGP protocol Definition of how two BGP neighbors communicate Message formats, state machine, route attributes, etc. Standardized by the IETF Policy specification Flexible language for filtering and manipulating routes Indirectly affects the selection of the best route Varies across vendors, though constructs are similar BGP decision process Complex sequence of rules for selecting the best route De facto standard applied by router vendors Being codified in a new RFC for BGP coming soon

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

51 Two Types of BGP Neighbor Relationships AS1 External Neighbor (ebgp) in a different Autonomous Systems Internal Neighbor (ibgp) in the same Autonomous System ebgp ibgp is routed (using IGP!) ibgp AS2

52 ibgp Mesh Does Not Scale ibgp updates ebgp update N border routers means N(N-1)/2 peering sessions Each router must have N-1 ibgp sessions configured The addition a single ibgp speaker requires configuration changes to all other ibgp speakers Size of ibgp routing table can be order N larger than number of best routes (remember alternate routes!) Each router has to listen to update noise from each neighbor Currently four solutions: (0) Buy bigger routers! (1) Break AS into smaller ASes (2) BGP Route reflectors (3) BGP confederations

53 Route Reflectors RR RR RR Route reflectors can pass on ibgp updates to clients Each RR passes along ONLY best routes ORIGINATOR_ID and CLUSTER_LIST attributes are needed to avoid loops

54 BGP Confederations AS AS AS AS AS AS 1 From the outside, this looks like AS 1 Confederation ebgp (between member ASes) preserves LOCAL_PREF, MED, and BGP NEXTHOP.

55 Four Basic Messages Open: Establishes BGP session (uses TCP port #179) Notification: Report unusual conditions Update: Inform neighbor of new routes that become active Inform neighbor of old routes that become inactive Keepalive: Inform neighbor that connection is still viable

56 Incremental Protocol A node learns multiple paths to destination Stores all of the routes in a routing table Applies policy to select a single active route and may advertise the route to its neighbors Incremental updates Announcement Upon selecting a new active route, add node id to path and (optionally) advertise to each neighbor Withdrawal If the active route is no longer available send a withdrawal message to the neighbors

57 BGP Protocol: Update Messages Update messages Advertisement New route for the prefix (e.g., /24) Attributes such as the AS path (e.g., 2 1 ) Withdrawal Announcing that the route is no longer available Numerous BGP attributes AS path Next-hop IP address Local preference Multiple-Exit Discriminator

58 Advertising a prefix When a router advertises a prefix to one of its BGP neighbors: information is valid until first router explicitly advertises that the information is no longer valid BGP does not require routing information to be refreshed if node A advertises a path for a prefix to node B, then node B can be sure node A is using that path itself to reach the destination

59 BGP Route Destination prefix (e.g, /16) Route attributes, including AS path (e.g., ) Next-hop IP address (e.g., ) AS 7018 AT&T AS 88 Princeton AS RIPE NCC RIS project /16 AS path = 88 Next Hop = /16 AS path = Next Hop =

60 Joining BGP and IGP Information /16 Next Hop = / Forwarding Table destination next hop / BGP destination next hop / AS 7018 AS Forwarding Table destination next hop / /

61 BGP Path Selection Simplest case Shortest AS path Arbitrary tie break Example Four-hop AS path preferred over a three-hop AS path AS prefers path through Global Crossing But, BGP is not limited to shortestpath routing Policy-based routing AS 1129 Global Access /16 AS Path = AS RIPE NCC RIS project /16 AS Path = AS 3549 Global Crossing

62 BGP Policy: Applying Policy to Routes Import policy Filter unwanted routes from neighbor E.g. prefix that your customer doesn t own Manipulate attributes to influence path selection E.g., assign local preference to favored routes Export policy Filter routes you don t want to tell your neighbor E.g., don t tell a peer a route learned from other peer Manipulate attributes to control what they see E.g., make a path look artificially longer than it is

63 BGP Policy: Influencing Decisions Open ended programming. Constrained only by vendor configuration language Receive BGP Updates Apply Policy = filter routes & tweak attributes Based on Attribute Values Best Routes Apply Policy = filter routes & tweak attributes Transmit BGP Updates Apply Import Policies Best Route Selection Best Route Table Apply Export Policies Install forwarding Entries for best Routes. IP Forwarding Table

64 BGP Decision Process: Path Selection on a Router Routing Information Base Store all BGP routes for each destination prefix Withdrawal message: remove the route entry Advertisement message: update the route entry Selecting the best route Consider all BGP routes for the prefix Apply rules for comparing the routes Select the one best route Use this route in the forwarding table Send this route to neighbors

65 Recall: 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

66 BGP Attributes Value Code Reference ORIGIN RFC1771] 2 AS_PATH [RFC1771] 3 NEXT_HOP [RFC1771] 4 MULTI_EXIT_DISC [RFC1771] 5 LOCAL_PREF [RFC1771] 6 ATOMIC_AGGREGATE [RFC1771] 7 AGGREGATOR [RFC1771] 8 COMMUNITY [RFC1997] 9 ORIGINATOR_ID [RFC2796] 10 CLUSTER_LIST [RFC2796] 11 DPA [Chen] 12 ADVERTISER [RFC1863] 13 RCID_PATH / CLUSTER_ID [RFC1863] 14 MP_REACH_NLRI [RFC2283] 15 MP_UNREACH_NLRI [RFC2283] 16 EXTENDED COMMUNITIES [Rosen] reserved for development Most important attributes Not all attributes need to be present in every announcement From IANA:

67 Attributes are Used to Select Best Routes /24 pick me! /24 pick me! /24 pick me! /24 pick me! Given multiple routes to the same prefix, a BGP speaker must pick at most one best route (Note: it could reject them all!)

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

69 Implementing Customer/Provider and Peer/Peer relationships Two parts: Enforce transit relationships Outbound route filtering Enforce order of route preference provider < peer < customer

70 Import Routes provider route peer route customer route ISP route From provider From provider From peer From peer From customer From customer

71 Export Routes provider route peer route customer route ISP route To provider From provider To peer To peer To customer To customer filters block

72 How Can Routes be Colored? BGP Communities! A community value is 32 bits By convention, first 16 bits is ASN indicating who is giving it an interpretation community number Used for signally within and between ASes Very powerful BECAUSE it has no (predefined) meaning Community Attribute = a list of community values (So one route can belong to multiple communities) RFC 1997 (August 1996) Two reserved communities no_export = 0xFFFFFF01: don t export out of AS no_advertise 0xFFFFFF02: don t pass to BGP neighbors

73 Communities Example 1:100 Customer routes 1:200 Peer routes 1:300 Provider Routes Import To Customers 1:100, 1:200, 1:300 To Peers 1:100 To Providers 1:100 Export AS 1

74 So Many Choices peer provider peer customer AS 4 AS5 AS 3 AS 2 Which route should AS5 pick to /16? AS /16

75 LOCAL PREFERENCE Local preference used ONLY in ibgp AS 4 local pref = 80 local pref = 90 AS 3 local pref = 100 Higher Local preference values are more preferred AS 2 AS /16

76 Example: Customer to Provider router A B import policies route selection export policies local pref = 100 select UPMC route select A s route send to other ibgp neighbors send to other ebgp neighbors /24 DT A B FT Wanadoo UPMC FT

77 Example: Peers router A B C import policies route selection export policies local pref = 90 select DT route send to other ibgp routers select A s route don t send select A s route send to customers /16 A C FT DT B Wanadoo Suppose DT, FT, and BT are peers UPMC BT

78 Example: Customers vs. Peers router A import policies route selection export policies local pref (D)= 100 local pref (B)= 80 select DT route send to other ibgp and ebgp neighbors Suppose: DT is a customer of FT and BT FT and BT are peers /16 DT UPMC A FT BT B Wanadoo

79 Example: Multiple Egress Points router import policies route selection export policies A local pref = 80 select FT route send to other ibgp B local pref = 80 select FT route send to other ibgp C local pref = 80 select BT route send to other ibgp What will router D choose? DT UPMC FT BT B A route to UPMC Wanadoo D C

80 Tweak Tweak Tweak For inbound traffic Filter outbound routes Tweak attributes on outbound routes in the hope of influencing your neighbor s best route selection For outbound traffic Filter inbound routes Tweak attributes on inbound routes to influence best route selection inbound traffic outbound traffic outbound routes inbound routes In general, an AS has more control over outbound traffic

81 ASPATH Attribute /16 AS Path = AS 1129 Global Access /16 AS Path = Sprint AS 1239 AS 1755 Ebone /16 AS Path = /16 AS Path = AS RIPE NCC RIS project /16 AS Path = 6341 AS 6341 AT&T Research /16 AS7018 AT&T /16 AS Path = /16 AS Path = AS 3549 Global Crossing Prefix Originated

82 Shorter Doesn t Always Mean Shorter In fairness: could you do this right and still scale? AS 3 Mr. BGP says that path 4 1 is better than path Duh! AS 4 Exporting internal state would dramatically increase global instability and amount of routing state AS 2 AS 1

83 Interdomain Loop Prevention AS 7018 BGP at AS YYY will never accept a route with ASPATH containing YYY. Don t Accept! /16 ASPATH = AS 1

84 Traffic Often Follows ASPATH /16 ASPATH = AS 1 AS 2 AS 3 AS /16 IP Packet Dest =

85 But It Might Not AS /16 ASPATH = /25 ASPATH = 5 AS 2 AS 2 filters all subnets with masks longer than /24 AS /16 ASPATH = AS /16 IP Packet Dest = AS /25 From AS 4, it may look like this packet will take path 3 2 1, but it actually takes path 3 2 5

86 AS Graphs Depend on Point of View peer provider peer customer

87 Implementing Backup Links with Local Preference (Outbound Traffic) AS 1 primary link backup link Set Local Pref = 100 for all routes from AS 1 AS Set Local Pref = 50 for all routes from AS 1 Forces outbound traffic to take primary link, unless link is down.

88 Multihomed Backups (Outbound Traffic) AS 1 provider primary link AS 3 provider backup link Set Local Pref = 100 for all routes from AS 1 Set Local Pref = 50 for all routes from AS 3 AS 2 Forces outbound traffic to take primary link, unless link is down.

89 Control Inbound Traffic with ASPATH Padding. Yes, this is a Glorious Hack AS 1 provider /24 ASPATH = /24 ASPATH = primary customer AS 2 backup /24 Padding will (usually) force inbound traffic from AS 1 to take primary link

90 But Padding Does Not Always Work AS 1 provider AS 3 provider /24 ASPATH = /24 ASPATH = primary customer AS 2 backup /24 AS 3 will send traffic on backup link because it prefers customer routes and local preference is considered before ASPATH length! Padding in this way is often used as a form of load 99 balancing

91 COMMUNITY Attribute to the Rescue! AS 1 provider AS 3 provider AS 3: normal customer local pref is 100, peer local pref is /24 ASPATH = /24 ASPATH = 2 COMMUNITY = 3:70 primary backup customer AS /24 Customer import policy at AS 3: If 3:90 in COMMUNITY then set local preference to 90 If 3:80 in COMMUNITY then set local preference to 80 If 3:70 in COMMUNITY then set local preference to 70

92 Hot Potato Routing: Go for the Closest Egress Point /24 egress 1 egress IGP distances This Router has two BGP routes to /24. Hot potato: get traffic off of your network as Soon as possible. Go for egress 1!

93 Getting Burned by the Hot Potato High bandwidth Provider backbone Heavy Content Web Farm SFF NYC Low bandwidth customer backbone San Diego Many customers want their provider to carry the bits! tiny http request huge http reply

94 Cold Potato Routing with MEDs (Multi-Exit Discriminator Attribute) Prefer lower MED values Heavy Content Web Farm /24 MED = /24 MED = /24 This means that MEDs must be considered BEFORE IGP distance! Note1 : some providers will not listen to MEDs Note2 : MEDs need not be tied to IGP distance

95 Customer-Provider Relationship Customer pays provider for access to Internet Customer needs to be reachable from everyone Provider exports customer s routes to everybody Customer exports provider s routes to customers Customer does not want to provide transit service Customer does not export from one provider to another Traffic to the customer Traffic from the customer advertisements AT&T d AT&T traffic d Princeton Princeton

96 Peer-Peer Relationship Peers exchange traffic between customers AS exports only customer routes to a peer AS exports a peer s routes only to its customers Traffic to/from the peer and its customers AT&T advertisements traffic Sprint Princeton d UBC

97 How Peering Decisions are Made? Peer Don t Peer 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 competition Peering relationships may require periodic renegotiation

98 Peering Disputes and Outcomes Peering disputes are not new, though a number of peering disputes in the U.S. and France have been increasingly publicized in recent years A peering relationship represents an agreement between two networks to exchange traffic in some agreed upon manner If one or both of the networks determine that the peering relationship no longer meets the agreed upon terms or is no longer mutually beneficial, several things can happen.

99 Congestion: Comcast ISP Interconnection and Its Impact on Consumer Internet Performance. Measurement Lab Report. October 2014.

100 Congestion: Netflix and Free Mbps

101 Paths You Should Never See ( Invalid ) Customer-provider Peer-peer two peer edges transit through a customer

102 Valid and Invalid Paths AS relationships limit the kinds of valid paths Uphill portion: customer-provider relationships Plateau: zero or one peer-peer edge Downhill portion: provider-customer relationships Valid Invalid Invalid

103 Other Kinds of Relationships Siblings A E Same company Mutual transit service Like one bigger AS B C H D F G Mergers, acquisitions, Backup Used only when failure primary Second provider Backup peering Geography-specific Customer in U.S. backup Peer in Europe

104 Backup Relationship Backup provider Only used if the primary link fails Routes through other paths AT&T USLEC Princeton /16

105 Sibling Relationship Two ASes owned by the same institution E.g., two ASes that have merged E.g., two ASes simply for scaling reasons Essentially act as a single AS AT&T CerfNet

106 An AS is Not a Single Node Multiple routers in an AS Need to distribute BGP information within the AS Internal BGP (ibgp) sessions between routers AS1 ebgp ibgp AS2

107 Internal BGP (I-BGP) Used to distribute routes learned via ebgp to all the routers within an AS ibgp and ebgp are same protocol in that same message types used same attributes used same state machine BUT use different rules for readvertising prefixes Rule #1: prefixes learned from an ebgp neighbor can be readvertised to an ibgp neighbor, and vice versa Rule #2: prefixes learned from an ibgp neighbor cannot be readvertised to another ibgp neighbor

108 Internal BGP and Local Preference Example Both routers prefer the path through AS 100 on the left even though the right router learns an external path AS 200 AS 100 AS 300 Local Pref = 100 Local Pref = 90 AS 256 I-BGP

109 An AS is Not a Single Node Multiple connections to neighboring ASes Multiple border routers may learn good routes with the same local-pref and AS path length Multiple links

110 Hot-Potato (Early-Exit) Routing Hot-potato routing Each router selects the closest egress point based on the path cost in intradomain protocol BGP decision process Highest local preference Shortest AS path Closest egress point Arbitrary tie break dst A 9 D F 5 8 E C 8 10 B 4 G hot potato

111 Some Routers Don t Need BGP Customer that connects to a single upstream ISP The ISP can introduce the prefixes into BGP and the customer can simply default-route to the ISP Qwest Nail up routes /16 pointing to Yale Nail up default routes /0 pointing to Qwest Yale University /16

112 Some Routers Don t Need BGP Routers inside a stub network Border router may speak BGP to upstream ISPs But, internal routers can simply default route AT&T BGP USLEC AS 88 Princeton University /16

113 Multihoming Get address block from one ISP example: customer gets address from ISP 1 ISP 1 s aggregation is not broken customer s prefix not aggregatable at ISP 2 longer prefix becomes a traffic magnet /16 ISP /16 ISP / /24 ISP /16 How good is load sharing? If all ISP s generate same amount of traffic for customer, then ISP2-customer link twice as loaded as ISP1-customer link /24 customer / /24

114 Multihoming Get address block from both ISPs announcement policy: announce prefix only to its parent advantage: both ISP s can aggregate the prefix they receive disadvantage: lose reliability load balancing good? depends upon how much traffic sent to each prefix ISP 3 ISP 1 ISP / / /24 customer / / /24

115 Aggegration and Multihoming Most common scenario: customer breaks its address block in 2 for load sharing purposes. YET, also advertises whole block for reliability. ISP 3 AS 1 AS / / / /23 customer /23

116 Black Holes and Cardinal Sins The cardinal sin of BGP routing is advertising routes that you don't know how to get to; called "black-holing" someone If you announce part of IP space owned by someone else, using a more-specific prefix, all their traffic flows to you. Makes that address block disconnected from the Internet. Example: black holes can happen inadvertently by non-careful aggregation /16 ISP / /21 [ ] Net A NAP /21 [ ] Net C ISP / /20 wrong!! / /16 [ ] Net B

117 Limitations to Aggregation Lack of hierarchical allocation of address space prior to CIDR (before 1995) A single AS can have noncontiguous address blocks Customer AS and provider AS can have non-contiguous address blocks Reluctance of customers to renumber their address space when they switch providers Multi-homing multi-homed prefixes require global visibility may choose not to: load sharing

118 Rules of Thumb for Aggregation To avoid black holes: an ISP is not allowed to aggregate routes unless it is a supernet of the address block it wants to aggregate In other words, an ISP has to specifically announce each IP address range of its downstream customers that are not part of its own address space.

119 Route Stability Routing instability: rapid fluctuation of network reachability information route flapping: when a route is withdrawn and re-announced repeatedly in a short period of time happens via UPDATE messages because messages propagate to global Internet, route flapping behavior can cascade and deteriorate routing performance in many places Effects: increased packet loss, increased network latency, CPU overhead, loss of connectivity

120 Causes of BGP Routing Changes Topology changes Equipment going up or down Deployment of new routers or sessions BGP session failures Due to equipment failures, maintenance, etc. Or, due to congestion on the physical path Changes in routing policy Reconfiguration of preferences Reconfiguration of route filters Persistent protocol oscillation Conflicts between policies in different ASes

121 BGP Session Failure BGP runs over TCP BGP only sends updates when changes occur TCP doesn t detect lost connectivity on its own Detecting a failure Keep-alive: 60 seconds Hold timer: 180 seconds Reacting to a failure Discard all routes learned from the neighbor Send new updates for any routes that change AS1 AS2

122 Routing Change: Before and After 0 0 (1,0) (2,0) 1 2 (1,2,0) 1 2 (2,0) (3,1,0) 3 3 (3,2,0)

123 Routing Change: Path Exploration AS 1 Delete the route (1,0) Switch to next route (1,2,0) Send route (1,2,0) to AS 3 AS 3 Sees (1,2,0) replace (1,0) Compares to route (2,0) Switches to using AS 2 0 (2,0) (1,2,0) 1 2 (3,2,0) 3

124 Routing Change: Path Exploration Initial situation Destination 0 is alive All ASes use direct path When destination dies All ASes lose direct path All switch to longer paths Eventually withdrawn E.g., AS 2 (2,0) à (2,1,0) (2,1,0) à (2,3,0) (2,3,0) à (2,1,3,0) (2,1,3,0) à null (1,0) (1,2,0) (1,3,0) (2,0) (2,1,0) (2,3,0) (2,1,3,0) (3,0) (3,1,0) (3,2,0)

125 Time Between Steps in Path Exploration Minimum route advertisement interval (MRAI) Minimum spacing between announcements For a particular (prefix, peer) pair Advantages Provides a rate limit on BGP updates Allows grouping of updates within the interval Disadvantages Adds delay to the convergence process E.g., 30 seconds for each step

126 BGP Converges Slowly, if at All Path vector avoids count-to-infinity But, ASes still must explore many alternate paths to find the highest-ranked path that is still available Fortunately, in practice Most popular destinations have very stable BGP routes And most instability lies in a few unpopular destinations Still, lower BGP convergence delay is a goal Can be tens of seconds to tens of minutes High for important interactive applications or even conventional application, like Web browsing

127 Example daily update count

128 Types of Routing Updates Forwarding instability reflects legitimate topology changes e.g., changes in Prefix, NEXT_HOP and/or ASPATH affects forwarding paths used Policy fluctuation reflects changes in policy e.g., changes in MED, LOCAL_PREF, etc. may not necessarily affect forwarding paths used Pathological redundant messages reflect neither topology nor policy changes

129 General Statistics 1996: 3-5 million updates per day in Internet core 1998: 300K-700K updates per day in Internet core 1996: average number of announcements per day was ~275K 1998: average number of announcements per day was ~400K Correlation of instability and usage instability highest during business hours instability lowest during nights, on weekends and in summer

130 Route Flap When a router/link goes down and up, it leads BGP session down BGP route withdrawal by neighbor BGP routers BGP session reset Route exchanges When it repeats, it is considered route flap BGP storms Route flap damping allows a BGP speaker to take into account the past stability of a route in deciding whether to use or re-advertise that route.

131 Who s Responsible? AS s No single AS dominates instability statistics No correlation between the size of an AS and its share of updates generated. Prefixes Instability is evenly distributed across routes. Example of measurements: 75% of AADiff events come from prefixes change less than 10 times a day % of instability comes from prefixes that are announced less than 50 times/day.

132 What is the Sound of One Route Flapping?

133 A few bad apples Typically, 80% of the updates are for less than 5% Of the prefixes.

134 Sources of Instabilities in General router configuration errors transient physical and data link problems software bugs problems with leased lines (electrical timing issues that cause false alarms of disconnect) router failures network upgrades and maintenance

135 Controlling route instability: Route Dampening track number of times a route has flapped over a period of time routes that exhibit a high level of instability in a short period of time should be suppressed (not advertised) penalize ill behaved routes proportionally to their expected future stability if a suppressed route stops flapping for a long enough period of time, unsuppress it (readvertise)

136 Interaction with Route Flap Damping Motivation for route-flap damping Flaky equipment goes up and down repeatedly Leading to excessive BGP update messages Eventually, want to suppress those updates Route Flap Damping Accumulate a penalty with each routing change for each (prefix, peer) pair Add a fixed penalty for each update message and decay the penalty exponentially with time Apply thresholds to suppress or reuse the route

137 Operation of Route Flap Damping Suppress limit Penalty Reuse limit Time Network Announced Network Not Announced Network Re-announced

138 Interaction with Route Flap Damping What are the right thresholds? Set too high Route flaps consume a lot of resources Users experience more transient disruptions Set too low Regular path exploration triggers suppression Users experience loss of connectivity Not easy to set the parameters correctly Route-flap damping disabled in many ASes

139 Conclusions BGP is solving a hard problem Routing protocol operating at a global scale With tens of thousands of independent networks That each have their own policy goals And all want fast convergence Key features of BGP Prefix-based path-vector protocol Incremental updates (announcements and withdrawals) Policies applied at import and export of routes Internal BGP to distribute information within an AS Interaction with the IGP to compute forwarding tables

140 Conclusions BGP protocol vs. policy Protocol is simple Policy is complicated BGP policy is a black art Indirect way of specifying policy Manipulating attributes to influence decisions Filtering routes to scope the routing information Common examples of policy today Business relationships Traffic engineering Security

Internet Routing Protocols Lecture 03 Inter-domain Routing

Internet Routing Protocols Lecture 03 Inter-domain Routing Internet Routing Protocols Lecture 03 Inter-domain Routing Advanced Systems Topics Lent Term, 2008 Timothy G. Griffin Computer Lab Cambridge UK Autonomous Routing Domains A collection of physical networks

More information

Internet Routing Protocols Lecture 01 & 02

Internet Routing Protocols Lecture 01 & 02 Internet Routing Protocols Lecture 01 & 02 Advanced Systems Topics Lent Term, 2010 Timothy G. Griffin Computer Lab Cambridge UK Internet Routing Outline Lecture 1 : Inter-domain routing architecture, the

More information

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4 BGP Border Gateway Protocol (an introduction) dr. C. P. J. Koymans Informatics Institute University of Amsterdam March 11, 2008 General ideas behind BGP Background Providers, Customers and Peers External

More information

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4 BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 1.5, 2011/03/06 13:35:28) Monday, March 7, 2011 General ideas behind BGP Background Providers,

More information

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4 BGP Border Gateway Protocol (an introduction) dr. C. P. J. Koymans Informatics Institute University of Amsterdam (version 1.3, 2010/03/10 20:05:02) Monday, March 8, 2010 General ideas behind BGP Background

More information

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System) BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 1.9, 2012/03/14 10:21:22) Monday, March 12, 2012 General ideas behind BGP Background Providers,

More information

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System) BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 310, 2014/03/11 10:50:06) Monday, March 10, 2014 General ideas behind BGP Background Providers,

More information

Border Gateway Protocol (an introduction) Karst Koymans. Monday, March 10, 2014

Border Gateway Protocol (an introduction) Karst Koymans. Monday, March 10, 2014 .. BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 3.10, 2014/03/11 10:50:06) Monday, March 10, 2014 Karst Koymans (UvA) BGP Monday, March

More information

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage Lecture 16: Interdomain Routing CSE 123: Computer Networks Stefan Savage Overview Autonomous Systems Each network on the Internet has its own goals Path-vector Routing Allows scalable, informed route selection

More information

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

Interdomain Routing Reading: Sections P&D 4.3.{3,4} Interdomain Routing Reading: Sections P&D 4.3.{3,4} EE122: Intro to Communication Networks Fall 2006 (MW 4:00-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/

More information

Professor Yashar Ganjali Department of Computer Science University of Toronto.

Professor Yashar Ganjali Department of Computer Science University of Toronto. Professor Yashar Ganjali Department of Computer Science University of Toronto yganjali@cs.toronto.edu http://www.cs.toronto.edu/~yganjali Announcements Don t forget the programming assignment Due: Friday

More information

Interdomain Routing Reading: Sections K&R EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277)

Interdomain Routing Reading: Sections K&R EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277) Interdomain Routing Reading: Sections K&R 4.6.3 EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277) Guest Lecture by Brighten Godfrey Instructor: Vern Paxson TAs: Lisa Fowler, Daniel

More information

Routing Unicast routing protocols

Routing Unicast routing protocols Routing Unicast routing protocols Jens A Andersson Electrical and Information Technology R1 Choosing an Optimal Path R4 5 R7 5 10 40 R6 6 5 B R2 15 A 20 4 10 10 R8 R3 5 10 R5 1 Router A router is a type

More information

TELE 301 Network Management

TELE 301 Network Management TELE 301 Network Management Lecture 24: Exterior Routing and BGP Haibo Zhang Computer Science, University of Otago TELE301 Lecture 16: Remote Terminal Services 1 Today s Focus How routing between different

More information

Routing. Jens A Andersson Communication Systems

Routing. Jens A Andersson Communication Systems Routing Jens A Andersson Communication Systems R1 Choosing an Optimal Path R4 5 R7 5 10 40 R6 6 5 B R2 15 A 20 4 10 10 R8 R3 5 R5 10 Router A router is a type of internetworking device that passes data

More information

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis Internet Protocols Fall 2006 Lectures 11-12 Inter-domain routing, mobility support, multicast routing Andreas Terzis Outline Inter-domain Internet Routing BGP Routing for mobile nodes Multicast routing

More information

PART III. Implementing Inter-Network Relationships with BGP

PART III. Implementing Inter-Network Relationships with BGP PART III Implementing Inter-Network Relationships with BGP ICNP 2002 Routing Protocols Autonomous System BGP-4 BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today

More information

Internet inter-as routing: BGP

Internet inter-as routing: BGP Internet inter-as routing: BGP BGP (Border Gateway Protocol): the de facto standard BGP provides each AS a means to: 1. Obtain subnet reachability information from neighboring ASs. 2. Propagate the reachability

More information

Inter-Domain Routing: BGP

Inter-Domain Routing: BGP Inter-Domain Routing: BGP Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Inter-Domain Routing Internet is a network of networks Hierarchy

More information

IP Addressing & Interdomain Routing. Next Topic

IP Addressing & Interdomain Routing. Next Topic IP Addressing & Interdomain Routing Next Topic IP Addressing Hierarchy (prefixes, class A, B, C, subnets) Interdomain routing Application Presentation Session Transport Network Data Link Physical Scalability

More information

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing CSCD 433/533 Network Programming Fall 2012 Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing 1 Topics Interdomain Routing BGP Interdomain Routing Benefits vs. Link State Routing

More information

COMP/ELEC 429 Introduction to Computer Networks

COMP/ELEC 429 Introduction to Computer Networks COMP/ELEC 429 Introduction to Computer Networks Lecture 11: Inter-domain routing Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at

More information

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Inter-AS routing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Some materials copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Chapter 4:

More information

Routing part 2. Electrical and Information Technology

Routing part 2. Electrical and Information Technology Routing part 2 Jens A Andersson Electrical and Information Technology Routing Introduction Inside the Router Unicast Routing Intra Domain Routing Inter Domain Routing MANET and AdHoc routing Multicast

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 12: Inter-domain routing Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu

More information

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol) Intra-domain routing The Story So Far Routing protocols generate the forwarding

More information

Configuring BGP. Cisco s BGP Implementation

Configuring BGP. Cisco s BGP Implementation Configuring BGP This chapter describes how to configure Border Gateway Protocol (BGP). For a complete description of the BGP commands in this chapter, refer to the BGP s chapter of the Network Protocols

More information

L11 : Inter-domain Routing with BGP Lecture14 Michaelmas, 2016

L11 : Inter-domain Routing with BGP Lecture14 Michaelmas, 2016 7//06 L : Inter-domain Routing with BGP Lecture4 Michaelmas, 06 Timothy G. Griffin Computer Lab Cambridge UK 7//06 How many ASNs today (7 November, 06)? http://bgp.potaroo.net/ 7//06 How many prefixes

More information

Interdomain Routing. EE122 Fall 2011 Scott Shenker

Interdomain Routing. EE122 Fall 2011 Scott Shenker Interdomain Routing EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

More information

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route Contents Configuring BGP 1 Overview 1 BGP speaker and BGP peer 1 BGP message types 1 BGP path attributes 2 BGP route selection 6 BGP route advertisement rules 6 BGP load balancing 6 Settlements for problems

More information

Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011

Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011 Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011 Overview Business relationships between ASes Interdomain routing using BGP Advertisements Routing policy Integration with intradomain routing

More information

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal CS4450 Computer Networks: Architecture and Protocols Lecture 15 BGP Spring 2018 Rachit Agarwal Autonomous System (AS) or Domain Region of a network under a single administrative entity Border Routers Interior

More information

Lecture 18: Border Gateway Protocol

Lecture 18: Border Gateway Protocol Lecture 18: Border Gateway Protocol CSE 123: Computer Networks Alex C. Snoeren HW 3 due Wednesday Some figures courtesy Mike Freedman & Craig Labovitz Lecture 18 Overview Path-vector Routing Allows scalable,

More information

Routing on the Internet. Routing on the Internet. Hierarchical Routing. Computer Networks. Lecture 17: Inter-domain Routing and BGP

Routing on the Internet. Routing on the Internet. Hierarchical Routing. Computer Networks. Lecture 17: Inter-domain Routing and BGP Routing on the Internet Computer Networks Lecture 17: Inter-domain Routing and BGP In the beginning there was the ARPANET: route using GGP (Gateway-to-Gateway Protocol), a distance vector routing protocol

More information

Lecture 17: Border Gateway Protocol

Lecture 17: Border Gateway Protocol Lecture 17: Border Gateway Protocol CSE 123: Computer Networks Alex C. Snoeren Some figures courtesy Mike Freedman Lecture 18 Overview Border Gateway Protocol (BGP) The canonical path vector protocol How

More information

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP Contents Configuring BGP 1 Overview 1 BGP speaker and BGP peer 1 BGP message types 1 BGP path attributes 2 BGP route selection 6 BGP route advertisement rules 6 BGP load balancing 6 Settlements for problems

More information

internet technologies and standards

internet technologies and standards Institute of Telecommunications Warsaw University of Technology internet technologies and standards Piotr Gajowniczek BGP (Border Gateway Protocol) structure of the Internet Tier 1 ISP Tier 1 ISP Google

More information

Next Lecture: Interdomain Routing : Computer Networking. Outline. Routing Hierarchies BGP

Next Lecture: Interdomain Routing : Computer Networking. Outline. Routing Hierarchies BGP Next Lecture: Interdomain Routing BGP 15-744: Computer Networking L-3 BGP Assigned Reading MIT BGP Class Notes [Gao00] On Inferring Autonomous System Relationships in the Internet Ooops 2 Outline Need

More information

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure Outline 15-441 15-441 Computer Networking 15-641 Lecture 10: Inter-Domain outing Border Gateway Protocol -BGP Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 outing hierarchy Internet structure

More information

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783.

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783. Understanding, Implementing and troubleshooting BGP 01 Introduction http:// Instructor Introduction Keith Barker, CCIE #6783 CCIE Routing and Switching 2001 CCIE Security 2003 kbarker@ine.com YouTube -

More information

CS BGP v4. Fall 2014

CS BGP v4. Fall 2014 CS 457 - BGP v4 Fall 2014 Autonomous Systems What is an AS? a set of routers under a single technical administration uses an interior gateway protocol (IGP) and common metrics to route packets within the

More information

CS 268: Computer Networking. Next Lecture: Interdomain Routing

CS 268: Computer Networking. Next Lecture: Interdomain Routing CS 268: Computer Networking L-3 BGP Next Lecture: Interdomain Routing BGP Assigned Reading MIT BGP Class Notes [Gao00] On Inferring Autonomous System Relationships in the Internet 2 Outline Need for hierarchical

More information

History. Configuration and Policy. Assigning IP address and AS numbers (Ideally) Addressing Schemes. Problem #1: Lifetime of Address Space

History. Configuration and Policy. Assigning IP address and AS numbers (Ideally) Addressing Schemes. Problem #1: Lifetime of Address Space Outline The Basics of BGP Routing and its Performance in Today s Internet Nina Taft Sprint, Advanced Technology Labs California, USA May 2001 1. Highlights 2. Addressing and CIDR 3. BGP Messages and Prefix

More information

Connecting to a Service Provider Using External BGP

Connecting to a Service Provider Using External BGP Connecting to a Service Provider Using External BGP First Published: May 2, 2005 Last Updated: August 21, 2007 This module describes configuration tasks that will enable your Border Gateway Protocol (BGP)

More information

Interdomain Routing. EE122 Fall 2012 Scott Shenker

Interdomain Routing. EE122 Fall 2012 Scott Shenker Interdomain Routing EE122 Fall 2012 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

More information

BGP. BGP Overview. Formats of BGP Messages. I. Header

BGP. BGP Overview. Formats of BGP Messages. I. Header Overview Three early versions of are -1 (RFC1105), -2 (RFC1163) and -3 (RFC1267). The current version in use is -4 (RFC1771). -4 is rapidly becoming the defacto Internet exterior routing protocol standard

More information

Internet Routing : Fundamentals of Computer Networks Bill Nace

Internet Routing : Fundamentals of Computer Networks Bill Nace Internet Routing 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Looking Ahead Lab #2 just due Quiz #2

More information

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System) BGP Border Gateway Protocol A short introduction Karst Koymans Informatics Institute University of Amsterdam (version 18.3, 2018/12/03 13:53:22) Tuesday, December 4, 2018 General ideas behind BGP Background

More information

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67 Contents Configuring BGP 1 Overview 1 BGP speaker and BGP peer 1 BGP message types 1 BGP path attributes 2 BGP route selection 6 BGP route advertisement rules 6 BGP load balancing 6 Settlements for problems

More information

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF MODULE 3 BORDER GATEWAY PROTOCOL 1 by Xantaro Interdomain Routing The Internet is a collection of autonomous systems An autonomous system (AS) is a collection

More information

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011 Lecture 4: Intradomain Routing CS 598: Advanced Internetworking Matthew Caesar February 1, 011 1 Robert. How can routers find paths? Robert s local DNS server 10.1.8.7 A 10.1.0.0/16 10.1.0.1 Routing Table

More information

BGP. Border Gateway Protocol A short introduction. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.3, 2018/12/03 13:53:22)

BGP. Border Gateway Protocol A short introduction. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.3, 2018/12/03 13:53:22) BGP Border Gateway Protocol A short introduction Karst Koymans Informatics Institute University of Amsterdam (version 18.3, 2018/12/03 13:53:22) Tuesday, December 4, 2018 Karst Koymans (UvA) BGP Tuesday,

More information

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP) Important Lessons From Last Lecture 15-441 Computer Networking Inter-Domain outing BGP (Border Gateway Protocol) Every router needs to be able to forward towards any destination Forwarding table must be

More information

Connecting to a Service Provider Using External BGP

Connecting to a Service Provider Using External BGP Connecting to a Service Provider Using External BGP This module describes configuration tasks that will enable your Border Gateway Protocol (BGP) network to access peer devices in external networks such

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks More on BGP Jianping Pan Summer 2007 7/4/07 csc485b/586b/seng480b 1 Review: BGP Border Gateway Protocol path vector routing prefix: AS-path policy-based routing import/export

More information

Operation Manual BGP. Table of Contents

Operation Manual BGP. Table of Contents Table of Contents Table of Contents... 1-1 1.1 BGP/MBGP Overview... 1-1 1.1.1 Introduction to BGP... 1-1 1.1.2 BGP Message Types... 1-2 1.1.3 BGP Routing Mechanism... 1-2 1.1.4 MBGP... 1-3 1.1.5 BGP Peer

More information

CS 268: Computer Networking

CS 268: Computer Networking CS 268: Computer Networking L-3 BGP Outline BGP ASes, Policies BGP Attributes BGP Path Selection ibgp 2 1 Autonomous Systems (ASes) Autonomous Routing Domain Glued together by a common administration,

More information

Table of Contents. BGP Configuration 1

Table of Contents. BGP Configuration 1 Table of Contents BGP Configuration 1 BGP Overview 1 Formats of BGP Messages 2 BGP Path Attributes 5 BGP Route Selection 9 ibgp and IGP Synchronization 11 Settlements for Problems in Large Scale BGP Networks

More information

PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL

PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL READING: SECTIONS 4.3.3 PLUS OPTIONAL READING COS 461: Computer Networks Spring 2010 (MW 3:00 4:20 in COS 105) Mike Freedman hdp://www.cs.princeton.edu/courses/archive/spring10/cos461/

More information

Unit 3: Dynamic Routing

Unit 3: Dynamic Routing Unit 3: Dynamic Routing Basic Routing The term routing refers to taking a packet from one device and sending it through the network to another device on a different network. Routers don t really care about

More information

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08)

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08) BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 17.3, 2017/12/04 13:20:08) Tuesday, December 5, 2017 Karst Koymans (UvA) BGP Tuesday,

More information

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header Table of Contents BGP Configuration 1 BGP Overview 1 Introduction to BGP 1 Formats of BGP Messages 1 BGP Path Attributes 4 BGP Route Selection 8 Configuring BGP 8 Configuration Prerequisites 8 Configuration

More information

Lecture 16: Border Gateway Protocol

Lecture 16: Border Gateway Protocol Lecture 16: Border Gateway Protocol CSE 123: Computer Networks Alex C. Snoeren Some figures courtesy Mike Freedman Lecture 16 Overview Border Gateway Protocol (BGP) The canonical path vector protocol How

More information

CSC458 Lecture 6. Administrivia. Inter-domain Routing IP Addressing. Midterm will Cover Following Topics (2) Midterm will Cover Following Topics

CSC458 Lecture 6. Administrivia. Inter-domain Routing IP Addressing. Midterm will Cover Following Topics (2) Midterm will Cover Following Topics CSC458 Lecture 6 Inter-domain Routing IP Addressing Administrivia Homework: #2 due today #3 out today, due in two weeks (same date as midterm) No lecture next week Reading Week Midterm in two weeks 60

More information

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355 BGP Commands Use the commands in this chapter to configure and monitor Border Gateway Protocol (BGP). For BGP configuration information and examples, refer to the Configuring BGP chapter of the Network

More information

Dynamics of Hot-Potato Routing in IP Networks

Dynamics of Hot-Potato Routing in IP Networks Dynamics of Hot-Potato Routing in IP Networks Jennifer Rexford AT&T Labs Research http://www.research.att.com/~jrex Joint work with Renata Teixeira (UCSD), Aman Shaikh (AT&T), and Timothy Griffin (Intel)

More information

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics: Appendix C BGP Supplement This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics: BGP Route Summarization Redistribution with IGPs Communities Route

More information

Module 6 Implementing BGP

Module 6 Implementing BGP Module 6 Implementing BGP Lesson 1 Explaining BGP Concepts and Terminology BGP Border Gateway Protocol Using BGP to Connect to the Internet If only one ISP, do not need BGP. If multiple ISPs, use BGP,

More information

6.829 BGP Recitation. Rob Beverly September 29, Addressing and Assignment

6.829 BGP Recitation. Rob Beverly September 29, Addressing and Assignment 6.829 BGP Recitation Rob Beverly September 29, 2006 Addressing and Assignment 1 Area-Routing Review Why does Internet Scale? Hierarchical Addressing How are addresses assigned? Classfull

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Stephan Günther

More information

CSE 561 Lecture 6, Spring David Wetherall

CSE 561 Lecture 6, Spring David Wetherall Inter-domain Routing CSE 561 Lecture 6, Spring 2002. David Wetherall Overview Inter-domain routing BGP mechanics of route selection ISP policy considerations Traffic engineering Intra-ISP: ARPANET dynamic

More information

Inter-Domain Routing: BGP II

Inter-Domain Routing: BGP II Inter-Domain Routing: BGP II Brad Karp UCL Computer Science (drawn mostly from lecture notes by Hari Balakrishnan and Nick Feamster, MIT) CS 05/GZ01 4 th December 2014 BGP Protocol (cont d) BGP doesn t

More information

Inter-Domain Routing: BGP II

Inter-Domain Routing: BGP II Inter-Domain Routing: BGP II Mark Handley UCL Computer Science CS 3035/GZ01 BGP Protocol (cont d) BGP doesn t chiefly aim to compute shortest paths (or minimize other metric, as do DV, LS) Chief purpose

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Chair for Network Architectures and

More information

Configuring Internal BGP Features

Configuring Internal BGP Features This module describes how to configure internal Border Gateway Protocol (BGP) features. Internal BGP (ibgp) refers to running BGP on networking devices within one autonomous system. BGP is an interdomain

More information

Table of Contents 1 BGP Configuration 1-1

Table of Contents 1 BGP Configuration 1-1 Table of Contents 1 BGP Configuration 1-1 BGP Overview 1-1 Formats of BGP Messages 1-2 BGP Path Attributes 1-4 BGP Route Selection 1-8 ibgp and IGP Synchronization 1-11 Settlements for Problems in Large

More information

Network Layer: Routing

Network Layer: Routing Network Layer: Routing The Problem A B R 1 R 2 R 4 R 3 Goal: for each destination, compute next hop 1 Lecture 9 2 Basic Assumptions Trivial solution: Flooding Dynamic environment: links and routers unreliable:

More information

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

LACNIC XIII. Using BGP for Traffic Engineering in an ISP LACNIC XIII Using BGP for Traffic Engineering in an ISP Program Using BGP Attributes Implementing IBGP Implementing EBGP Emphasis in Stability, Scalability and Configuration Examples BGP Review Why use

More information

BGP Scaling Techniques

BGP Scaling Techniques BGP Scaling Techniques 1 BGP Scaling Techniques Original BGP specification and implementation was fine for the Internet of the early 1990s But didn t scale Issues as the Internet grew included: Scaling

More information

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System) BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 16.4, 2017/03/13 13:32:49) Tuesday, March 14, 2017 General ideas behind BGP Background

More information

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016 CS 457 Networking and the Internet Fall 2016 The Global Internet (Then) The tree structure of the Internet in 1990 The Global Internet (And Now) A simple multi-provider Internet 1 The Global Internet Some

More information

E : Internet Routing

E : Internet Routing E6998-02: Internet Routing Lecture 16 Border Gateway Protocol, Part V John Ioannidis AT&T Labs Research ji+ir@cs.columbia.edu Copyright 2002 by John Ioannidis. All Rights Reserved. Announcements Lectures

More information

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355 BGP Commands Use the commands in this chapter to configure and monitor Border Gateway Protocol (BGP). For BGP configuration information and examples, refer to the Configuring BGP chapter of the Network

More information

Border Gateway Protocol (an introduction) Karst Koymans. Tuesday, March 8, 2016

Border Gateway Protocol (an introduction) Karst Koymans. Tuesday, March 8, 2016 .. BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 15.6, 2016/03/15 22:30:35) Tuesday, March 8, 2016 Karst Koymans (UvA) BGP Tuesday,

More information

CS519: Computer Networks. Lecture 4, Part 5: Mar 1, 2004 Internet Routing:

CS519: Computer Networks. Lecture 4, Part 5: Mar 1, 2004 Internet Routing: : Computer Networks Lecture 4, Part 5: Mar 1, 2004 Internet Routing: AS s, igp, and BGP As we said earlier, the Internet is composed of Autonomous Systems (ASs) Where each AS is a set of routers, links,

More information

BGP for Internet Service Providers

BGP for Internet Service Providers BGP for Internet Service Providers Philip Smith Seoul KIOW 2002 1 BGP current status RFC1771 is quite old, and no longer reflects current operational practice nor vendor implementations

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks External Routing - BGP protocol Prof. Andrzej Duda duda@imag.fr Contents Principles of Inter-Domain Routing Autonomous systems Path vector routing Policy Routing Route Aggregation

More information

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013 CS 5 Network Programming Languages Control Plane http://www.flickr.com/photos/rofi/0979/ Nate Foster Cornell University Spring 0 Based on lecture notes by Jennifer Rexford and Michael Freedman Announcements

More information

Ravi Chandra cisco Systems Cisco Systems Confidential

Ravi Chandra cisco Systems Cisco Systems Confidential BGP4 1 Ravi Chandra cisco Systems 0799_04F7_c2 Cisco Systems Confidential 2 Border Gateway Protocol (BGP) Introduction to BGP BGP Peer Relationship BGP Attributes Applying Policy with BGP Putting it all

More information

Inter-domain Routing. Outline. Border Gateway Protocol

Inter-domain Routing. Outline. Border Gateway Protocol Inter-domain Routing Outline Border Gateway Protocol Internet Structure Original idea CS 640 2 Internet Structure Today CS 640 3 Route Propagation in the Internet Autonomous System (AS) corresponds to

More information

15-744: Computer Networking BGP

15-744: Computer Networking BGP 15-744: Computer Networking BGP Next Lecture: Interdomain Routing BGP Assigned Reading MIT BGP Class Notes [Gao00] On Inferring Autonomous System Relationships in the Internet 2 Outline Need for hierarchical

More information

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca Based partly on lecture notes by Rob Sherwood, David Mazières, Phil Levis, John Janno? Administrivia Midterm moved up from 3/17 to 3/15 IP

More information

INTERDOMAIN ROUTING POLICY READING: SECTIONS PLUS OPTIONAL READING

INTERDOMAIN ROUTING POLICY READING: SECTIONS PLUS OPTIONAL READING INTERDOMAIN ROUTING POLICY READING: SECTIONS 4.3.3 PLUS OPTIONAL READING COS 461: Computer Networks Spring 2009 (MW 1:30 2:50 in COS 105) Mike Freedman Teaching Assistants: WyaI Lloyd and Jeff Terrace

More information

Border Gateway Protocol

Border Gateway Protocol 39 CHAPTER Chapter Goals Understand the purpose of the. Explain BGP attributes and their use in route selection. Examine the BGP route selection process. Introduction The (BGP) is an interautonomous system

More information

CS118 Discussion Week 7. Taqi

CS118 Discussion Week 7. Taqi CS118 Discussion Week 7 Taqi Outline Hints for project 2 Lecture review: routing About Course Project 2 Please implement byte-stream reliable data transfer Cwnd is in unit of bytes, not packets How to

More information

An overview of how packets are routed in the Internet

An overview of how packets are routed in the Internet An overview of how packets are routed in the Internet 1 Dijkstra s shortest path first algorithm (example of a Link State Algorithm ) 1. Exchange link state: A router floods to every other router the state

More information

Exterior Gateway Protocols: EGP, BGP-4, CIDR

Exterior Gateway Protocols: EGP, BGP-4, CIDR Exterior Gateway Protocols: EGP, BGP-4, CIDR shivkuma@ecse.rpi.edu http://www.ecse.rpi.edu/homepages/shivkuma Based in part upon slides of Tim Griffin (AT&T), Ion Stoica (UCB), J. Kurose (U Mass), Noel

More information

Internet Interconnection Structure

Internet Interconnection Structure Internet Interconnection Structure Basic Concepts (1) Internet Service Provider (ISP) Provider who connects an end user customer with the Internet in one or few geographic regions. National & Regional

More information

Routing on the Internet! Hierarchical Routing! The NSFNet 1989! Aggregate routers into regions of autonomous systems (AS)!

Routing on the Internet! Hierarchical Routing! The NSFNet 1989! Aggregate routers into regions of autonomous systems (AS)! Routing on the Internet! Hierarchical Routing! Aggregate routers into regions of autonomous systems (AS)! In the beginning there was the ARPANET:! route using GGP (Gateway-to-Gateway Protocol)," a distance

More information

EE 122: Inter-domain routing Border Gateway Protocol (BGP)

EE 122: Inter-domain routing Border Gateway Protocol (BGP) EE 122: Inter-domain routing Border Gateway Protocol (BGP) Ion Stoica October 2, 2002 (* this presentation is based on Lakshmi Subramanian s slides) Big Picture Large ISP Large ISP St u b D i al - U p

More information