• No results found

Customized BGP Route Selection Using BGP/MPLS VPNs

N/A
N/A
Protected

Academic year: 2021

Share "Customized BGP Route Selection Using BGP/MPLS VPNs"

Copied!
29
0
0

Loading.... (view fulltext now)

Full text

(1)

Customized BGP Route Selection

Using BGP/MPLS VPNs

Cisco Systems, Routing Symposium

Monday, Oct. 5 2009

Laurent Vanbever

Université catholique de Louvain, BE !"#$%&'()"&*%+%$,#-./#+"0&(*%

Pierre Francois (UCLouvain, BE), Olivier Bonaventure (UCLouvain, BE) and Jennifer Rexford (Princeton, USA)

(2)

Introduction and motivation

Implementing CRS

Practical considerations and solutions

Conclusion

Customized BGP Route Selection

Using BGP/MPLS VPNs

(3)

Introduction and motivation

Implementing CRS

Practical considerations and solutions

Conclusion

Customized BGP Route Selection

Using BGP/MPLS VPNs

(4)

BGP Route Selection:

One-route-fits-all

model

A BGP router selects

one

best route for each destination

Globally, AS E knows 4 paths towards D

Locally, some routers only know one path (e.g., C1...C3)

C1

C2

C3

A

B

C

D

R1

R2

R4

R5

E

R9

R8 R7 R6

(5)

Many ISPs have a rich path diversity

It is common to have 5-10 paths per prefix

Different paths have different properties

It could be in terms of security, policies, etc.

C1 C2 C3 A B C D R1 R2 R3 R4 R5 E R9 R8 R7 R6 prop.4 prop.3 prop.1 prop.2

BGP Route Selection:

One-route-fits-all

model

(6)

Clients may want different paths to the same prefix

If C1 is a competitor of C, he’d prefer to reach D via A or B C1 may even want to pay an extra fee for that

C1 C2 C3 A B C D R1 R2 R4 R5 E R9 R8 R7 R6 I’d prefer 1 I’d prefer 4 I’d prefer 3

BGP Route Selection:

One-route-fits-all

model

prop.4

prop.3

prop.1

prop.2

(7)

With vanilla BGP, you

can’t

match customers’

preferences to available paths

Customers of a given PE receive the same path

C1 C2 C3 A B C D R1 R2 R3 R4 E R9 R8 R7 R6 R5

BGP Route Selection:

One-route-fits-all

model

I’d prefer 1 I’d prefer 4 I’d prefer 3 prop.4 prop.3 prop.1 prop.2 7

(8)

CRS:

Customized Route Selection

Under CRS, one router can offer

different

interdomain

routes to

different

neighbors

C1 reaches D via B, C2 reaches D via C

C1 C2 C3 A B C D R2 R3 R4 R5 E R9 R8 R7 R6 R1 I’d prefer 1 I’d prefer 4 I’d prefer 3 prop.4 prop.3 prop.1 prop.2

(9)

Introduction and motivation

Implementing CRS

Potential issues and solutions

Conclusion

Customized BGP Route Selection

Using BGP/MPLS VPNs

(10)

Two notions:

class

and

service

A

class

is a set of routes sharing a property

e.g., all the routes learned via provider X

One route can belong to more than one class

A

service

is the union of one or more classes

Some classes can be preferred over others

e.g., service Y is the union of class 1 and class 2

(11)

What do we need to implement

CRS with BGP MPLS VPNs ?

Mechanisms to

disseminate

and

differentiate

paths

Multiprotocol BGP is used as dissemination protocol Route Targets (RT) are used to identify classes

Route Distinguishers (RD) are used to ensure diversity

Customized

route selection mechanisms at ASBR

Use Virtual Routing and Forwarding (VRF) instances to build services

Traffic forwarding on the chosen paths

MPLS tunneling

(12)

C1

C2

C3

A

B

C

D

R1

R2

R3

R4

R5

E

R9

R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

C1 wants to reach D via B, C2 via C

Define two services on R1:

prefer B (resp. C) routes

(13)

C1

C2

C3

A

B

C

D

R1

R2

R3

R4

R5

E

R9

R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

(14)

C1

C2

C3

A

B

C

D

R1

R2

R3

R4

R5

E

R9

R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

(15)

C1 C2 C3 A B C D R1 R2 R3 R4 R5 E R9 R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

Consider peers as VPNs and put them in VRFs

Route Targets

101: learned via A

102: learned via B

103: learned via C

Use RT to identify

classes

(16)

C1 C2 C3 A B C D R1 R2 R3 R4 R5 E R9 R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

Consider peers as VPNs and put them in VRFs

Route Targets

101: learned via A

102: learned via B

103: learned via C

Use RT to identify

classes

RD 1

RD 4

RD 3 RD 2

(17)

C1 C2 C3 A B C D R1 R2 R3 R4 R5 E R9 R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

Route Targets

101: learned via A

102: learned via B

103: learned via C

import RT: 101,102,103; from 102: set pref:=200; import RT: 101,102,103; from 103: set pref:=200;

prefer C routes prefer B routes

Define

services

by using VRFs’ import filters

(18)

