{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544
Credits Paul Krzyzanowski, Rutgers University Vyas Sekar, Stony Brook University Peter Steenkiste, CMU 5/2/14ECE544
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 Overview 5/2/14ECE544
Quality/Performance expectations are rising Serving Content from a single location Scalability Reliability Performance “Flash Crowd” problem Motivation / Problem 5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
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 rescue 5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
5/2/14ECE544
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? Questions 5/2/14ECE544
Application based Routing based DNS based Mapping 5/2/14ECE544
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 Based 5/2/14ECE544
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 Based 5/2/14ECE544
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 Based 5/2/14ECE544
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/14ECE544
5/2/14ECE544
5/2/14ECE544
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 Resolution 5/2/14ECE544
5/2/14ECE544
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 ( 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 Types 5/2/14ECE544
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 Reading 5/2/14ECE544
Questions? 5/2/14ECE544 Thank You !