ns 查询的工作原理
当 dns 客户机需要查询程序中使用的名称时,它会查询 dns 服务器来解析该名称.客户机发送的每条查询消息都包括三条信息,以指定服务器应回答的问题: 【程序编程相关:三大协议 TCPIP NETBIOS I】 【推荐阅读:网络工程师必懂的专业术语 ZZ】 【扩展信息:生成树的递归实现】指定的 dns 域名,表示为完全合格的域名 (fqdn)
指定的查询类型,它可根据类型指定资源记录,或作为查询*作的专门类型. dns 域名的指定类别. 对于 windows dns 服务器,它始终应指定为 internet (in) 类别.例如,指定的名称可为计算机的 fqdn,如 host-a.example.microsoft.com,并且指定的查询类型用于通过该名称搜索地址 (a) 资源记录.将 dns 查询当作客户机向服务器提出的两部分问题,如“对于名为 hostname.example.microsoft.com 的计算机,您有没有 a 资源记录?”当客户机从服务器接收应答时,它读取并解释应答的 a 资源记录,以了解它通过名称提问的计算机的 ip 地址.
dns 查询以各种不同的方式进行解析.客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询.dns 服务器可使用其自身的资源记录信息缓存来应答查询.dns 服务器也可代表请求客户机来查询或联系其他 dns 服务器,以完全解析该名称,并随后将应答返回至客户机.这个过程称为递归.
另外,客户机自己也可尝试联系其他的 dns 服务器来解析名称.如果客户机这么做,它会使用基于服务器应答的独立与附加的查询.该过程称作迭代.
总之,dns 查询过程按两部分进行:
名称查询从客户机开始并传送至解析程序(dns 客户服务)进行解析.
不能就地解析查询时,可根据需要查询 dns 服务器来解析名称. 下面的部分详细解释这两个过程:第一部分:本地解析程序
下图显示了完整的 dns 查询过程的概况. 放大图形 如查询过程的初始步骤所示,dns 域名由本机的程序使用.该请求随后传送至 dns 客户服务,以通过使用就地缓存的信息进行解析.如果可以解析查询的名称,则查询将被应答并且此过程完成.本地解析程序的缓存可包括从两个可能的来源获取的名称信息:
如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射在 dns 客户服务启动时预先加载到缓存中.
从以前的 dns 查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间. 如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询 dns 服务器来解析名称.... 下一页