Content Distribution Networks

33
{ Content Distribution Networks ECE544 Dhananjay Makwana ([email protected]), Principal Software Engineer, Semandex Networks 5/2/14 ECE544

description

Content Distribution Networks. ECE544 Dhananjay Makwana ( [email protected] ), Principal Software Engineer, Semandex Networks. Paul Krzyzanowski , Rutgers University Vyas Sekar , Stony Brook University Peter Steenkiste , CMU. Credits. 1. Motivation / Problem 2. Evolution - PowerPoint PPT Presentation

Transcript of Content Distribution Networks

Page 1: Content Distribution Networks

{

ECE544

Content Distribution Networks

ECE544Dhananjay Makwana ([email protected]), Principal Software Engineer, Semandex Networks

5/2/14

Page 2: Content Distribution Networks

ECE544

Credits

• Paul Krzyzanowski, Rutgers University• Vyas Sekar, Stony Brook University• Peter Steenkiste, CMU

5/2/14

Page 3: Content Distribution Networks

ECE544

1. Motivation / Problem 2. Evolution 3. Implementation 4. Mapping users to CDN servers 5. Types of Content 6. Hybrid Approaches 7. Further Reading 8. Q&A

Overview5/2/14

Page 4: Content Distribution Networks

ECE544

Quality/Performance expectations are rising

Serving Content from a single location Scalability Reliability Performance

“Flash Crowd” problem

Motivation / Problem5/2/14

Page 5: Content Distribution Networks

ECE544 5/2/14

Page 6: Content Distribution Networks

ECE544 5/2/14

Page 7: Content Distribution Networks

ECE544 5/2/14

Page 8: Content Distribution Networks

ECE544 5/2/14

Page 9: Content Distribution Networks

ECE544 5/2/14

Page 10: Content Distribution Networks

ECE544 5/2/14

Page 11: Content Distribution Networks

ECE544 5/2/14

Page 12: Content Distribution Networks

ECE544

Edge Caches: work with ISP and networks everywhere to install edge caches

Edge = close to customers Content delivery: getting content to the edge

caches Content can be objects, video, or entire web sites

Mapping: find the “closest” edge server for each user and deliver content from that server

Network proximity not the same as geographic proximity

Focus is on performance as observed by user (quality)

CDN to the rescue5/2/14

Page 13: Content Distribution Networks

ECE544 5/2/14

Page 14: Content Distribution Networks

ECE544 5/2/14

Page 15: Content Distribution Networks

ECE544 5/2/14

Page 16: Content Distribution Networks

ECE544 5/2/14

Page 17: Content Distribution Networks

ECE544 5/2/14

Page 18: Content Distribution Networks

ECE544 5/2/14

Page 19: Content Distribution Networks

ECE544 5/2/14

Page 20: Content Distribution Networks

ECE544 5/2/14

Page 21: Content Distribution Networks

ECE544

How to map clients to servers? What metrics?

Latency, Load DNS, HTTP 304 response, anycast, etc.

How/where to replicate content? On demand? Proactive/prefetch? everywhere or close to demands?

Questions5/2/14

Page 22: Content Distribution Networks

ECE544

Application based Routing based DNS based

Mapping5/2/14

Page 23: Content Distribution Networks

ECE544

HTTP supports simple way to indicate that Web page has moved (30X responses)

Server receives Get request from client Decides which server is best suited for

particular client and object Returns HTTP redirect to that server

Pros Can make informed application specific

decision Cons

May introduce additional overhead Multiple connection setup, name lookups, etc. Could interact poorly with some browser

implementations

Application Based5/2/14

Page 24: Content Distribution Networks

ECE544

IP Anycast Use BGP to announce same destination IP

from multiple places. Clients are agnostic and connect to Anycast

address ISP router routes to “nearest” anycast server.

Pros All IP infrastructure is available Potential scaling to internet level

Cons Cannot incorporate application policy Stateful connections may create problems Relatively less dynamic

Routing Based5/2/14

Page 25: Content Distribution Networks

ECE544

DNS Clients perform typical DNS query. DNS servers are locality aware Reply with “best” server available

Pros Existing DNS protocol (fully supported) Fully flexible application/content provider

policies Potential other uses (e.g. Ad serving, Video

transcoding) Cons

Multiple DNS queries Depends upon an efficient implementation

DNS Based5/2/14

Page 26: Content Distribution Networks

ECE544

Example Akamai Akamai does this via Dynamic DNS Customer modifies URLs (akamizes) Direct requests to right content servers Resolve a host name based on:

Service requested (e.g. QuickTime, Windows Media, HTML)

Content requested (css, js, swf, jpeg etc.) Server health Server load User location Network status Load balancing

Mapping (DNS Based)5/2/14

Page 27: Content Distribution Networks

ECE544 5/2/14

Page 28: Content Distribution Networks

ECE544 5/2/14

Page 29: Content Distribution Networks

ECE544

Resolve a7.g.akamai.net NS resolver contacts root server

Root server sends a referral to a name server responsible for .net

Resolver queries .net name server Returns a referral for .akamai.net This is the top-level Akamai server

Resolver queries a top-level Akamai server Returns a referral for .g.akamai.net Low-level Akamai server (TTL approx 1 hour) Low-level servers are in the same location as edge servers

closest to user Resolver queries a low-level Akamai server

Returns IP addresses of servers available to satisfy the request Short TTL (several seconds to 1 minute)

DNS Resolution5/2/14

Page 30: Content Distribution Networks

ECE544 5/2/14

Page 31: Content Distribution Networks

ECE544

Static content Cached depending on original site's requirements (never to

forever) Dynamic content

Caching proxies cannot do this Akamai uses Edge Side Includes technology (www.esi.org) Assembles dynamic content on edge servers Similar to server-side includes Page is broken into fragments with independent caching properties Assembled on demand

Streaming media Live stream is sent to an entry-point server in the Akamai network Stream is delivered from the entry-point server to multiple edge

servers Edge servers serve content to end users.

Content Types5/2/14

Page 32: Content Distribution Networks

ECE544

The Akamai Network: A Platform for High-Performance Internet Applications

Erik Nygren, Ramesh Sitaraman & Jennifer Sun

Improving performance on the Internet Tom Leighton

Globally Distributed Content Delivery John Dilley et. al

Further Reading5/2/14

Page 33: Content Distribution Networks

ECE544

Questions?5/2/14

Thank You !