文章目录

  • 1. DNS作用
  • 2 DNS 三个组成部分:
    • 2.1 客户端
    • 2.2Local DNS
    • 2.3 权威域 DNS 服务器
  • 3 工作过程

1. DNS作用

DNS 分为 Client 和 Server,Client 扮演发问的角色,也就是问 Server 一个 Domain Name,而 Server 必须要回答此 Domain Name 的真正 IP 地址,DNS 是怎么来作名称解析的?

2 DNS 三个组成部分:

2.1 客户端

客户端:也就是真正的用户使用终端,对于终端用户而言,复杂的 IP 地址是很难记忆的,因此采用 DNS 解析,可以只需要记住简单好用的域名即可。另外,当应用的 IP 地址调整的时候,客户端也无需知道新的 IP 地址,只需要访问统一的域名。

2.2Local DNS

Local DNS: Local DNS 通常是预先在客户端配置好的 DNS 服务器地址,或者是在用户用
ADSL 等网络服务,通过 DHCP 协议分配的 DNS 服务器地址。Local DNS 是直接面向客户端提
供 DNS 解析服务的。

2.3 权威域 DNS 服务器

权威域 DNS 服务器:权威域 DNS 服务器上配置的域名和 IP 地址的对应关系,提供给 LocalDNS 或者客户端直接查询。当应用的 IP 地址调整的时候,只需要在权威域 DNS 服务器上更改域名和 IP 地址的对应,则所有的客户端或者 Local DNS 查询时就会得到新的对应记录。DNS 服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。

3 工作过程

在每一个 Local DNS 服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该 Local DNS 服务器所查询出来的名称及相对的 IP 地址记录在快取缓存区中,这样当下一次还有另外一个客户端到 Local DNS 服务器上去查询相同的名称时,服务器就不用在到权威域名服务器上去寻找,而直接可以从缓存区中找到该笔名称记录,传回给客户端,加速客户端对名称查询的速度。例如:当 DNS 客户端向指定的 Local DNS 服务器查询互联网上的某一台主机名称,Local DNS服务器会在缓存中找寻用户所指定的名称如果找到该笔名称记录后,则会直接将所对应到的域名和 IP 地址对应记录传回给客户端 ,如果 Local DNS 服务器在本地缓存中找不到对应记录的时候,则会向权威域名服务器查询所要的名称。

我们举例说明,假设我们要查询互联网上的一个名称为 www.adntech.com,以下为名称
解析过程的每一步骤。

  1. 在 DNS 的客户端浏览器的地址栏中输入 http://www.adntech.com,则在客户端浏览器本地的 DNS
    客户端首先向本机已经配置或者分配好的 DNS 服务器发起 www.adntech.com的域名解析请求,这里客户端配置的 DNS 服务器我们通常称为 Local DNS 服务器。
  2. 而 Local DNS 服务器先查询是否在本地的缓存中有有效的 www.adntech.com 的
    DNS记录,如果发现有在有效期之内的对应 DNS 记录,则直接返回给 Local DNS 解析的结果。
  3. 查询后如果发现本地缓存中没有这条记录,则直接从本机预先配置好的根 DNS 服务器 IP 地址列表中向某一台根 DNS
    服务器发起请求,查询 www.adntech.com。
  4. 在根 DNS 服务器中,记录了每个顶级域分别是由哪些 DNS 服务器负责,所以它会向发起请求的 Local DNS 服务器返回.com
    域的权威 DNS 服务器记录。
  5. Local DNS 再向.com 的权威 DNS 服务器发起 www.adntech.com 的域名解析请求,在.com 权威 DNS
    服务器向 Local DNS 返回 adntech.com 的权威域名服务器记录对应的 IP 地 址。
  6. Local DNS 再向 adntech.com 的权威域名服务器发起 www.adntech.com 的域名解析请求。这时
    adntech.com 的权威域名服务器向 Local DNS 返回 www.adntech.com 域名所对应的IP 地址。
  7. 客户端的本地 DNS 客户端将解析结果返回给浏览器,则浏览器向 www.adntech.com对应的 IP 地址的 80 端口发起 HTTP GET 指令,Web 服务器则返回相应的请求内容

