递归查询(替我们查询,返回域名对应的IP)
主机向本地域名服务器的查询一般都是采用递归查询。
所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。
因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
迭代查询(不替我们查询,返回的是其它DNS服务器的IP地址)
迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。 然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。
最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机
举个例子
•递归查询:老板给我发个短信:“阿龙,附近哪个川菜馆最正宗?”我屁颠屁颠地去问我的吃货朋友二胖,二胖又问了他的女友辣妹子;辣妹子把答案告诉二胖,二胖再告诉我,最后我装作很专业的样子回复了老板。这个过程对老板来说就是递归查询。
• 迭代查询:老板说:“阿满,推荐一下附近的洗脚店呗?”我立即严辞拒绝:“这个我不知道,不过你可以问问公关部的罗总。”老板去找到罗总,又被指引到销售部的小李,最终从小李那里问到了。这个过程就是迭代查询,因为是老板自己一步一步地查到答案。
DNS
SOA(起始授权机构):定义该区域中的哪个名称服务器是权威名称服务器(权威名称服务器也是主服务器,主域名服务器)。
NS(域名服务器):该区域的域名服器(包含SOA中指定的该区域的主服务器和辅助服务器)。
MX记录:邮件交换记录。
PTR(指针):IP地址到DNS名称的映射,用于反向解析。
A(主机):列出了区域中域名到IP地址的映射
CNAME(别名记录):基于A记录的主机,作出一个别名(一台主机提供多种应用服务)