march 16th 2015 | joão taveira araújo @jta - usenix · scaling networks through software pop...

117
Scaling networks through software March 16th 2015 | João Taveira Araújo @jta

Upload: others

Post on 27-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through softwareMarch 16th 2015 | João Taveira Araújo @jta

Page 2: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

network systems @ fastly

Page 3: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress
Page 4: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Page 5: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

scalability

Page 6: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints

constraints time

money people

Page 7: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints

constraints time

money people

knowledge

Page 8: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints

constraints time

money people

knowledgetechnology

Page 9: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints

constraints time

money people

knowledgetechnologycomplexity

Page 10: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints

constraints time

money people

knowledgetechnologycomplexity

Page 11: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints time

money people

Page 12: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints time

money people

Page 13: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

constraints time

money people

Page 14: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Number of PoPs ……………………….… ~20 BGP announcements …………….……... ~2000 Requests per second .…………………… ~1000000

Becoming a multi terabit network

Page 15: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Number of PoPs ……………………….… ~20 BGP announcements …………….……... ~2000 Requests per second .…………………… ~1000000

Network ops ……..….………………….… 2

Becoming a multi terabit network

Page 16: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Number of PoPs ……………………….… ~20 BGP announcements …………….……... ~2000 Requests per second .…………………… ~1000000

Network ops ……..….………………….… 2

Becoming a multi terabit network

Network software ……..….…………….… me

Page 17: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

scalability

Page 18: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

scalabilityobservations on network

from a company that used to be a startup

Page 19: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

i anything you don’t explicitly control is an implicit liability

Page 20: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

the internet

Page 21: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router

A B C D

PoP

the internet

Page 22: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router

A B C D

PoP How do you: ‣ load balance traffic ‣ gracefully failover if a server fails

the internet

Page 23: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router

A B C D

PoPA

25%

25%

25%

25%

B

DC

DNS

Page 24: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router

A B C D

PoPA

33%

33%

33%

0%

B

DC

DNS

Page 25: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router

A B C D

PoPA

33%

33%

33%

0%

B

DC

DNS

Bad idea: ‣ gets hard to manage ‣ do one thing and do it well ‣ you don’t control TTL

Page 26: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

A B C D

PoP

Page 27: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

A B C D

PoP

StateC

ost

Page 28: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

A B C D

PoP

StateC

ost

Exist

ing d

eman

d

StateC

ost

Page 29: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

A B C D

PoP

StateC

ost

Exist

ing d

eman

d

Proje

cted

dem

and

StateC

ost

Exist

ing d

eman

d

StateC

ost

Page 30: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

A B C D

PoP

StateC

ost

Exist

ing d

eman

d

Proje

cted

dem

and

StateC

ost

Exist

ing d

eman

d

StateC

ost

Page 31: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

A B C D

PoPBad idea: ‣ you don’t control demand ‣ you don’t control DDOS

State

Cos

t

Exist

ing d

eman

d

Proje

cted

dem

and

State

Cos

t

Exist

ing d

eman

d

State

Cos

t

Page 32: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

ECMP

A B C D

PoP

Page 33: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

ECMP

A B C D

PoP

Destination network Next hop

10.0.0.0/24 A

10.0.0.0/24 B

10.0.0.0/24 C

10.0.0.0/24 D

Page 34: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

ECMP

A B C D

PoPECMP

A B C D

PoP

Destination network Next hop

10.0.0.0/24 A

10.0.0.0/24 B

10.0.0.0/24 C

10.0.0.0/24 D

Page 35: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

ECMP

A B C D

PoPECMP

A B C D

PoP

Destination network Next hop

10.0.0.0/24 B

10.0.0.0/24 C

10.0.0.0/24 D

Bad idea: ‣ connection resets ‣ you don’t control rehashing ‣ you don’t control vendor roadmaps

Page 36: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

ii don’t resign to fate just because everything sucks

Page 37: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

faild

Page 38: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

ECMP

A B C D

PoP

Page 39: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

ECMP

A B C D

PoP

Page 40: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

IP Address MAC

10.1.A.1 A:A

10.1.A.2 A:A

10.1.A.3 A:A

… …

ECMP

A B C D

PoP

Page 41: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

IP Address MAC

10.1.A.1 A:A

10.1.A.2 A:A

10.1.A.3 A:A

… …

ECMP

A B C D

PoP

Page 42: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

drain a host

Page 43: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

ECMP

A B C D

PoP

Page 44: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

IP Address MAC

10.1.A.1 B:A

10.1.A.2 C:A

10.1.A.3 D:A

… …

ECMP

A B C D

PoP

Page 45: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

IP Address MAC

10.1.A.1 B:A

10.1.A.2 C:A

10.1.A.3 D:A

… …

ECMP

A B C D

PoP

Page 46: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

cut off to failed state

Page 47: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

ECMP

A B C D

PoP

Page 48: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Destination network Next hop

10.0.0.0/24 10.1.A.1

10.0.0.0/24 10.1.A.2

10.0.0.0/24 10.1.A.3

… …

IP Address MAC

10.1.A.1 B:B

10.1.A.2 C:C

10.1.A.3 D:D

… …

ECMP

A B C D

PoP

Page 49: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Time

Activ

e flo

ws

ecmp

Page 50: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Time

Activ

e flo

ws

Time

Activ

e flo

ws

ecmp

