content distribution networks
Post on 06-Jan-2016
38 Views
Preview:
DESCRIPTION
TRANSCRIPT
{
ECE544
Content Distribution Networks
ECE544Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks
5/2/14
ECE544
Credits
• Paul Krzyzanowski, Rutgers University• Vyas Sekar, Stony Brook University• Peter Steenkiste, CMU
5/2/14
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
ECE544
Quality/Performance expectations are rising
Serving Content from a single location Scalability Reliability Performance
“Flash Crowd” problem
Motivation / Problem5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
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
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
ECE544 5/2/14
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
ECE544
Application based Routing based DNS based
Mapping5/2/14
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
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
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
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
ECE544 5/2/14
ECE544 5/2/14
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
ECE544 5/2/14
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
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
ECE544
Questions?5/2/14
Thank You !
top related