DNS Working Principle
What’s is DNS
DNS(Domain Name System),Domain System,which is a service of Internet.It a kind of distributed database that mapping between Domain Name and IP Address.So that people can access the Internet more convenient.DNS use TCP and UDP’s port 53.Currently,the limit of each grade domain is not over 63 characters,And the total length of domain can not over 253 characters.
它是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS Working Principle
当我们请求一个域名时,直到获取到IP地址,整个过程是如何工作的?以请求www.codecc.xyz为例:
1、首先,我们的主机会去查找本地的hosts文件和本地DNS解析器缓存,如果hosts文件和本地DNS缓存存在www.codecc.xyz和IP的映射关系,则完成域名解析,请求该IP地址,否则进入第二步。
2、当hosts和本地DNS解析器缓存都没有对应的网址映射关系,则会根据机器(/etc/reslove.conf)配置的本地DNS服务器进行查询,此服务器收到查询时,如果要查询的域名在本地配置区域资源或者缓存中存在映射关系,则跳到步骤9,将解析结果直接返回给客户机。
PS:一二步骤为递归查询,其余步骤为迭代查询
3、若本地DNS服务器不存在该域名的映射关系,就把请求发送至13台根DNS服务器。
4、根DNS服务器会判断这个域名(.xyz)由谁来授权管理,并返回一个负责该顶级域的DNS服务器的一个IP给本地DNS服务器。
5、本地DNS服务器收到该IP后,会再将查询请求发送至(.xyz)所在的DNS服务器。
6、如果(.xyz)的DNS服务器无法解析该域名,就会去判断这个二级域名(codecc.xyz)的管理者,返回一个负责该二级域的DNS服务器的IP给本地DNS服务器。
7、本地DNS服务器收到该IP后,会再次将查询请求发送至(codecc.xyz)所在的DNS服务器。
8、(codecc.xyz)的DNS服务器会存有www.codecc.xzy的映射关系,将解析后的IP返回给本地DNS服务器
9、本地DNS服务器根据查询到的解析IP发送给客户机,至此,DNS解析完成。