CDN
2023-11-01 12:23:34 0 举报
AI智能生成
CDN 技术详解
作者其他创作
大纲/内容
定义
内容分发网络
Content Distribute Network
背景
影响互联网传输的因素
第一公里
网站服务器接入互联网的链路所能提供的带宽
最后一公里
用户接入带宽
用户的平均接入带宽,是影响互联网上层应用发展的决定性因素之一
对等互联关口
不同基础运营商之间的互联互通,一般两个运营商之间只有两三个互联互通点
长途骨干传输
工作流程
无 CDN
有 CDN
当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器
CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户
用户向CDN的全局负载均衡设备发起内容URL访问请求
CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求
区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址
全局负载均衡设备把服务器的IP地址返回给用户
用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地
系统架构
功能架构
分发服务系统
将内容从内容源中心向边缘的推送和存储,承担实际的内容数据流的全网分发工作和面向最终用户的数据请求服务
Cache 设备负责直接响应最终用户的访问请求,把缓存在本地的内容快速地提供给用户。同时Cache还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。
Cache 设备向上层的调度控制系统提供每个Cache设备的健康状况信息、响应情况,有时还需要提供内容分布信息,以便调度控制系统根据设定的策略决定由哪个Cache(组)来响应用户的请求最优。
负载均衡系统
负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址
分级调度
全局负载均衡 GSLB
本地负载均衡 SLB
运营管理系统
部署架构
三级部署架构图
节点分类
骨干节点
中心和区域节点
主要作为内容分发和边缘未命中时的服务点
Pop 节点
边缘节点
主要作为直接向用户提供服务的节点
节点组成
Cache 设备
本地负载均衡设备
内容缓存原理
正向代理
反向代理
全局负载均衡(GSLB)
基于 DNS 解析实现(CNAME)
基本概念
域组(Domain Group)
服务池(Pool)
虚拟服务器(Virtual Server)
区域(Region)
策略
🌰:
以 www.netitv.com.cn 为例,网站 CNAME 到 CDN 的 GSLB 上的域名为 www.netitv.cdn.com.cn
在这个域组下,GSLB 能够根据用户的本地DNS地址将用户所属区域划分为南方或者北方
北京和西安各有一个虚拟服务器为北方用户服务,上海和广州各有一个虚拟服务器为南方用户服务
北京和西安的虚拟服务器一起组成一个服务池,上海和广州的虚拟服务器组成另一个服务池。
双层 GSLB
对于一个覆盖多个运营商的独立 CDN 网络来说,通常 GSLB 设备会从逻辑上分为两层,第一层 GSLB 用来区分不同电信运营商网络,第二层用来区分不同的省份。
第一层 GSLB 会在区域中分别设置电信和联通 IP 地址段信息
第二层 GSLB 会在区域中分别设置每个运营商网络中各个省的 IP 地址段信息
用户 CDN 加速具体流程
A. 用户访问网站的门户,比如 http://movie.netitv.com.cn/A/B/C.wmv,用户请求本地 DNS 服务器解析域名 movie.netitv.com.cn
B. 本地 DNS 请求权威 DNS_S(SP 的权威 DNS 服务器)解析域名 movie.netitv.com.cn
C. 权威 DNS_S 向本地 DNS 返回该域名的 CNAME(movie. netitv.cdn.cn),以及负责解析该域名的权威 DNS_C(即 GSLB IP 地址)。这里需要 SP 先配置其权威 DNS 服务器,将负责解析该 CNAME 的域名服务器指向 SLB
D. 本地 DNS 请求 GSLB 解析域名 movie.netitv.cdn.cn
E. GSLB 根据域名,判断是否存在资源限制,比如部分加速还是全网加速,然后根据本地 DNS 的 IP 地址判断用户就近性。综合判断后,选择最优的 SLB 的 IP 地址,向本地 DNS 返回这个域名解析结果
F. 本地 DNS 向用户返回域名解析结果
G. 用户根据域名解析结果,直接向 SLB 请求提供服务,URL 的形式保持不变,比如为 http://movie.netitv.com.cn/A/B/C.wmv
H. SLB 根据域名判断 Cache 服务器是否存在资源限制。在排除不能提供服务的 Cache 服务器后,SLB 综合考虑各 Cache 服务器的健康性、负载、连接数、Cache 服务器内容分布状况等,给出本 POP 节点最优的 Cache IP 地址,并且完成 PORTAL_URL 到 CACHE_URL 之间的映射,完成应用层重定向,比如将 http://movie.netitv.com.cn/A/B/C.wmv 映射为 http://CACHE_IP/movie.netitv.cdn.cn/A/B/C.wmv。SLB 向用户返回 HTTP 响应消息(状态码 302),并包含新的 CACHE_URL 地址。
I. 用户向 CACHE_IP 地址所标识的 Cache 服务器请求提供服务。Cache 服务器完成 CACHE_URL 到存储目录之间的映射,并判断内容在本地是否命。
如果本地命中,Cache 直接为用户提供服务,流程结束
如果未命中,Cache 则从 OCS 或其他 POP 节点来获取内容,参数为 PORTAL_URL
0 条评论
下一页