DNS协议是基于UDP传输的
注意注意注意!根域名默认是个.,常见的最后的比如com,是顶级域名并不是什么根域名
(1)域名的层级之间是属于管理的关系
根域名只有一个,是没有标识的,直接用.表示
根域名知道所有的顶级域名的IP,以此类推
(2)如下面这个域名:
Host.example.Microsoft.com.
这个域名中,Host是四级域名,example是三级域名,Microsoft是二级域名,com是顶级域名,最后的.是根域名
Host是四级域名,是最基本的信息,一般是一台计算机的主机名称,常见的www表示的是一个Web服务器
com 商业组织,比如www.baidu.com
cn 中国
net 网络支持机构
gov 政府组织
edu 教育机构
一般由DNS客户端提出的查询请求都是递归型的查询方式
所谓递归查询,就是指DNS客户端发出查询请求后,如果DNS服务器内没有所需的数据,则DNS服务器会代替客户端向其他的DNS服务器进行查询,直至查找到结果回来,即这种查询方式,DNS服务器必须给DNS客户端做出回答
一般,DNS服务器与DNS服务器之间的查询方式就是迭代查询
所谓迭代查询,就是指:
第一台DNS服务器向第二台DNS服务器提出查询请求后,如果第二台DNS服务器内没有查找到,则它会提供第三台DNS服务器的IP地址给第一台,让第一台直接去向第三台DNS服务器查询,依此类推
如果查找到最后一台DNS服务器还没有找到,则通知第一台DNS服务器查询失败
比如,域名为me.abc.com的主机,需要知道目标域名为a.xyz.com的IP地址,则查询过程如下:
首先,主机向本地域名服务器dns.abc.com进行递归查询
然后本地域名服务器dns.abc.com采用迭代查询,向一个根域名服务器查询
根域名服务器告诉本地域名服务器,下一个要查询的顶级域名服务器dns.com的IP
本地域名服务器去向顶级域名服务器dns.com查询
顶级域名服务器再告诉本地域名服务器下一个要查询的权限域名服务器dns.xyz.com的IP
本地域名服务器去向权限域名服务器dns.xyz.com查询
权限域名服务器查找到了目标域名a.xyz.com的IP,告诉给了本地域名服务器
最后,本地域名服务器把查询到的最终结果告诉了本地主机me.abc.com
每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录
因此,当再次请求解析相同的域名时,就可以直接用缓存中的地址
通过缓存机制,不但降低了DNS查询数据网络的流量,也减少了上层服务器工作的负载