CDN技术介绍

article/2025/11/8 23:18:26

引言

随着Internet技术和多媒体技术的不断发展,图像、音频、视频服务所占的比重越来越大,加之网民数量激增,网络访问距离过长,导致网络负载迅速增加,从而使用户的访问质量受到严重影响。传统的缓存技术对交互性强和比较大的文件并不支持,因此迫切需要一种新的传输结构来解决这一问题。此外,当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地 区来说,访问质量不良更是一个急待解决的问题。而应运而生的CDN(Content Delivery Network,内容分发网络)技术正是针对带宽、响应速度、扩展性、可靠性等对网络进行改善的。它不仅能优化网络性能,提高应用效率,整合内容资源,而且可以为多种应用提供服务,特别是多媒体应用服务。因此,该技术已经在上广泛应用并已成为网络利润的增长点

CDN网络结构及发展

​ CDN是一种基于Web的网络体系结构,采用缓存、复制、负载均衡和客户请求重定向等技术,基于Internet构筑一个地理上分布的内容递送和先进的流量分配网络。通过网络的动态流量分配控制器将用户的请求自动发布到最接近用户的网络“边缘”,引导用户就近访问,解决Internet网络拥塞状况,提高用户访问网站的响应速度

CDN网络结构及特点

​ CDN网络结构如图所示

image-20221115163131009

​ 系统主要包括客户端、缓存服务器和初始服务器等六部分。各部分之间的相互关系是:初始服务器把与自己名称相关联的URL授权给路由请求系统①,需发行的内容②通过分发系统被分发到远端缓存服务器③。某一客户向初始服务器请求所需要的内容,但其请求被路由请求系统所处理④,该系统重定向其请求到某个最佳缓存服务器⑤。缓存服务器定期向管理系统⑥发送信息,而管理系统则对此信息进行详细统计和总结并作为反馈发送到初始服务器⑦和路由请求系统。

​ CDN技术只是对传统网络的一种改进,它广泛采用各种Cache(缓存)服务器并将这些Cache服务器分布到用户访问相对集中的网络中,利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的Cache服务器上,由它直接响应用户请求。在各个节点上Cache服务器扮演Web服务器的角色,它保存原始服务器上相应内容的副本,以便及时响应用户的请求。如果Cache服务器中没有用户要访问的内容,它会根据配置自动到原服务器去抓取相应的内容并提供给用户。具体过程如下:1) 用户提交所要访问的域名。2)浏览器向本地DNS请求对该域名的解析。在这一步中由于DNS内部已经过调 整,故在进行域名解析时将综合考虑各缓存服务器与用户端的距离、当前运行状况等因素,从中挑选出一台最优的可供访问的服务器,并将其IP返回给客户端。3)用户获取IP后再向网络中IP所在服务器发出访问请求。4)如果用户所需的内容能够在缓存服务器中直接找到,则此时该服务器直接将内容返回给用户,整个访问就此结束。5)当用户所需的内容不能够在缓存服务器中直接找到时,则由缓存服务器直接向源服务器提出更新内容的请求。6)源服务器收到请求后开始返回缓存服务器中没有的内容,并由缓存服务器将内容返回给用户。

​ 从狭义方面看,CDN只是一种新型的网络构建方式,它只是能在传统的IP网中发布宽带丰富媒体信息并特别优化的网络覆盖层);而从广义的角度看CDN代表了一种基于质量与秩序的网络服务模式。依赖多种网络技术的支持,使Internet执行关键任务,进而实现以“内容”为核心的策略化管理。从技术上全面解决由于网络带宽小’、用户访问量大、网点分布不均造成的途中路由阻塞和延迟问题,并且缩短了访问距离,提高了网站服务器的处理能力以及用户访问网站的响应速度等。这种技术特别在流媒体和动态内容传输方面有着其它技术不可比拟的优势,已经成为Internet领域新的研究热点和利润增长点。

CDN的关键技术

负载均衡技术

负载均衡技术就是将网络的流量尽可能均匀地分配到几个能完成相同任务的服务器或网络节点上去执行和处理,从而避免部分网络节点过载而另一部分节点空闲的不利状况,这既可以提高网络流量,又可以提高网络的整体性能。CDN中的负载均衡技术主要有两种

全局负载均衡技术

全局负载均衡的主要目的是在整个网络范围内实现将用户的请求定向到最近的节点(或者区域)。因此,全局负载均衡的主要功能是实现就近性判断。全局负载均衡技术是整个CDN系统的关键技术,采用先进的第四层交换技术,其实现方法主要有DNS轮循、HTTP重定向和IP欺骗3种。

本地负载均衡技术

和全局负载均衡相比,本地负载均衡一般局限于一定的区域范围内。本地负载均衡侧重于根据CDN 节点的健康性、负载情况策略等进行精细的负载均衡。因此,本地负载均衡设备一般需要了解CDN 节点的具体运行状况作为执行本地负载均衡的依据。本地负载均衡有多种实现方式,如采用 4到 7 层交换机方式利用重定向的方式等。

内容缓存技术

