Outline. Routing. Internet is more complicated... Who speaks BGP? Internet: a large number of ASes

Similar documents
Outline. EE 122: Interdomain Routing Protocol (BGP) BGP Routing. Internet is more complicated... Ion Stoica TAs: Junda Liu, DK Moon, David Zats

Exterior Gateway Protocols (BGP)

Lecture 18: Border Gateway Protocol"

Inter-domain Routing Basics. Border Gateway Protocol. Inter-domain Routing Basics. Inter-domain Routing Basics. Exterior routing protocols created to:

Border Gateway Protocol BGP4 (2)

APNIC elearning: BGP Attributes

Inter-domain Routing. Outline. Border Gateway Protocol

Dove siamo? Architecture of Dynamic Routing

Border Gateway Protocol (BGP)

Internet inter-as routing: BGP

Routing in Small Networks. Internet Routing Overview. Agenda. Routing in Large Networks

Module 7. Routing and Congestion Control. Version 2 CSE IIT, Kharagpur

Internet Routing Protocols Lecture 04 BGP Continued

6.263 Data Communication Networks

basic BGP in Huawei CLI

Using the Border Gateway Protocol for Interdomain Routing

APNIC elearning: BGP Basics. Contact: erou03_v1.0

Week 4 / Paper 1. Open issues in Interdomain Routing: a survey

How To Understand Bg

Internet inter-as routing: BGP

Outline. Internet Routing. Alleviating the Problem. DV Algorithm. Routing Information Protocol (RIP) Link State Routing. Routing algorithms

Understanding Route Aggregation in BGP

Interdomain Routing. Outline

BGP overview BGP operations BGP messages BGP decision algorithm BGP states

BGP Best Path Selection Algorithm

Introduction to Routing

Can Forwarding Loops Appear when Activating ibgp Multipath Load Sharing?

DD2491 p Load balancing BGP. Johan Nicklasson KTHNOC/NADA

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

E : Internet Routing

Multihoming and Multi-path Routing. CS 7260 Nick Feamster January

Active measurements: networks. Prof. Anja Feldmann, Ph.D. Dr. Nikolaos Chatzis Georgios Smaragdakis, Ph.D.

Network-Wide Prediction of BGP Routes

Administra0via. STP lab due Wednesday (in BE 301a!), 5/15 BGP quiz Thursday (remember required reading), 5/16

Based on Computer Networking, 4 th Edition by Kurose and Ross

IK2205 Inter-domain Routing

BGP1 Multihoming and Traffic Engineering

BGP. 1. Internet Routing

DD2491 p Inter-domain routing and BGP part I Olof Hagsand KTH/CSC

How To Make A Network Plan Based On Bg, Qos, And Autonomous System (As)

Border Gateway Protocol (BGP-4)

BGP Router Startup Message Flow

Masterkurs Rechnernetze IN2097

BGP Terminology, Concepts, and Operation. Chapter , Cisco Systems, Inc. All rights reserved. Cisco Public

Advanced BGP Policy. Advanced Topics

Routing Protocols. Interconnected ASes. Hierarchical Routing. Hierarchical Routing

BGP Attributes and Path Selection

BGP route propagation. Internet AS relationships, Routing policy on Internet paths. Example of commercial relationship. Transit vs.

Dynamic Routing Protocols II OSPF. Distance Vector vs. Link State Routing

BGP Basics. BGP Uses TCP 179 ibgp - BGP Peers in the same AS ebgp - BGP Peers in different AS's Private BGP ASN. BGP Router Processes

Examination. IP routning på Internet och andra sammansatta nät, DD2491 IP routing in the Internet and other complex networks, DD2491

Router and Routing Basics

Analyzing Capabilities of Commercial and Open-Source Routers to Implement Atomic BGP

CSC458 Lecture 6. Homework #1 Grades. Inter-domain Routing IP Addressing. Administrivia. Midterm will Cover Following Topics

Chapter 49 Border Gateway Protocol version 4 (BGP-4)

Routing Protocol - BGP

Interdomain Routing. Project Report

GregSowell.com. Mikrotik Routing

--BGP 4 White Paper Ver BGP-4 in Vanguard Routers

ITRI CCL. IP Routing Primer. Paul C. Huang, Ph.D. ITRI / CCL / N300. CCL/N300; Paul Huang 1999/6/2 1

Multihomed BGP Configurations

The ISP Column. An Introduction to BGP the Protocol

