Top Banner
CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) lides from Timothy Griffin and Craig Labovitz)
66

CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

Dec 13, 2015

Download

Documents

Barry Knight
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

CS 268: Lecture 11Inter-domain Routing

ProtocolKarthik Lakshminarayanan

UC Berkeley(substituting for Ion Stoica)

(*slides from Timothy Griffin and Craig Labovitz)

Page 2: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

2

Overview

An Introduction to BGP BGP and the Stable Paths problem Convergence of BGP in the real world The End-to-End Effects of Internet Path Selection

Page 3: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

3

Internet Routing

Internet organized as a two level hierarchy First level – autonomous systems (AS’s)

- AS – region of network under a single administrative domain

AS’s run an intra-domain routing protocols- Distance Vector, e.g., RIP

- Link State, e.g., OSPF

Between AS’s runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP)

- De facto standard today, BGP-4

Page 4: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

4

Example

AS-1

AS-2

AS-3

Interior router

BGP router

Page 5: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

5

Inter-domain Routing basics

Internet is composed of over 20000 autonomous systems

BGP = Border Gateway Protocol

- Policy-Based routing protocol

- De facto inter-domain routing protocol of Internet

Relatively simple protocol, but…

- complex configuration: entire world can see, and be impacted by,

configuration mistakes

Page 6: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

6

BGP Basics

Use TCP Border Gateway Protocol (BGP), based on

Bellman-Ford path vector AS’s exchange reachability information through

their BGP routers, only when routes change BGP routing information – a sequence of AS’s

indicating the path traversed by a route General operations of a BGP router:

- Learns multiple paths

- Picks best path according to its AS policies

- Install best pick in IP forwarding tables

Page 7: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

7

BGP Operations (Simplified)

Establish session on TCP port 179

Exchange all active routes

Exchange incremental updates

AS1

AS2

While connection is ALIVE exchangeroute UPDATE messages

BGP session

Page 8: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

8

Customers and Providers

Customer pays provider for access to the Internet

provider

customer

IP trafficprovider customer

Page 9: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

9

The “Peering” Relationship

peer peer

customerprovider

Peers provide transit between their respective customers

Peers do not provide transit between peers

Peers (often) do not exchange $$$trafficallowed

traffic NOTallowed

Page 10: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

10

Peering Provides Shortcuts

Peering also allows connectivity betweenthe customers of “Tier 1” providers.

peer peer

customerprovider

Page 11: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

11

Peering Wars

Reduces upstream transit costs

Can increase end-to-end performance

May be the only way to connect your customers to some part of the Internet (“Tier 1”)

You would rather have customers

Peers are usually your competitors

Peering relationships may require periodic renegotiation

Peering struggles are by far the most contentious issues in the ISP world!

Peering agreements are often confidential.

Peer Don’t Peer

Page 12: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

12

Architecture of Dynamic Routing

AS 1

AS 2

BGP

EGP = Exterior Gateway Protocol

IGP = Interior Gateway Protocol

Metric based: OSPF, IS-IS, RIP, EIGRP (cisco)

Policy based: BGP

OSPF

EIGRP

Page 13: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

13

AS-Path

Sequence of AS’s a route traverses Used for loop detection and to apply policy

120.10.0.0/16130.10.0.0/16

110.10.0.0/16

AS-1

AS-2

AS-3 AS-4

AS-5

120.10.0.0/16 AS-2 AS-3 AS-4130.10.0.0/16 AS-2 AS-3110.10.0.0/16 AS-2 AS-5

Page 14: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

14

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

Page 15: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

15

Two Types of BGP Neighbor Relationships

• External Neighbor (eBGP) in a different Autonomous Systems

• Internal Neighbor (iBGP) in the same Autonomous System

AS1

AS2

eBGP

iBGP

iBGP is routed using Interior Gateway Protocol

(IGP) such as OSPF/IS-IS

Page 16: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

16

iBGP Peers Must be Fully Meshed

iBGP neighbors do not announce routes received via iBGP to other iBGPneighbors.

eBGP update

iBGP updates

• iBGP is needed to avoid routing loops within an AS

• Injecting external routes into IGP does not scale and causes BGP policy information to be lost

• BGP does not provide “shortest path” routing

Page 17: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

17

Important BGP attributes

LocalPREF- Local preference policy to choose “most”

preferred route

Multi-exit Discriminator (MED)- Which peering point to choose?

Import Rules- What route advertisements do I accept?

Export Rules- Which routes do I forward to whom?

Page 18: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

18

Route Selection Summary

Highest Local Preference

Shortest ASPATH

Lowest MED

i-BGP < e-BGP

Lowest IGP cost to BGP egress

Lowest router ID

Traffic engineering

Enforce relationships

Throw up hands andbreak ties

