1 / 18

A Data-Oriented Network Architecture ACM Sigcomm’07

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

Download Presentation

A Data-Oriented Network Architecture ACM Sigcomm’07

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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?

  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!

  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

  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

  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

  7. Gives Better Separation of Concerns • Names take care of persistence, authenticity • Protocols can then focus on availability • latency • reliability

  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

  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

  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):*

  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

  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

  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

  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

  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

  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

  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)

  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!

More Related