【DNS基础】公共DNS?权威DNS?它们究竟是什么,对我们有何作用?

来源:互联网 发布:淘宝店铺首页全屏图 编辑:程序博客网 时间:2024/04/30 12:55

本文是为笔者之后的自建DNS服务器教程做铺垫,以下内容为笔者根据网上和自己理解写出,如有错误请指正。


DNS(Domain Name System,域名系统),在我们生活中极为常见。我们访问网站域名其实是在访问网站对应的服务器IP。例如当我们打开百度,电脑把www.baidu.com的DNS请求提交到服务器,而DNS服务器会查找这个域名对应的IP并反馈给我们。


何为权威DNS?

顾名思义,权威DNS是最具有权威最准确的DNS,它是域名所有者所使用的DNS服务器,域名所有者将解析记录添加到自己的权威DNS上,其它公共DNS便可以从上面查到解析记录。

每个权威服务器都有一个每秒能承受的访问量的值(QPS),所以对于一个域名所有者来说,权威DNS的好坏一定程度上决定了它网站的最大访问量。而权威DNS另外一个参数TTL也对其有巨大影响,它代表解析记录在公共DNS中的存活时间(单位:秒)。例如一个公共DNS向权威DNS查询了某个域名,其TTL为600,那么600秒内如果还有向公共DNS查询相同记录,公共DNS便不会向权威DNS查证而直接返回给用户。


何为公共DNS?

公共DNS就是我们平时上网所使用的DNS,其主要分为递归和迭代两种类型。举个简单的例子A问B一个问题,B不知道然后问了C,再把问的结果告诉A,这就是递归。而A问B问题,B不知道让他问C,A又去问C才知道答案,这便是迭代。在公共DNS中也是这样,公共DNS分为很多层级,最下层是本地DNS,最上层是域名(例如.com域名、.cn域名等)对应的根DNS,当根DNS都不知道的便会查找域名所有者的权威DNS。


如何选择好的公共DNS?

一般来说,本地DNS最快,但是某些域名可能出现无法解析的情况。而CDN(内容分发网络)的加速性能一定程度上取决于DNS的地区划分精度(支持edns-client-subnet技术的公共DNS可实现调度精准),而到DNS的延迟也决定了解析速度。一些常见的DNS如下图,笔者使用DNS jumper进行一键测速和设置DNS。


下面是一些大型公共DNS的官网:

114公共DNS(是比较老牌的公共DNS):http://www.114dns.com/

阿里公共DNS(是笔者目前在使用的,大公司有保证):http://www.alidns.com/

腾讯公共DNS(支持edns-client-subnet技术):https://www.dnspod.cn/Products/Public.DNS

百度公共DNS:http://dudns.baidu.com/intro/publicdns/