1.DNS的组成

DNS系统是为解析域名为IP地址而存在的,它是由域名空间、资源记录、名称服务器和解析器组成。

  • 域名空间是包含一个树状结构,用于存储资源记录的空间。
  • 资源记录是与域名相关的数据,如IP和域名的对应关系等。
  • 名称服务器适用于存储DNS区(zone)域名空间数据,并处理由解析器发过来的请求。
  • 解析器是用来发送域名解析请求并将结果返回给用户的程序。

2.   DNS之域名空间

DNS是以域名为索引的,域名是由一串用“.”分隔的字符组成的Internet上某一台计算机或计算机组的名称,如下图所示,域名的结构为一棵倒立的树,每个域名就是图中的一个分支,这棵逆向树就是域名空间。

“.”是树状结构中最顶级的域名,通称为“根”及每个域名都是由根开始索引的,所有的域名都属于根。

由根分支出的域名叫顶级域名,一般分为国家顶级域名和通用顶级域名。国家顶级域名如.cn、.us和.jp等,通过顶级域名如.com、.orq、.net和.edu等。

顶级域名下面是二级域名,通常我们只能注册二级域名,比如baidu.com

二级域名下面是三级域名,有时也可为服务器名称比如www。三级域名下面也可以分支为四级域名,最多分支127层,每层最多由63个字符组成,中间用“.”分隔。域名总长度不能超过255个字符,不区分大小写。

3.   DNS名称服务器

DNS名称服务器用于存储域名空间数据,并处理由解析器发送过来的请求。域名空间数据一般以zone划分,不同的zone分布式存储于不同的名称服务器中。Zone是域名空间逆向树中的每一个“·”也可以将一个域授权给其他组织进行管理,比如将music.baidu.com授权给baidu.com进行存储和管理。

通常DNS名称服务器都是一个整体服务,即提供区数据管理,有提供解析处理,为解决互联网域名解析高并发和性能问题,一般将DNS服务器从功能上分为三类:授权服务器、递归服务器、缓存服务器,分担不同的解析功能。

3.1 授权服务器

DNS授权也成为DNS权威,即一个DNS区域的维护者,一般授权服务器又称为主名称服务器和辅名称服务器,主名称服务器主要对区文件管理,辅名称服务器是主名称服务器的备份,同时也承担一部分的负载。搭建属于自己的DNS授权服务器进行区和域的管理,一般授权服务器均通过开源软件Bind进行搭建。

3.2 递归服务器

递归服务器主要用来接收并应答从DNS客户端或解析器发来的初始DNS查询,若本地没有查询的数据,则代替DNS客户端从根级发起迭代查询,直到查询到结果,并将结果返回给DNS客户端;同时对从其他权威服务器获取的域名IP进行缓存。一般递归服务器用于运营商。递归服务器一般称为Local DNS。

3.3 缓存服务器

缓存服务器是递归服务器的前置缓存部分,专门用来存储并缓存已请求过的请求数据,当用户查询相同域名信息时,则使用缓存服务器中的数据直接应答,加快DNS请求的应答速度,大大提升了网页打开的速度。

4.   DNS资源记录

资源记录是每个域用来存放与域名相关的数据,每个域名通过DNS解析得到的结果都是由资源记录提供的,当一个解析器向DNS查询一个域名时,他得到的其实是和这个域名相关的资源记录,因此资源记录是域名解析的最根本数据,每条资源记录都包括一个五元组,分别是域名、TTL、信息类型、资源记录类型、值五项。

4.1 域名

域名是查询的主关键字,即一个绝对的值。

4.2 TTL

TTL即生存周期,表示当前记录的生存周期为多长时间,一般指递归服务器从授权服务器拿到该条资源记录时的默认生存周期,默认600秒,600s后缓存到期,必须重新到授权服务器进行请求。

4.3 信息类型

对于Internet信息,该项值为IN,其他类型信息很少见。

4.4 资源类型

4.5 值

值可以是一个IP、域名、ASCII串,值的定义与资源记录类型关联。

5.   DNS解析器

DNS解析器一般为DNS客户端,用于发送DNS请求,并将结果返回给用户。通常情况下指电脑、手机、终端设备或者解析软件工具。