内容缓存技术通过缓存用户经常访问站点的内容,将用户最关心的内容放到离用户最近的地方将网络传输中各种不确定的因素排除出去,并通过自己经过充分优化的响应系统响应用户的请求,充分利用到用户“最后一公里”的高带宽达到提高最终用户响应速度的目的。内容缓存技术在解决宽带技术应用问题中得到了广泛采用,是 CDN 采用的又一个主要技术。这种技术包括正向代理透明缓存和反向代理三种方式

动态内容分发与复制技术

网站访问响应速度快慢取决于诸如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等因素。大多数情况下.网站响应速度和访问者与网站服务器之间的物理距离有密切的关系:如果访问者和网站之间的距离过远,它们之间的通信需要经过重重路由转发和处理,网络延误不可避免。一个有效的方法就是利用内容分发与复制技术将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上

动态内容路由技术

当用户访问加入 CDN 服务的网站时,域名解析请求将最终由重定向 DNS 负责处理它通过一组预先定义好的策略(如内容类型 地理区域、网络负载状况等),将当时最接近用户的节点地址提供给 用户,使用户可以得到快速的服务。同时,重定向 DNS还与分布在世界各地的所有 CDNC(CDN Control)节点保持通信,搜集各节点的健康状态,确保不将用户的请求分配到任何一个已经不可用的节点上。

cache重定向技术

内容交换设备可在网络的出口提供透明的Cache重定向服务,这种方式可使用户访问的内容从本地Cache中快速得到

应用

最初的时候内容分发网络主要被应用于分发wed的内容,随着网络技术一步步的成熟,宽带的出现和普及使得它发展迅速与此同时基于流媒体极其快速的发展,在一次次的探索中人们意识到内容分发网络技术可以减少流媒体传输过程中极高的吞吐率成为主要网络宽带造成的极大压力.而目还能够提高流媒体的服务质量和效率。所以在最近这些年、人们越来越多的关注内容分发网络,在国外得到了宽泛的部署,并且流媒体的内容代替了Wed的内容变成了内容分发网络最主要承载的对象。并且在国外现在不仅是个体门户网站,还有很多非常需要安全的政府门户网站、媒体网站、网络教学、大中型企业、电子商务网站还有政府网站都有广泛应用内容分发网络。尤其是在2004年的雅典奥运会上,欧洲通过内容分发网络技术在网上直播了整个奥运会过程。

未来展望

根据目前形势来看,信息时代已经是主流,内容分发网络技术的应用是必不可少的也是信息社会发展的必由之路。利用内容分发网络技术,不同网站的服务类型不需要昂贵的投资和设立分发点。通过和内容分发网络技术的结合,信息被很快很好地传递、传输的质量很高,传输网络也能得到维护,网站不需要其它繁琐的工作只需要维护内容就可以,不需要考虑流量问题,这样一来不仅节约了成本,而且提高了工作效率。内容分发网络是理想的网络类型,用户可以上网提出需求,也可以快速方便地接受知识,这样一来,用户与内容信息的接触更为直接,距离更小。并且随着因特网越来越广泛的应用和发展,目前,以内容分发网络技术为核心的一种技术IDC得到了全面发展,未来IDC的一个典型应用中,数字影院较为突出。其中的原理也比较简单就是通过分布在全世界的IDC把影视内容直接快速分发到全世界的各个地方,同时收取费用

总结

内容分发网络技术是一种非常新颖的网络构建模式,有看极强的内容数据分发和管理能力,在减少宽带网络压力的同时还可以满足用户的需求,很大程度上提高了客户满意度和媒体服务的质量。在促进信息时代发展的过程中起到很大作用。内容提供商使用 CDN 服务可以更加专注于提供精彩的内容而不必过多考虑带宽、时延等因素。而接入服务商则通过CDN将可靠的内容提供给用户,从而加速 CDN 的内容管理从静态页面向流媒体、动态页面发展,最终走向全面应用。

参考论文:CDN技术的发展及应用,作者宋家友,桑红涛


http://chatgpt.dhexx.cn/article/uoNqu8Qh.shtml

相关文章

阿里云国际版CDN真的这么神奇吗?

