国内知名公共DNS服务器 IP

国内知名公共 DNS 服务器 IP

腾讯 DNS:119.29.29.29、182.254.116.116

阿里 DNS:223.5.5.5、223.6.6.6

百度 DNS:180.76.76.76

114DNS:114.114.114.114、114.114.115.115

CNNIC DNS:1.2.4.8、210.2.4.8

OneDNS:117.50.11.11、117.50.22.22

Hi!XNS DNS 服务器:40.73.101.101

清华大学 TUNA 协会 DNS 服务器:101.6.6.6

DNS是什么?工作原理、工作流程总结

HTTP网络请求过程:
1.域名解析

2.TCP三次握手

3.tcp连接后发出Http请求

4.服务器响应Http请求

5.浏览器解析,并请求相对应资源

6.渲染页面

 

DNS处于请求的哪个位置呢?
他在过程中是 *步 域名解析

如下图,在解析域名对应的地址时,在TCP三次握手之前。
%title插图%num

DNS基本工作:

接受客户端的查询消息

根据消息能容返回响应

DNS服务器会从域名与IP地址的对照表中寻找相应的记录,并返回IP地址

 

客户端的消息包含以下三种消息

1.域名 = www.cccc

2.Class = IN

3.记录类型 = A

%title插图%num

具体如何查找呢?
从域名与IP地址的对照表中寻找相应的记录,并返回IP地址

1.首先访问*近的一台DNS服务器(客户端的TCP/IP设置中填写的DNS服务器地址)

2.如果没有就会重新寻找

(1)理想状态: 从顶层向下查找,即根域DNS服务器,如果没有,他通过判断知道你是com域的,就会告诉你去我管理的com域问问,于是*近的DNS服务器就去发送查询消息,以此类推就找到了*终IP地址。如下图

(2)现实中:一台DNS服务器管理多个域,上级域可能与下级域在一台服务器,并且DNS服务器还有缓存功能,直接查找,如果查找不到,缓存本身会记录相关信息,可以直接从缓存记录的位置开始查找,不用从根域开始寻找。

%title插图%num

DNS服务器是如何工作的?

我们上网从打开浏览器开始,输入网址,按下回车,浏览器显示给你一个漂亮的网页,一切看上去都是这样自然。然而大学计算机网络老师告诉我们,ip是定位网络中主机的地址的。只有知道了ip地址才能访问对方主机也就是访问服务器,如果连服务器都无法访问,也就无从谈起怎么得到网页了。

大多数同学都是知道的,存在一个将网址解析成ip地址的玩意——DNS服务器。可以理解为输入一个网址,返回一个ip,当然它也不单单是为了web应用而生,邮件应用也要靠它,输入一个邮件地址,返回一个优先级和邮件服务器网址和ip(优先级是因为有可能配置多级服务器)

那么DNS到底是怎么工作的,身为程序员都有一颗追求底层的心。必须要一追到底!

首先你打开你的电脑,一般都是windows系统
%title插图%num

如果要解析一个从未解析过的网址,首先通过操作系统的Socket库中方法将网址信息组装成一条请求消息发送到这台服务器上,然后DNS服务器根据这条消息,查询内置的表格,返回对应的结果。

首先了解一下请求消息的格式:网址+class+类型

网址就是你要转换成ip的网址,不用解释,class代表internet,现在基本都是IN,因为上世纪还存在除了internet之外的网络,类型代表是请求类型,到底是web应用的请求还是邮件应用的请求,web应用类型为A,address,邮件应用类型为MX。

%title插图%num%title插图%num

然后根据请求消息的值去和这个表一一对应,返回对应的响应结果。如果是MX类型,返回优先级和邮件服务器网址,网址还会自动解析成ip地址,如果上图显示

好像到现在,网址解析成ip的问题已经解决了,但是好像还有个问题,如果这个DNS服务器没有这个地址所对应的响应数据咋办,返回为空咋办?

这得说下网址得构成了,出现网址是因为ip地址太难记忆,没有网址可以形式化记忆如拼音,单词等等。网址一般由如下组成

xx.ss.cc.zz.tt.yy。一串字符串由点分割开来,每个小段称之为一个域,如www.baidu.com 这就代表com域,baidu域,www域