Routing with OSPF. Introduction

Chapter 4. Distance Vector Routing Protocols

Route Discovery Protocols

Load balancing and traffic control in BGP

Configuring BGP. Cisco s BGP Implementation

CLASSLESS INTER DOMAIN ROUTING - CIDR

Towards a Next- Generation Inter-domain Routing Protocol. L. Subramanian, M. Caesar, C.T. Ee, M. Handley, Z. Mao, S. Shenker, and I.

Today s Agenda. Note: it takes years to really master BGP Many slides stolen from Prof. Zhi-Li Zhang at Minnesota and from Avi Freedman s slides

Network Level Multihoming and BGP Challenges

ETHEL THE AARDVARK GOES BGP ROUTING

HP Networking BGP and MPLS technology training

B. Quoitin, S. Uhlig, C. Pelsser, L. Swinnen and O. Bonaventure

Understanding Large Internet Service Provider Backbone Networks

Transitioning to BGP. ISP Workshops. Last updated 24 April 2013

Lesson 5-3: Border Gateway Protocol

Cisco CCNP Optimizing Converged Cisco Networks (ONT)

B. Quoitin, S. Uhlig, C. Pelsser, L. Swinnen and O. Bonaventure

BGP4 Case Studies/Tutorial

BGP: Border Gateway Protocol

Layer 3 Routing User s Manual

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Beginning BGP. Peter J. Welcher. Introduction. When Do We Need BGP?

CS551 External v.s. Internal BGP

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science. Abstract

Routing Protocols (RIP, OSPF, BGP)

IP Routing. CS 552 Richard Martin (with slides from S. Savage and S. Agarwal)

Understanding Route Redistribution & Filtering

The Case for Source Address Routing in Multihoming Sites

Simple Multihoming. ISP/IXP Workshops

Chapter 10 Link-State Routing Protocols

Using OSPF in an MPLS VPN Environment

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

OSPF Version 2 (RFC 2328) Describes Autonomous Systems (AS) topology. Propagated by flooding: Link State Advertisements (LSAs).

BGP: Frequently Asked Questions

A Case Study Design of Border Gateway Routing Protocol Using Simulation Technologies

The goal of this lecture is to explain how routing between different administrative domains

Introduction to Dynamic Routing Protocols

Transcription:

Outline Why does BGP exist? What is interdomain routing and why do we need it? Why does BGP look the way it does? EE122: Interdomain Routing Reading: Sections K&R 4.6. Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at Princeton and UC Berkeley How does BGP work? Path vector algorithm and many boring details pay more attention to the why than the how 1 2 Routing Provides paths between networks Internet is more complicated... Internet not just unstructured collection of networks Previous lecture presented two routing designs link-state distance vector Previous lecture assumed single domain all routers have same routing metric (shortest path) no privacy issues, no policy issues Internet is comprised of a set of autonomous systems (ASes) independently run networks, some are commercial ISPs currently around 0,000 ASes ASes are sometimes called domains hence interdomain routing 4 Internet: a large number of ASes Who speaks BGP? Large ISP Large ISP BGP R2 R Stub R1 Dial-Up ISP Stub Small ISP Stub Access Network R border router internal router! Two types of routers! Border router (Edge), Internal router (Core) 5 6

Purpose of BGP I-BGP and E-BGP you can reach net A via me I-BGP IGP: Intradomain routing Example: OSPF traffic to A R1 BGP R2 A R R2 E-BGP IGP A R announce B table at R1: R border router dest next hop A R2 internal router Share connectivity information across ASes 7 R R1 border router internal router R4 AS B R5 8 In more detail Rest of lecture... Motivate why BGP is the way it is Border router Internal router 6 2 4 9 2 1 Discuss some problems with interdomain routing Discuss (briefly!) what a new BGP might look like 1. Provide internal reachability (IGP) 2. Learn routes to external destinations (ebgp). Distribute externally learned routes internally (ibgp) 4. Select closest egress (IGP) 9 Explain some of BGP s details not fundamental, just series of specific design decisions 10 Why BGP Is the Way It Is 1. ASes are autonomous Want to choose their own internal routing protocol different algorithms and metrics Want freedom to route based on policy my traffic can t be carried over my competitor s network I don t want to carry transit traffic through my network not expressible as Internet-wide shortest path! Want to keep their connections and policies private would reveal business relationships, network structure 11 12

