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

浅谈DNS

时间:2015-11-25 19:21:22      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

什么叫域名解析

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。

DNS的查询过程

DNS客户机需要查询程序中使用的名称时,它会查询本地DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。

l  指定的 DNS 域名,表示为完全合格的域名 (FQDN) (完整网域名称由主机名称与母网域名称两部分所组成,例如有一部服务器的本地主机名为myhost,而其母域名为example.com,那指向该服务器的完整网域名称就是myhost.example.com。虽然世界上可能有很多服务器的本地主机名是myhost,但myhost.example.com是唯一的,因此完整网域名称能识别该特定服务器。)

l  指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。

l  DNS域名的指定类别。对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如im.qq.com,并且指定的查询类型用于通过该名称搜索地址资源记录。

另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代,即DNS服务器之间的交互查询就是迭代查询。
DNS
查询的过程如下图所示。

技术分享

举一个例子来详细说明解析域名的过程,假设我们要访问的站点时:www.163.com, 域名解析的过程如下所示:

1.        在浏览器中输入www.163.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2.        如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3.        如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4.        如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5.        如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(163.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找163.com域服务器,重复上面的动作,进行查询,直至找到www.163.com主机。

6.        如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

技术分享

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。

DNS记录常见类型

l  A记录解析

记录类型选择“A”;记录值填写空间商提供的主机IP地址;MX优先级不需要设置;TTL设置默认的3600即可。

l  CNAME记录解析

CNAME类型解析设置的方法和A记录类型基本是一样的,其中将记录类型修改为“CNAME”,并且记录值填写服务器主机地址即可。

l  MX记录解析

MX记录解析是做邮箱解析使用的。记录类型选择MX,线路类型选择通用或者同时添加三条线路类型为电信、网通、教育网的记录;记录值填写邮局商提供的服务器IP地址或别名地址;TTL设置默认的3600即可,MX优先级填写邮局提供商要求的数据,或是默认10,有多条MX记录的时候,优先级要设置不一样的数据。

国际根域名服务器

互联网上的域名可谓千姿百态,但从域名的结构来划分,总体上可把域名分成两类,一类称为国际顶级域名,一类称为国内域名

一般国际域名的后缀大多诸如comnet.gov.edu”等国际通用域,这些不同的后缀分别代表了不同的机构性质。比如.com表示的是商业机构,.net表示的是网络服务机构,.gov表示的是政府机构,.edu表示的是教育机构。

由于互联网的发展是从美国开始的,因此,美国一直保持着对互联网域名及根服务器的控制。目前,全球共有13台套根域名服务器,其中美国10个,欧洲2个(位于英国和瑞典)、亚洲1个(位于日本),并在全球部署有三百多个根镜像服务节点,在中国大陆地区有5个,覆盖了FIJL 根。其中,F 根由ISCInternet Systems Consortium)机构与CNNIC合作,在北京建设了两个F根镜像服务节点,由中国电信和CNNIC分别提供网络接入;Verisign与中国联通合作,在北京建设了J根镜像服务器,中国联通提供接入。另外两个由CNNIC提供网络机房环境分别与NetnodICANN合作,在北京建设了IL根镜像服务节点。目前中国还有相关机构继续与国际合作实施更多的根镜像节点。

技术分享

中国的镜像服务器

国内域名的后缀通常要包括国际通用域国家域两部分,而且要以国家域作为最后一个后缀。以ISO31660为规范,各个国家都有自己固定的国家域,如:cn代表中国、us代表美国、uk代表英国等。

 

国内域名的后缀通常要包括国际通用域国家域两部分,而且要以国家域作为最后一个后缀。以ISO31660为规范,各个国家都有自己固定的国家域,如:cn代表中国、us代表美国、uk代表英国等。

 

也许正是因为看到IPv4即将退出,以及中国在IPv6上的迅猛发展,美国才允许中国于2003年和2004年开通根域名服务器的中国镜像服务器,也就是引进了域名根服务器的F镜像服务器(大致的说,镜像服务器就是原根服务器的克隆服务器)和J镜像服务器及顶级域名.COM .NET的镜像服务器,国内从此有了域名根服务器的镜像服务器,当时这些镜像服务器安装在中国电信,后来随着国家将中国电信按照南北两大块拆分办法,将中国电信拆分为江南的中国电信与江北的中国网通两大公司,目前F镜像服务器安装在中国电信,J镜像服务器和.COM .NET镜像服务器则安装在中国网通。

 

有了域名根服务器的镜像服务器后,国内解析.CN域名和COM域名就不用到国外的域名根服务器获得顶级索引了,这将从根本上提高国内网络访问速度。这意味着,自2004年以后中国网民访问com.net网站时,域名解析将不再由设置在境外的域名服务器提供服务,而是直接由设置在中国电信的“F镜像服务器和设置在中国网通的“J镜像服务器来提供。

 

linux下使用dig命令查看根服务地址:

技术分享

anycast

前面提到,全球部署有三百多个根镜像服务节点(mirror),因此可以较好的抵抗针对其所进行的分布式拒绝服务攻击(DDoS),而这种安全性是通过任播(anycast)来实现的。

任播(anycast)是一种网络地址和路由的策略,使得资料可以根据路由拓朴来决定送到最近最好的目的地。任播是与单播、广播和多播不同的方式。

l  在单播中,在网络地址和网络节点之间存在一一对应的关系。

l  在广播和多播中,在网络地址和网络节点之间存在一对多的关系:每一个目的地址对应一群接收可以复制资讯的节点。

l  在任播中,在网络地址和网络节点之间存在一对多的关系:每一个地址对应一群接收节点,但在任何给定时间,只有其中之一可以接收到传送端来的资讯。

通俗一点来说,Anycast可以把好多台机器整成一个公网IP地址,然后通过BGP宣告给运营商,从而实现客户端就近访问,以及节点失败后,服务自动转移等功能。Anycast最佳的应用环境就是DNS,一般DNS查询走的都是UDP协议,IP Anycast 结合 BGP的为DNS全球冗余及加速提供天然的条件。

 

在互联网中,通常使用边界网关协议(BGP)来实现Anycast

 

在网络上,任播可以用来帮助抵御DDOS并减少它们的效率。既然流量是导到最近的而非攻击者程式能控制的节点,洪水攻击流量将被分散到最近的节点。这通常意味着并非所有的节点被影响。这通常是一个布署任播位址的重要理由。

 

DNS是整个互联网运行的基础之一,怎么强调它的重要性都不为过。

 

浅谈DNS

标签:

原文地址:http://www.cnblogs.com/linuxbug/p/4995326.html

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