标签:迭代递归查询
DNS的因特网标准是RFC 1034,1035,被设计成为一个联机的分布式数据库系统。
DNS规定,域名中的标号都是由英文字母和数字组成,每个标号不超过63个字符,也不分大小写,(例如,www.baidu.com或WWW.BaiDU.coM在域名中是等效的).标号中除了连接符(-)外不能使用其他的标点符号。
根域名服务器 (root name server):根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的服务器,因为不管是哪一台本地服务器,若要对因特网上的任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。在因特网上共有13个不同IP地址的根域名服务器,它们的名字是用一个英文字母命名,从a一直到m(前13个字母)。这些根域名服务器对应的域名分别是a.rootservers.net,...,m.rootservers.net。但请注意,根域名服务器的数目并不是13个机器,而是13套装置(13 installations)[W-ROOT].实际上截至2014年10月,全球有504台根服务器,被编号为A到M共13个标号。大部分借由任播(Anycast)技术,编号相同的根服务器使用同一个IP,504台根服务器总共只使用13个IP,因此可以抵抗针对其所进行的分布式拒绝服务攻击(DDoS)。中国大陆在北京有两台编号为L的镜像,编号为F、I、J的镜像各一台,共5台;香港有编号为D、J的镜像各2台,编号为A、F、I、L的镜像各一台,共8台;台湾则有编号为F、I、J各一台,共3台。
任播:任播的IP数据包的终点是一组在不同地点的主机,但具有相同的IP地址,IP数据包交付给离数据源点最近的一个主机。
DNS迭代查询和递归查询的过程。
第一,主机向本地域名服务器的查询一般都是采用递归查询(recursive query)。如果主机所查询的本地域名服务器不知道被查询域名的IP,那么本地域名服务器就以DNS客户端的身份,向其他的根域名服务器发出查询请求报文(即替代该主机继续查询),而不是让该主机自己进行下一步查询。因此递归查询返回的查询结果或者是要查的IP,或者是报错,表示无法查询到所需要的IP地址。
第二,本地域名服务器向根域名服务器发出查询通常是采用迭代查询 (iterative query)。迭代查询的特点是:当根域名服务器收到本地域名服务器的迭代请求报文时,要么给出要查询的IP地址,要么告诉本地域名服务器:"你下一步应当向哪一个域名服务器进行查询"。
本文出自 “Running” 博客,请务必保留此出处http://dg123.blog.51cto.com/4750342/1619178
标签:迭代递归查询
原文地址:http://dg123.blog.51cto.com/4750342/1619178