Page 19: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

19

Implementing Customer/Provider and Peer/Peer relationships

Enforce transit relationships - Outbound route filtering

Enforce order of route preference- provider < peer < customer

Page 20: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

20

Import Routes

Frompeer

Frompeer

Fromprovider

Fromprovider

From customer

From customer

provider route customer routepeer route ISP route

Page 21: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

21

Export Routes

Topeer

Topeer

Tocustomer

Tocustomer

Toprovider

From provider

provider route customer routepeer route ISP route

filtersblock

Page 22: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

22

Overview

An Introduction to BGP BGP and the Stable Paths problem Convergence of BGP in the real world The End-to-End Effects of Internet Path Selection

Page 23: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

23

Our focus

What Problem is BGP solving?

Underlying problem

Shortest Paths

Distributed means of computing a solution

X?

RIP, OSPF, IS-IS

BGP

aid in the design of policy analysis algorithms and heuristics, aid in the analysis and design of BGP and extensions, help explain some BGP routing anomalies, provide a fun way of thinking about the protocol

Having an X can

Page 24: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

24

1

Q : How simple can X get? A: The Stable Paths Problem (SPP)

2 5 5 2 1 0

0

2 1 02 0

1 3 01 0

3 0

4 2 04 3 0

3

4

2

1

graph of nodes and edges node 0, called the origin for each non-zero node, a set

or permitted paths to the origin—this set always contains the “null path”

ranking of permitted paths at each node—null path is always least preferred

An instance of the SPP :

When modeling BGP : nodes represent BGP speaking border routers, and 0 represents a node originating some address block

most preferred…least preferred (not null)

Page 25: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

25

5 5 2 1 0

1

A Solution to a Stable Paths Problem

2

0

2 1 02 0

1 3 01 0

3 0

4 2 04 3 0

3

4

2

1

node u’s assigned path is either the null path

or is a path uwP, where wP is assigned to

node w and {u,w} is an edge in the graph,

each node is assigned the highest ranked

path among those consistent with the paths

assigned to its neighbors.

A Solution need not represent a shortest path tree, or a spanning tree.

A solution is an assignment of permitted paths to each node such that

Page 26: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

26

Example: SHORTEST1

1 2

4

3

0

2 02 1 0

1 01 3 0

4 3 04 2 0

3 0

Page 27: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

27

Example: SHORTEST1 (Solution)

1 2

4

3

0

2 02 1 0

1 01 3 0

4 3 04 2 0

3 0

Page 28: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

28

Example: SHORTEST2

1 2

4

3

0

2 02 1 0

1 01 3 0

4 2 04 3 0

3 0

Page 29: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

29

Example: SHORTEST2 (Solution)

1 2

4

3

0

2 02 1 0

1 01 3 0

4 2 04 3 0

3 0

Page 30: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

30

Example: GOOD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 0

Page 31: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

31

Example: GOOD GADGET (Solution)

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 0

Page 32: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

32

A Stable Paths Problem may have multiple solutions

First solution

1

0

2

1 2 01 0

1

0

2

1

0

2

2 1 02 0

1 2 01 0

2 1 02 0

1 2 01 0

2 1 02 0

Second solutionDISAGREE

Page 33: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

33

Example: NAUGHTY GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 4 2 03 0

Page 34: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

34

Example: NAUGHTY GADGET (Solution 1)

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 4 2 03 0

Page 35: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

35

Example: NAUGHTY GADGET (Solution 2)

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 4 2 03 0

Page 36: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

36

SPP explains possibility of BGP divergence

BGP is not guaranteed to converge to a stable routing. Policy inconsistencies can lead to “livelock” protocol oscillations.

See “Persistent Route Oscillations in Inter-domain Routing” by K. Varadhan, R. Govindan, and D. Estrin. ISI report, 1996

Solvable Can Diverge

must convergemust diverge

The SPP view :

Page 37: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

37

Example: NAUGHTY GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 4 2 03 0

Page 38: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

38

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

Page 39: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

39

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 40: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

40

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

… 2 chooses (2 1 0) …

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 41: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

41

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

… 4 chooses ( ) …

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 42: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

42

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

… 3 chooses (3 0) …

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 43: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

43

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

… 4 chooses (4 3 0) …

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 44: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

44

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

… 1 chooses (1 3 0) …

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 45: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

45

Example: BAD GADGET

1 2

3

0

2 1 02 0

1 3 01 0

3 4 2 03 0

… 2 chooses (2 0) …

44 2 04 3 0

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 46: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

46

Example: BAD GADGET

1 2

3

0

2 1 02 0

1 3 01 0

3 4 2 03 0

… 4 chooses (4 2 0) …

44 2 04 3 0

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 47: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

47

Example: BAD GADGET

