天天看点

最全DNS域名解析流程及域名注册(细节!)

DNS详解

DNS解析流程详解
最全DNS域名解析流程及域名注册(细节!)

图 1 DNS解析流程图

​ 1.客户机上的用户在应用程序(如web浏览器)中输入网址。应用程序首先检查其浏览器缓存,如果缓存中有,则这个域名解析过程就结束。如果浏览器缓存中没有,浏览器会查找本地的hosts文件是否有这个映射关系,如果有,就先调用这个IP地址映射,完成域名解析。如果没有,应用程序则调用客户机上的解析器,解析器先向其内部的缓存进行查询,如果没有,则创建一个包含服务器名称的DNS递归查询消息,并将其传输到在计算机的TCP/IP配置中确定的DNS服务器(命令行中输入“ipconfig -all”回车,可以查看到,见图2),如图1中的本地DNS服务器所示。这个专门的递归解析器(本地DNS服务器)性能都会很好,它们一般都会缓存域名解析结果,当然缓存时间是受到域名的失效时间控制的。大约80%的域名解析到这里就结束了,所以本地DNS服务器主要承担了域名的解析工作。

客户端通常是一个存根解析器 - 内置于操作系统的简单解析器

缓存:用于存储解析后的IP地址。当客户端申请一个需要解析为IP地址的名称时,在向其DNS服务器发送请求之前,它首先检查其本地缓存。

hosts文件:这种操作系统级别的域名解析规程也被很多黑客利用,通过修改hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows中将hosts文件设置成了readonly,防止被恶意篡改。

本地DNS服务器:一般默认设置情况下DNS为DHCP分配到的运营商的服务器地址。如果电脑和运营商之间还加了无线或者有线路由,那极有可能路由器本身还内置了一个DNS转发器,它的作用是将发往他所有的DNS请求转发到上层DNS,也就是上层ISP的DNS。此时由于路由器本身也接管了下挂电脑的DHCP服务,所以它分配给下面电脑的DNS地址就是它自身。实际上就是路由器自身,而路由器的DNS转发器将请求转发到上层ISP的DNS。所以这里说DNS是局域网或者是运营商的都可以(因为最终都是转发到运营商)。(注意细节:路由器的DNS转发器在什么情况下将请求转发到上层ISP的DNS?)

最初的时候,解析器至少有一个NS的地址。由于 DNS 根区域位于 DNS 层次结构的顶部,因此递归解析器无法在 DNS 查找中被引导到这些位置。因此,每个 DNS 解析器都在其软件中内置了 13 个 IP 根服务器地址的列表。每次发起 DNS 查找时,递归器的第一个通信就是与这 13 个 IP 地址之一进行的。

最全DNS域名解析流程及域名注册(细节!)

图 2 使用手机热点连接笔记本电脑查询得到的DNS服务器地址

​ 2.本地DNS服务器在接收到查询后,检查其资源记录,以确定它是否是包含所请求服务器名称所在区域的权威源。如果区域文件(主文件)中有,则返回结果,该解析具有权威性。如果没有,则向缓存中查询,如果没有,并且未用转发模式,则DNS服务器将生成一个迭代查询并将其提交到13台根名称服务器中的一台,如图1所示。根名称服务器检查本地DNS服务器请求的域名,并查询其资源记录(判断这个域名(.com)是谁来授权管理),以确定该名称的顶级域名的地址。然后根名称服务器向本地DNS服务器发送应答(即该域对应的顶级域服务器所在地址),即对该顶级域服务器地址的一个引用。

​ 如果本地DNS服务器中没有查询到,有两种方法可以继续查询:一种是直接转发查询请求到根域DNS服务器,进行迭代查询。还有一种就是直接将请求转发给其他DNS服务器。将本地DNS服务器无法解析的查询转发给网络上的其它DNS服务器,该DNS服务器即被指定为转发器。当本地DNS服务器将查询转发给转发器时,这种查询通常为递归查询。通过将DNS服务器指定为转发器,该服务器负责所有外部DNS解析,并且可以建立外部地址的缓存,从而减少了查询递归解析器的需求并减少了流量。对于可用带宽有限的小型公司,DNS转发可以通过减少带宽使用和提高DNS请求的执行速度来提高网络效率。通过DNS转发处理内部地址的子集通常也很有用。对于具有多个域和子域的较大的Intranet,使用专用服务器处理对这些域的子集的DNS请求可能会更加有效,专用服务器将使用条件DNS转发将请求转发到该专用服务器。

​ 递归名称服务器(本地DNS服务器)中的根名称服务器信息是需要管理员提前配置的,需要一个包含根名称服务器的域名和IP地址的根提示文件。根提示使非根域的DNS服务器可以查找到根域DNS服务器。

一个DNS服务器向另一个DNS服务器发送名称解析请求的过程称为引用(referrals)。在DNS名称解析过程中,引用是必不可少的。

全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。一个域名必须首先经过根数据库的解析后,才能转到顶级域名服务器进行解析。这些服务器使用Anycast 路由基于负荷和距离分发请求。目前,地球上每座有人生活的大陆上都分布着 600 多台 DNS 根服务器。根区域的最终权限属于国家电信和信息管理局 (NTIA),后者是美国商务部的一部分。NTIA 将根区域的管理委托给 Internet 名称与数字地址分配机构 (ICANN)。

