DNS介绍
Last updated
Was this helpful?
Last updated
Was this helpful?
人们习惯记忆,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个域名只可以对应一个ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
当你的网站制作完成后上传到你的时,你可以直接在浏览器中输入IP地址浏览你的网站,也可以输入域名查询你的网站,虽然得出的内容是一样的但是调用的过程不一样,输入IP地址是直接从主机上调用内容,输入域名是通过域名解析服务器指向对应的主机的IP地址,再从主机调用网站的内容。
如图:
(1)当用户在浏览器中输入www.qq.com域名访问该网站时,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
(2)如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
(3)如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
(4)如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
(5)如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。
(6)如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
注意:从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询就是迭代查询。
是用于答复DNS客户端请求的DNS数据库记录,每一个包含了它所管理的DNS命名空间的所有资源记录。资源记录包含和特定有关的信息,如、提供服务的类型等等。常见的资源记录类型有:
资源记录类型
起始授权结构(SOA)
主机(A)
别名(CNAME)
邮件交换器(MX)
名称服务器(NS)
说明
起始授权机构
地址
标准名称
邮件交换器
名称服务器
解释
此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS 服务器如何更新区域数据文件的设置等。
主机(A)记录是名称解析的重要记录,它用于将特定的主机名映射到对应主机的IP地址上。你可以在DNS服务器中手动创建或通过DNS客户端动态更新来创建。[1]
此记录用于将某个别名指向到某个主机(A)记录上,从而无需为某个需要新名字解析的主机额外创建A记录。
此记录列出了负责接收发到域中的电子邮件的主机 ,通常用于邮件的收发。
此记录指定负责此DNS区域的权威名称服务器。
最简单的响应是一个地址记录(也称A记录)。当客户端创建了一个查询时,该域下授权的DNS服务器会响应一个或多个IP地址。
这里没有固定的顺序,这个地址通常是随机排序的。另一个客户得到的结果顺序可能是完全不一样的。我们的客户会选择其中一个IP。如果只返回一个独立的IP,这个选择过程就会非常短。
规范名字记录:不只是响应一个特定的IP,服务器还可以返回一个规范名字(CNAME)记录。CNAME是将多个完全限定域名(FQDN)指向一个主机的快捷方式。
当服务器到那以后,它可能会发现另一个CNAME记录,和另一个一样。我在复杂的网络环境和广告软件或跟踪平台中看到过,每个过程都委托给其他人,为一个你不想做的链接找到一个真正的IP地址是非常困难的。