DNS服务的简析
有时候,我们都知道网络上有个必不可缺的服务器,就是DNS服务器,虽然说很常见,可是还是有很多人不明白它具体的意义及其工作原理。因此,我在这里对DNS有一个简单的
介绍,希望大家可以对DNS有个更深入的了解。
DNS:Domain Name Service(域名解析服务),是众多其他服务的基础,其标准大多都是基于软件构建的,即为BIND。 DNS作用就是名称解析,是一个查询数据库,实现名称转换的过程。
首先,要说的一个概念是FQDN:Fully Qualified Domain Name被称为完整主机名,
例:www.baidu.com这个主机名是FQDN,而baidu.com为域名,.com是顶级域名,.为根域
DNS提供的转换为:
FQDN --> IP :www.88181.com 172.16.13.1 (正向解析)
IP --> FQDN :172.16.13.1 www.88181/com (反向解析)
(一)DNS的阶层:
1、最上方的是.(一个点)称为根域
2、然后是顶级域
3、最后是主机名
(二) 域名管理:
授权(自上至下):根域-->顶级域-->主机名
名称(自底向上):www.88181.com. 【最后的.为根域】
TLD(顶级域):
组织域:.com, .org, .net, .cc
国家域:.cn, .tw, .hk, .iq, .ir, .jp
反向域:IP-->FQDN
(三) 域名的查询方式:
1、递归:只发出一次请求
2、迭代:发出多次请求,前几次返回的都是参考答案,只有最后一次是最终结果
(每个区域查询时都有一个服务器进行处理)
递归--> 由linuxidc下的www向自己的服务器发出请求,服务器找到根域,再由根域代为查找,逐层向下查,得到的结果由跟回复给linuxidc的服务器,最后回复给www。A-->B-->C-->B-->A
迭代-->是有原服务器发送请求给根域,根域回答目标主机在.com下,再由原服务器发送请求给.com,.com回复说在.linuxidc下,最后原服务器发送至linuxidc,得到最终答案。即A-->B,B-->A,A-->C,C-->A
注:每个子域都是由其直接上级管理的。并且仅知道其直接上级,而下级只知道根域。
(在互联网上查询方式为先递归后迭代)
由于每次查询都从头查找,会导致信息量很大,因此,每台服务器都会有缓存。下次查找时可从缓存中直接查找,缓存时长可根据变化频率自己设定。
(我们将直接从查询的域中得到的答案是权威答案,而委托其他主机查询到的答案是非权威答案)
(四) DNS服务器的三种请求:
接受本地客户查询请求(递归)
外部客户端请求:请求权威答案
肯定答案: TTL(缓存)
否定答案: TTL(缓存)
外部客户端请求:非权威答案
(别的主机想通过自己查找别的主机)
当有递归时,帮忙查找
无递归时,不查找
(五) DNS服务器的类型:
主DNS服务器:可进行数据修改
辅助DNS服务器:请求和主服务器进行数据同步
【定义五个方面,设定主从的数据同步:
serial number:定义版本号
refresh:检查的时间周期,刷新时间
retry:重试时间,大于refresh
expire:过期时间
nagetive answer TTL:否定答案的缓存时长】
缓存DNS服务器:可想而知,从本地缓存查找
转发器:不进行缓存,只转发请求