【Linux笔记】-----DNS服务器,DNS系统原理总结详解

【Linux笔记】-----DNS服务器,DNS系统原理总结详解_第1张图片
【写在前面的话】说起DNS就想起去年有关国家的“**雪人计划**”进展情况。目前在全球完成25台IPv6根服务器架设。其中俺们中国境内部署了4台,分别为1主3辅。对于ipv4的时代国内没有根服务器,亚洲仅有的一台在日本(国内只有镜像服务器),但是对于全球最多的互联网用户国家,没有根服务器只能憋屈的定时去同步他们的根服务器。在IPv4根服务器中,也就是“**雪人计划**”之前全球共有**13台**,唯一的1台主根在美国,另外还有9台辅根在美国,剩下的3台辅根分别架设在了英国、瑞典、日本。中国一直想申请架设一台辅根服务器,对于我国如此庞大的互联网用户来所是十分有利的,但辅根的申请却迟迟没有通过,如此一来使得互联网关键资源管理及分配极其不均匀。直到去年末,中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》宣告着ipv6将在国内将快速应用,此举在互联网历史上留下更加坚定的脚印。

DNS系统

早期计算机数量不多,私有网络里在/etc/hosts写 主机—IP 作一个对应虽然文件很大,但还是足够。但是在联网的情况下计算机数量很多,/etc/hosts就是个大文件了。
后来伯克利大学研究出阶层式管理主机名对应IP的系统BIND(Berkeley Internet Name Domain)。这是目前使用最广泛的DNS系统
【Linux笔记】-----DNS服务器,DNS系统原理总结详解_第2张图片
在整个DNS系统的最上方一定是 . (小数点)这个服务器。它下面管理的就有

一般顶级域名(Generic TLDs,gTLD
.com --//公司、行号、企业
.edu --//教育单位
.gov --//政府单位
.mil --//军事单位
.org --//组织、机构
.net --//网络、通信
`随着发展除了上6大类别之外,还有`
.asia
.info
.job

地区顶级层域名(Country Code TLDs,ccTLD
.CN
.UK
.JP

此外,由于DNS服务器有限,为了让某些国家也能够自己的顶级域名,就有了所谓的ccTLD。这么一来没有DNS服务器的国家就可以在自己的国家局域网下进行申请注册domain name,就不需要到再到上层ISP去申请域名的授权。

DNS域名解析过程

【Linux笔记】-----DNS服务器,DNS系统原理总结详解_第3张图片
通常查询过程常被分为:迭代查询过程、递归查询过程2种。
细分的话(1、8)可以分为递归查询,(2~7)整体的过程可以分为迭代查询
我是把这整个过程理解为分层查询的,这样比较方便理解一些。

DNS使用的 port 端口、区别

UDP、TCP port 53
一般DNS是使用UDP这个较快的数据传输协议进行查询(域内),但是本地DNS数据库内没有www.csdn.net缓存信息时,就会启用TCP通过TCP port 53 向外进行再次查询(域间)。

区域查询权

DNS系统记录的信息非常多,但最主要的是2个标志信息:记录服务器的标志NS(NameServer)和主机名对应IP标志A(Address)
能让自己主机名对应IP(FQDN)可以让他人查询到:
必须上级DNS授权区域查询权,可以自己设置DNS服务器;
直接让上级DNS服务器给帮设置主机名对应IP(域名代管)。

要找到你的主机名对应的IP还需要通过自己的上一层DNS服务器的记录才行,主机名字经过上级合法的DNS服务器设置,在拥有区域查询权之后,就可以在Internet上被查询到,并且所有的主机名信息以自己为准,与上级DNS无关。
查询失败问题:
由于每次的查询结果DNS服务器会将查询结果记录到高速缓存区,当主机名与对应IP修改了之后,由于缓存记录的时间限制(通常为10min~3day),这时系统可能会回报一个旧的IP。此外,自己的DNS服务传说中的宕机了(因为一般都有备份,这时是随机查询其中某一台DNS服务器的),ISP上是就查询不到IP的;还有就是数据库的错误配置问题导致,有没有加dns.xxxxx.com的记录,还有dns.xxxx.com所记录的IP与godaddy的是否一致等。

DNS数据库的记录:正解、反解、zone域

从主机名解析到IP是流程:正解
从IP反解析到主机名的流程:反解
不管正解还是反解,每个域的记录就是一个区域(zone)

正解zone常见的几种标志:
SOA:开始验证(Start of Authority)的缩写,记录制定区域的起始点。它所包含的信息有区域名、区域管理员电子邮件地址,以及知识辅DNS服务器如何更新区域数据文件的设置等。
NS:名称服务器(Name Server)的缩写,记录制定负责给制定区域的名称服务器。
A:地址(Address)的缩写,记录指定标准主机名的别名。
CNAME:(规范名称)记录域别名
MX:邮件交换器,记录列出了负责接收发到域中的电子邮件主机。
AAAA -----(IPV6 地址记录) 资源记录将主机名映射到ipv6地址。

反解析zone除了服务器必备的NS和SOA之外,最重要的是
PTR:指向(Pointer)的缩写,将IP映射到主机名。

DNS数据库的类型:hint、Master/Slave架构

当DNS服务器在自己数据库找不到所需的信息时,就会去向.(root)询问,所以就得要有记录.(root)在哪里的zone才行,那么记录.(root)的zone的类型就被我们成为hint类型,这是几乎每个DNS服务器都要知道的一个zone。

Master】 类型的DNS数据库里面存放主机名相关信息,需要管理员写入,并且重启DNS服务,数据库内容才合法生效。
Slave】 在有多台DNS服务器的情况下,必须存在一台为Master数据库类型,其他为Slave类型。

Master/Slave数据库的同步:
用户要求增删改数据时,管理员在Master数据库信息进行操作,Slave类型数据库要保持与Master一致,但Slave只需向Master同步数据库信息。更新同步的方式有两种:
1、Master主动告知:加入管理员在Master端修改了数据库信息,重启DNS服务后,Master会告知Slave来更新数据库。
2、由Slave主动提出请求:Slave会定时向Master查看数据库的序号(每次修改变动数据库信息,序号都会相应变大),当发现序号比自己的序号大(每次同步数据库信息,Slave也会同步序号),那么Slave就会开始请求同步。

你可能感兴趣的:(个人笔记)