1 什么是DNS
DNS,域名系统是Domain Name System缩写。作为互联网上域名和ip地址互相映射的一个分布式数据库。
建立在UDP协议之上,使用的是53端口。它主要提供的是域名或主机名与ip地址之间的转换工作。
DNS可以说是无连接协议UDP的最著名的应用场景了。
2 DNS的基本概念
2.1 域名结构
通常互联网上主机域名的结构为:主机名.三级域名.二级域名.顶级域名
顶级域名有互联网网络协会域名注册查询 负责网络地址分配的委员会进行登记和管理。
全世界现有三个大的网络信息中心:位于美国的inter-NIC,负责美国及其他地区;位于荷兰的RIPE-NIC,负责欧洲地区;位于日本的APNIC,负责亚洲地区(摘自百度百科)
2.2 域的分类
根域
全球公有13组根域名服务器,以字母A-M进行命名。
顶级域
TLD(Top Level Domain)分为三类:
- 通用顶级域:.com商业结构 .org非营利性组织 .net网络服务机构
- 国家顶级域:.cn中国 .us美国 .jp日本
- 反向域(基础建设顶级域):.arpa从IP到FQDN的反向解析
2.3 FQDN
FQDN:(Full Qualified Domain Name)完全限定域名。指域名在全球都是唯一的
2.4 域名解析方式
- 正向解析:将FQDN转为IP
- 反向解析:将IP转为FQDN
2.5 DNS服务器类型
- 主DNS服务器:负责解析至少一个域
- 从DNS服务器:负责解析至少一个,是主DNS的辅助
- 缓存DNS服务器:不负责解析域,只是缓存域名解析结果
2.6 DNS服务器查询的类型
- 递归:客户端仅发出一次请求,让DNS服务器去查询返回结果;
- 迭代:要发出多次请求去分别查询不同的DNS服务器;
3 DNS的主要功能
每个IP地址都可以有一个主机名,主机名由一个或多个点分割。这样就不用记住每台主机的IP了,只需要记住有直观意义的主机名就可以了。
主机名到IP地址的映射有两种方式:
静态映射
每台设备上都配置主机到IP地址的映射,各个设备独立维护自己的映射表,而且只供本设备使用
动态映射
建立一套域名系统(DNS),通过DNS动态的映射
4 DNS的解析步骤
- 当用户在浏览器中输入www.baidu.com时。操作系统会首先检查本机上的hosts文件是否有这个域名的映射关系,如果有,就使用这个IP地址映射,完成解析。
- 如果hosts文件中没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址的映射关系,如果有,直接使用,完成解析。
- 如果hosts文件和本地DNS解析器缓存都没有响应的网址的映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们称为本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果,完成域名解析。此域名解析具有权威性。
- 如果要查询的域名,没有在本地DNS服务器区域解析,但该服务器已缓存了此网址的映射关系,则使用这个IP地址映射,完成域名解析。此解析不具有权威性。
- 如果本地DNS服务器本地区域文件,与缓存解析都实效,则根据本地DNS服务器的设置,进行查询。如果未使用转发模式,本地DNS会把请求发至13台根DNS。根DNS收到请求后会判断这个域名(.com)是谁来授权管理。并返回一个负责该顶级域名服务器的IP、本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器,这台服务器收到请求后,如果自己无法解析,就会找管理.com域的下一级DNS服务器(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,会找baidu.com域服务器,重复上面的动作,进行查询,直到找到www.baidu.com主机。
- 如果使用转发模式,此DNS服务器,就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,则找根DNS把请求转至上上级,依次循环。不管是本地DNS服务器,还是转发服务器。最后都是把结果返回给本地DNS服务器。由此DNS服务器再返回给客户机。
5 DNS中的资源记录类型
- A(Address)记录 正向解析:用来指定主机名或域名 对应的IP地址记录
- PTR(Pointer)反向解析:用于将一个IP地址对应到主机名(FQDN)
- CNAME(Canonical Name)记录 别名:用于允许将多个名字映射到同一台计算机
- MX(Mail Message)记录 : 邮件交换记录
6 dns的配置文件
- /etc/named.conf 主要的配置文件,DNS服务器的启动参数
- /etc/named.rfc1912.zones 区域文件,指定要解析哪些域名
- /var/named/*.* 数据文件,用来正向解析和反向解析
参考: