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. 数据科学家人才危机现象,是FOMO还是Silver?

    数据科学家人才危机现象,是FOMO还是Silver? 数据科学家的人才短缺和薪水高涨已经达到了顶板,未来还会持续下去吗? 在过去几年中,高级分析(#大数据#分析)空间一直经历着严重的FOMO(害怕错过 ...

  2. 中国MOOC_零基础学Java语言_期末考试的编程题_1二进制的前导的零

    期末考试的编程题 返回   这是期末考试的编程题,在60分钟内,你可以多次提交,直到正确为止. 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止 ...

  3. 【MM系列】SAP MM模块-关于批次特性的查看和获取

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-关于批次特性的查看 ...

  4. bzoj3028食物 关于(1+x+x2+x3+x4+...)^k的第i项系数就是c(i+k−1,k−1)的证明

    关于(1+x+x2+x3+x4+...)^k的第i项系数就是c(i+k−1,k−1)的证明对于第i项,假设为5x^5=x^0*x^5x^5=x^1*x^4x^5=x^2*x^3........也就是说 ...

  5. 惠普IPMI登陆不上

    [问题描述] IPMI登陆不上(HP),点击无反应. 浏览器使用IE,java版本使用32位1.7版本. [问题原因] 保护此网站的证书使用弱加密,即 SHA1.此网站应该在 SHA1 被禁用之前将该 ...

  6. get与post请求的区别 (面试会问)

    get和post请求是HTTP与服务器交互方式,也就是通常所说的风别对服务器资源的增删改查 1. post是修改数据   get是获得数据 GET在浏览器回退时是无害的,而POST会再次提交请求.(面 ...

  7. java基础笔记(8)

    java的多线程 进程:程序的执行过程,持有内存资源 线程:是系统的最小执行单元,共享进程的资源 线程之间可以互斥.也可以同步: Thraed类: 通过一个案例来了解线程Thread类和Runnabl ...

  8. 使用git命令删除branch

    使用git删除server上的一个branch注意事项: 1. 使用命令:git push origin –delete 分支名 (分支名称需要去掉origin,如果有),   git branch ...

  9. 数据库与前端与Django目录

    数据库 [怀心抱素]初步认识数据库 [怀心抱素]mysql的表操作 [怀心抱素]mysql记录操作 [怀心抱素]mysql索引与补充 [怀心抱素]python操作mysql 前端 [怀心抱素]HTML ...

  10. Let's encrypt 通配域名DNS验证方式的证书自动更新

    通配符域名不同于一般的单域名证书. 为了解决之前一篇短文中通配域名通过DNS方式验证的证书自动更新问题. 需要使用到第三方域名提供商的API, 用于自动添加域名的TXT记录, 实现自动验证并完成证书更 ...