2. ASes have business relationships Three kinds of common relationships between ASes AS A can be AS B s customer AS A can be AS B s provider AS A can be AS B s peer Business implications customer pays provider peers don t pay each other Policy implications When sending traffic, I prefer to route through customers over peers, and peers over providers I don t carry traffic from one provider to another provider 1 AS-level topology Destinations are IP prefixes (e.g., 12.0.0.0/8) Nodes are Autonomous Systems (ASes) " internals are hidden Links are connections & business relationships 1 2 Client 7 4 5 6 Web server 14 What routing algorithm can we use? Key issues are policy and privacy What about distance vector? Does not reveal any connectivity information Can t use shortest path domains don t have any shared metric policy choices might not be shortest path Can t use link state would have to flood policy preferences and topology would violate privacy But is designed to compute shortest paths Extend distance vector to allow policy choices? 15 16 Path-Vector Routing Extension of distance-vector routing Support flexible routing policies Faster loop detection (no count-to-infinity) Key idea: advertise the entire path Distance vector: send distance metric per dest d Path vector: send the entire path for each dest d 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, 2, 1 Node can simply discard paths with loops E.g., node 1 simply discards the advertisement d: path (2,1) d: path (1) 2 1 d: path (2,1) d: path (1) 2 1 data traffic data traffic d 17 d: path (,2,1) 18

Flexible Policies Selection vs Export 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,, 1 over 2, 1 Node 1 may not let node hear the path 1, 2 2 Selection policies determines which paths I want my traffic to take Export policies determines whose traffic I am willing to carry Notes: any traffic I carry will follow the same path my traffic takes, so there is a connection between the two 1 19 from a protocol perspective, decisions can be arbitrary " can depend on entire path (advantage of PV approach) 20 Illustration Examples of Standard Policies Route export Customer Route selection Primary Transit network: Selection: prefer customer to peer to provider Export: " Let customers use any of your routes " Let anyone route through you to your customer " Block everything else Competitor Backup Selection: controls traffic out of the network Multihomed (nontransit) network: Export: Don t export routes for other domains Selection: pick primary over backup Export: controls traffic into the network 21 22 Any Questions? Issues with Path-Vector Policy Routing Reachability Security Performance Lack of isolation 2 Policy oscillations 24

Reachability In normal routing, if graph is connected then reachability is assured With policy routing, this does not always hold Provider AS 1 X AS Provider Security An AS can claim to serve a prefix that they actually don t have a route to (blackholing traffic) problem not specific to policy or path vector important because of AS autonomy Even worse: snoop on all traffic to almost any destination without anyone realizing that anything is wrong AS 2 Customer Fixable: make ASes prove they have a path but not used in today s Internet 25 26 Performance BGP designed for policy not performance Performance (example) AS path length can be misleading An AS may have many router-level hops Hot Potato routing common but suboptimal AS wants to hand off the packet as soon as possible Even BGP shortest paths are not shortest Fewest AS s!= Fewest number of routers BGP says that path 4 1 is better than path 2 1 AS 4 AS 20% of paths inflated by at least 5 router hops AS 2 Not clear this is a significant problem 27 AS 1 28 Lack of Isolation: dynamics Lack of isolation: routing table size If there is a change in the path, the path must be re-advertised to every node using the path Route Flap Damping supposed to help (but ends up causing more problems) BGP updates per hour per prefix Fig. from [Huston] Each BGP router must know path to every other IP prefix but router memory is expensive and thus constrained Number of prefixes growing more than linearly Subject of current research Number of prefixes in BGP table Fig. from [G. Huston] 29 0

Persistent Oscillations due to Policies Depends on the interactions of policies Policy Oscillations (cont!d) Policy autonomy vs network stability focus of much recent research 1 0 1 0 0 1 Not an easy problem PSPACE-complete to decide whether given policies will eventually converge! [FP2008] 2 1 0 2 0 2 2 0 0 We are back to where we started! 1 However, if policies follow normal business practices, stability is guaranteed [GR2000] 2 Redesigning BGP If we keep all the current constraints, not many alternative design options (at high-level) Which constraints might we lift? Any Questions? Next up: the details Are most policies really private? could use link-state for some of the routing Do ASes really need to see the entire path? could hide some of the path, reducing updates Can AS structure be integrated into addressing? 4 Border Gateway Protocol (BGP) 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 116] 1991 : BGP- [RFC 1267] 1995 : BGP-4 [RFC 1771] Support for Classless Interdomain Routing (CIDR) 5 BGP!s job: maintain routing table ner-routes>show ip bgp BGP table version is 6128791, local router ID is 4.2.4.165 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path * i.0.0.0 4.0.6.142 1000 50 0 701 80 i * i4.0.0.0 4.24.1.5 0 100 0 i * i12..21.0/2 192.205.2.15 0 50 0 7018 4264 6468? * e128.2.0.0/16 192.205.2.15 0 50 0 7018 4264 6468 25 e 6

