第一,域名的层次结构
互联网采用分层树形结构的命名方式。任何连接到互联网的主机或路由器都有一个唯一的分层名称,即域名。
域名的结构由一系列用点分隔的标签组成。大概是这样的:”...三级域名。二级域名。顶级域名”。
当我们看一个域名,比如www.sfn.cn,我们会发现它被两个点分成三个部分。Cn是顶级域名,sfn是二级域名,www是三级域名。
我们可以用一棵域名树来表示一个网络结构来表示域名。最上面的是根,但是没有对应的名字。下面根级别的节点是最高级别的顶级域名。顶级域名下分为二级域名,再下分为三级和四级域名。这就解释了域名系统中根的概念。
DNS服务器具有类似于域名系统的分层结构,如下图所示:
在图中,每个域名服务器可以将一些域名解析为IP地址。当DNS服务器无法将域名转换为IP地址时,它会解析到网络上的其他域名服务器。从图中还可以看出,DNS域名服务器也是按照层级排列的。每个域名服务器只对域名系统的一部分拥有管辖权。
这样既提高了域名解析的效率,又保证了域名解析的稳定性。如果系统中单个域名服务器出现故障,不会对整个DNS系统的正常运行造成太大影响。
二。域名服务器的分类
根据域名服务器的作用,域名服务器可以分为四种不同的类型:
根服务器
根域名服务器是最高级别的域名服务器,所有根域名服务器都知道所有顶级域名服务器的域名和ip。如果本地域名服务器没有缓存相应的记录,它将首先向根域名服务器发出请求。
(2)顶级域名服务器
顶级域名服务器管理所有在顶级域名服务器注册的二级域名,但会响应DNS查询。
(3)权威域名服务器
权威域名服务器负责查询域名解析设置,一般由域名解析服务商提供。权威域名服务器直接解析域名。
(4)本地域名服务器
每个互联网服务提供商ISP都可以有一个本地域名服务器。这种服务器有时被称为默认域名服务器。一般本地域名服务器离用户比较近,一般不超过几条路由的距离。如果要查询的ip属于同一个本地ISP,可以直接返回结果地址IP。
三、域名解析流程
域名解析流程通常分为以下几个步骤:
用户发起请求后,主机会先查询浏览器缓存和原生操作系统缓存;
本机没有记录,主机向本地服务器发起查询;
本地服务器没有记录,所以会向根服务发出请求;
根据根服务器返回的结果,本地服务器向相应的顶层服务器发起请求;
根据顶层服务器返回结果,本地服务器向权威服务器发起请求;
本地服务器将解析记录通知给主机,并将其保存在本地缓存中以供下次使用。
四。域名解析方法
DNS解析根据查询对象DNS解析的不同,可以分为递归解析和迭代解析。
递归解析是默认的解析方法。当主机向本地服务器发出请求时,如果本地服务器中没有记录,它将代替主机进行全局查询。
迭代是指当主机向本地服务器发出请求时,如果本地服务器没有记录,它将自己向根服务、顶级服务器和权威服务器进行查询。