DNS协议

域名主要是基于UDP服务器实现的,服务器端口为53。

一、DNS域名结构

1.1 域名的层次结构

为了保证每一个域名都具有唯一性,域名采用了一种层次结构的命名方式:

1.每一个域名都是一个标号(labels)序列,由字母(A-Z、a-z,大小写等价)、数字(0-9)和连接符(-)组成;

2.标号序列的最大长度为255个字节,标号序列由点(.)符号分割成标号;

3.每个标号的最大长度为63个字节,每个标号都是以级域名;

4.级别最低的域名在左边,级别从左到右依次升高。

1.2 域名服务器

根域名服务器:最高层次的域名解析服务器,也是最重要的域名解析服务器。本地域名解析服务器无法解析的域名就会向根域名解析服务器求助。

顶级域名服务器:负责管理该顶级域名服务器下注册的二级域名。

权限域名服务器:负责一个区的域名解析工作。

本地域名服务器:当一个主机发起DNS请求时,首先请求的就是本地域名解析服务器。

二、DNS解析过程

具体流程如下:

1. 主机先向本地域名服务器进行递归查询

2. 本地域名服务器采用迭代查询,向一个根域名服务器进行查询

3. 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址

4. 本地域名服务器向顶级域名服务器进行查询

5. 顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址

6. 本地域名服务器向权限服务器进行查询

7. 权限服务器告诉本地域名服务器所查询的主机的IP地址

8. 本地域名服务器最后把查询结果告诉主机

上文我们提出了两个概念:递归查询和迭代查询

递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机

迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。

你可能感兴趣的:(DNS协议)