图解 DNS 域名解析与负载均衡

图解 DNS 域名解析与负载均衡,第1张

在 DNS 查询 篇中,主要是根据阮一峰老师的文章所做的学习记录。讲述了通过命令 dig 来跟踪域名的查询过程,也提到了 DNS 服务器的层级结构、DNS 记录、DNS 缓存等。整体都是文字叙述,读起来会稍微有些累。这篇会通过图示来进一步简化 DNS 的解析过程,并会提到 DNS 的另一项重要作用, 负载均衡 。

首先我们来了解一下 DNS 服务器。主要有三种类型的 DNS 服务器:

DNS 服务器的层级是树状结构,如下图所示:

假设我们需要在浏览器上访问 >域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。

我们都知道,IP地址是由32位的二进制数字组成的。用户与因特网上某台主机通信时,显然不愿意使用很难记忆的长达32位的二进制主机地址。即使是点分十进制IP地址也并不太容易记忆。相反,大家愿意使用比较容易记忆的主机名字。但是,机器在处理IP数据报时,并不是使用域名而是使用IP地址。这是因为IP地址长度固定,而域名的长度不固定,机器处理起来比较困难。

因为因特网规模很大,所以整个因特网只使用一个域名服务器是不可行的。因此,早在1983年因特网开始采用层次树状结构的命名方法,并使用分布式的域名系统DNS。并采用客户服务器方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。

域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。

域名到IP地址的解析过程的要点如下:当某一个应用需要把主机名解析为IP地址时,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用程序获得目的主机的IP地址后即可进行通信。

若本地域名服务器不能回答该请求,则此域名服务器就暂时称为DNS的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。此过程在后面作进一步讨论。

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。

从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开。

这是中央电视台用于手法电子邮件的计算机的域名,它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。

DNS规定,域名中的标号都有英文和数字组成,每一个标号不超过63个字符(为了记忆方便,一般不会超过12个字符),也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的字符写在最右边。由多个标号组成的完整域名总共不超过255个字符。DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。

域名只是逻辑概念,并不代表计算机所在的物理地点。据2006年12月统计,现在顶级域名TLD(Top Level Domain)已有265个,分为三大类:

如果采用上述的树状结构,每一个节点都采用一个域名服务器,这样会使得域名服务器的数量太多,使域名服务器系统的运行效率降低。所以在DNS中,采用划分区的方法来解决。

一个服务器所负责管辖(或有权限)的范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机到域名IP地址的映射。总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。区 <= 域。

下图是区的不同划分方法的举例。假定abc公司有下属部门x和y,部门x下面有分三个分布们u,v,w,而y下面还有下属部门t。图a表示abc公司只设一个区abccom。这是,区abccom和域abccom指的是同一件事。但图b表示abc公司划分为两个区:abccom和yabccom。这两个区都隶属于域abccom,都各设置了相应的权限域名服务器。不难看出,区是域的子集。

下图是以上图b中abc公司划分的两个区为例,给出了DNS域名服务器树状结构图。这种DNS域名服务器树状结构图可以更准确地反映出DNS的分布式结构。图中的每一个域名服务器都能够部分域名到IP地址的解析。当某个DNS服务器不能进行域名到IP地址的转换时,它就会设法找因特网上别的域名服务器进行解析。

从下图可以看出,因特网上的DNS服务器也是按照层次安排的。每一个域名服务器只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为下面四种不同的类型。

根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。

权限域名服务器:负责一个“区”的域名服务器。

本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

注意:

下面举一个例子演示整个查询过程:

DNS服务器是指“域名解析服务器”,而域名就是我们通常所说的“网址”。在互联网中识别和寻找不同的计算机,实际上是需要知道该计算机的IP地址才能进行访问。比如220181384,这个IP就是百度的电信线路IP中的一个,电信用户在地址栏中输入这个IP地址就可以直接访问百度了,而每个网站都有一个或多个IP地址,如果客户在浏览网页时要输入这些IP地址来进行访问的话,无疑是有很大记忆难度的,而通常我们都是通过域名(网址)来对网站进行访问的。
一、DNS服务器的工作原理大致如下:
1、用户在浏览器里输入域名,例如>

三种DNS服务器及其工作模式。

DNS

并不是所有的DNS服务器都是平等创建的。了解三种不同类型的DNS服务器如何协同工作,分析域名可以帮助任何信息安全或IT专业人士。

DNS是一项核心互联网技术,它可以将人性化的域名转换成机器可用的IP地址,比如将域名转换成192021。DNS作为一个分布式数据库运行,不同类型的DNS服务器负责DNS名称空间的不同部分。

DNS服务器有三种类型:

DNS存根分析服务器。

DNS递归分析服务器。

权威DNS服务器。

存根分析器是通常在终端主机中找到的软件组件。当台式计算机或移动设备上运行的应用程序需要分析域名系统域名时,该组件生成域名系统查询。存根分析器发出的域名系统查询通常发送到域名系统递归分析器。分析程序将根据需要进行尽可能多的查询,以获得对原始查询的响应,然后将响应发送回存根分析程序。

该递归解析器可以驻留在家庭路由器中,由互联网服务提供商托管或由第三方提供,例如8888谷歌的公共DNS递归解析器或CloudFlare的DNS服务为1111。

由于DNS作为分布式数据库运行,不同的服务器负责DNS名称空间的不同部分,在DNS方面具有权威性。

图2描述了一个想象中的DNS分析方案,其中应用程序使用所有三种类型的DNS服务器将域名域名分析为IPv4地址,也就是说,DNS地址资源记录。

如有帮助,敬请采纳,谢谢!

第一步,主机上的存根解析器将DNS查询发送到递归解析器。第二步,递归解析器将查询重新发送到根区域的DNS权威名称服务器之一。这权威名服务器没有对查询的反应,但是它可以为com区域提供权威名服务器的参考。因此,递归解析器将查询重新发送到com区域的权威名服务器。

这个过程一直进行到查询最终重新发送到域名区域的权威名称服务器。该服务器可以提供原始查询答案——域名的IP地址是什么?最后,在步骤8中,该响应被发送到存根分析器。

值得注意的是,所有这些DNS信息都是明输的,恶意参与者可能会监控用户的因特网活动。任何管理DNS服务器的人都应该知道如何解决DNS隐私问题,以及如何缓解这些威胁。

如有帮助,敬请采纳,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10312472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存