一、什么是DNS
    DNS全称为Domain Name System,即域名系统,其作用就是将我们经常使用的“网址”解析为IP地址。
    在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与主机名的转换问题。
    
早期由于网络上的主机数量有限,主机名和IP的解析借助于hosts文件即可完成,Linux中此文件一般存放路径为/etc/hosts,在此文件中手
动记录每个主机名与其IP的对应关系;但hosts文件的内容不能自动更新,一旦主机名或IP地址发生变化,需要手动对每一台主机进行更新。
    随着互联网的发展,网络上可供人们访问的网站越来越多,hosts文件已经不能满足需求;为了解决此问题,伯克利大学研究出了一套系统,被称为BIND(Berkeley Internet Name Domain),也就是现在流行的DNS。
    DNS利用树形目录结构,将主机名的管理分配给不同的层级,这样可以实现更加快速的完成主机名的查找,修改主机名解析时也更加方便。
二、相关概念
    1、域
        TLD:Top Level Domain (顶级域名)
 组织域:.com, .org, .net, .edu,.gov,.mil,.cc,…
 国家域:.cn, .us, .tw, .iq,…
 反向域: .in-addr-arpa

上面提到过,DNS采用分级的授权管理机制,其结构如下所示:

根域与一级域由IANA直接管理。
    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)
 有类型的概念;用于此记录解析的属性。
         SOA:Start of Authority,起始授权记录,一个区域文件只能有一个。
         NS:Name Server,可以有多个。
         MX:Mail eXchange,邮件交换器。标明域内的邮件服务器,MX记录有优先级属性(0-99);数字越小,优先级越高。
         A:FQDNàIP,专用于正向解析库。
         PTR:IPàFQDN,专用于反向解析库。
         AAAA:FQDNàIPv6,专用于正向解析库。
         CNAME:Canonical Name,正式名称。
    解析库文件同步的过程:区域传送(单方向传送)
            完全区域传送:axfr
                将整个区域传送到各服务器。
            增量区域传送:ixfr
                只将区域有改动的记录传送到各服务器。
四、DNS的查询过程
    DNS采用两种查询机制:递归和迭代。

客户端向DNS服务器发起查询请求,DNS服务器搜索本地解析库没有结果,于是向根域发起查询请求,根域告诉DNS服务器.com服务器上有它需要的
资源,DNS服务器又向.com服务器发起查询请求,结果被告知.google.com服务器上有它想要的结果,最后终于在.google.com服务器
上找到了解析记录,并返回给了客户端。
    在上面的查询过程中,客户端只发起了一次请求,并得到了最后的结果,这种查询方式被称为递归。
    而DNS服务器在查询过程中不停的发起请求,直到找到想要的结果,这种查询方式被称为迭代。
    这就好比你想知道某日本微电影女星的健康状况,你去问了小A,虽然小A也不
知道,但他好面子想表现,于是他向小B咨询,小B让他问问小C,小C让他利用翻墙软件去日本的网站上去看看,最后终于知道了答案并将告诉了你,在这个求知
过程中你向小A发起的询问就是递归的,对于你来说是最省心,而对于小A来说是比较悲催的;小A的发起查询就是迭代的,对于小A来说是比较辛苦的,但对于小
B、小C来说是基本上没什么工作量的。
    注意:根不会为任何请求递归。
    DNS服务器并不需要在客户端每次发起请求时都执行迭代查询,DNS服务器会将之前的查询结果在本地存储一份,如果客户端再次请求此资源,可以马上做出响应,这个存储空间称为本地DNS缓存。
    另外我们可能还经常会听到两个概念权威DNS服务器和非权威应答。
    权威DNS服务器说的容易理解一点,就是如果本地DNS的配置文件中写明了FQDN与IP的对应关系的,并授权管理这个域时,那么就称这台DNS服务器是该域的权威DNS服务器。
    客户端得到的DNS查询结果是从本地DNS缓存中获得的,那么称这个解析结果为非权威应答;非权威应答的结果不一定是正确的,有可能权威DNS服务器上记录已修改,而缓存中还是未更新的记录。
五、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服务器就是转发服务器。

