CDN 是怎么工作的?你知道吗?

网络 网络管理
假设住在纽约的 Bob 想访问一个部署在伦敦的电子商务网站。如果请求发送到位于伦敦的服务器,响应速度会相当慢。因此,我们在 Bob 居住地附近部署 CDN 服务器,内容将从附近的 CDN 服务器加载。

内容分发网络(CDN)是指分布在不同地理位置的服务器(也称为边缘服务器),可快速分发静态和动态内容。让我们来看看它是如何工作的。

假设住在纽约的 Bob 想访问一个部署在伦敦的电子商务网站。如果请求发送到位于伦敦的服务器,响应速度会相当慢。因此,我们在 Bob 居住地附近部署 CDN 服务器,内容将从附近的 CDN 服务器加载。

下图说明了这一过程。

图片图片

第一步

鲍勃在浏览器中输入 www.myshop.com ,浏览器在本地 DNS 缓存中查找域名。

第二步

如果本地 DNS 缓存中不存在该域名,浏览器会转到 DNS 解析器解析该域名。DNS 解析器通常位于互联网服务提供商 (ISP) 中。

第三步

DNS 解析器对域名进行递归解析。最后,它会请求权威名称服务器解析域名。

第四步

如果不使用 CDN,权威名称服务器会返回 www.myshop.com 的 IP 地址。但使用 CDN 后,权威名称服务器会有一个别名指向 www.myshop.cdn.com(CDN 服务器的域名)。

第五步

DNS 解析器要求权威名称服务器解析 www.myshop.cdn.com。

第六步

权威名称服务器返回 CDN 负载平衡器的域名 www.myshop.lb.com。

第七步

DNS 解析器要求 CDN 负载平衡器解析 www.myshop.lb.com。负载平衡器根据用户的 IP 地址、用户的 ISP、请求的内容和服务器负载选择最佳 CDN 边缘服务器。

第八步

CDN 负载均衡器将 CDN 边缘服务器的 IP 地址返回 www.myshop.lb.com。

第九步

现在我们终于得到了要访问的实际 IP 地址 DNS 解析器会将 IP 地址返回给浏览器。

第十步

浏览器访问 CDN 边缘服务器加载内容 缓存在 CDN 服务器上的内容有两种:静态内容和动态内容。前者包括静态页面、图片和视频;后者包括边缘计算的结果。

第十一步

如果边缘 CDN 服务器缓存中没有该内容,则上传到区域 CDN 服务器。如果仍未找到内容,则向上转到中央 CDN 服务器,甚至转到原点 -- 伦敦网络服务器。这就是所谓的 CDN 分配网络,其中的服务器按地理位置部署。

如何防止缓存在 CDN 上的视频被盗版?

  • 视频加密和水印

加密:对视频文件进行加密,只有通过授权的客户端才能解密和播放。可以采用 AES 等标准加密算法。

动态水印:在视频中加入可追踪的动态水印,这些水印会随着视频播放而变化,从而可以追溯到盗版来源。

  • 签名和令牌验证

使用签名和令牌(Token)来确保每个请求都是经过验证的。例如,在视频链接中加入时间戳和加密签名,确保只有在特定时间段内有效,且未经授权的请求会被拒绝。

  • 限制缓存时长

设置较短的缓存过期时间,避免视频内容长时间存储在 CDN 节点上。通过控制 TTL(Time To Live)或缓存清除策略,减少视频的缓存存活时间,从而降低盗版的风险。

  • 防盗链

配置 CDN 和服务器,限制视频内容的访问来源。例如,使用 HTTP Referer 头部检查,确保只有来自合法网站或应用的请求能够访问视频。

责任编辑:武晓燕 来源: ByteByteGo
相关推荐

2024-02-19 00:00:00

Docker轻量级容器

2024-10-05 00:00:00

HTTPS性能HTTP/2

2024-06-20 08:06:30

2024-11-26 00:45:29

free区域字段

2023-12-20 08:23:53

NIO组件非阻塞

2024-11-08 09:48:38

异步编程I/O密集

2024-07-30 08:22:47

API前端网关

2022-11-16 08:43:30

Node.js模块

2022-11-28 00:04:17

2024-01-15 12:16:37

2023-01-09 08:00:41

JavaScript闭包

2024-10-24 08:47:12

2015-10-23 09:34:16

2023-07-11 00:12:05

2024-06-27 10:51:28

生成式AI领域

2024-02-19 07:44:52

虚拟机Java平台

2024-03-19 08:01:54

服务熔断软件设计模式微服务

2023-12-12 08:41:01

2024-06-11 09:02:30

2023-03-06 16:38:30

SQL数据库
点赞
收藏

51CTO技术栈公众号