DNS(Domain Name System)域名系统主要负责记录互联网中主机名和该主机IP地址之间的映射关系。
DNS体系及运行原理
互联网中的主机是使用IP地址来标识的,但是即便是32位的IPv4地址转化为十进制后也将是4组0-255的数字,而记住这一大堆数字组合对普通人来讲是件困难的事情,所以我们给主机起一个便于记忆的名字,并借助DNS将其解析成IP地址,这样只需在URL栏中输入某台主机的名字,就可以访问到它了。当然DNS也承担着将IP地址解析成域名的任务,也就是反向解析。
DNS层次结构
DNS 是一个分布式数据库,它利用树形目录结构将主机名称的管理权分配给各级的DNS服务器,这使得管理和修改工作可以在各层本地完成,减少了每一台服务器的数据量,使得管理数据更加容易。
完整的域名是一个由“.”分隔的字符串,其中每个部分都代表一个域或主机名。例如www.tsinghua.edu.cn. 和www.zju.edu.cn. 这是两个完整的域名,但是他们虽然不是同一台机器,却有相同的主机名www,而在互联网中名字相同的主机非常多,怎样准确地定位某台主机呢?这需要先确定他们所属的域,这样就算有再多名字是www的主机,只要在不同的域当中,我们也能准确地找到它(如图:DNS层次结构)。
常见名词解释
FQDN:全域名(FQDN,Fully Qualified Domain Name)是指主机名加上全路径,全路径中列出了序列中所有域成员(包括root)。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。
域名授权:域将子域的管理权下放给其他DNS服务器。
正向解析:通过域名查询IP地址。
反向解析:通过IP地址查询域名。
递归查询:客户端发出请求,由DNS服务器承担查询和转发,并将最终查询结果反馈给客户端的过程。在递归查询时,无论解析的结果如何,都要求DNS服务器给予DNS客户机一个明确的答复。
DNS查询过程
每一台 DNS主机都只记录它的下一层的域名和IP地址的对映关系,所以无法提供多于一层的数据,以解析www.tsinghua.edu.cn为例,解析的过程如图 DNS解析过程。
1.客户端向DNS服务器发出查询www.tsinghua.edu.cn的请求,DNS服务器先在本机搜索是否有符合条件的域名。
2.如果这台DNS服务器的本地区域文件和缓存中没有对应域名的资料,那么DNS服务器将向根域名服务器(root)发出查询请求。
3.根域名服务器只知道它的下一级服务器地址,所以将.cn服务器的信息反馈给DNS服务器,以便查询。
4.根据步骤3反馈的信息,向.cn域名服务器发出查询请求。
5、将.edu.cn的域名服务器地址反馈给DNS服务器。
6、7、8、9重复以上的步骤,直到找到www.tsinghua.edu.cn对应的IP地址。
10、将最终结果反馈给客户端,并将这个结果存储在DNS的本地缓存中。
(作者单位为清华大学网络中心)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。