C1 C2 C3 A B C D R1 R2 R3 R4 R5 E R9 R8 R7 R6

How do we implement CRS

with BGP MPLS VPNs ?

Route Targets

101: learned via A

102: learned via B

103: learned via C

MPLS is used for forwarding

Two levels label stack

(19)

PEER

CRS applied to

classical

policies

CUST CUST

PROV PROV

R1 R2

R3

Define three classes

Providers (RT 100) Peers (RT 101)

Customers (RT 102)

Define two services

VRF Provider/Peer ( )

import RT 102;

VRF Customers ( )

import RT 100,101,102;

Thanks to VRF isolation,

policies violations vanish

(20)

Introduction and motivation

Implementing CRS

Practical considerations and solutions

Conclusions

Customized BGP Route Selection

Using BGP/MPLS VPNs

(21)

Is CRS pushing a M120

to the limit ?

UUT

MP-iBGP, OSPF, LDP eBGP

RT:100 RT:101

RT:102

RT:103

Four services are defined on the Unit Under Test (UUT)

Each service is fed with one class (one RT)

In each class, ~300k routes (1 path per route) In the end, 1.200.000 routes in RIB & FIB

(22)

UUT was a Juniper

M120 [JunOS 9.3R2.8] Routing Engine (RE) has 4 GB DRAM

Forwarding Engine Boards (FEB) have 512 MB DRAM

RE FEB

empty 17% 9%

fully-loaded

(1.200.000 routes) 38% 39%

FIB could handle more than 2.000.000 routes

Enough to support a few services without modifications

Is CRS pushing a M120

to the limit ?

(23)

More services ?

scalability

and...

scalability

Routes

dissemination

overhead

All PEs receive all VPN routes

Routes

storage

overhead

RIB

Modest performance demand

Add more DRAM to support CRS ?

FIB

CRS’s biggest challenge

Sharing between the VRFs in the FIB ?

(24)

How could we improve CRS

FIB’s scaling:

Selective VRF Download

Customers ask for the same services ?

Connect them on the same line card

Download VRFs only to line cards that need them

It could be a management nightmare...

1111111111111111111112%341156717'0.08"'0/&19:;111<%3/$=11117'0.08"'0/&19:; >./'1>'"'%11111111111195;112/'".11?&'%$$#4'111111@AB<19<C;1D%"411111C#EE%$ 11F11G&.0&%111111111111FH111111I1111111111J1111111KIF11111111!"111111111KL 11M11G&.0&%111111111111FN111111I1111111111J1111111KIF11111111!"111111111KL

(25)

How could we improve CRS

FIB’s scaling:

Cross-VRF Lookup

Specific routing for a small set of prefixes ?

Create one small VRF per service

Add default entry towards a default VRF

The price to pay is 2 IP lookups

Default

*>10/8 via R3

... ...

VRF1

*>10/8 via R1

0/0 via default

VRF2

*>10/8 via R2

0/0 via default R1 R2

R3 R

(26)

How could we improve CRS

FIB’s scaling:

Distributed VRF

Distribute VRFs among routers which can

afford extra load

PEs do not maintain complete VRFs anymore PEs default route traffic towards these routers

Increase in latency and load

Distributed version of

Cross-VRF Lookup

R2 R1

R

R maintain small VRFs

and default rest to R1 or R2 detour path

(27)

Introduction and motivation

Implementing CRS

Practical considerations and solutions

Conclusion

Customized BGP Route Selection

Using BGP/MPLS VPNs

(28)

CRS is feasible

1 Proof in SIGMETRICS'09 paper by Y. Wang, M. Schapira, and J. Rexford

Implementable

It can be realized on today’s routers

It uses well known BGP MPLS/VPNs techniques

Scalable (for a few services

)

“Modest” message and storage overhead Lab experiments tend to confirm that

Guaranteed interdomain convergence

Extra flexibility does not compromise global routing stability1

(29)

Customized BGP Route Selection

Using BGP/MPLS VPNs

Questions ?

Cisco Systems, Routing Symposium

References

Related documents

Logical routers, VPNs, virtual routers, etc, use routing

Organized By: Vivekanand Education Society's Institute Of Technology Figure 1 Network Structure Design.. Network Structure for Simulation is depicted in above Figure

However, the demand from enterprise networks for more Internet Protocol (IP) and Ethernet services and in particular Virtual Private Networks (VPNs), cheaper

Manfred Lindner MPLS_VPN, v4.6 33 Physical Topology IP VPN Customer A Location A1 Customer B Location B1 Customer A Location A2 Customer B Location B2 Customer A Location A3 Customer

• MPLS multistacking is used to keep provider's network free of customer routing information. • Disadvantage: Provider imports customer

A term life insurance policy with a disability income rider can be the living benefit Millennials need. In the event of a disability, your clients can keep up with rent payments

One best route to each destination All acceptable routes BGP Decision Process BGP Adj-RIB-In BGP Adj-RIB-Out BGP Msgs to Peer[N] BGP Msgs to Peer[1].. Path

BGP Route Processing Best Route Selection Apply Import Policies BGP Route Table Apply Export Policies. Install Best Routes Receive BGP Updates Best and Alternate Routes