cdn的概念
CDN(Content Delivery Network,内容分发网络)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其
他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
CDN的作用
CDN一般会用来托管Web资源(包括文本、图片和脚本等),可供下载的资源(媒体文件、软件、文档等),应用程序(门户网站等)。使用CDN来加速这些资源的访问。
在性能方面
引入CDN的作用在于
● 用户收到的内容来自最近的数据中心,延迟更低,内容加载更快
● 部分资源请求分配给了CDN,减少了服务器的负载
在安全方面
CDN有助于防御ddos、MITM等网络攻击
● 针对DDoS:通过监控分析异常流量,限制其请求频率
● 针对MITM:从源服务器到 CDN 节点到 ISP(Internet Service Provider),全链路 HTTPS 通信
除此之外,CDN作为一种基础的云服务,同样具有资源托管、按需扩展(能够应对流量高峰)等方面的优势。
CDN的原理
用户未使用CDN缓存资源的过程
1. 浏览器通过DNS对域名进行解析,依次得到此域名对应的IP地址
2. 浏览器根据得到的IP地址,向域名的服务主机发送数据请求
3. 服务器向浏览器返回响应数据
用户使用CDN缓存资源的过程
1. 对于点击的数据的URL,经过本地DNS系统的解析,发现该URL对应的是一个CDN专用的DNS服务器,DNS系统就会将域名解析权交给CNAME指向的CDN专用的DNS服务器。
CNAME(意为:别名):在域名解析中,实际上解析出来的指定域名对应的IP地址,或者该域名的一个CNAME,然后再根据这个CNAME来查找对应的IP地址。
2. CDN专用DNS服务器将CDN的全局负载均衡设备IP地址返回给用户
3. 用户向CDN的全局负载均衡设备发起数据请求
4. CDN的全局负载均衡设备根据用户的IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备
5. 区域负载均衡设备选择一台合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负载均衡设备
6. 全局负载均衡设备把服务器的IP地址返回给用户,告诉用户向这台设备发起请求
7. 用户向该缓存服务器发起请求,缓存服务器响应用户的请求,将用户所需内容发送至用户终端。
8.如果缓存服务器没有用户想要的内容,那么缓存服务器就会向它的上一级缓存服务器请求内容,以此类推,直到获取到需要的资源。最后如果还是没有,就会回到自己的服务器去获
取资源。
CDN的使用场景
使用第三方的CDN服务
如果想要开源一些项目,可以使用第三方的CDN服务
使用CDN进行静态资源的缓存
将自己网站的静态资源放在CDN上,比如js、css、图片等。可以将整个项目放在CDN上,完成一键部署。
直播传送
直播本质上是使用流媒体进行传送,CDN也是支持流媒体传送的,所以直播完全可以使用CDN来提高访问速度。CDN在处理流媒体的时候与处理普通静态文件有所不同,普通文件如果
在边缘节点没有找到的话,就会去上一层接着寻找,但是流媒体本身数据量就非常大,如果使用回源的方式,必然会带来性能问题,所以流媒体一般采用的都是主动推送的方式来进
行。
参考文章:
浅谈MITM攻击之信息窃取(解密315晚会报道的免费WIFI窃取个人信息) – Findyou – 博客园 (cnblogs.com)
原文链接:https://www.cnblogs.com/anpu/p/16323923.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/5624