16
Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex Joint work with Matvey Ayre, Mike Freedman, Prem Gopalan, Steven Ko, Erik Nordstrom, David Shue

Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Embed Size (px)

Citation preview

Page 1: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Seamless Access to Services for Mobile Users

Jennifer RexfordPrinceton University

http://www.cs.princeton.edu/~jrex

Joint work with Matvey Ayre, Mike Freedman, Prem Gopalan, Steven Ko, Erik Nordstrom, David Shue

Page 2: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

The Internet Does Not Meet the Needs of Online Services

2

Page 3: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Yesterday: Host-Centric Network

• ARPAnet was designed for resource sharing

• Naming, addressing, and routing on end hosts3

IMP 0h1

h2

IMP 1

h4

h3PDP-11

SDS Sigma SDS 940

UCLA Stanford

ftp, telnet

Page 4: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Today: Service-Centric Internet

• Internet is now a platform for accessing services

• Services not tied to a particular host or location 4

Page 5: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Challenge #1: Multiplicity

• Distributed server replicas– Early binding of domain name

to an IP address– Load balancers spreading load

over the server replicas

• Multiple interfaces and paths– A connection can only use one

interface on each host– Traffic flows over a single path

5

3G

WiFi

Separate service, connection, and interface naming

Page 6: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Challenge #2: Dynamism

• Client mobility– Seamless connectivity requires “triangle routing”– Connection cannot switch between interfaces

• Virtual machine migration– Only within a layer-2 domain– … not across subnets or data centers

• Server replica failure/recovery– Ad hoc updates to load balancers and DNS servers– IP address caching causes temporary outages

6Allow automatic, dynamic updates during a connection

Page 7: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Serval: Rewiring the End-Host Network Stack for Online Services

7

Page 8: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Solution #1: Service Naming

• Applications should name services explicitly

8

connect(fd, serviceID)bind(fd, serviceID)

listen(fd)

Network stack must resolve service to instance for client

Network stack must advertise

service for server

Page 9: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Solution #2: Flow Naming

• Connection consists of multiple flows–Identified by <interface address, flowID> pairs–Delivers data as instructed by the transport layer–Each end demultiplexes on its own identifiers

9

sC sS

a1

a2

a3

Host C Host S

a4

Page 10: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Resolving and Connecting

First packet from transport carries serviceID and its

response provides remote IP address

SYN serviceID XSYN serviceID X SYN-ACK IP addressSYN-ACK IP address

Browser

TCP

IP

a1 a2

Local flowIDLocal flowID Local & Remote flowIDLocal & Remote flowID

connect(fd, X)

Page 11: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Solution #3: Inband Signaling

• Notify remote end-point about changes– Send RSYN to the remote <interface address, flowID>– Indicate the new local <interface address, flowID>– For client mobility, VM migration, and interface switching

sC sSfS2

fS1fC1

fC2

a1

a2

a3

Host C Host S

a4

Page 12: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Putting it All Together

IP:port

IP:port

IP

a1 a2

http://service.com/http://service.com/

serviceID

flowID

IP

a1 a2

http://service.com/http://service.com/

Serval introduces a layer of indirection and defers mapping to topological identifiers until communication is established

Application

Transport

Network

Page 13: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Prototype Implementation

• End-host network stack– Multi-platform (Linux, Android, BSD)– Runs in user space and in the kernel– Decentralized service discovery

• Ported applications– Iperf, TFTP, PowerDNS, Wget, Elinks, Firefox,

Mongoose, Memcached, ApacheBench– Small code changes (70-425 lines of code)

• Experiments– Competitive throughput with today’s TCP– Fast failover, load shedding, and VM migration

13

Page 14: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Incremental Deployment

• No changes to the network layer– Packet delivery based on IP addresses– IP addresses correspond to interfaces– Scalable routing based on hierarchical addresses

• Resolution of service names– Domain Name System (DNS) and front-end proxies– Later, routing first packet based on serviceID

• Unmodified hosts and applications– Proxies in front of clients or servers– Address translation in the network stack

14

Page 15: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Related Work

• Separating identity from location– By naming hosts: LISP, HIP, i3– By naming services/data: SFR, LNA, DONA, CCN

• Migration/Mobility– Through indirection: Mobile-IP– Through in-band signaling: TCP Migrate

• Main differentiators of Serval– Comprehensive solution for online services– Solution that focuses on the end-host stack

15

Page 16: Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University jrex Joint work with Matvey Ayre, Mike

Conclusion

• Service-centric networking– Multiplicity: multiple servers, interfaces, and paths– Dynamism: mobility, migration, and failover

• Rewiring the end-host stack– Resolving and registering service names– Connections consisting of multiple flows– Inband signaling to migrate flows to new addresses

• Without changing the network layer– Runs on top of IP addressing and packet delivery

16http://www.cs.princeton.edu/~jrex/papers/serval11.pdf