关于DNS域名解析中的概念理解问题:域和区的差别;迭代查询和递归查询

关于DNS在域名和IP之间转换的问题上,第一次困扰到我的概念有两个:

第一个是domain(域)和zone(区)的区别,第二个是迭代查询和递归查询的区别

我是这样理解的:把整个互联网看做一家巨大的跨国公司,这个公司的总裁,总负责人,就是整个互联网的DNS顶尖根域名解析。下面分了某国子公司总裁,子公司内部有部门经理(区DNS),普通员工(个人主机等)等等。

每当一个员工A需要和公司内另一个员工或者经理B(www.baidu.com)进行任务交流的时候,就需要查询对方的办公室所在位置。首先A会查询自己的备忘录(本地DNS域名解析),看看之前有没有和这个人进行过交流,如果有,直接按照备忘录上记录的那个地址过去就行。如果没有,那就得向上面的人进行求助,帮忙查询了。

这个时候,递归查询的顺序是:

首先向最高层的人,也就是跨国公司总裁发送请求(.com)。总裁不可能知道手底下每个人的具体信息,只知道每个分公司总裁的位置信息。

于是“总总裁”根据A提供的域名信息(baidu.com)向“分总裁”发出询问,让他们看看自己手底下有没有叫做“baidu”的员工。分公司总裁也不可能知道每个员工的信息,但是可以知道自己手底下直接管理的每个部门经理的具体信息。如果自己管理的部门经理里没有找到人,那就找到可能会拥有这个员工信息的经理,让他再继续找下去……

当最终找到员工B的时候,部门经理把B的位置汇报给分总裁,分总裁再上报给总总裁,总总裁最后把这个信息返还给A,A把信息记录到自己的备忘录里,查询结束。

迭代查询的方式略有不同:总总裁不会亲自去问每个分总裁,而是把可能会拥有信息的分总裁的地址告诉A,让A自己去问。同理,分总裁也只是把可能会认识B的部门经理的地址告诉A,让A继续去找这个部门经理……最终A可以直接找到B,不用等待总DNS代理回复。

这里可以看出另一个问题的答案:

总总裁,分总裁,部门经理,员工,这种分类叫做domain(域),是一种约定好的,通用的划分手段,每个阶层的任务是固定不变的

而在每个公司里,可以用美工部门经理,人力部门经理,财务部门经理,开发部门经理……也有可能这个分公司的任务重点是科研,所以整个公司里没有公关部门,只有研发部门和财务部门等等

这种按照“行政”能力划分的手段,就是zone(区),是一种主观上的划分手段,目的是保证减少每个阶层的DNS服务器的查询压力,同时实现分治,提高查询效率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章