开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情
DNS(Domain Name System,即域名系统)实质上是一个分布式数据库,其中存储了域名和IP地址之间的映射关系,它的主要功能为域名解析,即通过域名获取对应IP地址。提供域名解析功能的主机称为域名服务器,即DNS服务器。在域名服务器中,一个域名只能对应一个IP地址,但一个IP地址可以对应多个域名,也可以没有相应域名。
域名系统结构
域名分为根域、顶级域、二级域、三级域和主机名五类
| 类型 | 说明 | 示例 |
|---|---|---|
| 根域 | DNS域名规则中规定,由尾部句点(. )来指定名称 位于根或更高级别的域层次结构 | 单个句点(. )或由句点结尾的名称 |
| 顶级域 | 某个国家/地区/组织使用的域名 | .cn、.com、.edu |
| 二级域 | 个人或组织在Internet上使用的注册名称 | baidu.com、qq.com |
| 三级域 | 由二级域派生的城,常用于网站名 | www.baidu.com、tieba.baidu.com |
| 主机名 | 网络上特定计算机的标识 | h1.www.baidu.com |
域名服务器分类
域名服务器实质上是一台配了DNS服务,可以实现域名解析功能的主机。根据工作方式分为:
-
主域名服务器
- 维护域中所有的域名信息
- 处理客户端请求,查询并返回响应的记录信息
- 是所有其他类型服务器的权威信息源
-
辅助域名服务器
- 域名服务器的备份
- 可代替主域名服务器提供域名解析服务
- 区域数据文件随主域名服务器中文件的更改而改变
-
缓存域名服务器
- 存储从某个远程服务器取得的域名服务器的查询结果
- 可从高速缓存中迅速获取查询结果
- 非权威的域名服务器
-
转发域名服务器
- 负责所有非本地域名的本地查询
- 转发请求
域名查询机制
递归查询
- 本机域名服务器会将查询的最终结果返回给客户机
- 客户机只需发出请求
- 其余都交由DNS服务器完成
迭代查询
- DNS服务器在无法获取最终结果时返回自己能获取的、最终结果最为相近的内容
- 由客户机根据获取到的内容再次发起查询请求
资源记录
资源记录即添加到区域数据文件中的记录,资源记录有许多类型。
A记录与AAAA记录
A表示Address,A记录即地址记录,是域名到IPv4地址的映射信息。
语法格式:
FQDN IN A IPv4地址
AAAA同样是地址记录,是域名到IPv6地址的映射信息。
语法格式:
FQDN IN A IPv6地址
PTR记录
PTR记录与A记录相反,是IP地址到域名的映射信息常用于反向解析数据文件中。
语法格式:
IP地址 IN PTR PQDN
SOA记录
SOA意为起始授权记录,用于声明DNS服务器是DNS域中数据表的信息来源,是主机名的管理者。创建新区域时,SOA记录会自动创建。一个区域数据文件只允许存在唯一的SOA记录。
语法格式:
域名 记录类型 SOA 主域名服务器的FQDN 管理员邮件地址 (
序列号
刷新间隔
重试间隔
过期间隔
TTL)
以上格式中,管理员邮件地址为管理域的负责人的电子邮箱,在该电子邮箱中使用英文句号“.”代替符号“@”;序列号为区域文件的修订版本号;刷新间隔用于设置辅助DNS服务器请求与源服务器同步的等待时间;重试间隔用于设置辅助DNS服务器在请求区域传输失败后、再次发起请求前的间隔时间;过期间隔为DNS辅助服务器本地数据的有效时间,若在此时间内无法与源服务器进行区域传输,本地数据将被视为不可靠数据;TTL为区域的默认生存时间和缓存否定应客名称查询的最大间隔。
NS记录
NS意为名称服务。用于表明区域的权威DNS服务器,即在NS记录中指定的服务器会被其他服务器当作权威的来源,并能应答区域内所含名称的查询。
语法格式:
区域名 IN NS FQDN
CNAME记录
用于为特定FQDN创建别名,可用于隐藏用户网络的实现细节,常用于在同一区域的A记录中的主机需要重命名,或为多台主机提供相同的别名时。
语法格式:
别名 IN CNAMW 主机名
MX记录
MX记录指向一个邮件服务器,用于指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。
语法格式:
区域名 IN MX 优先级 邮件服务器名称