DNS 服务相关概念 (一)

DNS 服务相关概念 (一)

DNS:       Domain Name Service

例如:   www.magedu.com ( 这是一个【主机名| FQDN】,而我们通常把它称为域名这是不准确的~)

FQDN: Full Qualified Domain Name (完全合格域名,或完全限定域名)

那什么才算是一个域名呢:magedue.com  才是一个域名。我们知道网络通讯在某一时刻一定是一对一

的通讯(说白了:就是主机与主机之间的通讯),而域名它代表的是一个范围。

DNS: 又称为名称解析或名称转换。 Name Resolving  (为会什么把它称之名称解析呢,这是有原因的)。

通常我们所说的解析一般都会涉及数据查询的过程,而这些数据一般都存放在某个数据库当中。

例如:/etc/passwd这个文件它其实也就是一个数据库,而且很规范,我们知道passwd 这个文件

中的每一行都是由7个字段组成,并且分别代表不同的含义。比方说:第1个字段,表示用户名

第3个字段,表示用户UID,等等,在用户名和UID之间形成了一一对应的关系。我们再回顾

一下之前学习的NSSwitch 是干什么用的啊~ ,NSSwitch就是负责:当某用户输入某个用户名时把

这个用户名转换成对应的UID,我们也可以认为是把用户名解析为UID)

1、  那么DNS是用来解析什么的呢~?

DNS 主要是负责把:           FQDN <--- (解析为) ---> IP地址

因此我们需要一个数据库来存放 FQDN 和IP 地址的对应关系。

比如: 172.16 .0.1           www.magedu.com.

172.16.0.2                mail.magedu.com.

172.16.0.3              ftp.magedu.com

2、此外将端口号和对应的服务建立关联关系,也认为是名称解析:

比如:    80           WEB服务

443                      HTTPS服务

21                         FTP服务

22                         SSH服务

23                         Telnet服务

25           SMTP服务

161          SNMP服务

因此除了上面提到的这2种,要实现名称解析或名称转换的机制还有很多,所以为了有一个统一的框架我们

的NSSwitch 就出现了。

NSSwitch 就是实现为多种需要实现名称解析的机制,提供名称解析的平台的。

在互联网诞生之初,由于互联网上的主机数量非常少,通常使用一个名为“hosts”的文件来记录主机名与

IP地址之间的对应关系,并完成主机名到IP地址的解析。但使用这种方式有一个弱点,hosts 文件需要及

时的更新,而最初是采用手动的方式来更新的,而且更新也十的麻烦,随着互联网上主机数量的增加,最

终,使用host的方式已经不能满足日常的  需要了~,而且随着加入互联网的主机数量急剧的增加,但是每

个人都随便给自己的主机取个名字(设定一个IP),那么很显然主机之间的通讯就越来越困难了。因此所谓

名称地址管理机构(IANA)就在此时诞生了~ ,这个机构在美国,是由美国人创立的。但是由于IANA 具

美国官方的背景,而且人们后来也意识到 DNS已经成了一种互联网资源,而且是一种基础性互联网资源,因

此不应该为美国政府所维护。而且大家也不放心,所以后来人们把这种名称分配的功能交给一个民间组织来

管理,这个民间组织就是  ICANN

IANA:       TheInternet Assigned Numbers Authority   互联网名称分配机构

ICANN:   The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构

从此由ICANN来负责维护 IP地址、和主机名之间的对应关系。于是ICANN维护了一个数据库,在这个数据库中

记录了每一台主机的【 IP 与主机名】对应关系。

名称解析管理方式,由最初的集中式数据库 ----> 到---->分布式数据库

名称解析还可以理解为 IP地址与主机名对应关系的查询

      TLD :  Top Level Domain 顶级域

组织域:.com 、.org、.net、.cc

国家域:.cn、.tw、.hk、.iq、.jp

反向域:IP-->FQDN

说明:为什么会出现一个反向域呢~?其实DNS刚刚诞生的时候只能支持从FQDN --->到---> IP地址的解析。

