Content Distribution Networks Improving scalability and reliability of content delivery - local clustering (but, correlated failures) - multi-homing (but, site can fail, and BGP convergence is slow) - geo-replication (but, need to synchronize the site among the mirrors, and do smart DNS) ----> and all need excess capacity, well in excess of average demand ("flash crowds") Smart DNS is hard - know location/performance of clients as it changes (e.g., end-to-end performance monitoring) - know capacity of each site as it changes (e.g., health monitoring) - adjust as you make more copies of the content - ensure the DNS service itself is reliable - update DNS entries, use appropriate TTLs,etc. Proxy caching by client ISP - advantages: improves performance and reduces peering traffic - but, some content is not cacheable (e.g., dynamic content) - but, doesn't help with authorization - but, doesn't help with reliability - but, doesn't give content owners visibility into usage - but, cannot revoke/invalidate content Akamai - edge caching (~2200 sites) * edge servers with DNS names like www.example.com.edgesuite.net * consistent hashing for edge caching * inter-cache protocol to get data from other caches * on miss, can go to origin (including using overlay route) - cooperation with content provider * content provider names content (e.g., www.example.com.edgesuite.net) * on-demand purges of cached content * pass-through of authorization * customization or blocking of content based on geography * cooperation on generating dynamic content * change object name when content changes - DNS * content provider uses Akamai name, e.g., www.example.com.edgesuite.net * returns as CNAME for www.example.com DNS request * DNS resolution based on user location, performance, load, etc. * returns two IP addresses (for failover) for Akamai servers that handle that content - TCP enhancements * improves even uncacheable content due to split TCP connection * start with higher initial window, increase faster, decrease less, ... - BGP and DNS security * less risk of BGP hijack due to proximity to client * Akamai has deployed DNSSEC * large DNS server deployment can handle DoS on DNS