智能DNS是DNS领域经常被提及的一个概念。在和运营商客户进行技术交流时,也总是被问及,到底什么是智能DNS?智能DNS在CDN中扮演什么角色?它是怎么样的工作机制?今天DNS云学堂就来具体讲解下。enjoy:
为了解释清楚上述问题,首先要对DNS解析过程进行详细拆解:1.浏览器中输入一个域名,浏览器先检查自身的域名缓存。如果没有▼2.浏览器检查操作系统自身的域名缓存,有的话直接返回对应IP。如果没有▼3.会找到系统中的hosts文件(windows下面:C:\Windows\System32\drivers\etc),看该文件中是否有对应的配置,有则返回。如无▼4.从本地的DNS服务器(LDNS,一般在你所在城市的某个地方,大部分域名解析结果都会缓存在这里)去查找,看域名对应的IP是什么,如果有返回。如无▼5.从ISP运营商(电信,联通等)的DNS服务器查找(规模大),同理返回命中IP或继续查找▼6.这时候会返回给本地DNS服务器(LDNS)一个根域的服务器地址,全球只有13台根域服务器,都在海外(美国、欧洲、日本)等地。这时候会返回你访问域名的顶级域名对应的解析服务器是什么,如www.zdns.cn顶级域名就是.cn,这时候.cn域名对应服务器肯定能找到zdns.cn这个二级域名对应的能解析它的服务器地址,拿到这个解析地址后,再去ISP服务商那里查找www.zdns.cn这个三级域名对应的服务器IP地址。
上述是DNS解析的整套流程,下面再来看看CDN。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户“就近”获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。而这个“就近”原则使DNS和CDN关联到了一起,让智能DNS在其中发挥巨大作用。所谓智能DNS,智能的地方是能够匹配用户的线路(电信、联通、移动)以及位置,让用户访问到同线路的最近的服务器。比如:CDN服务,在全国有很多节点,可以支持很多线路,通过智能DNS解析,它就能够匹配用户的IP,找到用户IP所在的线路、位置,从而匹配最佳资源。这其中的要点就是,智能DNS系统内置了一整套很全的IP库,可以快速分析用户IP对应的信息,国家、城市、街道,线路是什么,这样就知道用户是哪里的用户,就会在CDN的网络节点里面找对应的节点,比如定位在北京,再找离北京近的一个节点IP。可以说智能DNS解析保证了CDN加速的效果。
CNAME记录,也叫别名记录,相当于给A记录中的域名起个小名儿,比如www.zdns.cn的小名儿就叫www.yy.com好了,然后CNAME记录也和A记录一样,是一种指向关系,把小名儿www.yy.com指向了www.zdns.cn,然后通过A记录,www.zdns.cn又指向了对应的IP。在用户访问某网页、视频等资源时,会将域名指向另一个CDN中定义的域名,再解析成另一个IP地址来供客户端进行访问,使客户端访问时进行加速。
edns-client-subnet 是DNS扩展协议,允许DNS resolver传递用户的IP地址给authoritative DNS server。CDN的DNS支持该协议,就可以获取用户真实的IP地址,进行准确的调度。智能DNS解析是CDN重要的组成部分,是根据请求用户对同一域名做出相应不同的解析,因此CDN的调度准确性是依靠DNS智能解析的。
DNS作为网络基础服务,是互联网业务访问的“中枢纽带”,智能DNS域名解析帮助CDN业务提供就近访问服务,有效提升用户访问体验。通过部署在云端的全球化DNS服务模型,可以实现更加灵活、更加快速、更加安全的智能化域名解析服务,实时掌控IDC数据中心、CDN和云资源网络性能和可用性;再结合ZDNS Cloud特有的用户自定义线路,能实现全球精细化服务流量调度,智能识别优质的云主机、CDN和SaaS提供商资源,进一步利用智能DNS实现网络服务资源的自动优选与切换,充分利用互联网的动态性,避免网络拥堵,保证成本效益。