后来借助于一种特殊的机制(指针的机制)才实现从IP地址--->到--->FQDN的解析。因此我们的正向和反向

解析是2个不同的数据库。

正反解析:从FQDN --->到---> IP地址

反向解析:从IP地址--->到--->FQDN

我们以下图为例来说明名称解析(查询)的整个过程:

例如:当ST1这台主机发起一个查询(查询www.magedu.com.  这台主机)。

第1种情形:       在ibm 这个域中没有NS服务器(域名服务器)

因为这个域中没有NS服务器,ST1会把查询请求直接发送给根(.)

第2种情形:       在ibm 这个域中有一台NS服务器(域名服务器)

ST1把查询请求发送给NS服务器,由NS服务来完成查询过程,并返回查询结果给ST1

NS服务器诞生的由来:

我们知道ibm 这个域里面可能有成千上万台客户端主机,每台主机都有可能查询 www.magedu.com.这台主机。

我们以ST1为例,当查询完成后ST1会把查询的结果保存在自己的缓存当中,当再次发起同样的请求时,直接读取

缓存当中的内容就行了,这样加快了查询的速度,并且还减少了对带宽资源的占用。但是ST1缓存里面的内容ibm

这个域当中的其它主机并不能使用(读取),因为我们需要把查询结果缓存在一个公共的地方,让ibm这个域里机

的所有主机都能读取,NS服务器正是在这种背景下诞生的。

查询的过程(查询www.magedu.com.)分2个部分:

1.   ST1 向NS服务器发送查询请求,NS会把这个请求提交给根,根说你可以去找.com

然后NS向.com提交查询请求,.com说你可以去找magedu, 于是NS向magedu

提交查询请求,magedu说我这里确实有一台名为www.magedu.com.的主机,它的

IP 也有。于是最终NS服务获得了查询的结果。所以我们不难看出以上这个查询过程是

一个迭代的过程,整个过程当中NS服务器发送多次查询请求。

2.   当NS服务器把查询的结果返回给ST1 时,整个查询的过程就结束了。在整个过程当中

ST1只发送了1次查询请求。所以相当来说ST1向NS服务器发送查询请求的过程是一

个递归的过程,很明显ST1只管从NS那里获取查询的结果,至于NS查询的过程是怎么样

ST1是不管的。

3.          如何理解名称解析管理方式,“分布式数据库”模型。

以中国为例,对上图来进行阐述。中国是一个大的区域,区域的代表是中国国主席。

我们知道中国划分了很多个行政区,为什么这么划分?我们知道中国有34个省级行政区

其中包括(4个直辖市、23个省、5个自治区、2个特别行政区),而且每个省又下辖多

个市县,有如此多子的区域,如果都由某一个人(国家主席)来管理,其难度是可想而

知的。即使不忙死也累死了。  那么有没办法解决呢?我们引入领导人负责制。

什么是领导人负责制?我们把中国这个大的区域划分为若干个小的区域(34个行政区)

每一个区域指定一个代表(省长)来负责管理。我们的  .com.net.org  就是从根里

面划分出来的小的区域,每个小区域我们为其指定一个NS服务器。.com.net.org

下面还可以继续划分多个子区域。在每个小区域的NS服务器中维护了一个数据库用于记

录其下的所有的子区域,以及每个子区域的NS 服务器的名称及其子区域的NS服务器的

IP地址。

子区域的NS 服务器的名称:          等同于省长的名字

子区域的NS服务器的IP地址:         等同于省长的电话号码

其实上面的意思很好理解,我们只有知道了某个省的省长姓什么叫什么名字,他的电话

号码,这样我们才能找到他。在名称解析时也是同样的道理,只有知道了小区域中某个
子区域的NS服务器的名称和IP地址,才能告诉查询提交的那一方你要查询的主机在哪

里可以找到。

比如:根收到来自,ibm这个域中的NS服务器的查询请求时,  根会告诉ibm这个域中

