• No results found

Load balancing and traffic control in BGP

N/A
N/A
Protected

Academic year: 2021

Share "Load balancing and traffic control in BGP"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

Load balancing and traffic control

in BGP

Olof Hagsand KTH CSC

(2)

Issues in load balancing

• Load balancing: spread traffic on several paths instead of a single.

•Why?

•Use resources better

Can postpone upgrade of infra-structure

•Geography

Example: Dont use trans-oceanic links twice

•Cost reasons

(3)

Redundancy

•Redundancy and load balancing are not always aligned

•Example: if you use load balancing over several links, and one link goes down: can you still forward all traffic on the single link?

•For redundancy it may sometimes be better to

send/announce all traffic on a single link and then have redundant links for backup

•At the edge, it may be easier to get symmetrical routing which is better for filtering

(4)

Problems with load-balancing

•Load-balancing and asymmetry in general have some problems

•(1) TCP 'breaks'. Why?

•If segments take different paths, segment X+1 can arrive before X

•This will result in multiple ACKs:

• X-1, ACK(X), X+1, ACK(X), X, ACK(X+1)

•Multiple ACK triggers fast-retransmit!

•(2) Firewalls 'break'. Why?

•Stateful filtering does not work: TCP SYN and TCP

(5)

Link-layer load-balancing

• In (metro) Ethernet, load balancing can not be made: Spanning tree computes a single link

•Example: only one link between 222 and 333 can be used for forwarding. 444 1 2 333 222 3 2 3 2 1 A 1 4 B Ethernet switch

(6)

Link-layer load-balancing

20 Gb/s

LAG 10Gb/s

10Gb/s

• But two physical links is aggregated into a single Link-Aggregate Group (LAG)

• Single (20Mb/s) link

(7)

IGP load balancing in IBGP

•IS-IS / OSPF equal-cost multipath provides load balancing in IBGP

Since next-hop self uses peering between loop-backs, and the IBGP neighbor may be reachable via more than one nexthop

10.0.0.1

Route Nexthop Metric Protocol

130.2.3.0/24 10.0.0.1 IBGP 10.0.0.1/32 12.0.0.1 10 IGP 10.0.0.1/32 13.0.0.1 10 IGP 130.2.3.0/24 12.0.0.1 13.0.0.1 Equal-cost multipath

(8)

Loopback peering in EBGP

•Loopback peering can also be used in EBGP, but routing of loopback is then set-up using static routes

Uncommon to use IGP between AS:s

EBGP

AS2

RTB

AS1

(9)

BGP Multipath

By default, the best selection algorithm in BGP selects one route

no load balancing from a single router to a single prefix possible unless “outside” BGP using loopback peering for example

BGP multipath enables load balancing between “equal” paths

(to the level of comparing routerids)

Limited JunOS functionality

set protocol bgp group extern multipath [multiple-as]

By default equal cost multipath

(10)

BGP Decision Process

•If next hop inaccessible, ignore route

•Prefer highest local preference value

•Prefer shortest AS_PATH

•Prefer lowest origin type (IGP, EGP, INCOMPLETE)

•Prefer lowest MED value (if from same AS)

•Prefer routes from EBGP over IBGP

•Prefer routes with lowest IGP metric Nexthop

•Prefer route from peer with lowest router id

•Prefer route from peer with lowest address

BGP multipath

equality

(11)

IBGP Multipath example

Internal (eg from A) vs external (from D) load balancing