BGP Operations Establish session on TCP port 179 Exchange all active routes Exchange incremental updates BGP session While connection is ALIVE exchange route UPDATE messages 7 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 neighbors Withdrawal " If the active route is no longer available " send a withdrawal message to the neighbors 8 BGP Route Processing Receive BGP Updates Open ended programming. Constrained only by vendor configuration language Apply Policy = filter routes & tweak attributes Based on Attribute Values Best Routes Apply Policy = filter routes & tweak attributes Transmit BGP Updates Selecting the best route Attributes of routes set/modified according to operator instructions Routes compared based on attributes using (mostly) standardized rules Apply Import Policies Best Route Selection Best Route Table Install forwarding Entries for best Routes. IP Forwarding Table Apply Export Policies 9 1. Highest local preference (all equal by default 2. Shortest AS path length so default = shortest paths). Lowest origin type (IGP < EGP < incomplete) 4. Lowest MED 5. ebgp- over ibgp-learned 6. Lowest IGP cost 7. Lowest next-hop router ID 40 Attributes Destination prefix (e.g,. ) Routes have attributes, including AS path (e.g., 7018 88 ) Next-hop IP address (e.g., 12.127.0.121) AS 88 Princeton 192.0.2.1 AS 7018 AT&T AS path = 88 Next Hop = 192.0.2.1 12.127.0.121 AS 12654 RIPE NCC RIS project AS path = 7018 88 Next Hop = 12.127.0.121 41 ASPATH Attribute AS Path = 129 7018 88 AS 129 Sprint AS Path = 88 AS 88 Princeton Prefix Originated AS 1755 Ebone AS7018 AT&T AS Path = 1755 129 7018 88 AS Path = 7018 88 AS Path = 7018 88 AS 1129 Global Access AS Path = 1129 1755 129 7018 88 AS 12654 RIPE NCC RIS project AS Path = 549 7018 88 AS 549 Global Crossing 42

Local Preference attribute Internal BGP and Local Preference Policy choice between different AS paths 140.20.1.0/24 Example Both routers prefer the path through AS 100 on the left even though the right router learns an external path The higher the value the more preferred AS4 AS AS 100 AS 200 AS 00 BGP table at AS4: Carried by IBGP, local to the AS. Destination AS Path Local Pref 140.20.1.0/24 AS 00 140.20.1.0/24 100 4 Local Pref = 100 Local Pref = 90 I-BGP AS 256 44 Origin attribute Multi-Exit Discriminator (MED) attr. Who originated the announcement? Where was a prefix injected into BGP? IGP, BGP or Incomplete (often used for static routes) When ASes interconnected via 2 or more links AS announcing prefix sets MED ( in picture) Link B MED=50 MED=10 Link A AS receiving prefix uses MED to select link A way to specify how close a prefix is to the link it is announced on AS4 AS 45 46 IGP cost attribute Used in BGP for hot-potato routing Each router selects the closest egress point based on the path cost in intradomain protocol Somewhat in conflict with MED Lowest Router ID Last step in route selection decision process Arbitrary tiebreaking A 4 F 5 dst 9 D 8 E C 8 B 4 10 G But we do sometimes reach this step, so how ties are broken matters hot potato 47 48

Joining BGP and IGP Information Border Gateway Protocol (BGP) Announces reachability to external destinations Maps a destination prefix to an egress point " reached via 192.0.2.1 Interior Gateway Protocol (IGP) Used to compute paths within the AS Maps an egress point to an outgoing link " 192.0.2.1 reached via 10.1.1.1 10.1.1.1 192.0.2.1 49 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 10.12.0.0/16 pointing to Yale Nail up default routes 0.0.0.0/0 pointing to Qwest Yale University 10.12.0.0/16 50 Summary BGP is essential to the Internet ties different organizations together Poses fundamental challenges... leads to use of path vector approach...and myriad details 51