DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名和域名。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地址解析的重要角色。接下来我就带您走入DNS的世界,详细了解DNS服务器的工作原理及其过程,希望能够给各位朋友带来一些帮助。
了解DNS服务
DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP地址信息。
用户在使用网络服务时喜欢在浏览器的地址栏中输入使用主机名和域名组成的名称,如computer.bookshop.com,因为,这样的名称更容易被用户记住。但是,计算机在网络上是使用IP地址来通信的。为了能够实现网络计算机之间通信,DNS服务器所提供的服务就是将用户所使用的计算机或服务名称映射为IP地址。
DNS服务的工作过程
当DNS客户机需要查询程序中使用的名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
● 指定的DNS域名,表示为完全合格的域名(FQDN) 。
● 指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。
● DNS域名的指定类别。
对于DNS服务器,它始终应指定为Internet类别。例如,指定的名称可以是计算机的完全合格的域名,如hosta.hello.company.com,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS查询当作客户机向服务器提出的两部分问题,如“对于名为 hostname.hello.company.com的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的IP地址。
DNS查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他DNS服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。
另外,客户机自己也可尝试联系其他的DNS服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。
总之,DNS的查询过程按两部分进行:首选,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析;其次,不能就地解析查询时,可根据需要查询DNS服务器来解析名称。DNS查询的过程如下图所示。
图:DNS的查询过程
如查询过程的初始步骤所示,DNS域名由本机的程序使用。该请求随后传送至DNS客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地解析程序的缓存可从以下2个可能的来源获取名称信息:
● 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS客户服务启动时预先加载到缓存中。
● 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。
如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询DNS服务器来解析名称。
接下来查询DNS服务器,当本地的DNS不能就地解析查询时,可根据需要查询DNS服务器来解析名称。如图4-1所示,客户机将查询首选 DNS服务器。在此过程中使用的实际服务器是从全局列表中选择的。当DNS服务器接收到查询时,首先检查它能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。
如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。
如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他DNS服务器的支持,以帮助解析名称。在默认情况下,DNS客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS服务器的默认配置支持递归过程,如下图所示。
图4-2:递归解析过程
为了使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联系上。因为该服务器包括作为其配置区域一部分的查询名称,所以,它向启动递归的源服务器作出权威性的应答。当源服务器接收到表明已获得对请求查询的权威性应答的响应时,它将此应答转发给发出请求的客户机,这样,递归查询过程就完成了。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
数据中心网络:渴望简单化
随着业务需求的改变,现代数据中心看起来有所不同。曾经相对简单的数据中心现在已成为应用程序运行的统一基础架构平台。数据中心作为一个整体运行;它成为了应用程序交付的引擎……
-
如何看待数据中心网络架构变化?
在不太遥远的过去,数据中心内的流量转发是简单的。一个IP地址将与另一个IP地址实现通讯。这些地址属于端点——裸金属主机或虚拟机与其他裸露的金属主机或虚拟机实现通讯……
-
得有多勇敢才能虚拟IT基础架构服务?
多数IT企业已经将不太重要的服务进行了虚拟,而一些比较关键的基础架构服务仍然在物理主机上。是时候对这些服务进行虚拟了?
-
Windows Server 2003 DNS迁移注意事项
如果你要将运行Windows Server 2003的DNS服务器迁移到运行Windows Server 2012 R2的时候,你需要做什么?