2、CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
网站卡顿,访问量大?站长对于CDN加速肯定已经不陌生了,目前CDN加速的使用率也是越来越高,那么大家在使用CDN加速的同时知道CDN加速的工作原理到底是什么吗?CDN加速究竟是怎么应用于你的网站的呢?首先来了解一下什么是 CDN?
CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验.
使用了CDN缓存后的网站的访问过程
1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
6.LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
7.智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
8.LocalDns 将得到的域名ip地址,回应给 用户端
9.用户得到域名ip地址后,访问站点服务器
10.CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)
为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户来访问Cache服务器,以实现透明的加速服务。由于用户访问网站的第一步就是域名解析,所以通过修改dns来引导用户访问是最简单有效的方式。
腾正 科技 15CDN通过多地域分布式部署,全面智能的监控系统及多盾联动混合节点防御技术,毫秒级的防御响应时间,高效彻底解决CC攻击带来的安全和响应速度问题。现在腾正 科技 为了助力大家畅享新年,推出CDN春节特惠活动,20TB流量,10个域名,可使用三个月,价格仅售¥999。
活动详情
CDN畅享新年活动来袭
20TB流量仅¥999 助力更“快”乐!
流量总数:20TB
域名个数:10个
使用时间:3个月
适用场景:适用于门户网站、有官网的电商网站、中小型图片站客户。
活动时间:2020年1月8日-2020年1月31日
CDN一种比较重要的优化手段就是和DNS结合,让用户访问延迟最小的节点。
一种比较简单的方法是基于地理位置的routing,即,对于DNS请求总是返回距离请求者最近的节点。实现方法很多,不过最终都依赖于一个CIDER到地理位置的表。
这里的地理位置,可以是经纬度,也可以是就近城市的代号。
DNS服务器,接收到请求之后,会根据用户IP找到最匹配的一项,并且计算距离这个用户最近的Edge服务器,将这个最优点的IP返回给用户。
这种方法并不是最优的。因为地理位置上最近的两个点,延迟可能反而很高。比如欧洲某些国家到美国东海岸的延时可能相当小。
或者某个网络服务提供商内部延迟比较小,北美自己的教育网内部延迟比较小,等等。
还有就是根据用户AS号码和AS之间的样本延迟来估计延迟的。这种做法比较复杂:比如,我有很多分布在世界各地的主机,这些主机之间可以周期性的计算延迟,这样就能动态的获得AS-AS之间的延迟。由于网络的特殊性质,这种方法比起前一种要准确得多。
DNS是用户请求的第一步,所以针对DNS查询结果的优化是一个很重要的课题。
DNS对于CDN还有其他功用,比如负载均衡(load balancing)(使用RR或者WRR)和DNS failover。我不是很熟悉,就不多说了。
CDN是一种重要的优化方法,它与DNS相结合,使用户能够以最小的延迟访问节点。
一个更简单的方法是基于地理路由,也就是说,对于DNS请求,总是返回到请求者最近的节点。实现方法有很多,不过最终都依赖于一个CIDER到地理位置的表。
这里的地理位置可以是纬度和经度,也可以是附近城市的代号。
DNS服务器在收到请求后,根据用户的IP找到最匹配的项目,并计算出离用户最近的边缘服务器,并将最佳IP返回给用户。
这种方法不是最佳的。由于地理位置上的两个最近点,延迟可能非常大。例如,从一些欧洲国家到美国东海岸的延误可能很小。
或者网络服务提供商的内部延迟相对较小,北美自身教育网络的内部延迟相对较小,等等。
另一种方法是根据用户as number和as之间的样本延迟来估计延迟。这种方法更复杂:例如,我在世界各地分布了许多主机,它们可以定期计算这些主机之间的延迟,以便动态地获得as-as之间的延迟。由于网络的特殊性,该方法比以前的方法更准确。
DNS是用户请求的第一步,因此DNS查询结果的优化是一个非常重要的课题。
DNS还具有用于CDN的其他功能,例如负载平衡(使用rr或wrr)和DNS故障转移。我不太熟悉,我们不要说太多。
CDN使用了DNS的CNAME、edns-client-subnet和负载均衡等技术。
1.CNAME
在用户访问某网页、视频等资源时,会将域名指向另一个CDN中定义的域名,再解析成另一个IP地址来供客户端进行访问,使客户端访问时进行加速。
2.edns-client-subnet
智能DNS解析是CDN重要的组成部分,是根据请求用户对同一域名作出相应不同的解析,因此CDN的调度准确性是依靠DNS智能解析的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)