计算机网络-CDN

计算机网络-CDN

CDN概念

CDN是一种地理分布式网络,由高速主干网络连接的数据中心内的代理和文件服务器组成。CDN 用于减少网站或服务中一组指定文件和对象的延迟和加载时间。CDN可能有数千个节点,以最佳方式处理来自任何位置的传入请求。
计算机网络-CDN

解决了什么问题

CDN主要可以解决以下问题:

性能问题

离用户远(如服务器在美国,用户在中国、欧洲访问),内容分发效率低(访问速度慢)
当大量用户同时访问这一台服务器时,系统可能瘫痪

安全问题

当服务器客户端直连分发时,攻击者可以直接定位到源站,进行攻击。当采用CDN之后,攻击者可能攻击的不是源站,而是源站的拷贝节点。

访问的局部性

计算机网络-CDN
注:上图是zipf定律的累计分布函数

网页的访问遵循zipf定律:

80-20准则:20%的内容吸引80%的访问
排名第i位的内容访问次数yi~1/i^s(Log-log坐标中,是一条直线)
zipf定律给予的启示:

Web Cache:在靠近用户网络的地方缓存流行内容(20%),后续请求不需要再到原服务器(被动)

运营商采用(如电信),节省流量

CDN:把内容拷贝到不同地域的多台服务器,减轻服务器负载,提升用户感知的质量(主动)

内容提供商(如PPTV),提升服务质量

Web Cache

原理图

计算机网络-CDN

Web Cache的不足

存在版权、内容更新问题
很多类型的内容不能缓存(缓存后不起作用)

动态数据:股票信息、交互数据等
依赖于参数或者Cookies的数据(不同类型的客户端导致数据不同,即使缓存,如果缓存的数据与访问的客户端不对应,也无效)
加密的数据(HTTPS):80%以上的流量

CDN核心问题及方案

选择哪个CDN服务器?

也就是说,如果一个客户端访问采用CDN加速的站点,那么这个客户端会优先访问该站点的哪个服务器?

负载轻的服务器
性能高的处理器

较高的处理能力、带宽等

距离客户端近的服务器

距离可以是物理距离(IP地址的地理位置),也可以用RTT来衡量

成本(包括带宽、能耗等)较低的服务器

计算机网络-CDN

以下是大模型的答案:
当客户端访问CDN(内容分发网络)加速的站点时,确定客户端所访问的CDN服务器的过程涉及多个步骤和因素。以下是这一过程的概述:

DNS解析:
客户端首先会通过DNS(域名系统)查询站点的IP地址。由于站点使用了CDN服务,其DNS记录通常会指向CDN提供商的DNS服务器。
CDN提供商的DNS服务器会根据客户端的地理位置、网络状况、CDN节点的负载情况等因素,选择一个最优的CDN节点(即CDN服务器)来服务该客户端。
HTTP请求:
一旦DNS解析完成,客户端会向选定的CDN节点发起HTTP请求。
在HTTP请求中,客户端的IP地址、请求的URL、浏览器类型等信息都会被发送到CDN服务器。
CDN服务器选择:
CDN网络通常具有多个分布在全球各地的服务器节点。这些节点存储了站点内容的缓存副本。
CDN提供商的调度系统会根据一系列算法(如负载均衡算法、地理位置算法等)来确定哪个CDN节点最适合为该客户端提供服务。这个决策过程会考虑到网络延迟、服务器负载、内容缓存的可用性等因素。
响应返回:
一旦选定了CDN服务器,该服务器就会处理客户端的请求,并返回所请求的内容。
如果CDN服务器上没有缓存所请求的内容,它可能会向源服务器(即站点的原始服务器)发起回源请求,以获取内容并缓存到本地,然后再返回给客户端。
在这个过程中,客户端通常不需要直接知道它正在访问哪个CDN服务器。整个过程对客户端来说是透明的,客户端只需要通过DNS解析和HTTP请求来获取站点内容即可。而CDN提供商的DNS服务器和调度系统则负责确保客户端能够高效地访问到最近、最快的CDN节点。

CDN服务器缓存什么内容?

缓存经常访问的内容(20%)(预测流行度)
如果存不下怎么办?

部分缓存(减少不必要的存储)

内容级别:不流行的内容不要存多份
内容块级别:只存部分内容块(例如:只存储视频开头的一部分)

缓存替换(算法)

B-LRU:大部分内容(~70%)只请求一次,用Bloomfilter(一种数据结构)记录是否请求过,请求大于2次进入缓存。
LRU:即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。
LFU:即最不经常使用页置换算法,要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。
Belady:假设已知后续请求序列,替换最晚被访问的(最佳置换算法,无法实现)

CDN与视频

DASH概念(了解)

DASH:基于HTTP的动态自适应流

QOS VS QOE

QOS:服务质量,主要关注网络传输的技术指标,包括带宽、延迟、抖动、丢包率等。这些指标可以通过网络测量工具进行客观测量和评估。(客观)
QOE:体验质量(用户体验),从用户的角度出发来衡量网络质量的好坏(用户的主观感受)(例如:关注用户的满意度)。

QOE视频主要关注哪些参数

高码率
少卡顿
少切换

直播时延分类

采集和编码
发送
分发(比重很大)
接收
解码+渲染

视频高卡顿

视频高卡顿主要分为:

卡顿次数(更重要)
卡顿时间

致谢

    [1] https://learn.microsoft.com/zh-cn/microsoft-365/enterprise/content-delivery-networks?view=o365-worldwide
    [2] 上图的课件来自于孙毅老师的计算机网络课程。
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...