dns服务器理论基础知识相关推荐

  1. DNS 基础知识及 Linux DNS 服务器操作知识

    一.DNS域名结构与域名服务器 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址.域名系统其实就是名字系统.为什么不叫&quo ...

  2. 第12节 DNS服务器部署与安全

    DNS部署与安全 1 概述 1.1 相关概念 1.2 域名结构--树形结构 2 DNS解析分类及解析过程 2.1 按查询方式分类: 2.2 按查询的内容分类 2.3 用户机的DNS解析详细过程 2.4 ...

  3. Linux-dns基础知识和BIND的简单配置-3(主从DNS服务器及转发)

    rndc的相关知识: 1.什么是rndc: Remote Name Domain Controller,远程名称域控制器 rndc 通过一个 TCP 连接与名字服务器通信,发送经过数字签名认证的命令. ...

  4. 新网域名解析指向自己的dns服务器,DNS修改和域名解析的一些小知识

    关于DNS修改和域名解析,相信大家都不是十分了解.下面新网小编就为大家介绍一些关于这二者的知识,希望可以帮助到大家. DNS修改和域名解析的含义完全不同: 1.DNS修改是指域名解析服务器(Domai ...

  5. 如何防护服务器安全?DNS服务器知识讲解

    服务器是信息社会不可缺少的设备,任何网络服务都需要通过服务器提供服务.为增进大家对服务器的认识,本文将对服务器的安全防护以及DNS服务器的相关知识予以介绍.如果你对服务器具有兴趣,不妨和小编一起继续往 ...

  6. 网络知识入门,探讨DNS服务器在网页请求中的作用(二)

    上一篇文章讲到网络请求是基于http协议传输的,消息请求包含了"对什么"和"做什么操作",于是一个网页请求就这么发送出去了.但是在发送消息之前,我们还需要对域名 ...

  7. Linux 基础知识(十)DNS服务器主从复制,子域授权

    DNS域名系统是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP和UDP端口53 DNS服务器主从复制,子域授权 主服务器:10.120 ...

  8. 网络中的最基本的服务器DNS的相关知识的介绍

    DNS服务器的相关介绍 序言: DNS都已经讲完了,我才开始写DNS服务的开篇,实在是不好意思,究其原因前几天真是坑爹啊,系统重装加之自己感冒,DNS服务又不是很懂,一直不敢冒然发表文章,现在终于给补 ...

  9. web浏览器 DNS服务器 web服务器与网站相关知识

    万维网 万维网英文全称 World Wide Web(简写:www,重点词是Web),也叫做:Web.WWW.W3,常称作Web 万维网是是无数个网络站点和网页的集合,它们在一起构成了因特网最主要的部 ...

最新文章

  1. html中简单轮播图实现原理,常见轮播效果及其实现原理
  2. 爬虫实战:嗅事百科段子多页爬取
  3. 网络模型和TCP协议族
  4. LinkedList剖析
  5. 联想x250为什么这么贵_外媒:联想笔记本thinkpadX250如何联想thinkpadX250价格及评价...
  6. opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf
  7. 更改eclipse中jsp默认编码格式为UTF-8
  8. java的jtextarea_java中怎么在JTextArea中添加图片?
  9. 写于Silverlight整装待发之际【瞿杰】
  10. 拓端tecdat|R语言确定聚类的最佳簇数:3种聚类优化方法
  11. 实现atoi函数(C++实现)
  12. 用逻辑门设计一个CPU
  13. 简易的机器人聊天_如何制作一个简单的聊天机器人
  14. SQL中开窗函数first_value() 和 last_value()
  15. uplift模型实战代码
  16. 红米手机android在哪里,红米手机usb调试在哪【图文】
  17. ipv6地址概述——了解ipv6与ipv4不同
  18. 隐藏和显示Lion系统文件夹
  19. 卡巴斯基杀毒软件被曝出用户上网痕迹泄露漏洞
  20. 十年时光 离开的谷歌给中国互联网界留下了这些人

热门文章

  1. PyTorch 公开发布五周年;NGINX 之父 Igor Sysoev 从 F5 离职;Openfire 4.7.0 发布 | 开源日报
  2. 了解Nape 2d物理引擎 第一天
  3. 精品绿色便携软件 录制操作工具
  4. BootstrapTable中文文档
  5. 笔算开2次方根、3次方根详细教程
  6. uniapp h5 海报
  7. [ElementPlus] 多标签页切换
  8. python中pd series_pd.Series的基本操作
  9. 7z001怎么解压在安卓手机上面_安卓手机怎么可以远程阿里云服务器桌面
  10. 从编程小白到入门码农的五个途径