阿里云国际版的内容分发网络CDN(全称Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云国际版CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发&#…

修复cdn服务器连接异,cdn服务器连接异常怎么处理

cdn服务器连接异常怎么处理 内容精选 换一换 通过Web浏览器无法登录资源,提示由于资源连接失败或不可达,当前无法访问。如果持续出现该问题,请通知系统管理员或检查系统日志(Code:C_519)。CBH系统与资源服务器之间网络连接不稳定,导致连接失败。CBH系统到资源服务器的网络…

亲身尝试!国内外几间出名CDN服务商使用心得

从十月中旬就开始折腾CDN的事情,前前后后算起来也有差不多一个月了吧,期间试过了几乎所有能想到、能用上的CDN服务商,终于找到了一家适合自己的。 先讲一下自己的探索过程吧,顺带排排雷: 首先我想到的就是自己曾经用…

海外cdn加速有用吗?

如何使用CDN服务给网站提速? CDN是一个策略性部署的整体系统,能够帮助用户解决分布式存储、负载均衡、网络请求的重定向和内容管理等问题,CDN代表了一种基于质量与秩序的网络服务模式。 1.想要完成CDN对网站的加速服务,先要在大…

海外CDN加速的方方面面

免备案cdn是什么 CDN加速免备案也就是在海外的节点,像香港、美国等地区的服务器,如果是国内的服务器,也还是需要备案的。 海外多节点高防服务器部署,CDN加速免备案原理是将源站内容分发至海外多个高防服务器节点,通过…

[Anaconda学习]本地查看代理ip,anaconda挂代理

**anaconda为什么要挂代理?**如果不挂代理某些第三方库可能出现下载不完全的情况。 1、本地电脑查看所挂代理的ip地址(笔者使用的是六尺巷挂代理访问外网,一个月25,但是供应商软件不支持查看代理ip地址)步骤&#xff1…

挂代理的几种方式

1.kali中挂代理 执行命令如下所示: rootKali:~# leafpad /etc/proxychains.conf 可视化显示配置文件信息 在配置文件底部添加代理,一般用SOCKS4和SOCKS5 因为proxyresolv保存在/usr/lib/proxychains3/目录中,而不能被执行。proxyresolv会被…

KALI虚拟机挂代理教程

需要你本地挂了代理,然后通过虚拟机连接本机代理端口,不说废话了,直接说怎么做了。 1.查看选项设置中自己的小飞机的本地端口是多少:(默认是1080) 2.本机winr打开cmd,输入ipconfig查看本地ip…

AWVS挂代理扫描

端口填远程机开启的BP端口,地址填远程机的IP,如果出现验证码报错,那就是你软件破解的有问题

vscode 设置代理

编译一些代码,需要从网络更新一些库文件,但是需要代理;

Linux使用代理服务器上网

1.安装服务器代理软件 :CCProxy 或者 WProxy 2.编辑Linux环境变量配置 vim ~/.bash_profile [在末尾加上服务器代理地址,http和https代理地址都写一样的,ip和端口从你安装服务器代理软件后运行的设置中获取] #http proxy export http_proxyhttp://10…

代理服务器出问题或挂完代理后网络连接且无网络

要注意在使用完代理后需要手动关闭,否则会出现代理为关闭的状况,导致网络连接成功,但却无法正常上网。 出现以上情况需要关闭代理,在设置里搜索“代理服务器设置” 打开如上界面,关闭代理服务器即可。 当然&#xff…

centos服务器如何设置代理上网?

互联网时代,网络通信方面发展非常快,上网的人群也非常多,很多人应该都了解代理这个词,也知道代理上网,这里就不过多介绍了,但是centos这个词就不一定有很多人知道了,一般程序员才会了解这个并且…

Burp Suite配合xray代理socks流量

一、配置xray中config.yaml文件中proxy字段 socks5://用户名:密码ip:端口 二、Burp Suite配置socks代理 User options中找到socks proxy 三、xray开启监听端口 四、浏览器开启代理端口 我的xray监听的是http://127.0.0.1:7777 所以浏览器代理也是http://127.0.0.1:7777

centos8代理上网_centos设置代理上网

假设我们要设置代理为 IP:PORT 1、网页上网 网页上网设置代理很简单,在firefox浏览器下 Edit-->>Preferences-->>Advanced-->>Network 在Connection下点击Settings,里面的manual proxy configuration里设置IP和PORT即可 2、…

代理情况下pip无法正常安装包问题解决方案

在开了代理的情况下用pip安装一直会报ssl proxy错误,需要临时关闭代理才能安装,很是烦人,在https://zhuanlan.zhihu.com/p/350015032找到了解决方案: 手动添加环境变量(该方法对笔者无效) HTTP_PROXY:http:…

青龙使用代理

1.在服务器上配置好代理 取得ip以及端口 2.青龙可以在config中配置代理或者是环境变量 我个人喜欢在环境变量中添加 在容器bridge模式下,用172.17.0.1作为主机(默认情况) host模式下使用127.0.0.1 http_和https_proxy 这俩环境变量 python会自动读取并使用 nodejs则使…

关于bp抓包挂代理127.0.0.1服务器出现“有软件正在阻止Firefox安全连接至网站”问题的解决方法(报错“MOZILLA_PKIX_ERROR_MITM_DETECTED“)

在bp对火狐浏览器进行抓包时,出现以下错误页面: 原因: 当 Firefox 连接到一个安全的网站时(网址最开始为“https://”),它必须确认该网站出具的证书有效且使用足够高的加密强度。如果证书无法通过验证&a…

iterm2挂代理

为什么80%的码农都做不了架构师?>>> export http_proxysocks5://127.0.0.1:1080 export https_proxy$http_proxy 转载于:https://my.oschina.net/golang/blog/1579432

浏览器挂上远程代理后burp suite如何进行流量的抓取

需求:浏览器挂上了远程代理,访问目标内网,这时需要抓取目标的网页流量。这时就需要浏览器与bp的代理依旧保持不变,然后在bp中添加下游代理,这样,浏览器的流量就先转向bp,bp再将流量转发送给代理…