Top Banner
Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability Yi Wang, Jennifer Rexford Princeton University Michael Schapira Yale University & UC Berkeley
41

Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Dec 30, 2015

Download

Documents

freya-hale

Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability. Yi Wang, Jennifer Rexford Princeton University. Michael Schapira Yale University & UC Berkeley. A Case For Customized Route Selection. - PowerPoint PPT Presentation
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: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Neighbor-Specific BGP (NS-BGP):More Flexible Routing Policies

While Improving Global Stability

Yi Wang, Jennifer RexfordPrinceton University

Michael SchapiraYale University & UC Berkeley

Page 2: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

A Case For Customized Route Selection• Large ISPs usually have multiple paths to reach

the same destination• Different paths have different properties• Different neighbors may prefer different routes

2

Bank

VoIPprovider

School

Most secureShortest latency

Lowest cost

Page 3: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Such Flexibility Is Infeasible Today• BGP: The routing protocol (“glue”) of the Internet– An ISP configures BGP to realize its routing policies

• BGP uses a restrictive, “one-route-fits-all” model– Every router selects one best route (per destination) for

all neighbors

3

Page 4: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

BGP’s Node-based Route Selection• In conventional BGP, a node (ISP or router) has one

ranking function (that reflects its routing policy)

4

Page 5: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

A New Model:Neighbor-Specific BGP (NS-BGP)

• Change the way routes are selected– Under NS-BGP, a node (ISP or router) can select

different routes for different neighbors

• Inherit everything else from conventional BGP– Message format, message dissemination, …

5

Page 6: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

The Neighbor-based Route Selection Model

• In NS-BGP, a node has one ranking function per neighbor / per edge link

6

i

j is node i’s ranking function for link (j, i), or equivalently, for neighbor node j.

Page 7: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Would the Additional Flexibility Cause Routing Oscillation?

7

• Conventional BGP can easily oscillate– Even without neighbor-specific route selection

(3 d) is available

(2 d) is available

(3 d) is not available

(1 d) is available (2 d) is not

available

(1 d) is not available

Page 8: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Why Is The Internet Generally Stable?

• It’s mostly because of $$ • Policy configurations based on ISPs’ bilateral

business relationships– Customer-Provider

• Customers pay provider for access to the Internet

– Peer-Peer• Peers exchange traffic free of charge

• Most well-known result reflecting this practice: “Gao-Rexford” stability conditions

8

Page 9: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

The “Gao-Rexford” Stability Conditions

• Preference condition– Prefer customer routes over peer or provider routes

9

Node 3 prefers “3 d” over “3 1 2 d”

Page 10: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

The “Gao-Rexford” Stability Conditions

10

• Export condition– Export only customer routes to peers or providers

Valid paths: “1 2 d” and “6 4 3 d”Invalid path: “5 8 d” and “6 5 d”

Page 11: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

The “Gao-Rexford” Stability Conditions

11

• Topology condition– No cycle of customer-provider relationships

Page 12: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

How Bad Is It If NS-BGP Violates “Gao-Rexford”

• NS-BGP may not always converge– Even in very simple cases

• “Gao-Rexford” limits NS-BGP’s benefits• ISPs may want to violate the preference condition – E.g., a bank may want to pay more to use a secure

provider route

• Some important questions need to be answered– Would such violation lead to routing oscillation?

12

Page 13: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Stability Conditions for NS-BGP

• Surprising results: NS-BGP improves stability!– The more flexible NS-BGP requires significantly less

restrictive conditions to guarantee routing stability

• The “preference condition” is no longer needed– An ISP can choose any “exportable” route for each

neighbor

• That is, an ISP can choose– Any route for a customer– Any customer-learned route for a peer or provider

13

Page 14: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Why Stability is Easier to Obtain in NS-BGP?

14

• The same system will be stable in NS-BGP– Key: the availability of (3 d) to 1 is independent of the

presence or absence of (3 2 d)

(3 d) is available

(2 d) is available

(1 d) is available

Page 15: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

How the Proof Works

• Leverage “Iterated Dominance”– An underlying structure of a routing instance– Provides constructive proof and convergence guarantee

15

5

1d

2d

21d

31d

32d321d

531d532d5321d

4321d432d431d

12d

4

3

2

d

1

customer provider

Page 16: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Other Merits of NS-BGP

• Stable under topology changes – E.g., link/node failures and new peering links

• Stable in partial deployment– Individually ISPs can safely deploy NS-BGP incrementally

• More robust with “backup” routing– Certain routing anomalies (e.g., “BGP Wedgies”) are less

likely to happen than in conventional BGP

16

Page 17: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

NS-BGP Is Practical!

• Some proposals don’t get deployed, due to the lack of– Economic incentives (e.g., IP multicast)– No advantages in partial deployment (e.g., S-BGP)– Not incrementally deployable (e.g., a brand new

interdomain routing protocol)

• NS-BGP addresses all these issues!– Natural economic motivation– Immediate benefit for an individual ISP that deploys it

(while maintaining global stability)– Only software updates to routers needed, no coordination

with neighbors needed

17

Page 18: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Incrementally Deployable

• Neighbor-specific forwarding– Existing IP-in-IP or MPLS tunneling techniques

18

?

Page 19: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Incrementally Deployable• Route dissemination within an AS– To ensure an edge router has enough “route visibility”

• Distributed approach– BGP ADD-PATH– No need to disseminate all paths

19

Page 20: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Different Route Selection Models• “Subscription” model– Provider offers a set of ranking functions, customer picks

• “Total-control” model– Customer decides its own ranking function

• “Hybrid” model– Customer controls some parameters of its ranking

function, provider controls the rest

20

Page 21: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Conclusions