6.   DNS工作原理

·END·

攻城狮之路,路虽远,行则将至!

部分内容来自百度,如有侵权,请联系删除!

DNS域名解析系统的更多相关文章

  1. DNS域名解析系统_2

    部署DNS正向解析 主配置文件(/etc/named.conf): 用来定义bind服务程序的运行. 区域配置文件(/etc/named.rfc1912.zones): 用来保存域名和ip地址对应关系 ...

  2. DNS域名解析系统_1

    DNS服务概述: DNS的模式为C/S模式 DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与ip地址的解析服务. DNS是一个分布式数据库, ...

  3. 详解DNS域名解析系统(域名、域名服务器[根、顶级、授权/权限、本地]、域名解析过程[递归与迭代])

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105583806 学习课程:<2019王道考研计算机网络> 学习目的 ...

  4. TCP/IP之DNS域名解析系统

    DNS系统是一个分布式的数据库,当一个数据库发现自己并没有某查询所需要的数据的时候,它将把查询转发出去,而转发的目的地通常是根服务器,根服 务器从上至下层层转发查询,直到找到目标为止.DNS还有一个特 ...

  5. window下域名解析系统DNS诊断命令nslookup详解

    Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询A记录和CNAME(别名)记录,还会返回域名是否存在,其他的信息都是没有的.如果你需要对 ...

  6. 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题和DNS域名解析问题(图文详解)

    不多说,直接上干货! 问题情况描述如下: 普及知识:   /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf.  Ubun ...

  7. 域名解析系统DNS诊断命令nslookup详解【转】

    转自:http://www.renhaibo.com/archives/29.html Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询 ...

  8. DNS域名解析过程

    图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...

  9. DNS域名解析服务器

    域名解析服务器,靠它把你要访问的网址找到然后把信息送到你电脑上.DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主 ...

随机推荐

  1. SpringCloud:(一)服务注册与发现

    最近跟着方志明老师学习SpringCloud,博客地址如下: https://blog.csdn.net/forezp/article/details/81040925 自己也跟着撸了一遍,纸上得来终 ...

  2. 应用安全 - 工具 - 知道创宇 - CEYE检测平台

    DNS Query

  3. elementUI 分页bug解决

    在使用elementui的分页组件时,我发现当对表格数据进行删除时,而且是删除到该页最后一条数据时,当前页面currentPage并不能自动减1,也就是说,当前页currentPage只有你点击页码时 ...

  4. docker--docker 的web可视化管理工具

    12 docker 的web可视化管理工具 12.1 常用工具介绍 当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越 重要. Docker的图形化管理工具,提供状 ...

  5. C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别

    字符数组的长度计算:必须以终止符’\0'作为边界,但对字符数组赋值时,有两种方式: 1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'} ...

  6. [Python3] 004 字符串的基本使用

    目录 1. 字符串简介 1.1 作用 1.2 注意点 2. 使用方式 2.1 用引号括起来 少废话,上例子 2.2 单.双引号可以"轮换交替" 少废话,上例子 3. 转义字符 3. ...

  7. [Vim] 02 用 Windows 下的 gVim 假装 Linux 下的 Vim

    0. 前言 这应该是极简配置,"极简"就是字面意思 我安装的版本是 8.1.1 来看个素颜 1. 找到 _vimrc 文本 我装在 E:\Program Files (x86)\V ...

  8. 剑指Offer编程题(Java实现)——从尾到头打印链表

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解题思路 思路一:使用头插法 使用头插法可以得到一个逆序的链表.遍历链表,每次将所遍历节点插入到链表的头部. 头结点和第一个 ...

  9. Spark-Core RDD行动算子

    1.reduce(func) 通过func函数聚集RDD 中的所有元素,先聚合分区内数据,再聚合分区间数据. scala> val rdd1 = sc.parallelize(1 to 100) ...

  10. linux 获取目录中详细信息 -rw-r--r--详解

    -rw-r–r– 1 root root 1313 Sep 3 14:59 test.log详解 查询目录中的内容命令 ls [选项] [文件或目录] 选项: -a 显示所有文件.包括隐藏文件 -l ...