每一个域名解析记录都有对应的 TTL 值,根据这个 TTL 值所定义的时间,客户端和 LocalDNS 都将会在本地缓存解析得到的结果直到 TTL 值到达,然后再发起新的 DNS 查询请求。对于客户端而言,在 TTL 的有效时间内,如果浏览器或者本机的其他应用程序需要访问这个域名的时候,都无需再进行查询动作,而直接从本地缓存内取得解析结果然后连接对应的 IP地址。对于 Local DNS 而言,在 TTL 有效时间内,任何一个客户端请求,都将直接返回本地缓存的记录,在超过缓存时间后,则重复进行前面的动作,解析域名所对应的 IP 地址。

DNS作用及工作原理相关推荐

  1. selenium之作用和工作原理

    selenium之作用和工作原理 selenium的作用和工作原理 利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏 ...

  2. 工业以太网交换机的作用和工作原理详解

    工业以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网.工业以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式.交换机能同时连通许多对端口,使每一 ...

  3. mysql中主从复制包括什么意思_Mysql主从复制作用和工作原理

    一.什么是主从复制 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库.在最常用的mysql数据库中,支持单项.异步赋值.在赋值过程中,一个服务器充 ...

  4. 简述网卡的作用和工作原理_发电机调节器的作用及工作原理

    发电机由发动带动,其转速则是由发动机转速所决定.工作时,发动机转速变化范围很大,这势必对发电机输出电压的大小有很大影响,为使发电机电压 在不同的转速下均能保持一定,且能随发电机转速的变化而自动调节,使 ...

  5. 串口服务器的作用和工作原理是什么

    要了解串口服务器的作用以及工作原理,首先我们就要知道什么是串口服务器,简单来说串口服务器就是一种网络通讯接口转换设备,它可以将我们一些常见的RS232.RS485.RS422串口转换成TCP/IP网络 ...

  6. 滑环电刷作用及工作原理相关介绍

    随着滑环电刷的应用领域越来越广泛,需求量越来越大的今天,如果各位还不知道滑环电刷作用就真的是跟不上工业发展了.下面默孚龙的专家们就来给大家科普一下什么是滑环电刷. 滑环电刷 绕线型异步机虽然在起动和调 ...

  7. 光耦的作用及工作原理是什么

    光耦的作用及工作原理是什么 介绍 光耦指的是光耦合器,在数字电路上获得广泛的应用,那么光耦的作用及工作原理是什么呢?这就来了解下吧. 什么是光耦 光耦合器(opticalcoupler equipme ...

  8. 通信网络中DNS服务器的位置在哪,DNS服务器的工作原理及其过程

    DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作.为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便 ...

  9. TLB的作用及工作原理

    TLB的作用及工作过程 以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令.数据需要访问两次内存:首先通过查询页表得 ...

最新文章

  1. Linux 服务器日志文件查找技巧精粹
  2. 小知识~LocalDB在IIS上如何成功配置
  3. C#导入Excel2010出现加载DLL失败或者类库未注册的问题,0x8002801D或者0x80029C4A .
  4. linux基本知识点学习
  5. 存储过程IN参数疑难问题解决方法【真正解决】
  6. KUKA 声明变量时的几点注意
  7. 2016 linux发行版排行_选择困难症必看!云服务器如何选择操作系统,Windows和Linux哪个更好?...
  8. hibernate select语句返回的类型
  9. Dubbo 注册中心 之 Zookeeper
  10. BootStrap中Affix控件的使用方法及如何保持布局的美观
  11. aop springboot 传入参数_springboot用aop做参数校验
  12. php创建表的返回值,php 判断table 是否存在 根据返回值继续下一步的操作
  13. 三次样条插值_2.6 三次样条插值
  14. bt磁力种子与php文件,使用Python实现BT种子和磁力链接的相互转换
  15. c语言编程汉诺塔问题,C语言解决汉诺塔问题
  16. Vue入门学习总结一:Vue定义
  17. facebook,twitter,pinterest的分享功能代码--js+html
  18. MATLAB有限元二维编程(三角单元)
  19. 钉钉企业邮箱smtp服务器
  20. 平面设计需要学习的软件

热门文章

  1. js获取最新的省市区地址
  2. rk键盘快捷键快捷键不一致_为什么其他键盘语言的键盘快捷键和可访问性很少起作用...
  3. MarkDown 基础教程
  4. 一、达梦数据库的安装
  5. 一维数组和二维数组的定义及用法
  6. [附源码]Node.js计算机毕业设计二手书交易软件设计与实现Express
  7. Oracle的 wm_concat 的排序问题,Oracle的 listagg 函数
  8. WPF实战之DataGrid设置行高
  9. Windows查看占用文件的进程
  10. source insight的查找功能