的NS服务器www.magedu.com.这个主机我并不知道在哪里可以找到,但是.com在哪里

我是知道的。根于是查询自己的数据库并找出有关.com 的记录信息,并把这些信息反馈

ibm这个域中的NS服务器

由此一来ibm这个域中的NS服务器就会去找 .com、当.com中的NS服务器收到来处ibm

域中的NS服务器的查询请求时,.com中的NS服务器会告诉.ibm中的NS服务器www.magedu.com这个主机我并不知道在哪里可以找到,但是magedu 在哪里我是知道的。于是

.com中的NS服务器查询自己的数据库并找出有关maedu的记录信息,并反馈给.ibm中的NS

服务器。

最后ibm这个域中的NS服务器就会去找magedu,  当magedu中的NS服务器收到来处ibm

域中的NS服务器的查询请求时, magedu中的NS服务器会查询自己的数据库发现其下确实有一

台名为www.magedu.com 的主机。于是magedu中的NS服务器反把有关这台主机记录信息反馈

ibm这个域中的NS服务器。

我们对下图来进行一些更深入的讲解。

如图中所示,我们知道  .com 它是什么~ 。.com 代表一个范围,代表一个区域,我们需要为这个区域指定一个负责管理的人员,一个区域里可能有 www 、 ftp、ns这样众多的主机存,因为我们需要从中指定一个来负责管理这个区域。所以在根的数据库中每2行对应一条记录。

比如:

第1行:    .com (域的名称是什么?) —> NS.com( .com这个域由谁来管理?)

第2行:    NS.com (管理者名称是什么) —>IP (管理者对应的IP地址是什么?)

4.   其实每个域都有一个NS服务器,NS服务器不仅仅是响应域内部主机的的查询请求,还

经常用于处理域外部主机发送过来的查询请求。

什么是非权威答案、什么权威答案?

1.    NS返回给ST1的查询结果是一个非权威答案。这又是为什么呢,那权威答案又在哪里?

我们知道NS服务器从magedu获取查询结果,只是某一时刻的状态信息,比如在那一

www.magedu.com.   这台主机的IP地址是58.250.4.48 (联通),但是下一刻这台    主机的IP地址就被管员改成了58.250.4.50 那么很显然NS缓存中的内容就不准确了,要

想得到准确的答案只有找magedu .  因此NS服务器缓存中的内容是一个非权威答案。所

以非权威答案都是有可能都会过期的,并产生错误。那怎么办呢?magedu这个域中的NS

服务器向ibm域中的NS服务器反馈查询结果时,可以设定这个结果在查询提交方的缓存中

能保留多长时间。在设定的这个时间段里查询提交方缓存的这个条目才是有效的。一旦超出

设定的时就必须重新发起查询请求。由此就出现了一个新的定义TTL

2.  我们的权威答案谁知道呢,magedu知道。

查询的分类:

1.    接受域内主机(本地主机)的查询请求(递归)

2.   接受外部主机的的查询请求:请求权威答案 (而权威答案的结果有2种)

第1种:返回肯定答案     并且有TTL值

第2种:返回否定答案     并且有TTL值

3.    接受外部主机的的查询请求:请求非权威答案

我们假设当ST1发送查询请求的时候(查询www.magedu.com.),它没有把查询请求

发送给本域内的NS.ibm.com.这台服务器,而是把查询请求发送给了 NS.kernel.org.

这台服务器,那么对于NS.kernel.org. 来说,它返回的是一个非权威的答案。

时间: 2024-10-11 19:48:48

DNS 服务相关概念 (一)的相关文章

DNS服务相关概念详解

实验环境:RHEL 32Bit DNS服务相关概念详解 DNS是一种域名解析服务,DNS服务的核心以及DNS服务的标准都是基于一个软件来实现的,这个软件叫做BIND(Berkeley Internet Name Domain),互联网上几乎所有的DNS服务都是由BIND来构建的,虽然也有其它的DNS服务构建标准,但是它们的使用语法以及工作机制都和BIND非常接近. ·Linux服务器和Windows服务器的比较 Linux服务器在没有SELinux的时候它的安全级别和Windows服务器的安全级

