problem with status quo internet fundamentally designed for host-to-host communication

1
Problem with Status Quo Internet fundamentally designed for host-to-host communication But users want services, agnostic of hosts Existing ad-hoc solutions are inadequate Baroque combo of layer-7 switching, HTTP redirection, DNS with short TTLs, IP anycast, VIP/DIP load balancers, ARP spoofing, … Service-Centric Architecture From topology-dependent addresses to topology-independent service names Multiplicity: Of replicas, paths, interfaces, ... Dynamism: Of replicas, paths, interfaces, … Service-level anycast for stateful connections to service instances, associated IP addresses can change over time as replicas join, move, fail, … Applications Replicated web services Content distribution networks Distributed storage services Environments VM-based cloud platforms Legacy enterprise applications Mobile users and devices Serval (Service Access Layer) for IP networks Server Service Instance (Authoritative) Service Router Client Network Router Wide-area Service Resolution Service Access Network Link Transport Application New Layering Model AS 1 AS 2 Y Z SR AS R SR SR SR Internet AS 3 Net 4 Service System α Z X Register Z Resolve Z 1 2 3 4 DNS Service Access Layer (Un)registers services & hosts with net New division of labor between layers Transport protocols do data delivery SAL manages connections Service Router Resolves serviceIDinstance address Service routers form resolution overlay Support for dynamism and multiple interfaces Communication on serviceIDs that are resolved to IPs Transport demux on flowIDs, multi-home/path support Service Access Layer (SAL) establishes and maintains connections, maps flowIDs to (changing) IPs Transparent flow redirection upon migration / failover with in-band signaling Serval end-host stack BSD sockets API with PF_SERVAL Binds to serviceIDs instead of IP/port Datagram and stream sockets Kernel and user-space versions Network elements Overlay of service routers Support for anycast and extensible header processing Components Implementation Serval Features s C s S f S2 f S1 f C1 f C2 a1 a2 a3 Host C Host S a4 A Service Access Layer, at Your Service David Shue, Matvey Arye, Prem Gopalan Erik Nordström, Steven Y. Ko, Michael J. Freedman, Jennifer Rexford Princeton University Serval Resolution: Successive Refinement Demo Prefi x Bit s IP A 14 192.168.1.2 0 0 192.168.1.2 55 SYN SYN Service table X X Client 2 connect(X) 1 3 4 4 SYN-ACK SYN-ACK Service table maps serviceIDs to IP addrs of resolvers, services Without local service router, default rule broadcasts on local segment Ad-hoc mode allows Serval to operate w/o infrastructure, 1 e X a 1 SRC DST SYN g X a 1 2 SYN f X a 1 3 SYN b X a 1 4 SYN a 1 b 2 SRC DST 5 SYN-ACK 6 ACK X X SR @e SR@ f SR@ g srv I D add r fl o w I D Address b Address a Address c Address d Y Z

Upload: john

Post on 23-Feb-2016

43 views

Category:

Documents


0 download

DESCRIPTION

SYN. SR@g. 2. 3. SYN. SYN. AS 1. flowID. DNS. f C1. f S1. srvID. Service System α. addr. 1. 4. SYN. a1. a3. A Service Access Layer, at Your Service. ASR. X. s C. s S. Register Z. Resolve Z. f C2. f S2. SR@f. SR @e. a2. a4. 3. 1. Y. Z. Net 4. AS 2. Host C. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Problem with Status Quo Internet fundamentally designed for host-to-host communication

Problem with Status Quo Internet fundamentally designed for host-to-host communication

But users want services, agnostic of hosts

Existing ad-hoc solutions are inadequate Baroque combo of layer-7 switching, HTTP redirection, DNS with short TTLs, IP anycast, VIP/DIP load balancers, ARP spoofing, …

Service-Centric Architecture From topology-dependent addresses

to topology-independent service names

Multiplicity: Of replicas, paths, interfaces, ...

Dynamism: Of replicas, paths, interfaces, …

Service-level anycast for stateful connections to service instances, associated IP addresses can change over time as replicas join, move, fail, …

Applications Replicated web services Content distribution networks

Distributed storage services

Environments VM-based cloud platforms

Legacy enterprise applications

Mobile users and devices

Serval (Service Access Layer) for IP networks

ServerService Instance(Authoritative)Service Router

Client

Network Router

Wide-area Service Resolution

Service Access

NetworkLink

TransportApplication

New Layering Model

AS 1

AS 2

Y Z

SR

ASR

SR

SR

SR

Internet

AS 3

Net 4

Service System α

Z

XRegister ZResolve Z

1

2

3

4

DNS

Service Access Layer (Un)registers services & hosts with net

New division of labor between layers Transport protocols do data delivery

SAL manages connections Service Router

Resolves serviceID→instance address

Service routers form resolution overlay

DNS can be leveraged for wide-area

◆ Support for dynamism and multiple interfaces◆ Communication on serviceIDs that are resolved to IPs

◆ Transport demux on flowIDs, multi-home/path support

◆ Service Access Layer (SAL) establishes and maintains connections, maps flowIDs to (changing) IPs

◆ Transparent flow redirection upon migration / failover with in-band signaling Serval end-host stack

BSD sockets API with PF_SERVAL

Binds to serviceIDs instead of IP/port

Datagram and stream sockets Kernel and user-space versions

Network elements Overlay of service routers Support for anycast and extensible header processing

Components Implementation

Serval Features

sC sS

fS2

fS1fC1

fC2

a1

a2

a3

Host C Host Sa4

A Service Access Layer, at Your ServiceDavid Shue, Matvey Arye, Prem Gopalan

Erik Nordström, Steven Y. Ko, Michael J. Freedman, Jennifer Rexford Princeton University

Serval Resolution: Successive Refinement

Demo

Prefix Bits IPA 14 192.168.1.20 0 192.168.1.25

5

SYN

SYN

Service table

X

X

Client

2

connect(X)1

3

4

4

SYN-ACK

SYN-ACK Service table maps serviceIDs to IP addrs of resolvers, services

Without local service router, default rule broadcasts on local segment

Ad-hoc mode allows Serval to operate w/o infrastructure, can be used for bootstrapping

1

e Xa 1SRC

DST

SYN

g Xa 1

2 SYN

f Xa 1

3 SYN

b Xa 1

4 SYN

a 1b 2SRC

DST

5 SYN-ACK6 ACK

X

X

SR @e

SR@f

SR@gsrv

ID

addr

flowI

D

Address bAddress a

Address cAddress dY Z