Skip to main content
德胜云
  万速智能9 > CDN

学会了吗「CDN技术原理详解」cdn技术原理详解视频cdn技术实现原理

2024-05-06 09:34:12 浏览:

学会了吗「CDN技术原理详解」cdn技术原理详解视频cdn技术实现原理

一、CDN的发展历程

内容分发网络(CDN,Content Delivery Network)是由分布在不同区域的节点服务器群组成的分布式网络,通过一定规则将互联网网站、网络视频、网络游戏等内容源推送到接近用户的网络边缘节点服务器,使用户可以就近取得所需的内容,是缓解互联网网络拥塞,提 高互联网业务响应速度,改善用户业务体验的重要手段。

1998年美国Akamai公司的成立以及CDN业务的运营标志着全球CDN正式商用的开始。1998 年到2001年,CDN伴随着第一波互联网浪潮迎来了发展高潮,这一阶段的CDN主要面向满足基于 HTTP的静态网页的加速访问需求。

在国内国内,1998 年与 2000 年,蓝汛公司和网宿科技公司相继成立,先后开始提供面向静态网页内容的CDN 服务。

2001年Limelight Networks在美国成立并且得到了投资银行高盛(Goldman Saches)的投资,使得该公司成为了继Akamai之后全球另一家主要的 CDN 服务提供商。

2004年以后,xDSL逐渐取代电话拨号成为了上网的主要方式,宽带网络开始逐步普及,带宽提高到了Mbps级别。网络基础设施能力的提升、互联网行业的复苏,加之Web2.0业务理念的兴起,以及国际资本对互联网企业的再次垂青,CDN行业重新迎来了发展的春

天。尤其是视频网站、社交网络快速发展所产生的海量流量调度需求,成为CDN飞速增长的应用催化剂。

2010 年以后,随着移动互联网和云计算的快速发展,一些CDN公司开始将云计算运用到 CDN之中,使得CDN服务从单纯的内容分发逐渐扩展为网络存储服务,使得“CDN 云”这一应用逐渐落地。

2008年-2015年,OTT、IPTV等视频应用方式呈现了爆发式的增长,大量带宽需求被激发出来,CDN正式驶入高速发展的快车道。

2016年-至今,伴随着带动全民狂欢的直播与短视频风口的到来,CDN迎来了规模扩张的新阶段。同时在技术层面,CDN走向视频技术的其中一环,走向了云计算、物联网,边缘计算,也走进了人工智能。

2022年传统背景的三家老牌CDN服务商(CenturyLink、Verizon、Limelight)从领导者位置跌落,而以亚马逊云科技为代表三家新兴CDN服务商从“主要供应商”跃升至“领导者”阵营。

二、CDN 应用场景

CDN可以在技术上有效解决由于网络带宽小、用户访问量大、网点分布不均等造成的访问延迟、线路拥堵等问题。在现有网络中增加一层新的网络架构,将源站中的内容发布到不同的网络节点上,使用户可以就近获得所需的内容,从而提高用户访问网站的速度。

主要使用场景如下:

1、网页加速(新闻、首页详情、阅读)

2、流媒体加速(音视频)

大文件加速(AppStore、Google Play、AppGallery)

4、应用协议加速

三、CDN技术原理

3.1 主流CDN厂商支持哪些协议

业务类型为非全站加速时,支持HTTP、HTTPS协议。不支持其他协议,如FTP、TCP、UDP、WebSocket、WSS等协议。业务类型为全站加速时(动静混合),支持HTTP、HTTPS、WebSocket、WSS协议,不支持其他协议,如FTP、TCP、UDP等协议。

3.2 CDN网络组成部分

CDN是一种组合技术,其中包括源站、缓存服务器、智能DNS、客户端等几个重要部分。

源站

源站指发布内容的原始站点。添加、删除和更改网站的文件,都是在源站上进行的;另外缓存服务器所抓取的对象也全部来自于源站。

缓存服务器

缓存服务器是直接提供给用户访问的站点资源,有一台或数台服务器组成;当用户发起访问时,他的访问请求被智能DNS定位到离他较近的缓存服务器。如果用户所请求的内容刚好在缓存里面,则直接把内容返还给用户;如果访问所需的内容没有被缓存,则缓存服务器向邻近的缓存服务器或直接向源站抓取内容,然后再返还给用户。

智能DNS

智能DNS是整个CDN技术的核心,它主要根据用户的来源,将其访问请求指向离用户比较近的缓存服务器,如把广州电信的用户请求指向到广州电信IDC机房中的缓存服务器。通过智能DNS解析,让用户访问同服务商下的服务器,消除国内南北网络互相访问慢的问题,达到加速作用。智能DNS的出现,颠覆了传统的一个域名对应一个镜像的做法,让用户更加便捷的去访问网站。

