inter-domain routing protocol

67
Inter-domain Routing Protocol 200 7

Upload: sage

Post on 01-Feb-2016

63 views

Category:

Documents


0 download

DESCRIPTION

Inter-domain Routing Protocol. 2007. Overview. An Introduction to BGP BGP and the Stable Paths problem Convergence of BGP in the real world The End-to-End Effects of Internet Path Selection. CMU (PSC). The Internet: Zooming In. ASes: Independently owned & operated commercial entities. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Inter-domain Routing Protocol

Inter-domain Routing Protocol

2007

Page 2: Inter-domain Routing Protocol

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

3

The Internet: Zooming In

ASes: Independently owned & operated commercial entities

CMU(PSC)

Comcast

Abilene

AT&T Cogent

Autonomous Systems (ASes)BGP

IGPs

(OSPF, etc)All ASes are not equal

Page 4: Inter-domain Routing Protocol

4

Internet Routing

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

- AS – region of network under a single administrative domain

AS’s run an intra-domain routing protocols

- Distance Vector, e.g., RIP

- Link State, e.g., OSPF Between AS’s runs inter-domain routing

protocols, e.g., Border Gateway Routing (BGP)

- De facto standard today, BGP-4

Page 5: Inter-domain Routing Protocol

5

Inter-domain Routing basics

Internet is composed of over 20000 AS’s

- All AS’s must cooperate to ensure reachability BGP = Border Gateway Protocol

- Policy-Based routing protocol

- De facto inter-domain routing protocol of Internet

Relatively simple protocol, but…

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

Many open research problems in policy, scalability, failover, configuration, correctness, security.

Page 6: Inter-domain Routing Protocol

6

BGP Basics

Use TCP - AS’s exchange

Border Gateway Protocol (BGP), based on Bellman-Ford path vector

AS’s exchange reachability information through their BGP routers, only when routes change

BGP routing information – a sequence of AS’s indicating the path traversed by a route

General operations of a BGP router:- Learns multiple paths

- Picks best path according to its AS policies

- Install best pick in IP forwarding tables

Page 7: Inter-domain Routing Protocol

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

8

Tier-1 ISPs have “default-free” routing tables (i.e., they don’t have any default routes), and typically have global reachability information. There are a handful of these today (about five or so).

Tier 1 ISP Tier 1 ISP

Tier 2Tier 2Tier 2Tier 2

Tier 1 ISP

Tier 1 ISP

Tier 2Tier 2

Tier 3

Tier 3Tier 2: Regional/National Tier 3: Local

Various Types of ISPs

Page 9: Inter-domain Routing Protocol

9

AS relationships

Very complex economic landscape. Simplifying a bit:

- Transit: “I pay you to carry my packets to everywhere” (provider-customer)

- Peering: “For free, I carry your packets to my customers only.” (peer-peer)

Technical defn of tier-1 ISP: In the “default-free” zone. No transit.

- Note that other “tiers” are marketing, but convenient. “Tier 3” may connect to tier-1.

Page 10: Inter-domain Routing Protocol

10

Customers and Providers

Customer pays provider for access to the Internet

provider

customer

IP trafficprovider customer

Page 11: Inter-domain Routing Protocol

11

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 12: Inter-domain Routing Protocol

12

Peering Provides Shortcuts

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

peer peer

customerprovider

Page 13: Inter-domain Routing Protocol

13

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 14: Inter-domain Routing Protocol

14

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 15: Inter-domain Routing Protocol

15

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

130.10.0.0/16 AS-2 AS-3

110.10.0.0/16 AS-2 AS-5

Page 16: Inter-domain Routing Protocol

16

Four Types of BGP Messages

Open : Establish a peering session.

Keep Alive : Handshake at regular intervals.

Notification : Shuts down a peering session.

Update : Announcing new routes or

withdrawing previously announced routes.

announcement = prefix + attributes values

Page 17: Inter-domain Routing Protocol

17

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 18: Inter-domain Routing Protocol

18

iBGP Peers Must be Fully Meshed

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

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 19: Inter-domain Routing Protocol

19

Important BGP attributes

Local PREF

- Local preference policy to choose “most” preferred route

Multi-exit Discriminator (MED)

- Which peering point to choose? Import Rules

- What route advertisements do I accept? Export Rules

- Which routes do I forward to whom?

Page 20: Inter-domain Routing Protocol

20

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 21: Inter-domain Routing Protocol

22

Import Routes

Frompeer

Frompeer

Fromprovider

Fromprovider

From customer

From customer

provider route customer routepeer route ISP route

Page 22: Inter-domain Routing Protocol

23

Export Routes

Topeer

Topeer

Tocustomer

Tocustomer

Toprovider

From provider

provider route customer routepeer route ISP route

