码迷,mamicode.com
首页 > 其他好文 > 详细

DNS详解

时间:2016-05-18 10:56:45      阅读:747      评论:0      收藏:0      [点我收藏+]

标签:ip地址   客户端   通信   应用程序   域名服务器   

一.DNS概述

DNS:域名解析系统(Domain Name System),用于将机器名称转换为IP地址。   

       DNS是常用的C/S结构,采用的是阶层式管理机制,通过上级向下级授权方式进行域名解析。采用DNS域名系统,使的大部分域名都在本地解析极少部分需要通过网络通信方式解析,所以DNS系统的效率较高,并且DNS系统属于分布式系统,所以当系统中单个域名服务器出现故障,并不会影响DNS系统的正常运行。   

       域名到IP的解析是由多个域名服务器共同完成的,域名服务器设置在特定的节点上,负责管理某一区域的所有域名解析请求。

二.域名到IP的解析流程  

       当某一应用程序或者机器主机需要把主机名解析为IP地址时,该应用进程或者机器主机就调用解析程序,此时应用程序或机器主机称为客户端,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在本地缓存中查找到域名后,把对应的IP地址放在响应报文中返回给客户端。此时应用程序或机器主机获得目的主机的IP地址后即可与之进行通信。    

       若本地域名服务器在本地缓存中没有查找到缓存记录,此时域名服务器就相当于客户端(替代主机查询),并向其他域名服务器发出查询请求。直至找到能够回答该请求的域名服务器为止。

三.域名的解析方式  

       域名的解析过程分为两种方式,递归解析和迭代解析。

       递归解析:主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(替代主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果要么是获得正确的IP地址,要么返回错误结果,表示无法查询到目标域名的IP地址。

       迭代解析:一般为本地域名服务器向根域名服务器的查询方式。迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“下一步应该向哪一个域名服务器发起查询请求”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己保存的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器:“下一步应该向哪一个权限域名服务器进行查询”。最后,查询到所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

       以下为两种解析方式的原理图:

     技术分享

       为提高DNS查询效率,并且减轻DNS服务器的负荷以及较少DNS报文数量,常在域名解析系统中采用高速缓存机制(客户主机和服务器均可),用来存放近期查询过的域名和域名映射信息。但高速缓存机制中的域名报记录及映射信息均有限制时间,当在限制时间内再次查询相同记录,则直接从缓存中获取,提高了查询速度,增加限制时间可一减少网络开销,减小限制时间可提高域名解析的准确性(因为域名会改变)。

四.DNS阶层架构

       技术分享

  DNS系统最顶端是根域(.),下一级是以国家/地区或组织为分类的顶级域名,再下一级为个人或组织在网上组册的二级域名,再往下为二级域名派生的子域,最后为DNS域名最左侧的标签标识的计算机主机名。这就是DNS的阶层式分布结构。

五.DNS资源记录

  DNS数据库中包含着记录资源,每个资源记录标识数据库中特定的资源,以下为常见的资源记录:   1.SOA:起始授权机构记录,数据记录时间默认为60分钟,说明负责解析的DNS服务器中哪一个是主服务器,数据包含所有者名称,主名称服务器DNS名称,序列号,刷新间隔,重试间隔,过期时间,最小TTL(time to live)。   

       2.A:主机记录,说明一个域名对应的IP是多少,指定域名与IP的对应关系,数据包含所有者名称(主机的DNS域名),主机IP地址。   

       3.NS:名称服务器记录,说明特定区域(SOA)有哪些DNS服务器负责解析,数据包含所有者名称,名称服务器DNS名称。  

     4.MX:邮件交换记录,主要应用于邮件服务器,说明邮件传递的DNS记录,数据包括所有者名称,邮件交换服务器,DNS名称的首选项值。   

       5.CNAME:域名的别名记录,主要应用于隐藏主机真实域名,用别名代替,数据包括所有者名称(别名),主机的DNS名称。   

       6.PTR:指针记录,是A记录的逆记录,作用是把IP地址解析为域名,数据包含所有者名称(主机的DNS域名),主机的IP地址。   

       正解:从主机名查询到IP的流程。   

       反解:从IP反解析到主机名的流程。   

       Zone(区域):指定某个DNS域名服务器负责解析的主机记录。

本文出自 “不一样的天空” 博客,请务必保留此出处http://jiekeyang.blog.51cto.com/11144634/1774626

DNS详解

标签:ip地址   客户端   通信   应用程序   域名服务器   

原文地址:http://jiekeyang.blog.51cto.com/11144634/1774626

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!