网址得组成和公司结构类似,上级管理一堆下级。在网址上就是com域下面得子域baidu域,baidu域下面子域www域。每一个域由一个DNS服务器管理(其实可以一个DNS管理多个域),上层域保管下层域对应的DNS服务器的ip,这样我们可以根据*高的域顺藤摸瓜的找到对应的网址,从而找到对应ip。例如www.baidu.com 首先找com,然后baidu,再找www

但是这又有个问题,很多网址的结尾是不一样的,例如cn ,com,org。难道我要保存这些域的DNS所有服务器的IP嘛,我去哪里找他们,其实很多网址我们书写其实是不正确的,例如www.baidu.com正确写法应该是www.baidu.com.*后有个.这个点代表的根域,这个根域是*高域,管理着com,org,cn。这个根域也对应的根DNS服务器,全球一共有13个根服务器,这里是服务集群,不是说只有13个服务器(互联网的去中心化很重要啊)。

这些根服务器已经内置到了各个计算机当中,*开始首先访问*近的DNS服务器如果找不到,就开始找根服务器,然后顺藤摸瓜的往下找,直到找到然后返回ip。值得注意的是每次请求和响应都是*近这个DNS服务器去请求,*终也由这个DNS服务器查询到ip地址返回给客户端。找到了之后DNS服务器和本地会缓存一份,下次再用就不需要重新查找。

%title插图%num

国内DNS服务器

*名
114DNS:★★★★★
114DNS开启DNS高可靠服务时代的大幕。114DNS开始同时为公众提供高速、稳定、可信的DNS递归解析服务;为网站提供强大抗攻击能力的权威智能DNS解析服务;为ISP提供可靠的DNS灾备及外包服务,作为国内用户量*大的老牌DNS,访问速度快,各地区设有节点,负载各运营商用户,DNS防劫持能力,自然也是名列前茅。
DNS 服务器 IP 地址:
首选:114.114.114.114
备选:114.114.114.115
2017公共DNS服务器地址评估—DNS推荐
第二名
DNSPod DNS:★★★★★
DNSPod创始于2006年3月,是中国*大的第三方域名服务商,全球排名第四位。DNSPod是国内*早提供免费智能DNS产品的网站,致力于为各类网站提供高质量的电信、网通、教育网双线或者三线智能DNS免费解析,作为114DNS竞争对手之一,无论是访问速度,还是各地区节点覆盖率以及防劫持能力都是顶级的。
DNS 服务器 IP 地址:
首选:119.29.29.29
备选:182.254.116.116
2017公共DNS服务器地址评估—DNS推荐
第三名
阿里 DNS:★★★★★
阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,作为国内*大的互联网基础服务提供商,阿里巴巴在继承多年优秀技术的基础上,通过提供性能优异的公共DNS服务,为广大互联网用户提供*可靠的面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。
DNS 服务器 IP 地址:
首选:223.5.5.5
备选:223.6.6.6
2017公共DNS服务器地址评估—DNS推荐
第四名
百度 DNS:★★★★★
百度开放DNS主要面向企业,旨在集结行业力量,以开放的方式共同打造一个全球*大的、稳定的、高效的、纯净的公共DNS平台,作为核心基础设施服务于整个互联网,百度DNS拥有一流基础设施和强大技术实力,为用户提供免费的DNS服务。
DNS 服务器 IP 地址:
首选:180.76.76.76
备选:暂未公布
2017公共DNS服务器地址评估—DNS推荐
第五名
CNNIC SDNS:★★★★★
SDNS已在全球部署了多个节点,提供智能的、弹性的平台支持能力,可随用户的需求而变化。每节点建设在运营商4A、5A级机房,每节点配备服务器集群,多线路出口,节点之间相互冗余备份。通过多线路,确保每一次查询的全局路由*优化,*大程度上使用户解析就近响应。
DNS 服务器 IP 地址:
首选:1.2.4.8
备选:202.98.0.68
2017公共DNS服务器地址评估—DNS推荐
第六名
DNS派:★★★★★
DNS派拥有全球**的云 DNS 集群技术,*的分布式云服务,遍布全国的解析服务器,多年 DNS 领域专业研究,DNS派拥有全球**的云DNS集群技术,*的分布式云服务,遍布全国的解析服务器,能为域名的权威解析提供强有力的支持。
DNS 服务器 IP 地址:
首选:101.226.4.6
备选:218.30.118.6

