前言
DNS(Domain Name System,域名服务系统)是一个遍布全球的分布式数据库系统,它提供域名解析服务,即将人类可读的域名转换为机器可读的 IP 地址。在互联网时代,日常浏览网页、搜索新闻、观看视频都离不开 DNS 所提供的服务。
概念
域、域名
我们在浏览器地址栏中输入的每一个地址都是一个域名,比如 www.zhihu.com。域名是由.和不同级别域的域名组成。通常我们在书写时会省略根域名,即域名结尾的.(如 www.zhihu.com.)。包含完整域名的称为全限定域名(FQDN),FQDN 能准确表示出一个域在组织结构中的绝对位置。
根域之下可以分为不同级别的域,构成一个庞大的域名树。以 www.zhihu.com. 为例,至顶向下,域名依次包含了根域(.),顶级域(com),二级域(zhihu)和主机(www,web 服务器主机的通常名称)。
子域、子域名
子域是相对概念,如 www.zhihu.com、mail.zhihu.com 都是父域 zhihu.com 的子域。子域的域名为子域名。
域名服务器
运行 DNS 服务器程序的计算机,储存 DNS 数据库信息。每个域都有自己的域名服务器,比如根域名服务器全球有13个。一个域名服务器可以管理多个域名。域名服务器有三类:授权服务器、递归域名服务器、缓存域名服务器。
- 授权服务器:负责维护一个区域所有域名信息,是所有信息的权威信息源,数据可修改;
- 递归服务器:用来存储并缓存已请求过的请求数据;
- 缓存服务器:负责非本地域名的查询,将请求依次转发到指定的域名服务器,直到查找到。
区
区是一种组织划分,每个区都是由域名服务器和一组由域名服务器管辖的主机组成。该区的域名服务器回答对自己所辖区中主机的查询。
资源记录
资源记录是每个域名服务器用来存放与域名相关的数据。当一个解析器向 DNS 查询一个域名时,它得到的其实是和这个域名相关的资源记录。每条资源记录都包括一个五元组,包括域名、TTL、信息类型、资源记录类型、值。
记录类型包括 SOA、A、AAAA、CNAME、NS、PTR 等。
资源类型 | 说明 | 数据格式 |
---|---|---|
SOA | 授权开始记录。一个区域文件只允许存在唯一的 SOA 记录 | ASCII |
A | 域名和 IP 的对应关系。相同域名可配置多条A记录,多条间间负载轮询 | IP |
AAAA | 域名和 IPv6 地址的对应关系 | IPv6 |
CNAME | 域名别名,将某个域名指向另一个域名 | 域名 |
NS | 域名服务器记录,指定域名由哪个域名服务器来解析 | IP |
PTR | 反向记录,IP 和域名的对应关系 | 域名 |
SRV | 记录域名与包括 IP 和端口信息的对应关系,域名格式为:_{服务名}._{协议名}.{域名} | 优先级、权重、端口、IP |
域名解析器
是 DNS 服务器的客户端程序。