1. 在dns服务器中从ip地址到域名的解析,使用什么域
域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析。DNS协议运行在UDP协议之上,使用端口53号DNS域名空间中,树的最大深度不得超过127层,树种每个节点最长可以存储63个字符。2、域和域名DNS树的每一个完全合格域名(FQDN)标识。FQDN能准确表示出其对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式。例如:google为com域的子域,其表示方法为googgle.com,而www为google域中的子域,可以使用www.google.com表示。注意:FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。.号只允许在域名标志之间和域名结尾使用。域名不区分大小写,从最顶层到下层,可以分成:根域、顶级域、二级域、子域。互联网的域名空间最顶层的是根域(root),记录这Interne的重要DNS信息,有Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给链接到Internet的各个组织。全球有13个根域服务器:1个为主根域服务器,在美国;其余12个为辅助根域服务器,其中9个在美国;欧洲2个,分别在英国和瑞迪;亚洲一个,在日本。3、域名的分类和等级域名可以分为3中类型的顶级域分别是:组织域:采用3个字符表示,表示组织的主要功能和活动,比如com为商业机构组织,e为教育机构组织,gov为政府机构组织,mil为军事机构组织,net为网络机构组织,org为非盈利机构组织,int为国际机构组织。地址域:采用两个字符的国家或地区代号,如cn表示中国,jp表示日本、hk表示香港,kr表示韩国,us表示美国。反向域:特殊域,名字为in-addr.arpa,用于将IP地址映射到名字(反向查询)二、DNS相关概念1、DNS服务器运行DNS服务器程序的计算机,存储DNS数据库信息。2、DNS缓存DNS服务器在解析客户机的域名请求时,如果本地没有该域名的记录,则会询问其它DNS服务器,当其它域名将解析结果返回给DNS服务器是,DNS将对应的记录保存在本地,生成DNS缓存,当下一次客户机再次请求是,DNS服务器则可以直接使用缓存中的DNS记录。3、DNS查询方式:递归查询和迭代查询递归查询:当客户机向DNS服务器发起域名解析请求时,DNS服务器首先查看自己本机的DNS记录,如果没有则会想其它DNS服务器发起解析请求。迭代查询:当客户机向DNS服务器发起域名解析请求是,DNS服务器不会给客户机解析地址,而是告诉客户机另外一台DNS服务器,客户即再向这台服务器发起地址解析请求。4、正向解析和反向解析正向解析:指域名解析到IP地址的解析过程。反向解析:指IP地址解析到域名的解析过程。5、DNS资源记录1)SOA资源记录每个区在区的开始都包含了一个起始授权记录(Start of Authority Record),简称SOA记录SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。2)NS资源记录NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析,每个区在区根处至少包含一个NS记录。3)A资源记录地址(A)资源记录把FQDN映射到IP地址。因为有次记录,所以DNS服务器能解析FQDN域名对应的IP地址。4)PTR资源记录相对于A记录,指针(PTR)记录把IP地址映射到FQDN。用于反向查询,通过IP地址,找到域名。5)CNAME资源记录别名记录(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使链接的客户机无法知道真正的域名。6)MX资源记录邮件交换(MX)资源记录,为DNS域名指定邮件交换服务器。三、DNS服务器安装及相关配置文件1、安装DNSBIND 简介:BIND 全称为Berkeley Internet Name Domain(伯克利因特网名称域系统),BIND 主要有三个版本:BIND4、BIND8、BIND9。BIND8版本:融合了许多提高效率、稳定性和安全性的技术,而BIND9 增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等。安装命令:[root@xuegod ~]# yum -y install bind bind-chroot bind-utils安装包的作用:bind.x86_64 32:9.9.4-73.el7_6 #DNS服务的主程序包bind-chroot.x86_64 32:9.9.4-73.el7_6 #提高安全性#bind-chroot是bind的一个功能,使bind可以在一个chroot 的模式下运行,也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已,这样做的目的是为了提高安全性,因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中。bind-utils-9.9.4-50.el7.x86_64.rpm #该包为客户端工具,系统默认已经安装的了,它用于搜索域名指令。2、DNS服务器相关配置文件[root@xuegod ~]# ls /etc/named.conf -l-rw-r----- 1 root named 1808 1月 30 01:23 /etc/named.confnamed.conf是BIND的核心配置文件,它包含了BIND的基本配置,但其并不包括区域数据/var/name/目录为DNS数据库文件存放目录,每一个域文件都放在这里3、启动服务器[root@xuegod ~]# systemctl start named[root@xuegod ~]# systemctl enable namedCreated symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.[root@xuegod ~]# netstat -antup | grep 53tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3501/named4、服务的使用方法在客户端上配置好DNS服务器地址[root@xuegod140 ~]# vim /etc/resolv.conf[root@xuegod140 ~]# cat /etc/resolv.confGenerated by NetworkManagernameserver 192.168.1.130resolv.conf文件,添加DNS,此文件的生效范围是全局的,即是所有网卡都可以生效。修改网卡添加的DNS,此方法添加DNS仅对当前网卡生效。DNS1=192.168.1.1305、配置文件详解要求:配置DNS服务器解析:xuegod.cn[root@xuegod etc]# cp /etc/named.conf /etc/named.conf.bakDNS配置文件整体分为三段:options:对全局生效zone:针对某个区域生效type:指定区域类型type主要分为六种Master:主DNS服务器,拥有区域数据文件,并对此区域提供管理梳理Slave:辅助DNS服务器,拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据Stub:stub区域和slave类似,但其只复制主DNS服务器上的NS记录,而不像slave复制DNS服务器的所有数据Forward:一个forward zone是每个区域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarder是空表,那么这个域就不会转发,消除了options语句中有关转发的配置Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用跟线索来查找根域名服务器,并找到最近的根域名服务器列表四、实战-为公司搭建一个DNS服务器1、配置正向解析区域修改配置文件,授权DNS服务器管理xuegod.cn区域,并把该区域的区域文件命名为xuegod.cnoptions {listen-on port 53 { any; }; #把原来的127.0.0.1改为any。listen-on-v6 port 53 { any; }; #把原来的::1,改为any。directory “/var/named”;mp-file “/var/named/data/cache_mp.db”;statistics-file “/var/named/data/named_stats.txt”;memstatistics-file “/var/named/data/named_mem_stats.txt”;allow-query { any; }; #把原来的localhost,改为any。recursion yes;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto; #加入此项。1234512345zone “xuegod.cn” IN { #把原来的 . 改为xuegod.cn。type master; #把原来的hint,改为master。file “xuegod.cn.zone”; #把原来的named.ca,改为xuegod.cn.zone。};include “/etc/named.rfc1912.zones”;include “/etc/named.root.key”;2、创建zone文件[root@xuegod etc]# cd /var/named #进入zone工作目录[root@xuegod named]# ll -d named.localhost-rw-r----- 1 root named 152 6月 21 2007 named.localhost[root@xuegod named]# cp -a named.localhost xuegod.cn.zone#-a参数,复制后的文件保留源文件权限[root@xuegod named]# ll -d xuegod.cn.zone-rw-r----- 1 root named 152 6月 21 2007 xuegod.cn.zone[root@xuegod named]# vim xuegod.cn.zone[root@xuegod named]# cat xuegod.cn.zone$TTL 1Dxuegod.cn. IN SOA dns.xuegod.cn. root.xuegod.cn. (0 ; serial #系列1D ; refresh #刷新1H ; retry #重试1W ; expire #到期3H ) ; minimum #最低限度xuegod.cn. NS dns.xuegod.cn. #NS资源记录dns.xuegod.cn. A 192.168.1.130 #A资源记录www.xuegod.cn.A 192.168.1.130 #A资源记录www1.xeugod.cn. CNAMEwww.xuegod.cn.#CNAME记录3、重启DNS服务:[root@xuegod named]# systemctl restart named4、修改客户机的DNS记录[root@xuegod140 ~]# vim /etc/resolv.conf[root@xuegod140 ~]# cat /etc/resolv.confGenerated by NetworkManagernameserver 192.168.1.1305、删除网卡配置文件的DNS记录[root@xuegod140 ~]# cd /etc[root@xuegod140 etc]# vim /etc/sysconfig/network-scripts/ifcfg-ens33[root@xuegod140 etc]# cat !$ | grep DNS1 #删除DNS1的行cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep DNS16、测试结果:[root@xuegod140 etc]# pingwww.xuegod.cnPINGwww.xuegod.cn(192.168.1.130) 56(84) bytes of data.64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.216 ms64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.359 ms[root@xuegod140 etc]# ping www1.xuegod.cnPINGwww.xuegod.cn(192.168.1.130) 56(84) bytes of data.64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.216 ms64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.255 ms[root@xuegod140 etc]# ping dns.xuegod.cnPING dns.xuegod.cn (192.168.1.130) 56(84) bytes of data.64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.170 ms64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.294 ms总结:实验容易错误点1)区文件的权限,需要注意,这里直接使用cp -a参数拷贝,保留文件的权限和属组、属主2)服务端的防火墙必须要关闭,如果不关闭,就要放通DNS53号端口3)客户端指定DNS地址时,resolv文件需要表示全局生效,本地网卡修改表示当前网卡生效4)可以的话最好关闭NetworkManager7、zone配置文件的参数说明$TTL 1D:设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。xuegod.cn. IN SOA dns. xuegod.cn. root. xuegod.cn.#原来的@表示当前的域xuegod.cn.,为方便大家记忆,在此直接写成xuegod.cn.#设置SOA记录为:dns.xuegod.cn.#在此配置文件中写域名时,都把根 . 也需要写上。#域管理邮箱root.xuegod.cn. 由于@有其他含义,所以用“.”代替@。0 :更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1。1D :刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天。1H :重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为1小时。1W :到期,失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周。3H :设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时。NS @ :域名服务器记录,用于设置当前域的DNS服务器的域名地址,A 127.0.0.1: 设置域名服务器的A记录,地址为ipv4的地址127.0.0.1,可以设置成192.168.100.102AAAA ::1:设置域名服务器的A记录,地址为ipv6的地址。资源记录参数详解:CNAME 资源记录别名(CNAME)资源记录用于为某个主机指定一个别名CNAME 资源记录语法格式:别名 CNAME 主机名www1.xuegod.cn. CNAMEwww.xuegod.cn.MX 资源记录MX(邮件交换器)资源记录提供邮件传递信息。该记录会指定区域内的邮件服务器名称。MX 资源记录语法格式:mail A 192.168.1.63MX 192.168.1.63PTR 资源记录指针(PTR)资源记录。该记录与A 记录相反,用于查询IP 地址与主机名的对应关系。根区域是一个较为特殊的区域,记录列出全球根域名服务器信息,域名通常用“.”表示,如表 5-1 所示。在这里插入图片描述五、实战-DNS递归查询和搭建DNS转发服务器1、使用DNS递归查询修改配置文件:[root@xuegod130 etc]# vim /etc/named.conf #修改DNS配置文件,修改如下内容。options {listen-on port 53 { any ; }; #把原来的127.0.0.1改为any。listen-on-v6 port 53 { any; }; #把原来的::1,改为any。directory “/var/named”;mp-file “/var/named/data/cache_mp.db”;statistics-file “/var/named/data/named_stats.txt”;memstatistics-file “/var/named/data/named_mem_stats.txt”;allow-query { any; }; #把原来的localhost,改为any。recursion yes; #默认是支持递归查询。#dnssec-enable yes;#dnssec-validation yes;#dnssec-lookaside auto;只需要把以上三条内容注释了,其它内容不用改,这样客户端才能通过这个DNS进行递归查询,把dns加密通讯功能关闭,才可以和根服务器时行迭代查询。:2、重启DNS服务,使配置文件生效:[root@xuegod63 ~]# systemctl restart named3、在xuego140主机上进行测试:[root@localhost network-scripts]# pingwww..comPINGwww.a.shifen.com(61.135.169.105) 56(84) bytes of data.64 bytes from 61.135.169.105: icmp_seq=1 ttl=55 time=318 ms64 bytes from 61.135.169.105: icmp_seq=3 ttl=55 time=147 ms4、 搭建DNS转发服务器[root@xuegod130 ~]# vim /etc/named.confoptions {listen-on port 53 { any; }; #把原来的127.0.0.1改为any。listen-on-v6 port 53 { any; }; #把原来的::1,改为any。directory “/var/named”;mp-file “/var/named/data/cache_mp.db”;statistics-file “/var/named/data/named_stats.txt”;memstatistics-file “/var/named/data/named_mem_stats.txt”;allow-query { any; }; #把原来的localhost,改为any。recursion yes; #允许递归查询#dnssec-enable yes; #注释以下三行。#dnssec-validation yes;#dnssec-lookaside auto;zone “xuegod.cn” IN {#type master; #注释此项type forward; #添加此项,类型为转发。#file “xuegod.cn.zone”; #注释此项forward only ; #仅执行转发操作,only:仅转发,first:先查找本地zone,再转发。forwarders { 8.8.8.8; }; #指定转发查询请求的DNS服务器列表。};重启DNS服务,使配置文件生效:[root@xuegod63 ~]# systemctl restart named在xuegod140主机上进行测试:[root@localhost network-scripts]# pingwww..comPINGwww.a.shifen.com(61.135.169.105) 56(84) bytes of data.64 bytes from 61.135.169.105: icmp_seq=1 ttl=55 time=318 ms64 bytes from 61.135.169.105: icmp_seq=3 ttl=55 time=147 ms六、实战-搭建DNS主从服务器1、搭建一个主DNS服务器A,配置内容如下[root@xuegod63 ~]# vim /etc/named.confoptions {listen-on port 53 { any; }; #把原来的127.0.0.1改为any。listen-on-v6 port 53 { any; }; #把原来的::1,改为any。directory “/var/named”;mp-file “/var/named/data/cache_mp.db”;statistics-file “/var/named/data/named_stats.txt”;memstatistics-file “/var/named/data/named_mem_stats.txt”;allow-query { any; }; #把原来的localhost,改为any。recursion yes;#dnssec-enable yes;#dnssec-validation yes;#dnssec-lookaside auto;zone “xuegod.cn” IN {type master; #指定类型为master。file “xuegod.cn.zone”; #指定为xuegod.cn.zone。allow-transfer { 192.168.1.0/24; }; #指定允许哪个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认为所有。};include “/etc/named.rfc1912.zones”;重启DNS服务,使配置文件生效:[root@xuegod63 ~]# systemctl restart named2、从DNS服务器的配置要求:主从系统时间一定要保持一致。
2. DNS有哪两种域名解析方式简述这两种方式区别和特点。
DNS的两种域名解析方式:分布域名解析;集中式域名解析
区别及特点:
1、分布域名解析
是指分在客户端上维护一个静态的文本文件,其中包含主机名和IP地址的映射。随着网络规模的扩大,分布式分辨率的有效性越来越低。
2、集中式域名解析
要求网络中有多台DNS服务器,负责维护域名/IP地址映射数据库。客户端从指定的服务器获取域名的地址信息。一旦客户端指定的DNS服务器不包含相应的数据,DNS服务器就会在网络中进行递归查询,并获取其他服务器上的地址信息。
(2)dns服务器是如何解析域名的扩展阅读
1、域名解析过程:
当应用过程需要将一个主机域名映射为IP地址时,就调用域名解析函数,解析函数将待转换的域名放在DNS请求中,以UDP报文方式发给本地域名服务器。
本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回。同时域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发。
若域名服务器不能回答该请求,则此域名服务器就暂成为DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。
2、域名解析流程:
域名-DNS(域名解析服务器)-网站空间。
Internet上的计算机是通过IP地址来定位的,给出一个IP地址,就可以找到Internet上的某台主机。而因为IP地址难于记忆,又发明了域名来代替IP地址。但通过域名并不能直接找到要访问的主机,中间要加一个从域名查找IP地址的过程,这个过程就是域名解析。
域名注册后,注册商为域名提供免费的静态解析服务。一般的域名注册商不提供动态解析服务,如果需要用动态解析服务,需要向动态域名服务商支付域名动态解析服务费。
3. 什么是域名解析怎么样的一个步骤
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
1、旁历芦A记录解析
记录类型选择“A”;记录值填写空间商提供的主运带机IP地址;MX优先级不需要设置;TTL设置默认的3600即可。
2、CNAME记录解析
CNAME类型解析设置的方法和烂枝A记录类型基本是一样的,其中将记录类型修改为“CNAME”,并且记录值填写服务器主机地址即可。
3、MX记录解析
MX记录解析是做邮箱解析使用的。记录类型选择MX,线路类型选择通用或者同时添加三条线路类型为电信、网通、教育网的记录;记录值填写邮局商提供的服务器IP地址或别名地址;TTL设置默认的3600即可,MX优先级填写邮局提供商要求的数据,或是默认10,有多条MX记录的时候,优先级要设置不一样的数据。
第一步:登陆域名控制面板后找到“解析”按钮点击进入解析管理;
第二步:在解析面板里填写想做解析的方案,A记录、MX等,上图有详细说明。填写完后点击添加记录即可完成域名解析设置。
4. 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公司只设一个区abc.com。这是,区abc.com和域abc.com指的是同一件事。但图b表示abc公司划分为两个区:abc.com和y.abc.com。这两个区都隶属于域abc.com,都各设置了相应的权限域名服务器。不难看出,区是域的子集。
下图是以上图b中abc公司划分的两个区为例,给出了DNS域名服务器树状结构图。这种DNS域名服务器树状结构图可以更准确地反映出DNS的分布式结构。图中的每一个域名服务器都能够部分域名到IP地址的解析。当某个DNS服务器不能进行域名到IP地址的转换时,它就会设法找因特网上别的域名服务器进行解析。
从下图可以看出,因特网上的DNS服务器也是按照层次安排的。每一个域名服务器只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为下面四种不同的类型。
根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
权限域名服务器:负责一个“区”的域名服务器。
本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。
注意:
下面举一个例子演示整个查询过程: