(十六)深入浅出TCPIP之Hello CDN

专栏其他文章

理论篇:

(一)深入浅出TCPIP之理解TCP报文格式和交互流程

  (二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上)

  (三)深入浅出TCPIP之再识TCP,理解TCP四次挥手(上)

  (四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析

  (五)深入浅出TCPIP之TCP流量控制

  (六)深入浅出TCPIP之TCP拥塞控制

  (七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制

 (八)深入浅出TCPIP之TCP长连接与短连接详解

 (九)深入浅出TCPIP之网络同步异步

 (十)深入浅出TCPIP之网络阻塞和非阻塞

(十一)深入浅出TCPIP之TCP粘包问题

  (十二)深入浅出TCPIP之Nagle算法

  (十三) 深入浅出TCPIP之TCP套接字参数

  (十四)深入浅出TCPIP之初识UDP理解报文格式和交互流程

  (十五)非常全面的TCPIP面试宝典-进入大厂必备总结

 (十六)深入浅出TCPIP之Hello CDN

 ....

(二十)深入浅出TCPIP之epoll的一些思考

实践篇:

   深入浅出TCPIP之实战篇—用c++开发一个http服务器(二十一)

其他实践篇+游戏开发中的网络问题疑难杂症解读 正在完善。。。

什么是CDN

CDN 其实是 Content Delivery Network 的缩写,即“内容分发网络”。CDN是将媒体资源,动静态图片(Flash) ,HTML, CSS, JS等等内容缓存到距离你更近的互联网数据中心,从而让用户进行共享资源,实现缩减站点间的响应时间等等需求。

 

CDN的起源

CDN 诞生于二十多年前,随着骨干网压力的逐渐增大,以及长传需求的逐渐增多,使得骨干网的压力越来越大,长传效果越来越差。于是在 1995 年,MIT 的应用数学教授 Tom Leighton 带领着研究生 Danny Lewin 和其他几位顶级研究人员一起尝试用数学问题解决网络拥堵问题。他们使用数学算法,处理内容的动态路由安排,并最终解决了困扰 Internet 使用者的难题。后来,史隆管理学院的 MBA 学生 Jonathan Seelig 加入了 Leighton 的队伍中,从那以后他们开始实施自己的商业计划,最终于 1998 年 8 月 20 日正式成立公司,命名为 Akamai。同年 1998 年,中国第一家 CDN 公司 ChinaCache 成立。在接下来的20年中,CDN行业历经变革和持续发展,行业也涌现出很多云CDN厂商。阿里云CDN是2008年从淘宝CDN起家,在2014年正式发展成为阿里云CDN的,它不仅为阿里巴巴集团所有子公司提供服务,同时也将自身的资源、技术以云计算的方式输出。

为什么要用 CDN 呢?

如果未做 CDN 之前跨洋跨国的长传业务,用户从西班牙访问到美国纽约要经过北大西洋,直线距离6,000km 左右,按照光速300,000km/s 的传输速度,一束光从西班牙到纽约也至少需要 20ms 时间,一个往返就需要 40ms。如果是光纤传输数据,加上传输损耗、传输设备延时引入等,可能上百毫秒就出去了,即使用浏览器访问一个再小不过的图片,也会等个上百毫秒,积少成多,访问一个美国购物网站会让用户无法接受。

如果使用CDN,网民实际访问到的服务器不是位于美国的真实服务器,而是位于英国的 CDN 服务器。而 CDN 本身有缓存功能,把那些网页里一成不变的内容,例如图片、音乐、视频等,都分发并缓存到了各个 CDN 服务节点上,这样网民就不必从西班牙访问到纽约,而是访问距离自己较近的英国节点即可,从而节省了 80% 以上的时间。 

那 CDN 是如何将用户的流量引入到 CDN 网络中的呢?

在未做 CDN 时,我们访问某个域名,直接拿到的是一个真实的服务器 IP 地址,这个显示 IP 地址的 DNS 记录信息叫 A 记录,一般是下图这个样子。

当业务需要接入到 CDN 时,用户只需调整自己的 DNS 配置信息,将 A 记录改为 CNAME 记录,将内容改为 CDN 厂商所提供的接入域名即可。

因此这里我们使用dig命令就能看到自己的域名实际指向的CDN地址:

(十六)深入浅出TCPIP之Hello CDN_第1张图片

这里我们能看到天猫商城的地址 www.tmall.com 通过CNAME解析到后边的www.tmall.com.danuoyi.tbcache.com,而 www.tmall.com.danuoyi.tbcache.com则通过CDN加速,将A地址解析到了后百年的47.246.25.233和47.246.25.234地址上。

CDN的工作流程:

要使用CDN,就得知道CDN的工作流程,每个云服务商的CDN使用方式有差异,但是CDN的工作流程基本上没有太大差别,我们来了解下:

(十六)深入浅出TCPIP之Hello CDN_第2张图片

有人在CDN域名加速配置了缓存策略,刷新了CDN,如果需要更新之前的资源,需要重新刷新CDN,对于一些比较大的资源比如超过50MB的,一般建议使用“预取”,模拟用户首次请求下载资源的流程,将这些大资源同步到CDN。

 

 

你可能感兴趣的:(深入浅出TCP/UDP,网络,cdn)