网络访问中,DNS服务实现域名和IP对应关系的转换,DNS服务器可分为权威DNS和递归DNS。权威DNS决定域名的最终解析结果,某个具体的权威DNS只会解析它所支持的域名,例如阿里云的云解析就是提供权威DNS服务,用户可将域名指向云解析DNS,在云解析控制台上配置域名对应的IP。递归DNS可认为是域名解析的代理服务器,它通过迭代地和各级权威DNS交互,最终拿到域名的解析结果,递归DNS可以解析全网域名,例如通常说的Local DNS即是递归DNS,阿里云的HTTPDNS和公共DNS也都属于递归DNS。
1月25日,阿里云依据新版《电信业务分类目录》要求,获得互联网域名解析服务业务经营牌照,可以合法合规地提供域名递归解析服务。借此契机,HTTPDNS也做了重大版本升级,优化递归解析逻辑,提供更精准的解析服务,同时也和云解析DNS联动,支持云解析平台上的域名配置秒级生效。
CDN友好的域名解析
HTTPDNS的这次版本升级,提升了自身的递归解析能力,结合多种解析策略,以得到最精准的解析结果,提供CDN友好的域名解析服务。
如下图所示,HTTPDNS后端系统本身具备递归解析能力,在进行域名解析时,会优先通过递归逻辑直接和域名的权威DNS交互,通过edns-client-subnet协议向权威DNS传递客户端的来源IP,如果权威DNS支持该协议,那么它返回的解析结果就是最精准的,于是会直接将这个结果返回给客户端。如果权威DNS不支持edns-client-subnet协议,则会根据客户端来源的地区,将该域名的解析任务转交给地区相近的LocalDNS节点,获得精准的解析结果。
当前,国内主流的CDN提供商的域名权威DNS都是支持edns-client-subnet协议的,比如阿里云CDN,对于这些CDN域名,HTTPDNS会优先给客户端返回直接从CDN权威DNS拿到的IP地址,这无疑是最精准的调度结果,让客户端连接最近的CDN节点。
域名配置秒级生效
有些业务场景中,对域名解析变更的生效时间比较敏感,比如服务器IP不可用了,希望通过域名解析快速切走流量。一种做法是配置较小的域名TTL,减小域名对应的IP在Local DNS和应用系统中的缓存时间。但是,由于各地各运营商的Local DNS配置和策略参差不齐,许多Local DNS并不遵守域名TLL设置的缓存时间,导致域名解析变更的生效时间特别长,全网生效最长可达到48小时。
新版本的HTTPDNS也加强了和云解析DNS的联动,能够实时感知云解析平台上的域名配置,让域名配置在HTTPDNS上实时生效。实际使用中,只要该域名的权威DNS是云解析,用户通过云解析控制台进行域名解析IP变更的操作就会实时同步到HTTPDNS,这时不管该域名的TTL是多少,HTTPDNS服务端都会刷新该域名的缓存,保证访问HTTPDNS服务端得到的域名解析结果是最新的。
如果域名的权威DNS不是云解析,则无法支持配置变更立即生效功能,而是会根据域名的TTL进行缓存的刷新。