递归:客户端只发一次请求,要求对方给出最终结果。
迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,
客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。
授权回答:向dns服务器查询一个域名,刚好这个域名是本服务器负责,返回的结果就是授权回答。
从递归和迭代查询可以看出:
客户端-本地dns服务端:这部分属于递归查询。
本地dns服务端---外网:这部分属于迭代查询。
递归查询时,返回的结果只有两种:查询成功或查询失败.
迭代查询,又称作重指引,返回的是最佳的查询点或者主机地址.
工具和命令相关的工具和命令: dig,nslookup,host等.其中以dig命令的功能最为强大和灵活.
dig命令典型应用形如:
dig @server name type
@server: 指定域名服务器
name:指定查询请求资源的域名
type:指定查询类型,如A、CNAME、SRV、MX、SIG等,如果不指定type,默认为A
查询某个域名解析的全过程:(此时为迭代查询)
$ dig @8.8.8.8 163.com +trace