目录 1
**dns体系结构:dns系列之一 2
详解dns的常用记录(上):dns系列之二 13
详解dns的常用记录(下):dns系列之三 28
配置dns辅助服务器:dns系列之四 40
揭秘dns后台文件:dns系列之五 50
亲手缔造dns体系,创建dns私有根:dns系列之六 60
一负责根域的dns服务器 61
二负责com区域的dns服务器 66
三负责net区域的dns服务器 71
四负责的服务器 74
五负责的服务器 76
六私有根测试 78
dns是目前互联网上最不可或缺的服务器之一,每天我们在互联网上冲浪都需要dns的帮助。dns服务器能够为我们解析域名,定位电子邮件服务器,找到域中的域控制器……面对这么一个重要的服务器角色,我们有必要对它进行一番深入研究,本文尝试**一下dns的体系结构,从而让大家能更好地了解dns的原理。
dns的主要工作是域名解析,也就是把计算机名翻译成ip地址,这样我们就可以直接用易于联想记忆的计算机名来进行网络通讯而不用去记忆那些枯燥晦涩的ip地址了。现在我们给出一个问题,在dns出现之前,互联网上是如何进行计算机名称解析的?这个问题显然是有实际意义的,描述dns的rfc882和883出现在2024年,但2024年11月互联网就诞生了,难道在dns出现之前互联网的先驱们都是互相用ip地址进行通讯的?
当然不是,但早期互联网的规模确实非常小,最早互联网上只有4台主机,分别在犹他大学,斯坦福大学,加州洛杉矶分校和加州圣芭芭拉分校,即使在整个70年代互联网上也只有几百台主机而已。这样一来,解决名称解析的问题就可以使用一个非常简单的办法,每台主机利用一个hosts文件就可以把互联网上所有的主机都解析出来。这个hosts文件现在我们还在使用,路径就在\windows\system32\drivers\etc目录下,如下图所示就是一个hosts文件的例子,我们在图中可以很清楚地看到hosts文件把[url]解析为202.
108.22.5。
在一个小规模的互联网上,使用hosts文件是一个非常简单的解决方案,一般情况下,斯坦福大学的主机管理员每周更新一次hosts文件,其他的主机管理员每周都定时**更新的hosts文件。但显然这种解决方案在互联网规模迅速膨胀时就不太适用了,就算现在的互联网上有一亿台主机,想想看,如果每个人的计算机中都要有一个容纳一亿台主机的hosts文件!呵呵,是不是快要崩溃了!
互联网的管理者们及时为hosts文件找到了继任者-dns,dns的设计要求使用分布式结构,既可以允许主机分散管理数据,同时数据又可以被整个网络所使用。管理的分散有利于缓解单一主机的瓶颈,缓解流量压力,同时也让数据更新变得简单。dns还被设计使用有层次结构的名称空间为主机命名,以确保主机域名的唯一性。
dns的设计要求您已经看到了,下面我来具体解释一下。dns的前身hosts文件是一个完全的分散解析方案,每台主机都自己负责名称解析,这种方法已经被我们否定了。那我们能否使用一个完全集中的解析方案呢?
也就是全世界只有一个hosts文件,互联网用户都利用这个文件进行名称解析!这个方案咋一听还是有可取之处的,至少大家都解脱出来了,不用每台计算机都更新那个hosts文件了,全世界只要把这个唯一的hosts文件维护好就完事大吉了。实际上仔细考虑一下,有很多的问题,例如这台存放hosts文件的主机会成为性能瓶颈,面临巨大的流量压力,而且每个域名解析的结果都要通过这个文件进行更新,更新的速度可想而知不会太及时。
因此,dns也没有采用这种完全集中的解析方案。
目前dns采用的是分布式的解析方案。具体是这样的,互联网管理委员会规定,域名空间的解析权都归根服务器所有,也就是说,根服务器对互联网上所有的域名都享有完全的解析权!且慢,有读者要提问了,那这个根服务器不就相当于全世界唯一的hosts文件了吗?
呵呵,不要着急,根服务器用了一个简单的操作,就改变了这种结构。根服务器使用的是什么操作?委派!
下图就是根服务器委派的示意图,如下图所示,根服务器把com结尾的域名解析权委派给其他的dns服务器,以后所有以com结尾的域名根服务器就都不负责解析了,而由被委派的服务器负责解析。而且根服务器还把以net,org,edu,gov等结尾的域名都一一进行了委派,这些被委派的域名被称为顶级域名,每个顶级域名都有预设的用途,例如com域名用于商业公司,edu域名用于教育机构,gov域名用于**机关等等,这种顶级域名也被称为顶级机构域名。根服务器还针对不同国家进行了域名委派,例如把所有以cn结尾的域名委派给中国互联网管理中心,以jp结尾的域名委派给日本互联网管理中心,cn,jp这些顶级域名被称为顶级地理域名。
每个被委派的dns服务器同样使用委派的方式向下发展,例如和讯公司想申请使用域名,这时和讯就要向负责。com域名的dns服务器提出申请,只要还没有被其他公司或个人使用,而且申请者按时足额缴纳了费用,负责。com域名的服务器就会把域名委派到和讯公司自己的dns服务器60.
28.251.1。
只要dns服务器使用委派,域名空间就会逐步形成现有的分布式解析架构。这种架构把域名解析权下放到各公司自己的dns服务器上,既有利于及时更新记录,同时对平衡流量压力也很有好处。
那么,在这种分布式的解析结构中,dns服务器如何进行域名解析呢?换句话说,其他的dns服务器怎么知道由60.28.
251.1负责解析的域名呢?如果一个互联网用户想解析域名[url]过程是怎么样的呢?
如下图所示,用户把解析请求发送到自己使用的dns服务器上,dns服务器发现自己无法解析[url]这个域名,于是就把这个域名发送到根服务器请求解析,根服务器发现这个域名是以com结尾的,于是告诉查询者这个域名应该询问负责com的dns服务器。这时查询者会转而向负责com的域名服务器发出查询请求,负责com域名的dns服务器回答说[url]是以结尾的域名,以结尾的域名已经被委派到dns服务器60.28.
251.1了,因此这个域名的解析应该询问60.28.
251.1。于是查询者最后向60.
28.251.1发出查询请求,这次应该可以如愿以偿了,60.
28.251.1会告诉查询者所需要的答案,查询者拿到这个答案后,会把这个查询结果放入自己的缓存中,如果在缓存的有效期内有其他dns客户再次请求这个域名,dns服务器就会利用自己缓存中的结果响应用户,而不用再去根服务器那里跑一趟了。
以上介绍的域名解析过程我们可以通过一个实验来加以说明,berlin是一个dns服务器,ip地址为192.168.1.
200,其他ip参数如下图所示。我们现在用berlin来解析一个域名,我们用抓包工具ethereal追踪一下域名解析的轨迹。
在dns服务器上查询[url]如下图所示,dns服务器已经解析了这个域名,但到底解析的过程是什么样的呢?向下看!
打开抓包工具ethereal,如下图所示,我们看到第8条记录显示dns服务器berlin向198.41.0.
4发出了一个查询请求,请求解析[url]何许人也,13个根服务器之一!
接下来看第9条记录,198.41.0.
4给berlin一个回应,告诉了berlin这个域名解析问题应该询问负责com区域的dns服务器,而且198.41.0.
4还给出了负责com区域服务器的域名和ip地址。
接下来的第10条记录显示了berlin向192.55.83.
30发出了域名解析请求,从上图可知,192.55.83.
30就是负责com区域的域名服务器之一,这次查询会有什么样的回应呢?
从下图的第11条记录可以看出,负责com区域的域名服务器告诉berlin,以结尾的域名已经委派出去,现在有四个服务器负责,berlin可以向这四个服务器中的任何一个提出查询请求。
从第12条记录可以看出,berlin这次向59.173.14.
26提出了查询请求,59.173.14.
26就是上图中提到的负责区域的四个服务器之一。这次查询会有什么样的结果呢?
如下图的第13条记录所示,这次查询终于有了结果,负责的59.173.14.26终于告诉berlin,[url]对应的ip是60.28.250.55。
通过这个实验,希望大家能够更好地理解dns的分布式结构,下篇博文中我们要讨论一下如何dns服务器的常用记录类型。
在上篇博文中,我们介绍了dns服务器的体系结构,从中我们了解到如果我们希望注册一个域名,那么必须经过顶级域名服务器或其下级的域名服务器为我们申请的域名进行委派,把解析权委派到我们的dns服务器上,这样我们才可以获得对所申请域名的解析权。本文中我们将再进一步,假设我们已经为公司成功申请了一个域名现在的解析权被委派到公司的dns服务器202.99.
16.1,那我们在202.99.
16.1服务器上该进行什么样的配置呢?
一安装dns服务器。
首先我们要在服务器上安装dns组件,服务器的tcp/ip配置如下图所示。
安装dns组件非常简单,依次点击控制面板-添加或删除程序-添加/删除windows组件-网络服务,如下图所示,选择“域名系统”即可。
二创建区域。
dns服务器创建完毕之后,我们接下来就要创建dns区域了,区域是dns服务器所负责的名称空间,dns服务器有正向区域和反向区域,正向区域负责把域名解析为ip,而反向区域负责把ip解析为域名。
dns区域有三种类型,正向区域,反向区域和存根区域。要理解区域类型,先要明白dns服务器有主服务器和辅助服务器的区别。一般情况下,企业申请域名时会考虑配备两个dns服务器,一个是主服务器,另一个是辅助服务器。
一般的解析请求由主服务器负责,辅助服务器的数据是从主服务器复制而来的,辅助服务器的数据是只读的,当主服务器出现故障或由于负载太重无法响应客户机的解析请求时,辅助服务器会挺身而出担负起域名解析的任务。现在我们回过头来解释一下什么是主要区域,主服务器使用的区域就是主要区域,同样,辅助服务器使用的区域是辅助区域。存根区域可以看做是一个特殊的,简化的辅助区域,具体区别我们在后续博文中会加以介绍。
高级体系结构
isa为instruction set architecture的缩写形式,即为指令集体系结构,它划分了整个计算机系统的软件和硬件,是处理器的核心。一 定义。指令 instruction 规定计算机执行特定操作的命令。指令集 指令系统 instruction set 全部指令的集合。指令集体系结构 ...
体系结构重点
1 计算机设计者的工作 指令集设计 功能组成设计 逻辑电路设计和硬件结构的设计等。2 设计计算机的功能并不就是用户所需要的功能,它主要考虑到成本 技术 兼容性和市场大小等诸多因素,体现在生产和设计中要有赢利,用户承受得了。衡量原则就是成本性能比。根据这一原则,我们首先要设计确定计算机应具有的功能,我...
Oracle体系结构
课后测试。单选题。1.哪个不是数据库的物理组件 a表空间 b物理文件 c控制文件 d日志文件 正确答案 a 2.最小的数据库逻辑结构是什么?a操作系统块 b数据库块 c表空间 d表 e区 正确答案 b 3.在数据库启动的mount阶段,可以进行什么操作 a查询用户scott下的表 b建立表空间 c创...