Monday, May 22, 2017

DNS根服务器介绍

DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。
用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。

DNS根服务器(DNS root servers)

在服务器家族里还有一种叫做“DNS根服务器”的服务器。
根服务器主要用来管理互联网的主目录,全球共有13台根域名服务器。
这13台根域名服务器中名字分别为“A”至“M”,其中1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。
所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。
这13台根服务器可以指挥Firefox或Internet Explorer这样的Web浏览器和电子邮件程序控制互联网通信。
由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符(如法国的.fr、挪威的.no等),自成立以来,美国政府每年花费近50多亿美元用于根服务器的维护和运行,承担了世界上最繁重的网络任务和最巨大的网络风险。
因此可以实事求是地说:没有美国,互联网将是死灰一片。
世界对美国互联网的依赖性非常大,当然这也主要是由其技术的先进性和管理的科学性所决定的。
所谓依赖性,从国际互联网的工作机理来体现的,就在于“根服务器”的问题。
从理论上说,任何形式的标准域名要想被实现解析,按照技术流程,都必须经过全球“层级式”域名解析体系的工作,才能完成。
“层级式”域名解析体系第一层就是根服务器,负责管理世界各国的域名信息,在根服务器下面是顶级域名服务器,即相关国家域名管理机构的数据库,如中国的CNNIC,然后是在下一级的域名数据库和ISP的缓存服务器。
一个域名必须首先经过根数据库的解析后,才能转到顶级域名服务器进行解析。

主要作用

在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如COM、NET、ORG等)的解析的域名服务器的地址信息,如同通过北京电信你问不到广州市某单位的电话号码,但是北京电信可以告诉你去查020114。
世界上所有互联网访问者的浏览器的将域名转化为IP地址的请求(浏览器必须知道数字化的IP地址才能访问网站)理论上都要经过根服务器的指引后去该域名的权威域名服务器(authoritative name server, 如haier.com的权威域名服务器是dns1.hichina.com)上得到对应的IP地址,当然现实中提供接入服务的ISP的缓存域名服务器上可能已经有了这个对应关系(域名到IP地址)的缓存。
根域名服务器是架构因特网所必须的基础设施。
在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。
但是攻击整个因特网最有力、最直接,也是最致命的方法恐怕就是攻击根域名服务器了。
早在1997年7月,这些域名服务器之间自动传递了一份新的关于因特网地址分配的总清单,然而这份清单实际上是空白的。
这一人为失误导致了因特网出现最严重的局部服务中断,造成数天之内网面无法访问,电子邮件也无法发送。

DNS根服务器IP地址和分布地点

DNS根服务器的管理机构、IP地址和分布地点:http://www.root-servers.org/

关于DNS根镜像服务器

指的就是DNS根服务器的镜像服务器。
镜像服务器(Mirror server)与主服务器的服务内容都是一样的,只是放在一个不同的地方,分担主机的负载。
简单来说就是和照镜子似的,能看,但不是原版的。在网上内容完全相同而且同步更新的两个或多个服务器,除主服务器外,其余的都被称为镜像服务器。

中国的DNS根镜像服务器
2003年,F根镜像,由互联网软件联盟(ISC)和中国电信共同建立。
2005年9月,I根镜像,由瑞典国家互联网交换中心(Autonomatic)在CNNIC设立。
2006年12月,J根镜像,由美国Verisign公司和中国网通共同设立。

为什么只有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会话、一个查询包、一个响应包以及最后一次握手来关闭连接。

Leave a Reply

Your email address will not be published. Required fields are marked *