附:国外常用DNS服务器
Google Public DNS (8.8.8.8, 8.8.4.4)
OpenDNS (208.67.222.222, 208.67.220.220)
OpenDNS Family (208.67.222.123, 208.67.220.123)
Dyn DNS (216.146.35.35, 216.146.36.36)
Comodo Secure (8.26.56.26, 8.20.247.20)
UltraDNS (156.154.70.1, 156.154.71.1)
Norton ConnectSafe (199.85.126.10, 199.85.127.10)

全球为何只有13台DNS根服务器

平时我们进行域名解析所用到的DNS服务器,是面对客户的一线服务器。

DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。

用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。

在服务器家族里还有一种叫做“DNS根服务器”的服务器。

全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。

根服务器主要用来管理互联网的主目录,全世界只有13台。

1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。

所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。

根服务器架构

这13台根服务器可以指挥Firefox或Internet Explorer这样的Web浏览器和电子邮件程序控制互联网通信。

由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符(如法国的.fr、挪威的.no等),自成立以来,美国政府每年花费近50多亿美元用于根服务器的维护和运行,承担了世界上*繁重的网络任务和*巨大的网络风险。

因此可以实事求是地说:没有美国,互联网将是死灰一片。

世界对美国互联网的依赖性非常大,当然这也主要是由其技术的先进性和管理的科学性所决定的。

所谓依赖性,从国际互联网的工作机理来体现的,就在于“根服务器”的问题。

从理论上说,任何形式的标准域名要想被实现解析,按照技术流程,都必须经过全球“层级式”域名解析体系的工作,才能完成。

“层级式”域名解析体系*层就是根服务器,负责管理世界各国的域名信息,在根服务器下面是顶级域名服务器,即相关国家域名管理机构的数据库,如中国的CNNIC,然后是在下一级的域名数据库和ISP的缓存服务器。

一个域名必须首先经过根数据库的解析后,才能转到顶级域名服务器进行解析。

作用与影响

这13台根服务器可以指挥浏览器(比如.internet explorer)和电子邮件程序(比如.Firefox)以控制互联网通信。由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符,美国政府对其管理拥有很大发言权。这使得我们显得相当被动。

中国用户在访问带有.com等后缀的国外网站时,大多仍需要经过国外的域名服务器进行解析,中美海底光缆一旦发生断裂,便会发生解析问题,中国东部、太平洋西海岸地区,属于地震多发地带,再加上台风等环境因素影响,形势显得更加严峻。

一位互联网资深专家解释说,美国控制了域名解析的根服务器,也就控制了相应的所有域名,如果美国不想让人访问某些域名,就可以屏蔽掉这些域名,使它们的IP地址无法解析出来,那么这些域名所指向的网站就相当于从互联网的世界中消失了。比如,2004年4月,由于“.ly”域名瘫痪,导致利比亚从互联网上消失了3天。

注意,13台中除了欧洲两台、日本一台之外,其余全部位于美国。也就是说,只要美国愿意,他就可以切断全世界的网络。虽然网络是无国界的,但服务器是有国界的。

关于DNS根镜像服务器

指的就是DNS根服务器的镜像服务器

镜像服务器(Mirror server)与主服务器的服务内容都是一样的,只是放在一个不同的地方,分担主机的负载。

简单来说就是和照镜子似的,能看,但不是原版的。在网上内容完全相同而且同步更新的两个或多个服务器,除主服务器外,其余的都被称为镜像服务器。

分布地点

下表是这些机器的管理单位、设置地点及*新的IP地址:

%title插图%num

主要作用

在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如COM、NET、ORG等)的解析的域名服务器的地址信息,如同通过北京电信你问不到广州市某单位的电话号码,但是北京电信可以告诉你去查020114。

