层次域名空间
因特网采用层次树状结构的命名方式,每个主机或路由器都有唯一的层结构名字,即域名。域还可以划分为子域,从而形成顶级域、二级域、三级域等,并由“.”分隔。域名从左到右级别递增,如www.baidu.com,www为三级域名,baidu为二级域名,com为顶级域名。
域名服务器
域名服务器系统是联机分布式的数据库系统,并采用客户/服务器模型。域名到IP地址的映射由该系统中的进程完成。
域名服务器的类型:
- 根域名服务器:最高层次的域名服务器,知道所有顶级域名服务器的IP地址
- 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名
- 授权(权限)域名服务器:登记了其所管辖的所有主机的域名和IP地址
- 本地域名服务器:接收主机的NDS查询请求,该服务器查询得到相应的IP地址后返回给主机。
注:许多域名服务器同时充当本地域名服务器和权限域名服务器
域名解析过程
域名解析有两种方式:递归查询方式和递归与迭代相结合的查询方式
- 递归查询方式(如图a),按1、2、3、4的步骤一步步进行询问,直到某个域名服务器知道所有查询的域名相应的IP地址,然后按原路返回将结果发送的本地域名服务器,最终本地域名服务器将查询到的IP地址发送给主机。
- 递归与迭代相结合的查询方式,每次都由本地域名服务器发出查询请求,如果被询问的域名服务器知道相应的IP地址则返回,如果不知道则该域名服务器就告诉本地域名服务器下一步该向谁寻问,直到最终得到相应的IP地址,最后由本地域名服务器将该IP地址返回给主机。
在该结构中根域名服务器知道所有的顶级域名服务器的IP地址,顶级域名服务器知道其管辖的所有二级域名服务器的IP地址,而权限域名服务器知道其管辖的所有主机的域名和相应的IP地址
此外,为了提高DNS的查询效率,域名服务器广泛使用高速缓存来暂存查询到的域名到IP地址的映射,这样当主机在此请求域名解析时,可直接从高速缓存中获得。