330 likes | 447 Views
Content Distribution Networks. ECE544 Dhananjay Makwana ( makwana@semandex.net ), Principal Software Engineer, Semandex Networks. Paul Krzyzanowski , Rutgers University Vyas Sekar , Stony Brook University Peter Steenkiste , CMU. Credits. 1. Motivation / Problem 2. Evolution
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