一、什么是DNS
DNS服务器(Domain Name System Server)是一种网络服务器,它负责将域名转换为相应的IP地址。在互联网上,每个设备都需要一个唯一的IP地址以便进行通信,但人们更倾向于记忆易懂的域名,而不是复杂的IP地址。DNS服务器充当了这个转换的中介。当您输入一个域名时,您的计算机会向DNS服务器发送请求,以获取与该域名对应的IP地址。DNS服务器然后返回相应的IP地址,使您的设备能够连接到目标服务器或资源。
二、域名空间结构
在DNS中,域名空间结构采用分层结构,包括:根域名,顶级域,二级域和主机名称。域名空间的层次结构类似一个倒置的树状,在域名层次结构中,每一层称作一个域,每个域用一个点号"."分开。
-
根域:
-
- 根域是域名系统(DNS)中的最高级别域名,它位于所有其他域名的顶部。在域名系统中,根域用一个点(.)表示,它没有任何名称,只是一个单独的点。根域是DNS层次结构的起点,所有的顶级域名(Top-Level Domains,TLDs)都直接或间接地从根域下派生出来。
-
顶级域
-
- DNS根域的下一级就是顶级域,顶级域大致分三种类型,表示国家和地区(cn,hk,us,uk)、表示域名的用途或类别(com,net,org,gov,edu)、新通用等级域名(top,xyz,app)
-
子域
-
- 子域是在较高级别域名下创建的一个子域名。通常,子域是用于组织和管理特定部门、项目或区域的域名,以便更好地组织和标识网络资源。
-
主机
-
- 主机名通常用于标识网络中的计算机、服务器、路由器、打印机等设备,以及提供各种网络服务的服务器,如Web服务器、邮件服务器等。主机名在网络中是唯一的,用于确保设备和服务可以被准确地标识和访问。
三、域名解析方式
递归查询
在递归解析中,客户端向本地DNS服务器发送域名查询请求。如果本地DNS服务器没有缓存该域名的解析结果,它会开始递归地向更高级别的DNS服务器发送查询,直到找到能够提供域名解析结果的顶级域名服务器。一旦找到,本地DNS服务器将把解析结果返回给客户端,并且将结果缓存在本地,以备将来的查询。
迭代查询
在迭代解析中,客户端向DNS服务器发送查询请求,DNS服务器要么返回所查询域名的解析结果,要么指示客户端向另一个DNS服务器发送查询。这个过程一直持续下去,直到找到能够提供域名解析结果的顶级域名服务器。客户端可以通过迭代查询逐级向下查询,直到获得所需的解析结果。
特性 | 递归查询 | 迭代查询 |
---|---|---|
谁负责执行查询 | 服务器 | 客户端 |
查询次数 | 1 | 多个 |
服务器负载 | 高 | 低 |
客户端工作量 | 低 | 高 |
四、DNS资源记录
-
A记录(A Record):将域名解析为IPv4地址。
-
AAAA记录(AAAA Record):将域名解析为IPv6地址。
-
CNAME记录(CNAME Record):将一个域名别名为另一个域名。
-
MX记录(MX Record):指定用于处理域名的邮件服务器。
-
NS记录(NS Record):指定授权的DNS服务器,用于解析该域名的域名。
-
PTR记录(PTR Record):将IP地址反解析为域名。
-
SOA记录(SOA Record):指定域名的权威服务器,并包含有关该域名的其他信息。
-
SRV记录(SRV Record):用于指定用于特定服务的服务器,例如用于IMAP或SIP的服务器。
-
TXT记录(TXT Record):存储与域名相关的其他信息,例如SPF记录或DKIM记录。
五、DNS的类型
唯缓存DNS服务器
唯缓存DNS服务器,是一种只缓存DNS查询结果的DNS服务器。它们不维护任何区域文件,也不执行区域传输。唯缓存DNS服务器通过查询其他DNS服务器(例如递归解析器或根域名服务器)来获取DNS记录。
通俗来说唯缓存DNS服务器只是一个转发器,只要在唯缓存DNS服务器上设置转发器即可
辅助DNS服务器
辅助DNS服务器(Secondary DNS Server)是DNS服务器的一种,它存储主DNS服务器(Primary DNS Server)区域文件的只读副本。辅助DNS服务器的作用是在主DNS服务器出现故障时提供冗余,以便用户仍然可以访问域名。
在辅助DNS服务器上新建辅助区域,在主DNS服务器上设置区域传送
DNS委派
DNS委派(DNS Delegation)是DNS服务器层次结构中的一个重要机制,它允许将一个域的管理权限委派给另一个DNS服务器。这可以将DNS解析任务分散到多个服务器上,从而提高性能和效率。
DNS委派的工作原理如下:
父域将子域的DNS记录委托给子域DNS服务器。 当用户查询子域的域名时,父域DNS服务器会将查询转发给子域DNS服务器。 子域DNS服务器会解析域名并返回IP地址。
主DNS服务器,将客户机的DNS请求(子域的域名的所有解析),委派给子域的DNS服务器去解析。 在主DNS服务器上建立DNS委派
存根区域
存根区域(Stub Zone)是 DNS 服务器层次结构中的一种特殊区域,它仅包含指向授权 DNS 服务器的名称服务器(NS)记录。存根区域用于在单独的 DNS 命名空间之间解析名称。
跟DNS委派有些类似,但是他把任务委派给其他域的DNS服务器去解析域名。在long.com的服务器上新建存根,在smile.com的DNS服务器上设置区域传送
六、相关测试命令
nslookup
set type=MX
set type=PTR
set type=NS
ipconfig /displaydns
查看DNS缓存
ipconfig /flushdns
清除DNS缓存