PPT - NetLab@SYSU

advertisement
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
Download