2

上次CDN没有测试苹果的,这次我们把手机挂上charles proxy,试一下浏览下Apple网站,这是一个图片的response头:

X-Apple-Jingle-Correlation-Key: F7XANLWI2HDSCRVIOE
X-Apple-Request-UUID: 2fee0697-d1c72146a871
apple-seq: 0
apple-tk: false
Apple-Originating-System: AIImageService
Content-Length: 3193
Content-Type: image/jpeg

Server: ATS/4.1.0
Age: 1
X-Cache: HIT from cache.51cdn.com
X-Via: 1.1 ych60:9 (Cdn Cache Server V2.0), 1.1 fuyangxiazai15:1 (Cdn Cache Server V2.0)
Connection: keep-alive

上面能看到苹果的Response也有不少自定义的Header:包括X-Apple-Request-UUID,X-Apple-Jingle-Correlation-Key,apple-seq, apple-tk, Apple-Originating-System,这些到底是用来干什么的,我们并不知道,但这个肯定跟ios系统与苹果服务器的交互有关系。

再往下看,能看到该图片文件命中了域名为cache.51cdn.com上的缓存文件。这个51cdn是哪家公司?我们下面会介绍。

先说下这个更让人感兴趣的ATS字样的东西,响应的缓存服务器是ATS Server,那么ATS是什么呢?就是Apache Traffic Server,网址是http://trafficserver.apache.org/

关于ATS能查到的公开历史也很有意思,其原来是做高性能缓存代理的,后在2003年被yahoo收购,在yahoo内部用了4年,2009年捐给Apache基金会,2010年成为Apache的顶级项目。

还找到以下一则介绍:

ATS故事就是一个悲剧。当年03年,雅虎收购了inktomi,当时公司已经彻底把ATS相关产品、代码、资料、人员全部K掉了,资产接手工程师发现在某个角落有个机器,好多土,就问问这机器干嘛的,然后某个还在公司的老员工介绍了一下,雅虎的人还挺实在,就开机看看,发现机器是一个开发测试机器,机器里的系统还能跑,里面有一些不太齐全的代码,然后测试了一下程序,看性能比squid应该好,就把代码入库到雅虎的cvs,cvs tag名字:ts-gold。代码checkin时间,2003年6月20号左右,这就是当年的yts-1.4= i ts-1.4,是ATS的祖宗。后来,ATS发展到09年,1.17版本,砍掉50%代码后,开源出来的yts1.17就是ATS2.0版本。完全是垃圾堆捡回来的,只有一个临时的像是开发测试export出来的代码,没cvs历史,没文档。据猜测,这个机器是因为放角落,不显眼所以没被烧掉,其他能烧的都烧了。

那么就是说51cdn这个域名的CDN服务器用的技术就是ATS。

再去Apple Store下一个APP试试:

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Connection: keep-alive
X-Apple-Request-UUID: 1be3d51e-cf06fb081f02
Date: Sat, 27 Aug 2016 00:09:28 GMT
Cache-Control: max-age=31536000
ETag: "H26MRpqeMdxBt7daDg=="
Apple-Originating-System: ar-resolver-origin
X-Cache-Remote: PENDING from CHN-LG-d-3WF.3
apple-tk: false
Powered-By-ChinaCache: HIT from CHN-TH-3-3WD
Last-Modified: Sat, 27 Aug 2016 00:08:44 GMT
Content-Length: 25791960
Access-Control-Allow-Origin: *
Expires: Sun, 27 Aug 2017 00:09:28 GMT
Switch: FSCS
apple-seq: 0
X-Apple-Jingle-Correlation-Key: DPR5KHV4LREMEK
Age: 50799
Accept-Ranges: bytes
Server: ATS/4.1.0
X-Cache: TCP_HIT
CC_CACHE: TCP_HIT

以上是服务器上下了一个25MB的APP的响应头,跟Cache相关的我们能看到命中了ChinaCache,ChinaCache就是国内另一家CDN厂家蓝讯,有兴趣的可以访问www.chinacache.com观摩观摩。