客户端

客户端或称用户端即发起访问的普通用户,一般的访问方式是App或者浏览器。

3.3 工作原理

当用户访问使用CDN服务的网站时,Local DNS服务器通过CNAME方式将最终域名请求重定向到CDN服务。CDN通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的CDN节点IP地址提供给用户,使用户可以以最快的速度获得网站内容。

请求流程说明:

用户在浏览器输入要访问的网站域名www.example.com,向本地DNS发起域名解析请求。本地DNS检查缓存中是否有www.example.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向网站授权DNS查询。网站DNS服务器解析发现域名已经解析到了CNAME:www.example.com.c.cdnhwc1.com请求被指向CDN服务。CDN对域名进行智能解析,将响应速度最快的CDN节点IP地址返回给本地DNS。用户获取响应速度最快的CDN节点IP地址。浏览器在得到最佳节点的IP地址以后,向CDN节点发出访问请求。如果该IP地址对应的节点已缓存该资源,节点将数据直接返回给用户

如果该IP地址对应的节点未缓存该资源,节点回源请求资源。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,如图中的北京节点,并返回给用户,请求结束。

四、CDN防劫持

CDN劫持,其实就是CDN域名被劫持的意思。本来应该映射到服务器的EIP,在域名被劫持后,骇客就可以给用户返回一个恶意网站地址,做很多坏事。

如何防范CDN域名被劫持,就是CDN防劫持技术。

CDN技术本身是一种DNS劫持,只不过是良性的。不同于黑客强制DNS把域名解析到自己的钓鱼IP上,CDN则是让DNS主动配合,把域名解析到临近的服务器上。通过HTTPS加密可以防止CDN劫持,把所有的内容加密起来,在传输过程中,任何劫持者都不能探测到实际传输交互的内容,就能防止内容劫持了即便业务全程使用HTTPS,但由于用户至运营商Local DNS走的是HTTP协议,存在从用户端被劫持的情况,一般可以通过自建HTTPDNS作为逃生通道(如果正常域名走不通,直接从自建HTTPDNS逃生)。

五、CDN防盗链

5.1 为什么要防盗链

对于版权作品,如:VIP电影、音乐、壁纸、小说等,如果被盗版团伙知道URL后就可以下载,那么在商业上无疑是巨大的灾难。

针对这种仅允许认证用户访问的资源,都需要严谨的防盗链技术支撑。

而免费移动App、广告、短视频等,他们是越多人下载对商业上越是成功,则无需防盗链技术保护

5.2防盗链技术

CDN 常用的防盗链方式包含IP黑白名单、Referer、时间戳以及中心鉴权进行防盗链。

IP黑白名单

这个比较简单,直接配置请求者的IP黑白名单,设置黑名单之后,除了黑名单的用户都能访问;反之设置了白名单,只有白名单的用户都可以访问。这个方法直接有效,但必须知道请求者的具体IP信息,所以适用的场景比较有限。

Referer防盗链

在HTTP请求时,Referer里记录的是请求的来路,所以通过设置Referer黑白名单,可以控制哪个页面或者域名过来的请求是可以访问的。这个方法比较简单,因为你很清楚想让哪个网站或者不想让哪个网站访问,但是缺点就是Referer信息可以伪造。

时间戳防盗链

时间戳防盗链主要是在URL请求里,通过增加时间戳的信息来对URL加上时间的因素,盗链者如果不及时更新URL,那么就会无法访问。这个比较常见,但是如果盗链者定期的过来更新URL,这种方法也会失效。

中心鉴权(主流防盗链技术,数字证书认证是主流机制)

中心鉴权的方式等于在源站增加一层验证,这个方法会对防盗链有效,但会增加请求的时间成本,一般用于有对内容进行完全保护的,比如有些视频网站,需要会员身份才能看的内容,对于这些网站,一般都会做中心鉴权。

学会了吗「CDN技术原理详解」cdn技术原理详解视频cdn技术实现原理

  • 满满干货「WHOIS查询参考:域名注册信息的含义」域名注册服
  • 怎么可以错过「域名注册需要哪些条件?需要提交哪些材料?」域名
  • 速看「域名注册各项信息的都是什么意思?」“域名注册”域名注册
  • 原创「教你申请.tk/.ml/.cf/.gq/.ga等免费域
  • 这样也行?「永久免费的eu.org免费域名来申请啦-转入cl