DNS服务器所提供的服务是完成将主机名或域名转换为IP地址的工作。为什么需要将主机名或域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名或域名。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的唯一的IP地址来完成的,这样就需要在用户需要容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地址解析的重要角色。

1. DNS服务

DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP地址信息。

用户在使用网络服务时喜欢在浏览器的地址栏中输入使用主机名和域名组成的名称,如computer.myblog.com,因为这样的名称更容易被用户记住。但是,计算机在网络上是使用IP地址来通信的。为了能够实现网络计算机之间通信,DNS服务器所提供的服务就是将用户所使用的计算机或服务名称映射为IP地址。

2. DNS服务的工作过程

     当DNS客户机需要查询程序中使用的名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。

1> 指定的DNS域名,表示为完整合格的域名(FQDN);

2> 指定的查询类型,它可以根据类型指定资源记录,或作为查询操作的专门类型;

3> DNS域名的指定类别。

对于DNS服务器,它始终应指定为Internet类别。例如,指定的名称可以是计算机的完全合格的域名,如host.hello.myblog.com,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS查询当做客户机向服务器提出的两部分问题,如“对于名为host.hello.myblog.com的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的IP地址。

DNS查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其它DNS服务器,以完全解析该名称,并随后将应答返回至客户机,这个过程称为递归。

另外,客户机自已也可以尝试联系其它的DNS服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。

总之,DNS的查询过程按两部分进行:首先,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析;其次,不能就地解析查询时,可根据需要查询的DNS服务器来解析名称,如下图:

如查询过程的初始步骤所示,DNS域名由本机的程序使用。该请求随后传送至DNS客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地解析程序的缓存可以从以下2个可能的来源获取名称信息:

1> 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS客户服务启动时预先加载到缓存中;

2> 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。

如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询DNS服务器来解析名称。

接下来查询DNS服务器,当本地的DNS不能就地解析查询时,可根据需要查询DNS服务器来解析名称,如图所示。客户机查询首选DNS服务器。在此过程中使用的实际服务器是从全局列表中选择的。当DNS服务器接收到查询时,首先检查它能否根据在服务器就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。

如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可以使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。

如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程继续进行,使用递归来完全解析名称,包括来自其它DNS服务器的支持,以帮助解析名称。在默认情况下,DNS客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS服务器的默认匹配支持递归过程。

为了使DNS服务器正确执行,首先需要在DNS域名空间内存放其它DNS服务器的一些有用的联系信息。该信息以根线索的形式提供,它是记录初步资源的一个列表,可用来定位一些DNS服务器,这些服务器对DNS域名空间树的根具有绝对控制权。根服务器对DNS域名空间树中的根域和顶级域具有绝对控制权。DNS服务器可通过使用根线索搜索根服务器来完成递归过程。

例如,当客户机查询单个DNS服务器时,考虑使用递归过程来定位名称host.example.microsoft.com。此过程在DNS服务器和客户机首次启动,并且没有可帮助解析名称查询的当地缓存信息时进行。

首先,首选服务器分析全名并确定对于顶级域com具有绝对控制权的服务器的位置。随后,对com DNS服务器使用迭代查询,以获取microsoft.com服务器的参考信息。然后参考性应答从microsoft.com服务器传送到example.microsoft.com的DNS服务器。最后,与服务器example.microsoft.com联系上。因为该服务器包括作为其配置区域一部分的查询名称,所以,它向启动递归的源服务器作出权威性的应答。当源服务器接收到表明已获得对请求查询的权威性应答的响应时,它将此应答转发给发出请求的客户机,这样,递归查询过程就完成了。

