DNS基础
DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,域名服务器是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地
基本工作流程
相关概念
1、域名
域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。
注意域名对大小写不敏感
2、FQDN
FQDN全称为Fully Qualified Domain Name,即完全合格域名。FQDN由两个部分组成:主机名和域名。因为DNS是逐级管理的,所以在不同的层级中主机名与域名也是不同的;以www.google.com为例,在第二层中,.com就是域名,google就是主机名,而到了第三层中,.google.com就成了域名,www就成了主机名。
注意:主机名与域名并不是依据"."来划分的,主机名中也可以包含"."号的,主要还是要根据域名的注册情况来划分。
3、正向解析
从FQDN转换为IP地址称为正向解析。
4、反向解析
从IP地址转换为FQDN称为反向解析。
5、区域
正向解析或反向解析中,每个域的记录就是一个区域。
DNS的解析库
DNS的主要作用是进行主机名的解析。解析:根据用户提供一种名称,去查询解析库,以得到另一种名称。 正向解析与反向解析使用不同的解析库。
资源记录:rr(resource record),有类型的概念;用于此记录解析的属性。
- A:Address地址 IPv4
- AAAA:Address地址 IPv6
- NS:Name Server域名服务器
- SOA:Start of Authority授权状态
- MX:Mail Exchanger邮件交换
- CNAME:Canonical Name规范名
- PTR:Pointer指针
DNS的查询过程
DNS采用两种查询机制:递归(Recursive Query)和迭代(Iterative Query)。
实际应用中,即使用递归查询,又使用迭代查询
DNS的查询顺序
1、本地hosts文件
2、本地DNS缓存
3、本地DNS服务器
4、发起迭代查询
DNS使用的端口号
DNS协议使用udp/tcp的53端口提供服务,客户端向DNS服务发起请求时,使用udp的53端口;DNS服务器间进行区域传送的时候使用TCP的53端口。
DNS服务器类型
1、主DNS服务器
为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务。
2、从DNS服务器
主服务器DNS长期无应答,从服务器也会停止提供服务。
主从区域之间的同步采用周期性检查+通知的机制,从服务器周期性的检查主服务器上的记录情况,一旦发现修改就会同步,另外主服务器上如果有数据被修改了,会立即通知从服务器更新记录。
3、缓存服务器
服务器本身不提供解析区域,只提供非权威应答。
4、转发服务器
当DNS服务器的解析区域(包括缓存)中无法为当前的请求提供权威应答时,将请求转发至其它的DNS服务器,此时本地DNS服务器就是转发服务器。