传统域名系统 (DNS) 是一个分层的分散信息存储,用于将用户在网络浏览器中输入可读名称(例如 www.baidu.com)解析为IP地址,来访问互联网上的计算机。传统DNS使用一种分布式数据库,有严格的上下级关系,上级仅知道其直接下级,而下级只知道根的位置。当我们要解析某个主机名的时候,先从最上级进行查找,然后逐级往下查找,最终返回结果。最上级的是根域,用.表示根域,根域下又有许多顶级域。
传统域名系统解析过程
假设解析www.33.cn这个域名,实现对它的访问,且本地DNS没有缓存数据。
1. 本地DNS将解析请求发送到根域, 根域根据请求判断.cn这个域名是由谁来管理。
2. 根域返回一个负责.cn顶级域的一个IP地址给本地DNS服务器。
3. 本地DNS服务器收到IP信息后,请求发往IP对应的.cn域的这台服务器,顶级域可能不知道www.33.cn的任何信息,但它可以知道33.cn的信息。
4. 顶级域返回负责33.cn二级域的IP地址给本地DNS服务器。
5. 本地DNS服务器收到IP信息后,再向33.cn这个二级域发请求。
6. 二级域检查它的本地存储,找到了www.33.cn对应的IP地址(比如112.124.12.123),并将地址返回客户端,完成了整个解析。
传统域名系统的局限