DNS详解

DNS 是域名系统,用于因特网上域名与IP地址的转换。它通过分布式域名系统,利用C/S模式进行域名解析,并包含根域、顶级域等层次结构。DNS服务器有权威和非权威回答,以及缓存机制,对于网络访问至关重要。
摘要由CSDN通过智能技术生成

一、DNS 概念 

      人和人要互相识别和记忆,需要名字作为辅助,而对于网络世界,在因特网内也需要一种命名系统来做类似的事情,该系统使用了域来划分,任何一个网络里的主机(或者路由器)都有独一无二的域名(类似国家代码),域又能继续划分为子域(类似每个国家有不同的省份代码),子域还能继续划分(每个省都有自己的各个城市的代码)……在因特网内对应的就是顶级域名(com,net,cn,org等),二级域名……注意这仅仅是一种逻辑的划分。而这些域名系统在形式上组成了一种树结构。

     在早期的TCP/IP网络中,名称解析工作是通过HOSTS文件来进行维护的,hosts文件是一个纯文本文件,维护着主机名和IP地址的对应关系.这个过程通过NSS(Name Service Switch)来控制的,NSS调用系统动态库libnss_files.so、libnss_dns.so,NSS是名称解析服务的一个框架,NSS的配置文件为/etc/nsswitch.conf。

   DNS 的全称是 Domain Name System(域名系统,或者常称为域名解析系统)。域名系统(DNS)是因特网的电话簿。域名系统为Internet上的主机分配域名地址和IP地址。人类通过域名在线访问信息,如nytimes.com或espn.com,该系统就会自动把域名地址转为IP地址。DNS将域名转换为IP地址以便浏览器可以加载Internet资源。

     DNS是网络分层里的应用层协议,事实上他是为其他应用层协议工作的,简单说就是把域名,或者说主机名转化为IP地址(同时也提供反向域名查询的功能),类似字典,比如访问 www.baidu.com,实际访问的是它的IP地址,因为机器识别的是拥有固定格式和含义的IP地址,而域名可以千奇百怪,甚至是中文,不利于识别。还有比如公司内部的域验证,通过分配给员工的域账号登录内网就必须通过DNS来找到域名权限服务器,来认证身份,故有些书上说:DNS是因特网世界里不可缺少的东西

     因为因特网规模很大,所以整个因特网只使用一个域名服务器是不行的。为了可靠,使用了分布式的域名系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。并采用c/s方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此分布式DNS系统借助分布式的主机备份和缓存机制,非常强壮和有足够的性能

  1.域的分类

     1.1根域

    在服务器里有一种叫做“DNS根服务器”的服务器。全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。根域名服务器是架构因特网所必须的基础设施。另外DNS还存在镜像服务器,镜像服务器(Mirror server)与主服务器的服务内容都是一样的,只是放在一个不同的地方,分担主机的负载。

     从理论上说,任何形式的标准域名要想被实现解析,按照技术流程,都必须经过全球“层级式”域名解析体系的工作,才能完成。“层级式”域名解析体系第一层就是根服务器,负责管理世界各国的域名信息,在根服务器下面是顶级域名服务器,即相关国家域名管理机构的数据库,如中国的CNNIC,然后是在下一级的域名数据库和ISP的缓存服务器。一个域名必须首先经过根数据库的解析后,才能转到顶级域名服务器进行解析

 1.2顶级域 Top Level Domain,简称TLD(从根域开始查找一层一层去查 ,自顶向下

通用顶级域gTLD 国家顶级域nTLD(采用ISO3166的规定) 基础结构域名infrastructure domain

com(商业机构) .org(非营利性组织) .net(网络服务机构)

gov(政府部门)   edu(教育部门)         mil(军事部门)

.cn(中国) .uk(英国)

.us(美国) .jp(小日本)

国家域名又常记为ccTLD(cc表示国家代码contry-code)

从IP到FQDN的反向解析,这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。

 

1.3 FQDN

      FQDN:Full Qualified Domain Name,完全限定域名,即每个域在全球网络都是唯一的;另外值得提到的一点是域并不是指诸如www.google.com这样的域名,而google.com才是域

1.4 查询类型

递归查询:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址

 递归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。
    当收到DNS工作站的查询请求后,DNS服务器在自己的缓存或区域数据库中查找,如找到则返回结果,如找不到,返回错误结果。即DNS服务器只会向DNS工作站返回两种信息:要么是在该DNS服务器上查找到的结果,要么是查询失败。该DNS工作站自行向该DNS服务器询问。“递归”的意思是有来有往,并且来、往的次数是一致的。
一般由DNS工作站提出的查询请求便属于递归查询。
    由于递归查询是两者之间的,所以通常查询起来高效快捷,能最快应答成功或失败的解析,然而无法成功解析所有域名。一般发生在客户端与服务器间,也特殊情况是dns服务器与dns服务器之间。同时与迭代查询相对.

迭代查询:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机    迭代查询又称重指引,当服务器使用迭代查询时能使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。B访问C、D、E、F、G,都是迭代查询,首先B 访问C,得到了提示访问D的提示信息后,开始访问D,D又返回给B提示信息,告诉B应该访问E,依次类推。
                                       

1.5DNS名称解析方式

正向解析 反向解析
将FQDN转化为IP 将IP转化为FQDN

  1.6DNS服务器类型:

主DNS服务器 辅助(从)DNS服务器 缓存DNS服务器
负责解析至少一个域。存放该区域中相关设置的DNS服务器,其存放的是区域文件的正本数据 从主服务器或从服务器“复制”(区域传输)解析库副本,数据为副本无法修改,负责解析至少 一个,是主DNS服务器的辅助 通过向根或其他服务器查询获得域名到ip的解析关系,将查询结果缓存到本地,提高重复查找速度,不负责解析域,只是缓存域名解析结果。查询结果为非权威答案
DNS中使用了高速缓存,因为域名到地址的映射不常变,故为提高效率而设,主机在启动时从本地服务器下载名和地址的全部数据,并维护存放自己最近使用的域名的缓存,并且只在从缓存中找不到名字时才使用根域名服务器发起查询。实际中,当一个 DNS 服务器接收到一个 DNS 回答后,会将其信息缓存一段时间,当再有一个对相同域名的查询时,便可直接回复。通过 DNS 缓存,大部分查询都只需要本地 DNS 服务器便可完成解析

  1.7 DNS返回的结果类型:

         a、肯定答案:查询的域存在,会被缓存下来。

         b、否定答案:不存在查询的域名,因此不存在与其查询的域名对应的IP;会被缓存下来。

        c、权威答案:所查询的域名的结果是由负责解析这个域的DNS服务器所返回的答案,请求返回数据同时附带缓存有效期。

        d、非权威答案:在缓存中查询的结果。

二  DNS解析

1 客户机访问域名,先查看自己主机的DNS缓存(有时间限制),如果主机缓存有,则直接访问对应ip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤舞飘伶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值