• NS-BGP: a new route-selection model• Immediate benefits to individual ISPs that deploy it• New understanding of the trade-offs between local

policy flexibility and global routing stability• Future work: dynamics of NS-BGP (e.g.,

convergence speed)

21

Page 22: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Backup Slides

22

Page 23: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Neighbor-Specific Forwarding• Tunnels from ingress links to egress links– IP-in-IP or Multiprotocol Label Switching (MPLS)

23

?

Page 24: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Route Dissemination Within An AS• To ensure an edge router has enough “route

visibility”• Distributed approaches

– A “quick ‘n dirty” fix: multiple iBGP sessions between routers– A better approach: BGP Add-PATH– No need to disseminate all paths

24

Page 25: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Route Dissemination Within An AS• Centralized approach – RCP / Morpheus– A small number of logically-centralized servers – With complete visibility– Select BGP routes for routers

25

Page 26: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Flexible Route Assignment• Support for multiple paths already available– “Virtual routing and forwarding (VRF)” (Cisco) – “Virtual router” (Juniper)

26

D: (red path): R6D: (blue path): R7

R3’s forwarding table (FIB) entries

Page 27: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

How Is A Ranking Function Configured?

• We model policy configuration as a decision problem

• … of how to reconcile multiple (potentially conflicting) objectives in choosing the best route

• What’s the simplest method with such property?

27

Page 28: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Use Weighted Sum Instead of Strict Ranking

• Every route has a final score:• The route with highest is selected as best:

28

S(r) wi ai (r)ci C

r

r*argmaxrR

( wci acici C

)

S(r)

Page 29: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Multiple Decision Processes for NS-BGP

• Multiple decision processes running in parallel• Each realizes a different policy with a different set

of weights of policy objectives29

Page 30: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

How To Translate A Policy Into Weights?

• Picking a best alternative according to a set of criteria is a well-studied topic in decision theory

• Analytic Hierarchy Process (AHP) uses a weighted sum method (like we used)

30

Page 31: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Use Preference Matrix To Calculate Weights• Humans are best at doing pair-wise comparisons• Administrators use a number between 1 to 9 to

specify preference in pair-wise comparisons– 1 means equally preferred, 9 means extreme preference

• AHP calculates the weights, even if the pair-wise comparisons are inconsistent

31

Latency Stability Security Weight

Latency 1 3 9 0.69

Stability 1/3 1 3 0.23

Security 1/9 1/3 1 0.08

Page 32: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

The AHP Hierarchy of An Example Policy

32

Page 33: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

33

• Every BGP route has a set of attributes– Some are controlled by neighbor ASes– Some are controlled locally– Some are controlled by no one

• Fixed step-by-step route-selection algorithm

• Policies are realized through adjusting locally controlled attributes– E.g., local-preference: customer 100, peer

90, provider 80• Three major limitations

Local-preference

AS Path Length

Origin Type

MED

eBGP/iBGP

IGP Metric

Router ID

Why Are Policy Trade-offs Hard in BGP?

Page 34: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

• Limitation 1: Overloading of BGP attributes• Policy objectives are forced to “share” BGP

attributes

• Difficult to add new policy objectives

34

Business Relationships Traffic EngineeringLocal-preference

Why Are Policy Trade-offs Hard in BGP?

Page 35: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Why Are Policy Trade-offs Hard in BGP?

• Limitation 2: Difficulty in incorporating “side information”

• Many policy objectives require “side information”– External information: measurement data, business

relationships database, registry of prefix ownership, …– Internal state: history of (prefix, origin) pairs, statistics

of route instability, …

• Side information is very hard to incorporate today

35

Page 36: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Inside Morpheus Server: Policy Objectives As Independent Modules

• Each module tags routes in separate spaces (solves limitation 1)

• Easy to add side information (solves limitation 2)• Different modules can be implemented independently

(e.g., by third-parties) – evolvability36

Page 37: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Why Are Policy Trade-offs Hard in BGP?• Limitation 3: Strictly rank one attribute over

another (not possible to make trade-offs between policy objectives)

• E.g., a policy with trade-off between business relationships and stability

• Infeasible today

37

“If all paths are somewhat unstable, pick the most stable path (of any length);Otherwise, pick the shortest path through a customer”.

Page 38: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Prototype Implementation

• Implemented as an extension to XORP– Four new classifier modules (as a pipeline)– New decision processes that run in parallel

38

Page 39: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

39

Evaluation• Classifiers work very efficiently

• Morpheus is faster than the standard BGP decision process (w/ multiple alternative routes for a prefix)

• Throughput – our unoptimized prototype can support a large number of decision processes

Classifiers Biz relationships Stability Latency Security

Avg. time (us) 5 20 33 103

Decision processes Morpheus XORP-BGP

Avg. time (us) 54 279

# of decision process 1 10 20 40

Throughput (update/sec) 890 841 780 740

Page 40: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

How a neighbor gets the routes in NS-BGP

• Having the ISP pick the best one and only export that route+: Simple, backwards compatible-: Reveals its policy

• Having the ISP export all available routes, and pick the best one itself+: Doesn’t reveal any internal policy-: Has to have the capability of exporting multiple routes

and tunneling to the egress points

40

Page 41: Neighbor-Specific BGP (NS-BGP): More Flexible Routing Policies While Improving Global Stability

Why wasn’t BGP designed to be neighbor-specific?

• Different networks have little need to use different paths to reach the same destination

• There was far less path diversity to explore• There was no data plane mechanisms (e.g.,

tunneling) that support forwarding to multiple next hops for the same destination without causing loops

• Selecting and (perhaps more importantly) disseminating multiple routes per destination would require more computational power from the routers than what's available at the time then BGP was first designed

41