Equal cost vs unequal cost multipath (links between B-D and C-D

A

B

C

(12)

Balance prefix announcements

•For incoming traffic, you can partition your prefixes and anounce different prefix sets on different peerings.

•If you have many transit operators, you can balance the traffic to get optimal price.

•If you want higher granularity of the balancing, it is common to de-aggregate (or refrain from aggregating)

Bad for global BGP table sizes

(13)

Load balancing + robustness

192.16.1.0/24 192.16.0.0/24 192.16.0.0/24 192.16.0.0/24 192.16.1.0/24

– For robustness, you may wish to announce all prefixes on all peerings, but use better metric (shorter AS-PATH / longer prefixes) where you prefer traffic

–Example: prefixes

192.16.0.0/23

192.16.0.0/23

(14)

Load balancing + robustness

192.16.1.0/24 192.16.0.0/24 192.16.0.0/24 ASPATH: 9 –Example: AS-PATH 192.16.0.0/24 ASPATH: 9,9,9

AS8

AS6

192.16.0.0/24 ASPATH: 6,8,9 192.16.1.0/24 ASPATH: 6,7,9

(15)

Longer prefix announcements

•Using longer prefixes introduces issues with address allocation and PI/PA addresses

•In the sitiation below where PA addresses are used (AS2:s block), all inbound traffic will flow via AS3

•AS2 must either

announce the more specific prefix = 'punching a hole' in

10.1.0.0/16 by 'leaking' 10.1.1.0/24

AS1 must get PI addresses

10.1.1.0/24 10.1.0.0/16 10.1.1.0/24 10.1.1.0/24 AS1 AS2 AS3

(16)

Conditional advertisement

•Advertize a prefix when some (network) condition is met

Specific route must be present in routing table

•Example SUNET

If IGP reachability fails to campus, do not announce network.

Stockholm

Nordunet

(17)

Intelligent routing

•A generalization of Conditional advertisement is 'Intelligent routing'

External event triggers announcements

•Example 1: Announce an anycast route of a DNS server if you can access an A-record from it

•Example 2: Only announce routes to a site if performance measurement ensures a minimal bandwidth of 10Mb/s

(18)

Controlling outbound traffic

•Outbound control is in general simpler than inbound

control since, using IP, you need only control the next-hop.

•No BGP: Announce (default) routes using IGP metrics, load balance using equal-cost multipath

•Control outgoing traffic by filtering input routes

accepting partial routes

•Internal multi-path BGP

•Tag with communities for internal use

(19)

Forcing symmetric entry/exit points

•Asymmetric routing is normal behavior for multi-homed networks

•But enterprise may want to enforce symmetric routing.

(Providers usually do not have this problem)

• Why?

FWA

FWB

(20)

Exercise: Symmetry

RA RB AS-C AS-B AS-A B.1/24 C.1/24 A.1/24

• D/24 and E/24 are your networks that you anounce to AS-A and AS-B

Try to device a symmetric solution for D.1 and E.1 communicating with A.1, B.1 and C.1 respectively

• You should have some level of load-balancing.

(21)

Forcing symmetric entry/exit points

•Using the topology shown you do not actually require symmetric routing, it is enough to symmetric w.r.t the

firewalls: the routing could be asymmetric over RA and RB.

•This is usually done by splitting the address space

internally and letting the IGP handle symmetric FW access

FWA

FWB

(22)

Load-balancing lab

•EBGP loopback peering

•EBGP over multiple links

•Balance prefixes on multiple EBGP peerings

•Redundancy

RTX1 RTX4

References

Related documents

The design level in which the internal design of the modules, or how the specification of the module can be satisified, is decided, is often called Detailed design or Logic

The empirical results show that loan to toal assets, total equity to total assets, loan loss provision to total loan have positive effect on profitability, while

Check if the network driver modules are loaded, else load them using modprobe or insmod.. You should see packets going out from eth1

In this paper, we propose a method for simultaneously reducing the dimensionality of very high-dimensional input and output spaces in Gaussian process emulators for stochastic

The CNG is compressed to 200 Bar, this fuel has been already tested, since in 2009, it has been identified more than 10,5 millions vehicles running with this fuel in the

– Even in the setup with 2 routers and 2 POPs we can use a static default route to get to the internet.. – We inject the default route into our IGP and the node will send it's

Long and co-workers described the synthesis of poly(ethylene glycol)- based, cationic polyurethanes with pendant phosphonium groups in the hard segment.. reported the preparation of

2 Table of Contents Mission and Vision of the Education Unit 3 Introduction 4 Overview of student teaching 4 Eligibility for Student Teaching 4 Student