浅谈DNS

什么叫域名解析

域名解析是把域名指向网站空间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记录的时候,优先级要设置不一样的数据。

国际根域名服务器

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

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

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

中国的镜像服务器

国内域名的后缀通常要包括“国际通用域”和“国家域”两部分,而且要以“国家域”作为最后一个后缀。以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是整个互联网运行的基础之一,怎么强调它的重要性都不为过。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

32764端口后门重出江湖,影响多款路由器

在年初的时候已经发布关于秘密后门——“TCP 32764”的报道,利用该后门漏洞,未授权的攻击者可以通过该端口访问设备,以管理员权限在受影响设备上执行设置内置操...

2169
来自专栏FreeBuf

混在运维部的安全员说“端口与口令安全”

? 1. 前言 先简单自我介绍一下,其实,我是一个安全工程师。现就职于某互联网金融企业负责公司整体网络安全。 刚到公司时首先是了解一些企业规则和规则制定者,当...

6073
来自专栏小白的技术客栈

系统入侵后的排查思路及心得

入侵后的总结 入侵后的总结 昨天发布Linux被入侵及其如何检查,今天这一篇主要是一些排查思路,仅供大家参考。 ? 写在前面 首先,确保系统密码符合密码复杂...

3946
来自专栏区块链

我们不一样的黑客渗透教程第三课,CVE20177269实战测试

很多人想学黑客知识,却不知如何入门,网上的教程也太繁琐,小白看了也头疼,那还是我来写黑客系列入门教程吧,跟着我做,你能黑客入门的。我已经写了两篇了,第1篇在 《...

3466
来自专栏DevOps时代的专栏

[Jenkins 新插件] 兼容阿里开发手册 (P3C) 的火线插件安装使用教程

火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项...

4567
来自专栏walterlv - 吕毅的博客

在 Windows 安装期间将 MBR 磁盘转换为 GPT 磁盘

2018-02-22 14:13

1172
来自专栏企鹅号快讯

黑客花无涯:Linux 入侵常用命令

请点击此处输入图片描述 写个php一句话后门上去: [jobcruit@wa64-054 rankup_log]$ echo -e "" >rankuplog_...

3236
来自专栏编程

(4)Superset权限使用场景

如前文所述,Superset初始化权限之后,创建5个角色,分别为Admin,Alpha,Gamma,sql_lab以及Public。Admin,Alpha和Ga...

2.1K10
来自专栏张戈的专栏

SEO分享:让百度删除不想收录的域名或快照的最快方法

个别网站可能会出现以下类似困扰: ①、百度收录了自己不想收录的域名,造成内容重复,比如张戈博客,百度近一半的收录是 www 的域名,而且收录的内容还是重复的!实...

9717
来自专栏QQ音乐技术团队的专栏

KV存储跨IDC容灾部署

1.背景   目前部分KV存储不支持跨IDC部署,所以如果有机房故障的话,就会影响KV存储的可用性。本文提供了一种通过KV存储代理层来实现跨IDC容灾部署的方案...

3548

扫码关注云+社区

领取腾讯云代金券