为了叙述方便,本文以ABC.COM为例展开说明。
一、DNS按功能(角色)的分类:
1.权威DNS: 权威DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人,如COM顶级服务器可以授权ABC.COM的权威服务器为NS.ABC.COM,同时NS.ABC.COM还可以把授权转授给NS.DDD.COM,这样NS.DDD.COM就成了ABC.COM实际上的权威服务器了。平时我们解析域名的结果都源自权威DNS。
2.递归DNS: 负责接受用户对任意域名查询,并返回结果给用户。递归DNS的工作过程参见本文第二节。递归DNS可以缓存结果以避免重复向上查询。我们平时使用最多的就是这类DNS,他对公众开放服务,一般由网络运营商提供,大家都自己可以架递归DNS提供服务。递归DNS一定要有可靠的互联网连接方可使用。
3.转发DNS: 负责接受用户查询,并返回结果给用户。但这个结果不是按标准的域名解析过程得到的,而是直接把递归DNS的结果转发给用户。它也具备缓存功能。他主要使用在没有直接的互联网连接,但可以连接到一个递归DNS那里,这时使用转发DNS就比较合适。其缺陷是:直接受递归DNS的影响,服务品质较差。
二、域名解析过程:
用户—>本地递归服务器— > 根权威服务器— > COM权威服务器— > ABC.COM权威服务器— > 用户
如图所示,用户A解析域名的过程就是上面的过程。用户B是先经过转发服务器,由转发服务器再向递归服务器请求的。
FAQ:
1.递归服务器怎么知道根权威服务器的地址? 很简单,在递归服务器上都保存有一份根服务器的地址列表。最新的根服务器地址列表在这里可以得到:ftp://ftp.internic.net/domain/named.root
2.递归服务器每次查询域名都要向根那里找权威服务器吗? 不是的,一旦成功一次,递归服务器就会把权威服务器列表缓存下来(如COM顶级服务器列表可以缓存48小时)。
3.这些DNS都是什么人在管理? 本地递归服务器一般由电信运营商架设,服务于自己的用户,并有其管理,自然人也架设。根服务器与顶级域服务器由国际组织统一部署管理(实际控制器在美国政府)。对顶级域服务器来说销售商有可控的写入权。 对于像图中所示的NS.ABC.COM的权威服务器就没有门槛了,谁都可以架设。