有 13 个不同的 IP 地址为 DNS 根区域提供服务,并且全球有数百个冗余根服务器来处理对根区域的请求。

**在极少数情况下,根服务器将必须更新其 IP 地址。**在这种情况下,递归解析器可以继续使用根区域中的其他 12 个 IP 地址执行 DNS 查找,直到它们的软件更新为所有 13 台服务器的正确地址为止。

13台根域名服务器地址:

A,INTERNIC.NET(美国弗吉尼亚州),IP地址:198.41.0.4

B,美国信息科学研究所(美国加利弗尼亚州),IP地址:128.9.0.107

C,PSINet公司(美国弗吉尼亚州),IP地址:192.33.4.12

D,马里兰大学(美国马里兰州) IP地址:128.8.10.90

E,美国航空航天管理局(美国加利弗尼亚州),IP地址:192.203.230.10

F,因特网软件联盟(美国加利弗尼亚州),IP地址:192.5.5.241

G,美国国防部网络信息中心(美国弗吉尼亚州),IP地址:192.112.36.4

H,美国陆军研究所(美国马里兰州),IP地址:128.63.2.53

I,Autonomica公司(瑞典斯德哥尔摩),IP地址:192.36.148.17

J,VeriSign公司(美国弗吉尼亚州),IP地址:192.58.128.30

K,RIPE NCC(英国伦敦),IP地址:193.0.14.129

L,IANA(美国弗吉尼亚州),IP地址:198.32.64.12

M,WIDE Project(日本东京),IP地址:202.12.27.33

​ 3.本地DNS服务器现在拥有请求名称的顶级域服务器地址,然后生成一个新的迭代查询并将其传输到顶级域服务器,如图1所示。顶级域服务器检查请求名称中的二级域,并将包含该二级域的权威域名服务器地址的引用传送回客户机的DNS服务器。

引用(referrals):表示对查询的响应,该响应不包含答案部分(为空),但包含一个或多个权威域名服务器,这些域名服务器更加接近所需查询的问题。该响应通常(总是来自根服务器和顶级域名服务器)在“附加信息”部分中包含所提供服务器的IP地址。(“授权”-服务器名称、“响应信息”-IP地址)

​ 4.本地DNS服务器生成另一个迭代查询,并将其传输到二级域服务器,如图1所示。如果二级域服务器是包含请求名称的区域的权威服务器,那么它会查询其资源记录以确定请求域名的IP地址,并将其以应答消息的形式发送回该本地DNS服务器。

​ 5.本地DNS服务器接收来自二级域服务器的权威服务器的应答,将IP地址传回客户机系统上的解析器,同时缓存被请求系统的IP地址和特定域的权威服务器的地址,如图1所示。解析器将地址转发给应用程序,然后应用程序可以与用户指定的服务器进行IP通信。

域名注册

​ 域名注册商是处理域名保留以及为这些域名分配IP地址的公司。域名是用于访问网站的字母数字别名。

​ 注册管理机构是管理顶级域(TLD)的组织,例如以 .com 和 .net 结尾的域。这些注册管理机构由 Internet 编号分配机构(IANA)管理,后者是 Internet 名称与数字地址分配机构(ICANN)的一个部门。

​ 注册管理机构将域名注册的商业销售委托给注册商。例如,VeriSign是 “.com”域的注册商。当注册商向用户出售“.com”域名注册时,注册商必须通知 VeriSign 以便正确保留该域。注册商还必须向 VeriSign 支付费用,该费用已计入注册商向最终用户收取的价格中。

​ 注册商就像域名的经销商,注册管理机构就如制造商。注册商协助交易并提供支持服务,而注册管理机构则负责生产和交付商品。应当指出,注册域名和购买汽车之间的主要区别在于,汽车可以归消费者所有,而域名则不能。

最全DNS域名解析流程及域名注册(细节!)

图 3

​ 注册管理机构拥有所有的域名,而注册商只是为客户提供在有限时间内保留这些域名的机会。域名的最长保留期限为十年。用户可以保留域名的时间则超过十年,因为注册商可以无限续期保留,但是用户从不真正拥有该域名,而只是在租用。

​ 除了注册商外,还有一些转销商出售域名注册。这些转销商代表注册商出售域名,以收取中间人报酬。尽管这些转销商是合法的,但通常只是副业,并且可能缺乏专门的客户支持。转销商的网站很少明确表明自己是转销商,因此可能难以和注册商区分。幸运的是,有一种简单的方法可以知道一家公司是否为合法的注册商:ICANN 在其网站上公布了各个认证并有效的域名注册商的名单。

​ 保留顶级域名的每个人都必须填写该域名的 WHOIS 信息。这是有关注册这个域的人(注册人)的信息,包括姓名、电子邮件地址、实际地址和电话号码。许多注册商提供了私密注册的选项;根据这种安排,在该域的 WHOIS 列表中提供注册商的信息,并且该注册商充当注册人的代理。这种私密注册的安全性仅与注册商一样安全,因为实际注册人的信息保存在注册商的数据库中。

继续阅读