对以往的dns知识进行补充
域名系统(服务层)
是由众多层次名字服务器实现的分布式数据
客户端如果想得到www.amazon.com的IP
- 本机通过本地代理服务器(递归查询)找root服务器
- 由root服务器(现世界13台A~M)查询com 名字服务器,查询得到amazon.com DNS server
- 代理服务器查询amazon.com 名字服务器得到www.amazon.com的IP
名字服务器分类
- 根名字服务器 当本地服务器找不到某名字时,联系它,由它来完成映射,返回给本地服务器,如果名字未知时,联系授权名字服务器
- 顶级服务器 负责com, org, net, edu等及所有顶级国家域名 cn,uk, fr, ca
22+个通用的域,~250个国家地区域 - 授权名字服务器
- 本地服务器 每个ISP都有一个,当主机做dns查询时,查询发送到本地dns服务器,作为代理,转发到层次结构中
查询方式
有两种询问原理,分为Recursive和Iterative
两种。前者是由DNS代理去问,问的方法是用Interative方式,后者是由本机直接做Interactive式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。
迭代式(Iterative):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来的是部分信息,告诉你所查询域名中的下一级域的域名服务器的地址信息,然后再到此域名服务器上去查询所要解析的名称,反复动作直到找到最终信息。