百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

CDN技术原理详解

cac55 2025-01-12 11:45 16 浏览 0 评论

一、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、流媒体加速(音视频)

  1. 大文件加速(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地址提供给用户,使用户可以以最快的速度获得网站内容。

请求流程说明:

  1. 用户在浏览器输入要访问的网站域名www.example.com,向本地DNS发起域名解析请求。
  2. 本地DNS检查缓存中是否有www.example.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向网站授权DNS查询。
  3. 网站DNS服务器解析发现域名已经解析到了CNAME:www.example.com.c.cdnhwc1.com请求被指向CDN服务。
  4. CDN对域名进行智能解析,将响应速度最快的CDN节点IP地址返回给本地DNS。
  5. 用户获取响应速度最快的CDN节点IP地址。
  6. 浏览器在得到最佳节点的IP地址以后,向CDN节点发出访问请求。
  7. 如果该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,这种方法也会失效。

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

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

相关推荐

Mac右键菜单如何设置?_mac 右键菜单

Mac的用户都知道,Mac和Windows很大的区别在于,Windows可以使用鼠标右键完成的很多快捷操作,例如右键剪切、右键新建文件、右键快速访问等等。在工作学习中,这种快捷操作会大大提高我们的工作...

Office局部加密隐藏信息_office隐藏修改痕迹

除了日常使用的图片、音视频文件外,我们还常常和别人共享使用一些Word或Excel办公文件。而这些文件中的部分内容,也许是我们不希望别人看到的。这时,就需要对Word文档或Excel表格中的部分数据实...

不常见但100%好用的电脑快捷键_最全的电脑快捷键

办公人士或者经常使用电脑的人已经熟悉了常见的Ctrl+C/V等快捷键,想要更高效、专业的操作技巧来提升工作效率。接下来,同创双子双子IT运维工程师帮忙整理了一些不太常见但非常有用的快捷键。比如Alt+...

U盘文件被隐藏怎么恢复 U盘文件恢复隐藏的方法

U盘文件被隐藏怎么恢复?U盘文件被隐藏其实这是中了一种U盘病毒,它会恶意的将U盘中的文件夹隐藏起来,采用常规的方法,都无法打开查看。这种U盘病毒会把文件夹的属性给篡改掉,文件设置被改成只读、隐藏,在文...

win7查看隐藏的文件怎么操作 win7如何打开隐藏文件

win7查看隐藏的文件怎么操作?在使用电脑时,有一些用户会将文件设置为隐藏属性,以保护隐私。此外,还有一些系统文件默认处于隐藏状态。那么,如何操作才能打开这些隐藏文件呢?小编今天在这就为大家分享一下w...

系统小技巧:八个实用设置 藏于桌面右键

我们除了在桌面上执行鼠标单、双击操作外,常常也会用右键菜单命令查看文件或显示属性等。其实,除此之外,桌面里还隐藏着不少可被我们利用的实用右键操作项目。下面的这些Windows10桌面右键操作技巧,不...

移动硬盘中的隐藏文件如何恢复显示?可尝试这些方法

在使用移动硬盘的过程中,有时我们可能会遇到一些文件突然变得不可见或“隐藏”的情况。这种情况可能是由于多种原因造成的,如文件系统错误、病毒感染或误操作等。面对隐藏的文件,许多用户可能会感到困惑和不知所措...

Win11怎么查看隐藏文件和文件夹?_如何查看windows隐藏文件夹

一般来说系统会对比较重要的文件和文件夹添加隐藏属性,很多朋友可能找半天都找不到,那么怎么找出这些隐藏文件和文件夹呢,今天系统之家小编来教大家Win11显示隐藏文件的设置方法,操作步骤其实挺简单的,希望...

隐藏电脑文件(夹)竟如此简单!再也不怕被偷窥了

导读:谁的电脑硬盘中还不存有一些珍藏多年的学习资料,可为了保护它们各位学习爱好者也真的是煞费苦心,不管是层层文件夹“套娃”隐藏也好,修改文件名甚至修改后缀名也好,效果都是非常差的,本期文章小君就聊一聊...

怎么打开隐藏文件夹?_文件夹怎么弄

有时在电脑上,我们会发现之前的文件或者文件夹不见了,很多人会觉得会不会是误删了文件之类的。其实还有一种可能,就是你的文件或者文件夹被隐藏起来了。怎么打开隐藏文件夹?一、文件或者文件夹被隐藏的原因隐藏是...

移动硬盘上的隐藏文件怎么能找出来

移动硬盘作为一种小巧而便携式的硬盘存储器,具备容量大、兼容性好、即插即用等优势,被广泛应用于办公和家庭生活中,那么在使用移动硬盘过程中,你是否遇到了文件被隐藏的问题呢?本文将介绍恢复移动硬盘隐藏文件的...

系统小技巧:“发送到”菜单问题巧解决

此前,我们已经通过本刊的一些文章熟悉了通过手动或软件的方法定制“发送到”菜单的基本方法。在使用“发送到”菜单的过程中,还可能会遇到一些问题。例如:“发送到”菜单越用越长,能不能在不编辑删减的情况下,调...

WIN 10系统介绍(21) 重要文件的隐藏 私密文件的保护 显示隐藏文件

大家好,今天介绍电脑中重要文件和文件夹的隐藏以及显示。在每个人使用的电脑中,都有一些个人的私密的资料,比如一些账目,或者个人的照片,信件,技术文档,视频等等的一些资料。我们可能不希望所有登录的用户,都...

状态栏在哪?手机+电脑+软件里的它 一篇讲清位置和功能

状态栏就是设备或软件里显示状态信息的区域,能让你快速知道时间、电量等情况。下面告诉你不同设备和软件里状态栏在哪儿、有啥用。手机上的状态栏位置:屏幕最顶端的窄条,不管用什么APP,基本都在这儿。显示...

excel隐藏的部分内容如何显示出来?3个方法帮助你!

excel隐藏的部分如何显示出来?你是否曾经在Excel中遇到过某些单元格被隐藏,或者某些数据在编辑时突然消失,让你感到困惑和无助?不要担心,今天我将向你揭示如何解决这些问题,让你轻松显示隐藏的部分。...

取消回复欢迎 发表评论: