浅谈cdn

Posted kaiguang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈cdn相关的知识,希望对你有一定的参考价值。

CDN——内容分发网络

Content Delivery Network

CDN——网速优化工具,优化速度只有两种,要么时间换空间,要么空间换时间,cdn则采用的是时间换空间策略
将源站内容分发至全国所有的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术。它能够有效解决网络带宽小、用户访问量大、网点分布不均等问题。
CDN构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术

技术图片

作用:

  • 加速网站的访问速度
  • 实现跨运营商、跨地域的全网覆盖
  • 保障你的网站安全
  • 异地备援
  • 节约成本
  • 专注业务本身

技术图片

技术图片

流程

技术图片

  1. 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS 系统会最终将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服务器。
  2. CDN 的 DNS 服务器将 CDN 的全局负载均衡设备 IP 地址返回用户。
  3. 用户向 CDN 的全局负载均衡设备发起内容 URL 访问请求。
  4. CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
  5. 基于以下这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址:
  6. 根据用户 IP 地址,判断哪一台服务器距用户最近;
  7. 根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户所需内容;
  8. 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。
  9. 全局负载均衡设备把服务器的 IP 地址返回给用户。
  10. 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

DNS 服务器根据用户 IP 地址,将域名解析成相应节点的缓存服务器IP地址,实现用户就近访问。使用 CDN 服务的网站,只需将其域名解析权交给 CDN 的全局负载均衡(GSLB)设备,将需要分发的内容注入 CDN,就可以实现内容加速了。

适用场景

  • 网站站点/应用加速

静态内容加速,静态内容加速,如:html image js css 等

  • 视音频点播/大文件下载分发加速

基本上都是视频点播,MP4、flv等视频文件,例如国内的优酷、土豆、腾讯视频、爱奇艺都是一样

  • 视频直播加速

视频直播加速,流媒体切片、转码、码流转换等等。
熊猫TV、斗鱼、淘宝直播,钉钉,飞书

  • 移动应用加速

移动APP更新文件(apk文件)分发,移动APP内图片、页面、短视频、UGC等内容的优化加速分发。
ios、安卓 端 APP 、微信小程序、支付宝小程序等。

题外

流量劫持

其实,CDN本身就是一种DNS劫持,只不过是良性的。 不同于黑客强制DNS把域名解析到自己的钓鱼IP上,CDN则是让DNS主动配合,把域名解析到临近的服务器上。
劫持通常分为两类:

  • 域名劫持,又称DNS劫持,通常是指域名指向到非正常IP(恶意IP),该恶意IP通过反向代理的方式,在能返回网页正常内容的情况,可能插入恶意代码、监听网民访问、劫持敏感信息等操作。通常验证一个域名是否被劫持的方法是PING一个域名,如果发现PING出来的IP不是您的服务器真实IP,则可以确定被劫持了(当然如果使用了知道创宇云安全等安全加速平台,得到的IP为平台IP,并非劫持)
  • 数据劫持,通常由电信运营商中某些员工等勾结犯罪分子,在公网中进行数据支持,插入,此类情况极隐蔽,不会改变用户域名解析IP,而是直接数据流经运营商宽带时在网页中挺入内容,此类情况,建议网页启用HTTPS加密,可以解决这一问题(通信是加密的,运营商无法插入恶意内容)

高仿、洗流量

CDN 可以通过分流 ,洗掉来自Ddos 大部分的攻击 。

以上是关于浅谈cdn的主要内容,如果未能解决你的问题,请参考以下文章

浅谈CDN加速问题

浅谈CDNSEOXSSCSRF

浅谈HTTP缓存与CDN缓存的那点事

浅谈vue.js

浅谈 URI 及其转义

浅谈Mybatis