filtersblock

Page 23: Inter-domain Routing Protocol

24

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 24: Inter-domain Routing Protocol

25

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

What Problem is BGP solving?

Underlying problem

Shortest Paths

Distributed means of computing a solution

X?

RIP, OSPF, IS-IS

BGP

Having an X can

Page 25: Inter-domain Routing Protocol

26

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 26: Inter-domain Routing Protocol

27

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 27: Inter-domain Routing Protocol

28

Example: SHORTEST1

1 2

4

3

0

2 02 1 0

1 01 3 0

4 3 04 2 0

3 0

Page 28: Inter-domain Routing Protocol

29

Example: SHORTEST1 (Solution)

1 2

4

3

0

2 02 1 0

1 01 3 0

4 3 04 2 0

3 0

Page 29: Inter-domain Routing Protocol

30

Example: SHORTEST2

1 2

4

3

0

2 02 1 0

1 01 3 0

4 2 04 3 0

3 0

Page 30: Inter-domain Routing Protocol

31

Example: SHORTEST2 (Solution)

1 2

4

3

0

2 02 1 0

1 01 3 0

4 2 04 3 0

3 0

Page 31: Inter-domain Routing Protocol

32

Example: GOOD GADGET

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 0

Page 32: Inter-domain Routing Protocol

33

Example: GOOD GADGET (Solution)

1 2

4

3

0

2 1 02 0

1 3 01 0

4 3 04 2 0

3 0 • No another solution:• 1 chooses (1 0)• 2 chooses (2 1 0)• 3 chooses (3 0)• 4 chooses (4 3 0)

Page 33: Inter-domain Routing Protocol

34

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 34: Inter-domain Routing Protocol

35

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 35: Inter-domain Routing Protocol

36

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 36: Inter-domain Routing Protocol

37

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 37: Inter-domain Routing Protocol

38

SPP explains possibility of BGP divergence

Solvable Can Diverge

must converge must diverge

The SPP view :

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

See “Persistent Route Oscillations in Inter-domain Routing” by K. Varadhan, etc. ISI report, 1996

Page 38: Inter-domain Routing Protocol

39

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 39: Inter-domain Routing Protocol

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

That was one round of oscillation!

Page 40: Inter-domain Routing Protocol

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

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

Page 41: Inter-domain Routing Protocol

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

… 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 42: Inter-domain Routing Protocol

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 ( ) …

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

Page 43: Inter-domain Routing Protocol

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

… 3 chooses (3 0) …

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

Page 44: Inter-domain Routing Protocol

45

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 45: Inter-domain Routing Protocol

46

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 46: Inter-domain Routing Protocol

47

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 47: Inter-domain Routing Protocol

48

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 48: Inter-domain Routing Protocol

49

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)

That was one round of oscillation!

Page 49: Inter-domain Routing Protocol

50

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)

… 1 chooses (1 0) …

That was one round of oscillation!

Page 50: Inter-domain Routing Protocol

51

1 2

4

3

0

2 1 02 0

1 3 01 0

4 2 04 3 0

3 4 2 03 0Result:

persistent oscillation

BAD GADGET : No Solution

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

Page 51: Inter-domain Routing Protocol

52

SURPRISE : Beware of Backup Policies

BGP is not robust :

it is not

guaranteed

to recover from

network failures.

1 2

3

0

2 1 02 0

1 3 01 0

3 4 2 03 0

4

4 04 2 04 3 0

Becomes BAD GADGETif link (4, 0) goes down !

Page 52: Inter-domain Routing Protocol

53

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 53: Inter-domain Routing Protocol

54

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 54: Inter-domain Routing Protocol

55

What is to be done?

StaticApproach

Inter-AScoordinationAutomated 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 55: Inter-domain Routing Protocol

56

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 56: Inter-domain Routing Protocol

57

Convergence in the real-world?

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

Found:

- Internet averages 3 minutes to converge after failover

- Some multihomed failovers (short to long ASPath) require 15 minutes

Page 57: Inter-domain Routing Protocol

58

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 58: Inter-domain Routing Protocol

59

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 such that BGP will explore all possible ASPaths of all possible lengths

Page 59: Inter-domain Routing Protocol

60

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 60: Inter-domain Routing Protocol

61

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 61: Inter-domain Routing Protocol

62

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 62: Inter-domain Routing Protocol

63

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 63: Inter-domain Routing Protocol

64

Courtesy: Stefan Savage

Page 64: Inter-domain Routing Protocol

65

Courtesy:

Stefan Savage

Page 65: Inter-domain Routing Protocol

66

Courtesy:

Stefan Savage

Page 66: Inter-domain Routing Protocol

67

Courtesy:

Stefan Savage

Page 67: Inter-domain Routing Protocol

68

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