Page 51: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Time

Activ

e flo

ws

Stat

e

Time

load balancer

Page 52: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Stat

e

Time

Time

Activ

e flo

ws

Activ

e flo

ws

Stat

e

Time

faild

Page 53: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Stat

e

Time

Time

Activ

e flo

ws

Activ

e flo

ws

Stat

e

Time

faild

Page 54: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Stat

e

Time

Time

Activ

e flo

ws

Activ

e flo

ws

Stat

e

Time

faild

Page 55: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

iii if it’s expensive you probably don’t need it.

Page 56: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

F5 BIG-IP 10350v

Page 57: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

$200,000F5 BIG-IP 10350v

Page 58: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

$200,000$0

F5 BIG-IP 10350v

Page 59: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer

Page 60: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer balancing

Page 61: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer balancing(a load balancer is just an appliance which provides load balancing)

Page 62: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

load balancer balancing(a load balancer is just an appliance which provides load balancing)

distributed

Page 63: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

How to build a PoP ‣ buy a router ‣ get BGP table from each provider ‣ install routes to FIB ‣ servers use default gateway A B C D

PoP

Vendor BGP

FIB

router

Page 64: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Juniper MX960 Router

Page 65: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

~$500,000

Juniper MX960 Router

Page 66: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router

Page 67: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router routing

Page 68: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router routing(a router is just an appliance which provides routing)

Page 69: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

router routing(a router is just an appliance which provides routing)

distributed

Page 70: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Arista DCS-7150S switch family

Page 71: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

$29,995 Arista DCS-7150S switch family

Page 72: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

PoP

Userspace BGP

FIB

switch

BGP daemon

FIB

server

How to build a Fastly PoP ‣ buy switches ‣ reflect BGP down to servers ‣ inject multipath routes into FIB

Page 73: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

PoP

Userspace BGP

FIB

switch

BGP daemon

FIB

server

How to build a Fastly PoP ‣ buy switches ‣ reflect BGP down to servers ‣ inject multipath routes into FIB

Page 74: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

PoPd

istribute

d syste

m

Userspace BGP

FIB

switch

BGP daemon

FIB

server

How packets egress Fastly ‣ switches emit nexthop IP and MAC ‣ servers configure p2p link / ARP ‣ send directly to provider nexthop!

Page 75: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

PoPd

istribute

d syste

m

Userspace BGP

FIB

switch

BGP daemon

FIB

server

How packets egress Fastly ‣ switches emit nexthop IP and MAC ‣ servers configure p2p link / ARP ‣ send directly to provider nexthop!

Page 76: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Page 77: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Fastly PoPs: engineering perspective

Page 78: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Fastly PoPs: investor perspective

Page 79: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

iv It’s easier to make people less busy than hire people.

Page 80: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

💿

Page 81: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

💿 ☁️

Page 82: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

💿 ☁️

Page 83: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

💿 ☁️Yes I would

Page 84: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

software

Page 85: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

softwarenetworking

“you wouldn’t do that to a switch”

Page 86: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

“Networking is hard”

Page 87: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

“Networking is hard”resource constraints

Page 88: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

“Networking is hard”resource constraintsprotocol standards

Page 89: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

“Networking is hard”resource constraintsprotocol standardssecurity concerns

Page 90: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

network vendors

“Networking is hard”resource constraintsprotocol standardssecurity concerns

Page 91: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

where is time spent needlessly?

Page 92: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

pinpointing path failures

Page 93: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

st-ping: probe all upstreams

Page 94: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

changing route preferences

Page 95: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Page 96: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

upstream alias

Page 97: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

announced prefixes

Page 98: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

live BGP info

Page 99: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Page 100: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

increase Google localpref

Page 101: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through softwarelocalpref overrides

Page 102: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Page 103: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

changing prefix announcements

Page 104: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Page 105: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

withdraw all HTTP anycast prefixes

Page 106: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

BGP session status

Page 107: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

BGP session status

Page 108: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

changing global routing policy

Page 109: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Internet

We generate lots of BGP announcements ‣ changing policy manually is hard ‣ changing policy per-device takes long

Page 110: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

InternetInternet

route server

We generate lots of BGP announcements ‣ changing policy manually is hard ‣ changing policy per-device takes long

Page 111: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Stage and deploy via Github ‣ generate diff of routing policy and exported routes ‣ peer reviewed, endlessly revertible

Page 112: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Staging lists affected switches and prefixes ‣ human error could withdraw Fastly from the Internet ‣ hard to automate, so make sure people can get it right first

Page 113: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Seems so simple… ‣ reduced time spent needlessly ‣ reduced human error dramatically ‣ allowed us to train netops out of our datacenter team ‣ Arista eAPI allows description changes: instant RESTful orchestration

Page 114: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

v existing best practices won’t save you.

Page 115: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Saving money ‣ buy bare essentials ‣ distribute everything ‣ efficiency matters

Saving time ‣ correct architecture helps! ‣ reduce cognitive overhead ‣ solve ops first, automate later

Page 116: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

Scaling networks through software

Be wary of: ‣ best practices ‣ cool stuff ‣ perfect

Page 117: March 16th 2015 | João Taveira Araújo @jta - USENIX · Scaling networks through software PoP distributed system Userspace BGP FIB switch BGP daemon FIB server How packets egress

www.fastly.com/about/careers !March 16th 2015 | João Taveira Araújo @jta