330 likes | 453 Views
This document explores the evolution, implementation, and strategies for optimizing Content Delivery Networks (CDNs). It addresses key problems such as scalability and reliability, focusing on techniques for effectively mapping users to the nearest edge servers and delivering diverse content types. The paper discusses hybrid approaches, application-based, routing-based, and DNS-based mapping methods, along with their advantages and challenges. The insights provided aim to ensure that performance expectations rise to meet user needs in today’s digital landscape.
E N D
Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks ECE544
Paul Krzyzanowski, Rutgers University • VyasSekar, Stony Brook University • Peter Steenkiste, CMU Credits 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 Overview ECE544
Quality/Performance expectations are rising • Serving Content from a single location • Scalability • Reliability • Performance • “Flash Crowd” problem Motivation / Problem 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 rescue 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? Questions ECE544
Application based • Routing based • DNS based Mapping 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 • Mayintroduce additionaloverhead • Multiple connection setup, name lookups, etc. • Could interact poorly with some browser implementations Application Based 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 Based 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 Based 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) 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 .netname 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 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 Types 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 Reading ECE544
Thank You ! Questions? ECE544