递归查询是一种 DNS查询过程,其中 DNS 服务器代表客户端执行查询。
当客户端向 DNS 服务器发送查询时,DNS 服务器会检查其缓存中是否有请求的域名的记录。
如果在缓存中找到记录,则DNS 服务器将该记录返回给客户端。
如果在缓存中没有找到记录,DNS 服务器将使用根 DNS 服务器来查找请求的域名的授权 DNS 服务器。
授权 DNS 服务器是负责维护该域名的 DNS 记录的 DNS 服务器。
授权 DNS 服务器将向客户端返回请求的域名的 DNS 记录。
递归查询可以增加解析时间,因为 DNS 服务器必须往返于根 DNS 服务器和其他 DNS 服务器才能找到请求的域名的授权 DNS 服务器。
为了减少解析时间,DNS 服务器可以启用迭代查询。
在迭代查询中,客户端本身会负责查询根 DNS 服务器和其他 DNS 服务器以找到请求的域名的授权 DNS 服务器。
使用迭代查询,DNS 服务器只需要往返于客户端和授权 DNS 服务器,这可以显著减少解析时间。
递归查询步骤
客户端向 DNS 服务器发送查询。
DNS 服务器检查其缓存中是否有请求的域名的记录。
如果在缓存中找到记录,则 DNS 服务器将该记录返回给客户端。
如果在缓存中没有找到记录,DNS 服务器将使用根 DNS 服务器来查找请求的域名的授权 DNS 服务器。
授权 DNS 服务器将向客户端返回请求的域名的 DNS 记录。