因特网中的DNS域名系统

一、什么是DNS?

DNS,也叫域名系统,主要包括了以下两点:

  • 一个由DNS服务器实现的分布式数据库,其中存储了主机名和IP地址的映射;
  • 一个使得主机能查询该分布式数据库的应用层协议,它运行在UDP上,使用53号端口;

网络中的主机往往有多种方式可以进行标识,常用的两种一种是主机名,另一种是IP地址。事实上主机名无法定位一台主机在网络中的位置,IP地址则可以

当我们访问一个网站时,本质上还是对IP地址的访问。那么如何通过主机名找到其对应的IP地址,就是DNS帮我们做的事。

二、DNS是如何工作的?

DNS服务器结构层次分为三层,分别是:

  • 根DNS服务器:在逻辑上共有13个根DNS服务器,但实际上每台“服务器”都是一个冗余的服务器的网络,以提供安全性和可靠性。截至2011年,共有247个根服务器
  • 顶级域DNS服务器:这些服务器负责顶级域名如com、org、edu以及国家的顶级域名如uk、fr。
  • 权威DNS服务器:在因特网中所有可以公共访问的主机必须提供其主机名和IP地址的映射,并将其存在该组织机构的权威DNS服务器中。或者该组织机构也可以支付费用,将映射记录存储在某个服务提供商的权威DNS服务器中。

因特网中的DNS域名系统_第1张图片

还有一种DNS服务器称为本地DNS服务器,它不属于以上结构却十分重要。每个ISP(一所大学、一个公司等)都有一台本地DNS服务器。当主机发送DNS请求时,会先发往本地DNS服务器,它起着代理的作用,然后将该请求转发到DNS服务器层次结构中。

当客户端主机对服务器主机发送请求时,DNS对服务器主机IP的查询步骤如下:

因特网中的DNS域名系统_第2张图片

1.“客户端主机”向本地DNS服务器进行查询“服务器主机”IP地址

2.本地DNS服务器根DNS服务器进行查询

3.根DNS服务器返回顶级域DNS服务器的IP地址

4.本地DNS服务器顶级域DNS服务器进行查询

5.顶级域DNS服务器返回权威DNS服务器的IP地址

6.本地DNS服务器权威DNS服务器进行查询

7.权威DNS服务器中存储着“服务器主机”的IP地址,于是返回给本地DNS服务器

8.本地DNS服务器将解析后的IP地址返回给“客户端主机”

看上去比较繁琐,但实际上DNS是有缓存的,所以并不会经历那么多步骤。

三、DNS缓存

为了减少网络中DNS报文的数量,DNS广泛使用了缓存。当某个DNS服务器收到一个DNS回答后,它能将该回答中的信息缓存在本地存储器中。

本地的DNS服务器中,不仅可以缓存“服务器主机”的ip地址,也可以缓存权威DNS服务器顶级域DNS服务器的地址,所以在实际查询中,经常会绕过查询链中的根DNS服务器

但由于主机名和IP地址的映射不是永久的,所以DNS服务器在一段时间后就会丢弃缓存的信息。

你可能感兴趣的:(计算机网络,服务器,网络,运维,DNS)