DNS 是域名系统(Domain Name System)的简称,因特网上作为域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网,而不用去记住能够被机器直接读取的 IP 地址。
首先查找电脑上的 DNS 缓存列表,如果有记录,那么直接返回对应 IP 地址,否则进行下一步;
查找电脑上的 HOST 文件的映射关系,如果有记录,那么返回对应 IP 地址,否则进行下一步;
查找互联网线路供应商的本地 DNS 服务器(即中国电信、中国移动或中国联通),本地 DNS 服务器先查找自己的缓存记录,如果有记录,那么返回对应 IP 地址,否则本地 DNS 服务器向根域名服务器发送请求;
根域名服务器收到请求后,查看是 .com 顶级域名,于是返回 .com 顶级域名服务器的 IP 地址给到本地 DNS 服务器;
本地 DNS 服务器收到回复后,向 .com 顶级域名服务器发起请求;
.com 顶级域名服务器收到请求后,查看是 .163.com 次级域名,于是返回 .163.com 次级域名服务器的 IP 地址给 DNS 服务器;
本地 DNS 服务器收到回复后,向 .163.com 次级域名服务器发起请求;
.163.com 次级域名服务器收到请求后,查看是自己管理的域名,于是查看域名和 IP 地址映射表,把 www.163.com 的 IP 地址返回给本地 DNS 服务器;
本地 DNS 服务器收到回复后,向电脑回复域名对应 IP 地址,并把记录写入本地 DNS 服务器的缓存里;
电脑收到回复后,使用 IP 地址访问网站,并把记录写入电脑 DNS 缓存中。
DNS 缓存可以提高查询效率,但是当域名和 IP 地址映射关系发生变化时,或者缓存的 IP 地址对应的服务器故障时,使用 DNS 缓存就不能正常访问网站了,因此 DNS 缓存默认也是有时间限制的。
留言反馈