A Data-Oriented Network Architecture ACM Sigcomm’07

18
A Data-Oriented Network Architecture ACM Sigcomm’07 (M. Chowla, T. Koponen, K. Lakshminarayanan, A. Ramachandran, A. Tavakoli, Scott Shenker, I. Stoica)

description

A Data-Oriented Network Architecture ACM Sigcomm’07. (M. Chowla, T. Koponen, K. Lakshminarayanan, A. Ramachandran, A. Tavakoli, Scott Shenker, I. Stoica). Problem. Internet was designed for host-to-host communication “contact this host...” ftp, and telnet care about the location of host - PowerPoint PPT Presentation

Transcript of A Data-Oriented Network Architecture ACM Sigcomm’07

Page 1: A Data-Oriented Network Architecture ACM Sigcomm’07

1

A Data-Oriented Network Architecture

ACM Sigcomm’07

(M. Chowla, T. Koponen, K. Lakshminarayanan, A. Ramachandran, A. Tavakoli, Scott Shenker, I. Stoica)

Page 2: A Data-Oriented Network Architecture ACM Sigcomm’07

2

Problem• Internet was designed for host-to-host

communication- “contact this host...”

- ftp, and telnet

- care about the location of host

• Internet is mainly used for data access- “get me this data.....”

- data retrieval, service access

- care about the content, and be oblivious to location

• Mismatch between usage and design:- data migration and replication unnecessarily hard

- requires Akamai- and BitTorrent-like designs to scale

• Question: what would the Internet look like if we designed it around data access?

Page 3: A Data-Oriented Network Architecture ACM Sigcomm’07

3

Style of this Work

• Almost every aspect of this design is borrowed from other work, but our contribution is the synthesis of these various ideas into a coherent architecture.

• Mechanisms: HTTP, anycast, pub/sub, SFS, HIP,...

• Architecture: - content routing:TRIAD- naming: LFN/DOA

no new ideas!

Page 4: A Data-Oriented Network Architecture ACM Sigcomm’07

4

What Do Users Care About?

• Persistence of names:- Follow data migration: once given a name for some data or service, the

user would like that name to remain valid as long as the underlying data or service is available.

- Today: HTTP redirects, email forwarding (not sufficient)

• Availability of data: (both latency and reliability)- Take advantage of replicated data- Today: Akamai/BitTorrent

• Authenticity of data:- Know that data came from intended source, not from some spoofing

adversary.- Today: securing the channel (IPsec, TLS), or PKI

Page 5: A Data-Oriented Network Architecture ACM Sigcomm’07

5

Current Barriers

• Rigid and Weak Naming: hostname/path- Ties data to host, making migration/replication hard

- Doesn’t help much with authentication

• Protocol Mess: e.g., DNS, TCP, HTTP- Data isn’t named until the application is invoked

- Caching (and other data handling) is application-specific

- No low-level support for anycast-like service discovery

Page 6: A Data-Oriented Network Architecture ACM Sigcomm’07

6

Fix #1: Flat, Self-certifying Names

• Self-certifying (SFS, HIP)

- Data associated with principal P with public key Kp

- Names are of the form: Hash(Kp): label

- Data requests return: <Kp, label, data, signature>

- Can verify name related to Kp, and Kp signed data

• Name not tied to location, so naming isn’t rigid

- resolution mechanism described later

Page 7: A Data-Oriented Network Architecture ACM Sigcomm’07

7

Gives Better Separation of Concerns

• Names take care of persistence, authenticity

• Protocols can then focus on availability- latency

- reliability

Page 8: A Data-Oriented Network Architecture ACM Sigcomm’07

8

Fix #2: Better Protocol Structure

• Implement replication and caching at lower level:- find closest replica without application-level tricks

- caching infrastructure not application-specific

• DONA does this through two major changes:- insert data-handling shim layer right above IP

- resolve name by routing to data (TRIAD)

• better fate sharing

• less complicated management

• No DNS, no lookup, just routing on names

Page 9: A Data-Oriented Network Architecture ACM Sigcomm’07

9

New Network Entities

• Data Handlers (DHs): operate at data-handling layer- DHs do name-based routing and caching

- a logical DH per administrative unit

• think of AS hierarchy (and finer grain below)

• Authoritative Resolvers (ARs):- AR(P) can point to authoritative copy of P’s data

- think of as P’s DNS resolver

Page 10: A Data-Oriented Network Architecture ACM Sigcomm’07

10

New Network Primitives

• Fetch(name): data request- data name

- transport header

- application header

• Register(name): offer to serve data (authenticated)- Register individual data items: Hash(Kp):label

- Register authoritative resolver: Hash(Kp):*

Page 11: A Data-Oriented Network Architecture ACM Sigcomm’07

11

Overview

• Clients configured with local DH (replaces DNS) to which they send their fetch requests

• DHs respond to fetch if data is in cache

• Otherwise, DH routes fetch towards nearest copy of data by sending to a next-hop DH

- can insert own address in fetch packet so that it receives data on way back

• If name isn’t in routing table, fetch routed towards AR

Page 12: A Data-Oriented Network Architecture ACM Sigcomm’07

12

Routing Fetches

• Need to implement anycast routing at DONA-layer

• Use RH hierarchy to guide routing

RH

RH RH RH

RH RH RH RH RH

Page 13: A Data-Oriented Network Architecture ACM Sigcomm’07

13

Register Commands...

• RHs forward register commands to parents and peers

RH

RH RH RH

RH RH RH RH RH

AR Copy 1 Copy 2

Page 14: A Data-Oriented Network Architecture ACM Sigcomm’07

14

...Establish Routing State

• Arrows represent next-hop entries for registered data• Scaling: RHs only hold state for items below

- core: few TBs- edge: typically far less than a GB

RH

RH RH RH

RH RH RH RH RH

AR Copy 1 Copy 2

Page 15: A Data-Oriented Network Architecture ACM Sigcomm’07

15

Anycast Routing of Fetches

• If there’s an entry for a data item, follow next-hop

• Otherwise, send to parent

• Standard routing behavior, but at DONA-layer

RH

RH RH RH

RH RH RH RH RH

AR Copy 1 Copy 2 Client

Page 16: A Data-Oriented Network Architecture ACM Sigcomm’07

16

DONA

• Naming makes it easy to authenticate data

• DONA-layer provides easy access to data:- name-based “resolution through routing”

- caching and replication infrastructure

• DONA makes it easier to build transport, applications

Page 17: A Data-Oriented Network Architecture ACM Sigcomm’07

17

Extensions

• Cache both data and fetches:- RSS-like behavior, cache invalidation

• Policy (tbd):- based on first packet, domains can decide to

• deny

• route through proxies

• ask for more authentication

• hand back capabilities

• set up state

- think of this as “off path” signaling (PF)

Page 18: A Data-Oriented Network Architecture ACM Sigcomm’07

18

Open Questions

• Does this scale?- Boils down to money: edges cheap, core not-so-cheap

- Big unknown: (compounded) cache hit rates

• Is caching and replica-selection too app-specific?- Our guess is no, but the burden of proof is on us

• Is there an incrementally deployable version of DONA?- Suggestions welcome!