新闻、帮助、产品更新动态

最新的业界新闻,产品系统更新开发动态,帮助教程和活动发布

CDN系列学习文章(二)——DNS调度

发布日:2021-10-15 14:44       阅读数:

本文主要介绍一下CDN调度,主要是DNS调度。介绍之前,咱们先聊聊CDN为啥要调度呢
 
CDN为啥要调度呢?
 
还记之前仓库例子么,零售店怎么知道离自己最近的仓库呢,肯定有一张地图对吧,找到在地图中找到自己位置,然后找到对应离自己最近仓库。对于CDN一样的,调度就是为了找到离用户最近的CDN节点,提供最优质的加速效果。
 
下面我们讲讲CDN是如何调度的?在正式介绍之前,咱们先了解几个知识点:
 
什么是调度?这是一个动作,如何分配或者获取资源,这里要想清楚,什么资源?谁分配资源?谁获取资源?在CDN网络里,资源就是CDN服务节点,DNS来分配这些资源供用户请求使用,加快网络资源响应时间。
了解DNS类型以及解析过程。常见类型有递归DNS和权威DNS;解析过程主要分为递归和迭代。递归指的是客户端向LDNS请求,请求一次就可以获取域名A记录;迭代指的是LDNS向各级权威域名DNS请求,需要多次查询才能获取域名A记录。

 CDN和DNS这两个东东是怎么关联起来?通过修改加速域名CNAME记录,将两者关联起来。这样用户访问加速域名会走CDN节点,还不是源站。
不少同学可能会问,通过httpdns也可以获取CDN节点ip地址。是的,关于httpdns和劫持后续单独介绍,这篇文章主要介绍传统DNS调度,针对传统DNS和EDNS介绍。
 
传统DNS调度原理
 
在LDNS没有缓存A记录或者TTL时间过期,需要重新递归拉取。同时CDN接入节点没有缓存1.txt这个文件,需要回源拉取。下面这张图是DNS解析和CDN访问全部流程。全部过程包括LDNS从权威或者更上面根域去层层递归获取A记录,本图简化为从域名服务器开始递归;资源访问CDN节点没有命中,需要回源拉取。

 
其实上面是最坏情况,一般CDN访问流程,应该是从LDNS直接获取A,从CDN接入点直接获取资源,这样提高加速效果。流程如下:

 
1.传统DNS
 
例如广东电信LDNS地址 61.144.56.100,当LDNS递归向CDN服务厂家DNS请求A记录时,例如上图 tencent DNS会根据61.144.56.100这个ip归属来返回对应地区节点IP地址。
 
传统DNS会有一个缺点就是:如果用户端写死了DNS,如果位置地址发现大的偏移,会影响访问质量。例如一个北京用户,PC机配置北京DNS;当该用户到上海出差,由于DNS设置为北京DNS,这时通过DNS解析得到最佳的CDN节点是北京地域,这样从上海访问北京节点,由于出现跨地域情况,会影响访问速度。
 
2.EDNS
 
EDNS例如119.29.29.29.当LDNS递归向CDN服务厂家DNS请求A记录时,会带上用户出口IP(101.20.1.3)地址,例如上图tencent DNS会根据用户出口IP地址归属,返回对应CDN接入点IP地址

编辑:航网科技   来源:腾讯云

本文版权归原作者所有 转载请注明出处

联系我们

客服部:深圳市龙华区龙胜商业大厦5楼B5区

业务部:深圳市南山区讯美科技广场2栋12楼1202

资质证书

  • Copyright © 2011-2020 www.hangw.com. All Rights Reserved 深圳航网科技有限公司 版权所有 增值电信业务经营许可证:粤B2-20201122 - 粤ICP备14085080号

    在线客服

    微信扫一扫咨询客服


    全国免费服务热线
    0755-36300002

    返回顶部