DNS与域名解析

DNS是一整套从域名映射到IP的系统。

TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆。于是人们用一个字符串来表示这个IP地址,这个字符串就叫做主机名。并且使用一个host文件来描述主机名和IP地址的关系。

最初,通过互联网信息中心来管理这个hosts文件。这时候如果一个新的计算机要接入网络,或者某个计算机IP变更,都需要到信息中心申请变更hosts文件,其它计算机也需要定期下载更新新版本的hosts文件才能正确上网。

这样很麻烦,于是产生了DNS系统。这是一个组织的系统管理机构,来维护系统内的每个主机的IP和主机名的对应关系;如果新的计算机接入网络,将这个信息注册到网络中。

用户输入域名时候,会优先查找计算机上的hosts文件,如果没有,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址。

1 域名

主域名是用来识别主机名称和主机所属的组织机构的一种分层结构。

DNS与域名解析

比如:www.baidu.com

com:一级域名,表示这是一个企业域名。同级的还有“net”(网络提供商)等,“org”(非盈利组织等)

baidu:二级域名,公司名

www:只是一种习惯用法。

2 域名服务器

域名是分层结构,域名服务器也是对应的层级结构。

DNS与域名解析

  • 每个层的域名上都有自己的域名服务器。最顶层的是根域名服务器
  • 每一级的域名服务器都知道下级域名服务器的IP地址
  • 为了容灾,每一级至少设置两个或以上的域名服务器

3 域名解析过程


  1. 输入域名后,先查找自己主机对应的域名服务器
  2. 域名服务器先查找自己的数据库中的数据。如果没有,就向上级域名服务器进行查找,以此类推。
  3. 最多回溯到根域名服务器,肯定可以找到这个域名的IP地址
  4. 域名服务器自身也会进行一些缓存。把曾经访问过的域名和对应的IP地址缓存起来,可以加速查找过程