内容分发网络-CDN

随笔3个月前发布
26 0 0

前言

CDN由于以下几大部分组成

分布式的边缘节点:将源站的静态网页、图片、音频、视频内容合理地分散在全球各个CDN节点
权威DNS配置:CDN提供商在权威DNS配置NS记录到该CND提供商自己的GSLB(智能DNS请求调度系统)
在CDN提供商的智能DNS中配置源站域名到CND提供商的CNAME记录
GSLB对应的智能调度系统:选择最佳的CDN节点,即CDN服务器集群对应的SLB的IP地址Answer给客户端

CDN概念

随着网站业务的发展,用户量增多、访问路径过长、网络链路流量突增,不同地区的用户访问网站的速度就会出现差异;

CDN即内容分发网络(Content Delivery Network)是建立并覆盖在承载网上;

由不同区域的服务器组成的分布式网络。将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力。

CND采用规避网络拥堵,分而治之的思想, 将源站的内容分布到网络边缘节点,在现有互联网基础上构建一层智能虚拟网络;

当用户访问服务端时,在DNS解析环节,通过GSLB全局负载均衡器即智能调度系统,将用户请求重新导向到距离用户最近、负载均衡最佳、响应时间最短的CDN节点的SLB上;

其目的是使用户能以最快的速度、从最接近用户的地方获取所需的信息,不再构成网络拥塞的目的; 

DNS工作原理

由于CDN是在DNS解析环节发挥作用的,来分析下DNS解析过程;

DNS:Domain Name System 域名系统,核心作用是将1个域名解析为1个IP地址;

DNS记录类型

DNS记录Resource Record 简称 RR,RR有几大记录类型;

A记录(Address)

A记录用于描述目标域名到IP地址的映射关系

NS记录(Name Server)

NS记录用户描述目标域名到负责解析该域名DNS的映射关系,当设定完成后,相当于把他的解析权交给了对应的DNS。

CNAME记录(Canonical Name)

CNAME记录用于描述目的域名和别名的关系

访问源站DNS解析过程

内容分发网络-CDN

如上图所示:如果用户访问的网址为   www.le.com

客户端首先会在本机的hosts文件和hosts缓存中查找该域名对应的IP地址;
如果客户端本机中不存在该域名对应的IP地址信息,则客户端询问LDNS进行域名查询;(递归查询)
如果LDNS中没有缓存信息,则LDNS会依次向根DNS、顶级域DNS、权威DNS进行域名查询,最终由LDNS将域名对应的IP地址应答客户端;(迭代查询)
客户端通过LDNS应答的IP地址向服务端的服务器发出HTTP请求并获取所需的数据内容

CDN工作原理

CDN技术需要结合DNS解析技术才能实现,将用户请求导向距离用户较近的最优CDN节点,而非源站;

本地DNS

Local DNS通常是由用户对应的网络业务提供商(Internet Service Provider,简称ISP)提供的最近用户网络最近的DNS;

SLB

Server Load Balancer  负载均衡服务器是针对集群内部主机的负载均衡器

GSLB

Global Server Load Balancer全局负载均衡服务器,GSLB是对集群外部的负载均衡器,就近性判断是全局负载均衡的主要功能,通常为CDN服务商开发的DNS智能调度系统;

GSLB实现方式

基于DNS协议、基于HTTP协议、基于路由协议的Anycast 的调度

1.基于DNS协议的调度

站点使用CDN加速服务后DNS解析过程

客户端首先会在本机的hosts文件和hosts缓存中查找该域名对应的IP地址;
如果客户端本机中不存在该域名对应的IP地址信息,则客户端询问LDNS进行域名查询;(递归查询)
如果LDNS的缓存中没有该域名的记录,则LDNS向根DNS发送DNS查询报文
根DNS发现域名www.le.com的后缀为com,则应答负责解析com的顶级DNS的IP地址给LDNS
LDNS向顶级DNS发送DNS查询报文
顶级DNS发现域名www.le.com包含le.com后缀,在本地记录中查找负责该后缀的权威DNS的IP地址应答给LDNS;
LDNS向权威DNS发送DNS查询报文
权威DNS查找到1条NAME字段为www.le.com的CNAME记录(由CDN服务提供者配置在权威DNS。例如阿里云、网宿科技)该CNAME记录的值为www.le.cdn.com,
LDNS通过再次向DNS系统发起对CNAME域名的解析
权威DNS通过NS记录发现负责解析www.le.cdn.com这个CNAME的DNS服务器IP地址为为CDN提供商的GSLB的IP地址
本地DNS向GSLB发送DNS查询报文
GSLB根本LDNS的IP地址位置判断用户所在位置,筛选出距离用户所在地最近的最佳SLB的IP地址应答给LDNS
LDNS应答客户端的DNS请求,将距离用户所在地最近、最佳的SLB的IP地址应答给客户端
客户端向距离自己所在地最近、最佳的SLB发起HTTP请求

内容分发网络-CDN

总结

① 提交域名
② 客户端解析域名
③ 通过NS记录解析到CDN服务商提供的智能DNS( GSLB)
④ GSLB解析并返回IP
⑤ 客户端请求IP
⑥ 返回结束

这个技术对原业务的侵入性最小,被商业ADC广泛实现,如A10,F5等。

但是可以得到的信息很有限,IP的定位只能得到Local DNS的IP地址得不到客户端的源IP

2.基于HTTP协议调度实现

① 提交域名
② 客户端解析域名
③ DNS解析域名为GSLB
④ 客户端提交请求给GSLB服务器
⑤ GSLB解析出目标IP并发起HTTP转发
⑥ 客户读转发请求到目标IP
⑦ 返回结束

特点:

这个方案只适用于HTTP.

这个方案的实现可以是L7负载均衡工具如Nginx、HTTPD等

 

 

参考

© 版权声明

相关文章

暂无评论

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