1 ABSTRACT Conduct extensive and thorough measurements that accurately characterize the performance of two large-scale commercial CDNs: Akamai and Limelight. 1. Charting the CDNs(locating all their content and DNS servers). 2. Assessing their server availability. 3. Quantifying their world-wide delay performance. 4. How to improve delay performance by adding servers. 2 Meaning 1. Can be adopted by CDN customers to independently evaluate the performance of CDN vendors. Assessing their server availability. 2. Can also be used by a new CDN entrant to choose an appropriate CDN design and to locate its servers. 3 Contribution 1. Charting CDN Networks. 2. Measuring CDN Delay Performance. 3. Methodology for CDN Deployment. 4 Outline 1. Introduction 2. The Methodology for Charting CDN Networks. 3. The Methodology for Measuring CDN Networks. 4. The Methodology for CDN Deployment. 5. Conclusion 5 Introduction An Example of CDN——Without CDN Youku Upload a XX video 6 Introduction An Example of CDN——With CDN Youku Content Server Upload a XX video Content Server Content Server 7 Introduction Common sense of CDN 1. Usually including DNS Networks and Content Networks. 2. A DNS Server sometimes is a Content Server too. Popular CDN vendors 1. Akamai 2. Limelight 3. ChinaCache(蓝汛) 4. ChinaNetCenter(网宿) 8 Introduction The two different philosophies of CDN design 1. Enter deep into ISPs——Akamai Deploying content servers inside ISP POPs. Get close to end users, improve performance. Large number of server clusters scattered around the globe. Maintaining is difficult. Need sophisticated algorithms to shuffle data among the servers across the public Internet 9 Introduction The two different philosophies of CDN design 2. Bring ISPs to home——Limelight Building large content centers at only a few key locations. Typically place each center at a location that is simultaneously near the POPs of many large ISPs. Connecting these centers using private high speed connections. Lower maintenance and management. Higher delay to end users. 10 Charting CDN Networks Method Depending on where a LDNS originates the query, the CDN chooses a nearby content server(and returns the IP address thereof). 1. Find all CNAMEs. 2. Find all OPEN RECURSIVE DNS SERVERs. 3. Send DNS queries of CNAMEs to all OPEN RECURSIVE DNS SERVERs using PlanetLab. Return the IPs of Content Servers serving each OPEN RECURSIVE DNS SERVERs. 4. Check these IPs’locations and ISPs. 11 Charting CDN Networks 12 Charting CDN Networks Find all CNAMEs——Example If youku is a customer of Akamai. Someone visits www.youku.com in browser. 1. The browser send DNS query of www.youku.com to Local DNS Serve(LDNS). 2. LDNS contacts the authoritative DNS server of www.youku.com , which returns a CNAME a1105.b.akamai.net. 3. The LDNS again queries the authoritative DNS server of a1105.b.akamai.net, which eventually returns the IP addresses of an Akamai content server hosting youku’s content. 13 Charting CDN Networks Find all CNAMEs——Example www A 211.151.146.91 www CNAME a1105.b.akamai.net To find all the CNAMEs used by a particular CDN, we first gather a large set of web hostnames. For each such hostname, a simple DNS query tells us whether it resolves to a CNAME or an IP address, and whether the CNAME belongs to the target CDN. 14 Charting CDN Networks Find all OPEN RECURSIVE DNS SERVER Due to security concerns, many LDNSs are configured to only perform DNS resolution on behalf of their internal users. Fortunately, there are still a large number of open LDNSs. They will resolve DNS queries for users from anywhere. In addition, such DNS resolutions are usually recursive. 1. Find hostnames’ authoritative name servers. 2. Trial DNS queries are sent to test the openness of these authoritative name servers. 15 Charting CDN Networks 16 Charting CDN Networks Result——Content Networks Akamai 17 Charting CDN Networks Result——Content Networks Limelight 18 Charting CDN Networks Result——DNS Networks Akamai It is natural to conjecture whether Akamai runs at least one name server in each of its distributed cluster.(We will confirm later that this is indeed the case!). Limelight We conclude that Limelight uses IP anycast to announce their name servers. We discover that more than 3, 900 content servers are also running as name servers(a much higher percentage than Akamai!). 19 Measuring Delay Performance Method Measure the delay from each of the vantage point D to the content server that the CDN redirects D to. 1. Choose the CNAME resolved to the largest number of CDN servers globally. Call this CNAME N. 2. For each vantage point D, Measurement client M first sends a DNS query to resolve N and obtains the IP address that the CDN content server used to serve D. Call this content server C. We need to measure the delay between D and C. 3. If content server C, is a DNS server too, then we would simply use King approach to get the delay. 20 Measuring Delay Performance Method 4. If not, we have to find a content server T in the same cluster as C which happens to also operate as a DNS server. As long as we can ensure that T is in the same cluster as C, the delay between D and T using King will be equivalent to the delay between D and C. 5. For Akamai, using traceroute to find the ISP Router, and be a centroid of a cluster, a Content Server belongs to this cluster if the RTT between itself and this centroid is smaller than a particular time T(1.5ms). 21 Measuring Delay Performance The King approach Measure the delay between an arbitrary open recursive DNS server and another arbitrary DNS server(not necessarily open recursive). 22 Measuring Delay Performance The King approach——Version 1 Suppose we desire to measure the delay between the open recursive DNS server D and a specific DNS server T. 1. A measurement client M sends a DNS query to D to resolve a bogus name claimed in the authority of T. 2. D will try to resolve this name on behalf of M(get a negative response from T). 3. RTTDT = RTTMT - RTTMD 23 Measuring Delay Performance The King approach——Version 2 1. Registers a domain(call it cdn.net) and operates a DNS server(say S) to respond to queries for this domain. 2. M sends a DNS query to D resolving a domain name T.cdn.net. 3. D contact S, S receives such a query, claiming that the T.cdn.net is delegated to another name server(call it ns.T.cdn.net) and return the IP address(say T) . 4. D caching T and forwards this response back to M. 24 Measuring Delay Performance The King approach——Version 2 5. M sends another query to D to resolve a hostname in T.cdn.net(say planA.T.cdn.net). 6. D does not contact S again, but instead forwards the query to T directly. Obviously, T will respond with an error message, which is then sent back to M. 25 Measuring Delay Performance . . 26 Measuring Delay Performance Result 27 Measuring Delay Performance Result 28 Evaluating CDN Deployment Method Let one CDN exploit another CDN’s deployment to assess the marginal gain of additional data centers. Consider how Limelight can learn from Akamai’s current deployment and choose good additional locations. 29 Evaluating CDN Deployment Algorithm 1. Go through each Akamai location and evaluate the delay reduction if Limelight deploys just one more data center at that location. 2. Rank all the Akamai locations and choose the best one to add to the list of existing Limelight data centers(say L). 3. Repeat the same process to obtain the second additional location, with first additional location treated as part of Limelight and so on. 30 Evaluating CDN Deployment How to evaluate the delay reduction During the process of evaluating a particular vantage point D, we first determine the location from where Akamai serves D. If the location is in the list of Limelight data centers L and the delay to Akamai is less than to Limelight, we take the delay to Akamai. Otherwise, we take the delay from the best Limelight location. 31 Evaluating CDN Deployment Result 32 Conclusion Charting CDN Networks Measuring CDN Delay Performance Methodology for CDN Deployment How to find CNAMEs How to find OPEN RECURSIVE DNS SERVERs How to measure How to cluster The King approach Algorithm 33 Thanks 34