世界上所有互联网访问者的浏览器的将域名转化为IP地址的请求(浏览器必须知道数字化的IP地址才能访问网站)理论上都要经过根服务器的指引后去该域名的权威域名服务器(authoritative name server, 如haier.com的权威域名服务器是dns1.hichina.com)上得到对应的IP地址,当然现实中提供接入服务的ISP的缓存域名服务器上可能已经有了这个对应关系(域名到IP地址)的缓存。

根域名服务器是架构因特网所必须的基础设施。

在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。

但是攻击整个因特网*有力、*直接,也是*致命的方法恐怕就是攻击根域名服务器了。

早在1997年7月,这些域名服务器之间自动传递了一份新的关于因特网地址分配的总清单,然而这份清单实际上是空白的。

这一人为失误导致了因特网出现*严重的局部服务中断,造成数天之内网面无法访问,电子邮件也无法发送。

遭遇攻击

在2002年的10月21日美国东部时间下午4:45开始,这13台服务器又遭受到了有史以来*为严重的也是规模*为庞大的一次网络袭击。

此次受到的攻击是DDoS攻击,超过常规数量30至40倍的数据猛烈地向这些服务器袭来并导致其中的9台不能正常运行。7台丧失了对网络通信的处理能力,另外两台也紧随其后陷于瘫痪。

10月21日的这次攻击对于普通用户来说可能根本感觉不到受到了什么影响。

如果仅从此次事件的“后果”来分析,也许有人认为“不会所有的根域名服务器都受到攻击,因此可以放心”,或者“根域名服务器产生故障也与自己没有关系”,还为时尚早。

但他们并不清楚其根本原因是:

  1. 并不是所有的根域名服务器全部受到了影响;
  2. 攻击在短时间内便告结束;
  3. 攻击比较单纯,因此易于采取相应措施。

由于目前对于DDoS攻击还没有什么特别有效的解决方案,设想一下如果攻击的时间再延长,攻击再稍微复杂一点,或者再多有一台服务器瘫痪,全球互联网将会有相当一部分网页浏览以及e-mail服务会彻底中断。

而且,我们更应该清楚地认识到虽然此次事故发生的原因不在于根域名服务器本身,而在于因特网上存在很多脆弱的机器,这些脆弱的机器植入DDoS客户端程序(如特洛伊木马),然后同时向作为攻击的根域名服务器发送信息包,从而干扰服务器的服务甚至直接导致其彻底崩溃。

但是这些巨型服务器的漏洞是肯定存在的,即使现在没有被发现,以后也肯定会被发现。

而一旦被恶意攻击者发现并被成功利用的话,将会使整个互联网处于瘫痪之中。

为什么只有13台dns根服务器

*后,让我们了解下全球DNS根服务器为什么只有13台。

DNS协议的*初定义要从20世纪80年代未期开始算起,它使用了端口上的UDP和TCP协议。

UDP通常用于查询和响应,TCP用于主服务器和从服务器之间的区传送.遗憾的是,在所有UDP实现中能保证正常工作的*大包长是512字节,对于在每个包中必须含有数字签名的一些DNS新特性(例如,DNSSEC)来说实在是太小了。

512字节的限制还影响了根服务器的数量和名字。

要让所有的根服务器数据能包含在一个512字节的UDP包中,根服务器只能限制在13个,而每个服务器要使用字母表中的单个字母命名。

以太网数据的长度必须在46-1500字节之间,这是由以太网的物理特性决定的。

事实上,这个1500字节就是网络层IP数据包的长度限制,理论上,IP数据包*大长度是65535字节。

这是由IP首部16比特总长度所限制的,去除20字节IP首部和8个字节UDP首部,UDP数据包中数据*大长度为65507字节。

在Internet数据传输中,UDP数据长度控制在576字节(Internet标准MTU值),而在许多UDP应用程序设计中数据包被限制成512字节或更小。这样可以防止数据包的丢失。

许多解析器首先发送一条UDP查询,如果它们接收到一条被截断的响应,则会用TCP重新发送该查询。

这个过程绕过了512字节的限制,但是效率不高。您或许认为DNS应该避开UDP,总是使用TCP,但是TCP连接的开销大得多。

一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含7个包:三次握手初始化TCP会话、一个查询包、一个响应包以及*后一次握手来关闭连接。