最后我们看下这个51cdn域名的cache是谁:

dig cache.51cdn.com
...
;; QUESTION SECTION:
;cache.51cdn.com.              IN         A

;; AUTHORITY SECTION:
51cdn.com.             300        IN         SOA        ns1.chinanetcenter.com. webmaster.lxdns.com. 1107011041 10800 3600 64800 60

返回了一条SOA记录,所以此域名还挂了主备DNS。

51cdn属于哪个组织?看下工信部的备案查询结果:
图片描述
就是网宿科技的备案域名。

所以苹果在国内用的cdn服务器,网站上的图片加速用了网宿的,应用商店用了蓝讯。

lxdns.com是个什么公司呢?

dig webmaster.lxdns.com

;; AUTHORITY SECTION:
lxdns.com.             264        IN         SOA        dns1.lxdns.org. webmaster.lxdns.com. 1107011041 10800 3600 64800 60

whois lxdn.org

Domain Name: LXDN.ORG
Domain ID: D126232091-LROR
WHOIS Server:
Referral URL: http://www.joker.com
Updated Date: 2015-03-10T16:51:26Z
Creation Date: 2006-07-22T19:17:30Z
Registry Expiry Date: 2017-07-22T19:17:30Z
Sponsoring Registrar: CSL Computer Service Langenbach GmbH d/b/a joker.com a German GmbH
Sponsoring Registrar IANA ID: 113
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registrant ID: CORG-160681
Registrant Name: Hal Eisen
Registrant Organization:
Registrant Street: 2611 Etna St
Registrant City: Berkeley
Registrant State/Province: CA
Registrant Postal Code: 94704
Registrant Country: US
Registrant Phone: +1.4153367182

看得出来注册地是加州的伯克利,域名很有意思,joker.com,让我想起了跟蝙蝠侠作对的小丑。 不过打开这个域名一看,是跟万网一样的域名提供商。

一个域名提供商用这个名字,是暗示注册域名的都是小丑吗?
图片描述

CDN还有一种用途用来硬抗DDos攻击,对于经常被攻击的大网站,网站的最前端可以部署高防CDN服务器,通过CDN服务器对流量进行清洗,并将清洗过的流量引回到真实服务器集群。一般中小流量(例如几十G)的攻击购买有防护能力的CDN机房都能挡住。防DDos攻击的成本比攻击要高很多,厂家为此花的钱还是要平衡收入和产出比。

2015年的锤子新品发布会,与老罗演讲同时进行的官网预售也几近瘫痪,原因是遭到了DDos攻击,据披露其攻击峰值是130Gbps,平均流量是几十Gbps。估计锤子科技并没有想到会有同行利用这种手段来进行竞争,亦或是之前老罗数次发布会对于同行的冷嘲热讽引来了如此报复,所以可能根本没有准备应付这种情况。由腾讯云的新闻看出,锤子是在出了问题后紧急联系腾讯云对接他们的大禹系统的,可参考:http://www.itbear.com.cn/n139...

阿里作为老牌互联网厂商,在对抗DDos上也有很丰富的经验,阿里云曾经在2014年成功防住了全球互联网最大的一次攻击453.8Gbps,可以说当时参与的安全人员都见证了历史。下面是公开分享资料的一些截图,介绍了攻击的细节和阿里的防DDos技术。
图片描述
图片描述
图片描述
目前阿里云也推出了云盾产品,将自家的技术输出给广大的互联网企业,详细内容可参考下面infoq上的公开分享。云盾的一项新技术叫态势感知,通过阿里云上的大数据来发现网络安全的各项趋势漏洞,还在不断进化中。

参考资料:

CDN缓存服务器现状,squid、nginx、trafficserver、ATS性能测试
http://www.dnsdizhi.com/cdnca...
互联网全球最大DDoS攻击防御实战分享
http://www.infoq.com/cn/prese...


祝坤荣
1k 声望1.5k 粉丝

科幻影迷,书虫,硬核玩家,译者


« 上一篇
这次聊聊键盘
下一篇 »
[译]Consul架构