DNS 服务相关概念 (二)

DNS 服务相关概念(二) 我们知道一共有13台根服器,如果它们每台根服务器上的内容不能保持一致会出现什么情况呢~?比如第1台根服务器知道 .com  而第2台根服务器不知道,那么有人找第2 台服务器去查找 .com  显然是找不着的~ .所以每个域为了保证其安全性和稳定性这个域可能有多台服务器,而且每台服务器的内容必须保持一致.那么这就意味着每当我们在根域当中添加 1台新的服务器(NS服务器)时,是不是这13台根服务器必须得同时修改~.是自动完成修改呢,还是手动完成修改呢? 显然自动完成修改要

DNS服务相关概念_学习笔记

DNS服务的相关概念: BIND:Berkeley Internet Name Domain    域名解析 DNS:Domain Name Server 主机名:FQDN(Full Qualified DomainName 完全限定域名) DNS:名称解析,Name Resloving 名称转换(背后有查询过程,数据库) FQDN<-->IP NSSwitch:域名解析的平台(这是一个平台,平台上提供多种域名解析的方法) 方法: libnss_file.so libnss_dns.so /e

DNS服务器之理论基础

一.什么是DNS DNS全称为Domain Name System,即域名系统,其作用就是将我们经常使用的"网址"解析为IP地址. 在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0.1代码,这时就需要一种机制来解决IP地址与主机名的转换问题. 早期由于网络上的主机数量有限,主机名和IP的解析借助于hosts文件即可完成,Linux中此文件一般存放路径为/etc/hosts,在此文件中手动记录每个主机

NTP服务和DNS服务

TP时间服务器 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. NTP时间服务部署 第一步:关防火墙 服务器端和客户端都要进行操作 [[email protected] ~]# systemctl stop firewalld[[email protected] ~]# setenforce 0 第二步:下载ntp(服务器端操作) [[email protected] ~]#

DNS服务配置及拓展(1)

DNS服务配置及拓展 一.DNS服务的信息说明: A##正向记录 PTR##反向,ip到域名 host -l example.com##查看域中的所有主机 dig -t soa example.com##辅助dns 软件包: bind DNS主配置目录:/var/named/chroot/ DNS主配置文件:/etc/named.conf DNS A记录存放目录:/var/named/chroot/var/named 二.如何配置dns正向解析: 1.vim /etc/named.conf#编辑

DNS服务解析,如何用bind构建主从架构的DNS服务器。

DNS(Domain Name System,域名系统) 在互联网上实现FQDN与IP地址的解析,这样避免了人们在访问站点时,记忆长串难懂的ip地址,只需要记忆人们容易理解的域名就行了. FQDN (Fully Qualified Domain Name,完全合格域名) FQDN------------------IP Address 正向解析 IP Address------------FQND 反向解析 简述工作原理: 我们大家都知道,全球一共有13台根节点服务器,当我们的DNS服务器收到一

部署用于全网的跨网段DHCP和DNS服务

管理部分 DHCP和DNS在同一台服务器上 登陆地址:ssh  root/192.168.20.210  密码:jyd315.com DHCP主配置文件:/etc/dhcp/dhcpd.conf  (定义网段及IP地址范围的地方) DNS主配置文件:/var/named/chroot/etc/named.conf (定义服务监听端口及地址) 4.查看各网段IP地址分配情况: cat  /var/lib/dhcpd/dhcpd.leases 安装和配置部分 系统环境CentOS6.5 yum –y

【详解】DNS服务工作原理、正反向解析和主从同步

目录: 一.理论部分 二.实验部分 ******************************理论部分*************************************** 正文: 一.什么是DNS服务. DNS服务是互联网的基础性服务之一.全称为Domain Name System(域名系统).DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,提供将域名转换成对应IP地址的信息条目,能够使用户更方便的通过域名(如baidu.com)去访问互联网,而不用去记住能够被机器直接