说白了,DNS服务器起到的作用是把我们输入的字符域名转换为主机的IP地址。计算机在网络上进行通讯时只能识别如“201.59.72.14”之类的IP地址(此处为任意IP地址举例),而不能认识域名(如:zol.com.cn)。但是,我们打开浏览器,在地址栏中输入字符域名后,就能看到所需要的页面,就是因为有一个叫“DNS服务器”的存在自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。也正因此,也有人将DNS服务器比喻成“翻译官”和“电话簿”。
就像大多数同传大神一样,DNS服务器这个翻译官也常常躲在一个小黑屋中工作,不同于同传翻译人员使用一支笔、一个本和大脑来翻译,DNS服务器的翻译逻辑似乎有些不同,毕竟他们只能是0和1的组合。
如果简单来讲,可以将DNS分为C/S(Client/Server,客户机/服务器)两种模式,Client扮演询问角色,由Client向Server询问Domain Name(域名),Server负责给出域名对应的真正IP地址。
具体而言,要分八步走(注,为实现冗余和负载均衡,部分地址解析结果有可能是一个,也可能是多个,本文均以一个为例)。
1、客户端发出请求:我需要访问zol.com.cn,请告诉我它得IP地址。
2、本地DNS服务器(向DNS根服务器)分发需求:缓存中没有zol.com.cn的记录,向d.root-servers.net.请求域名对应IP地址。
3、DNS根服务器给出范围:该域名由.com.cn区域管理,给你.com.cn域服务器地址ns.cernet.net.
4、本地DNS服务器(向.com.cn域服务器)分发需求:域名zol.com.cn对应的IP地址是多少?
5、.com.cn域服务器给出范围:负责zol.com.cn的域服务器应该知道IP地址,你去问它
6、本地DNS服务器(向zol.com.cn域服务器)分发需求:请问域名zol.com.cn对应的IP地址是多少?
7、zol.com.cn域服务器给出答案:经查询得知,该域名对应的IP地址是123.101.57.11
8、本地DNS服务器(向网络客户端)回复答案:域名zol.com.cn对应的IP地址是123.101.57.11
一般来讲,DNS服务器一般会在获得域名对应IP地址之后,将该IP地址与域名对应关系记入缓存中,以备下次别的用户查询时可以直接返回结果,以加快网络访问速度。
完成以上8步,正向解析完成,除了正向解析(域名转换成IP地址的操作)之外,还有反向解析,即通过IP地址转换成域名的操作,这里再不做详尽解释。