DNS工作原理及其过程相关推荐

  1. DNS工作原理及过程讲解

    0x00前言 想必大家都知道当今上网浏览web页面或访问其他服务一般都是用域名来访问的,这是由于IP地址不容易记住而且使用不方便,这时候科学家们就发明了域名,从而衍生出了各种大大小小的域名解析服务器( ...

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

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

  3. 计算机dns的工作原理,解析DNS工作原理

    DNS是互连网核心协议之一,不管是上网浏览,还是编程开发,都需要了解一点它的知识.本文就来学习DNS工作原理,希望您读完本文也对它有所了解. DNS(Domain Name System)是" ...

  4. ccd视觉定位教程_ccd视觉定位系统工作原理及过程

    ccd视觉定位系统工作原理及过程 ccd视觉定位由于数字图像处理和计算机视觉技术的迅速发展,越来越多的研究者采用摄像机作为全自主用移动机器人的感知传感器.这主要是因为原来的超声或红外传感器感知信息量有 ...

  5. DNS工作原理及解析过程

    1.何为DNS? DNS( Domain Name System)是"域名系统"的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务 ...

  6. 域名服务器(DNS)工作原理

    域名服务器工作原理 引言 只要您在互联网上发送电子邮件或浏览Web,您就会用到域名服务器,而您自己可能都不知道您在使用它们.域名服务器(即DNS)是互联网的相当重要且完全隐藏的部分,并且很神奇.域名服 ...

  7. Servlet学习笔记-Servlet工作原理和过程

    1.前言   Java Servlet技术简称Servlet技术,是Java开发Web应用的底层技术.由Sun公司于1996年发布,用来代替CGI--当时生成Web动态内容的主流技术.官方文档对Ser ...

  8. DHCP的工作原理及过程

    本篇博客是对DHCP的一些原理介绍,具体实验过程请查询 基于linux下的DHCP实验 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工 ...

  9. DNS关键词:DNS工作原理、A记录、CNAME记录、MX记录、PTR记录、SOA记录、NS记录

    一.DNS基础:什么是DNS?DNS域名称空间的组织方式?DNS服务的工作过程. http://369369.blog.51cto.com/319630/812889 二.DNS关键词:A记录.CNA ...

最新文章

  1. mysql5.6下主主复制的配置实现
  2. Docker命令基础 简洁版本
  3. 20 岁发表 SCI 的学霸,梦想用算法改变世界
  4. iOS之深入解析内存管理散列表SideTables和弱引用表weak_table的底层原理
  5. 基于java的餐饮管理系统_基于java的餐饮管理系统
  6. 浅谈五大Python Web框架
  7. linux下enum类型占几个字节,enum大小问题
  8. iOS中UINavigationController控制器使用详解
  9. Android Camera 运行流程
  10. ICLR 2022 论文列表公布,接收率高达 32%
  11. Alkman Euclidean Sequencer PRO Mac - 复合节奏音序器
  12. linux删除文件、文件夹操作
  13. 谦虚的向大家问个技术问题,树型结构的排序问题
  14. 51单片机——LED1357亮,2468闪
  15. 说一说 oneway 吧,了解过这个修饰符作用吗?原理是什么?怎么理解单向调用?
  16. 小鹤双拼鹤形简易入门-by小鹤双拼输入法QQ群用户-弧
  17. 为什么我感觉永远满足不了公司的要求?
  18. Kafka Message Dilivery Semantics
  19. 面试 | 什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?
  20. 阿尔法蛋机器人tf卡_阿尔法蛋机器人哪款好适合几岁孩子,超能蛋早教机真实效果评测(价格309元)...

热门文章

  1. Java导出Excel文档(poi),并上传到腾讯云对象存储服务器
  2. iOS 框架模式(简述 MVC,MVP,MVVM 和 VIPER CDD)
  3. 手把手教你用深度学习做物体检测(四):模型使用
  4. Uncertainty Modeling and Optimization-不确定性建模与优化-理论篇(高速更新中)
  5. PDF怎么转换成Excel?转后一页一个子表怎么合并?
  6. WebStrom中一些有趣的工具与常用快捷键
  7. 牛客多校第十场 Han Xin and His Troops(扩展中国剩余)
  8. windows编程之WM_MENUSELECT消息
  9. 图像基本运算--图像合并
  10. 猜单词游戏更新啦 (0.88.2及1.88.3)