CDN Determination
|
06-18-2010, 02:56 AM
Post: #1
|
|||
|
|||
CDN Determination
How does webpagetest determine that an object is downloaded from a CDN? Is there a list of CDN host names to compare to? Or, is it a list of IPs that are known to be associated with CDNs? Is that list available?
Thanks in advance. |
|||
06-18-2010, 03:05 AM
Post: #2
|
|||
|
|||
RE: CDN Determination
There is a known list of CDN's. The domain for a request is looked up and the host name as well as any CNAME alias' are compared against the known list to see if it is recognized. If you are using a CDN that isn't recognized just shoot me a sample test and I'll get it added in the next release.
Unfortunately the checks are done on the test systems themselves so it has to wait for a code update on the testers to get updated. This list is in the glossary at the end of this page: http://www.webpagetest.org/result/100617...imization/ but is a little out of date (MaxCDN has been added since the table was updated). As I move the docs to a wiki it will be a lot easier to keep things up to date. The ultimate authority is in the code :-) - http://code.webpagetest.org/svn/pagetest...orting.cpp (CPagetestReporting::IsCDN). Here is the actual check: name.Find(".akamai.net") > -1 || // Akamai name.Find(".akamaiedge.net") > -1 || // Akamai name.Find(".llnwd.net") > -1 || // Limelight name.Find("edgecastcdn.net") > -1 || // Edgecast name.Find("hwcdn.net") > -1 || // Highwinds name.Find(".panthercdn.com") > -1 || // Panther name.Find(".simplecdn.net") > -1 || // Simple CDN name.Find(".instacontent.net") > -1 || // Mirror Image name.Find(".footprint.net") > -1 || // ????? name.Find(".ay1.b.yahoo.com") > -1 || // Yahoo distribution name.Find(".google.com") > -1 || // Google distribution name.Find(".internapcdn.net") > -1 || // Internap name.Find(".cloudfront.net") > -1 || // Amazon CloudFront name.Find(".netdna-cdn.com") > -1 || // NetDNA name.Find(".cotcdn.net") > -1 || // Cotendo CDN name.Find(".cachefly.net") > -1 || // Cachefly (also anycast - support to be added) name.Find(".nyucd.net") > -1 // Coral Cache |
|||
06-18-2010, 03:23 AM
Post: #3
|
|||
|
|||
RE: CDN Determination
Thanks for this detailed response. I think I get it. How do I find all the CNAME aliases for a given host. For instance, http://www.webpagetest.org/result/100611...imization/ shows that pagetest was able to determine that i.cdn.turner.com was a CDN but this is not in the list checked in the code.
Thanks |
|||
06-18-2010, 03:34 AM
Post: #4
|
|||
|
|||
RE: CDN Determination
Pagetest looks at the full DNS response (not just what is exposed in the test results) and it looks like that is CNAMEd to footprint.net:
c:\>nslookup i.cdn.turner.com Non-authoritative answer: Name: cdn.cnn.com.c.footprint.net Addresses: 192.221.100.126 207.123.46.126 8.12.222.126 Aliases: i.cdn.turner.com |
|||
06-18-2010, 03:36 AM
Post: #5
|
|||
|
|||
RE: CDN Determination
That's what I needed. Thank you Patrick!
|
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)