1 2

3

0

2 1 02 0

1 3 01 0

3 4 2 03 0

… 3 chooses (3 4 2 0) …

44 2 04 3 0

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 48: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

48

Example: BAD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0

… 1 chooses (1 0) …

That was one round of oscillation!

• 2 chooses (2 0)• 4 chooses (4 2 0)• 3 chooses (3 4 2 0)• 1 chooses (1 0)

Page 49: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

49

2

0

31

2 1 02 0

1 3 01 0

3 4 2 03 0

4

4 2 04 3 0

BAD GADGET : No Solution

In a BGP-like protocol• each node local decisions• at least one node can always improve its path

Result:persistent oscillation

Page 50: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

50

SURPRISE : Beware of Backup Policies

4 04 2 04 3 0

Becomes BAD GADGET if link (4, 0) goes down.

BGP is not robust : it is not guaranteed to recover from network failures.

2

0

31

2 1 02 0

1 3 01 0

3 4 2 03 0

4

Page 51: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

51

PRECARIOUS

1

0

2

1 2 01 0

2 1 02 0

3

4

5 6

5 3 1 05 6 3 1 2 05 3 1 2 0

6 3 1 06 4 3 1 2 06 3 1 2 0

4 3 1 04 5 3 1 2 04 3 1 2 0

3 1 03 1 2 0

As with DISAGREE, this part has two distinct solutions

This part has a solution only when node 1 is assigned the direct path (1 0).

Has a solution, but can get “trapped”

Page 52: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

52

Theoretical Results

The problem of determining whether an instance of stable paths problem is solvable is NP-complete

Shortest path route selection is provably safe

Page 53: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

53

What is to be done?

StaticApproach

Inter-AScoordination

Automated Analysis of Routing Policies(This is very hard).

Dynamic Approach

Extend BGP with a dynamic means of detecting and suppressingpolicy-based oscillations?

These approaches are complementary

Page 54: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

54

Overview

An Introduction to BGP BGP and the Stable Paths problem Convergence of BGP in the real world The End-to-End Effects of Internet Path Selection

Page 55: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

55

Convergence in the real-world?

[Labovitz99] Experimental results from two year study which measured 150,000 BGP faults injected into peering sessions at several IXPs

Found:- Internet averages 3 minutes to converge after

failover- Some multihomed failovers (short to long

ASPath) require 15 minutes

Page 56: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

56

BGP Convergence Example

R

AS0 AS1

AS2AS3

*B R via AS3 B R via AS0,AS3 B R via AS2,AS3

*B R via AS3 B R via AS0,AS3 B R via AS2,AS3

*B R via AS3 B R via AS1,AS3 B R via AS2,AS3

AS0 AS1 AS2

** **B R via 203

*B R via 013 B R via 103

Page 57: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

57

Convergence Result

If we assume 1. unbounded delay on BGP processing and

propagation

2. Full BGP mesh BGP peers

3. Constrained shortest path first selection algorithm

Convergence time of BGP is O(N!), where N number of BGP speakers

There exists possible ordering of messages There exists possible ordering of messages such that BGP will explore all possible such that BGP will explore all possible ASPaths of all possible lengthsASPaths of all possible lengths

Page 58: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

58

Overview

An Introduction to BGP BGP and the Stable Paths problem Convergence of BGP in the real world The End-to-End Effects of Internet Path

Selection

Page 59: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

59

End-to-end effects of Path Selection

Goal of study: Quantify and understand the impact of path selection on end-to-end performance

Basic metric- Let X = performance of default path

- Let Y = performance of best path

- Y-X = cost of using default path

Technical issues- How to find the best path?

- How to measure the best path?

Page 60: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

60

Approximating the best path

Key Idea- Use end-to-end measurements to extrapolate

potential alternate paths

Rough Approach- Measure paths between pairs of hosts

- Generate synthetic topology – full NxN mesh

- Conservative approximation of best path

Question: Given a selection of N hosts, how crude is this approximation?

Page 61: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

61

Methodology

For each pair of end-hosts, calculate:- Average round-trip time

- Average loss rate

- Average bandwidth

Generate synthetic alternate paths (based on long-term averages)

For each pair of hosts,graph difference between default path and alternate path

Page 62: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

62

Courtesy: Stefan Savage

Page 63: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

63

Courtesy:

Stefan Savage

Page 64: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

64

Courtesy:

Stefan Savage

Page 65: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

65

Courtesy:

Stefan Savage

Page 66: CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

66

Why Path Selection is imperfect?

Technical Reasons- Single path routing

- Non-topological route aggregation

- Coarse routing metrics (AS_PATH)

- Local policy decisions

Economic Reasons- Disincentive to offer transit

- Minimal incentive to optimize transit traffic