专栏首页前端之心域名解析详解
原创

域名解析详解

我们知道网络通讯基本上是基于TCP/IP的,而TCP/IP以IP地址为基础,而域名仅仅是为了方便人类的记忆而设计的名称,计算机在网络中进行通讯时不能识别域名,只能识别IP地址,所以计算机在进行网络通讯之前需要先完成域名到IP的转化,我们称之为域名解析。

域名相关机构角色的关系

ICANN,全称是互联网名称与数字地址分配机构,一个非营利性的国际组织,负责在全球范围内对互联网唯一标识符系统及其安全稳定的运营进行协调,包括IP地址的空间分配、通用顶级域名以及国家和地区顶级域名系统的管理、根服务器系统的管理。

IANA,互联网数字分配机构,早期代表美国政府行使ICANNA的职能,后来工作交由ICANN负责。

域名注册局,是顶级域名下注册的域名的数据库。注册操作者是域名系统(NIC)的一部分,它保存了域名的数据。每个NIC都是一个组织,它管理顶级域名下的域名注册,负责控制域名分配政策。比如.com注册局则保存.com域名的数据,成为注册局需要向ICANN申请。

域名注册商,是经认证可向公众销售域名的组织,如 godaddy。

域名解析商,是提供域名解析服务的组织,比如dnspod。

此外,CNINIC和通信管理局是两个具有中国特色的组织,分别负责域名的实名和备案,这两个环节是域名使用过程中最为耗时最为繁琐的环节。

DNS解析架构的演变

早期接入互联网的设备很少,IP的管理比较简单,最开始是是通过本地Hosts文件的方式对域名和IP的映射关系进行管理;后来为了解决本地Host带来的配置不一致的问题,改为Hosts文件由Ftp统一发布,各个设备定时从Ftp更新Hosts 文件;再到后来出现了中心化的DNS服务集群提供域名解析服务;但随着接入互联网的设备增加,域名解析的请求量暴增,中心化的DNS服务集群开始暴露出明显的缺陷。客户机直接将所有查询请求发往中心化的DNS服务器,同时DNS服务器直接对所有查询客户机做出响应,出现了有单点故障,通信容量,远距离通信延迟,维护开销大等问题。为了解决中心化DNS服务存在的问题,出现了分布式DNS层次架构。

DNS解析架构的演变

DNS服务器一般分三种,根DNS服务器,顶级DNS服务器,权威DNS服务器。

DNS解析过程

  1. 当在浏览器中输入URL时,浏览器会先检查自己的缓存是否有域名IP的映射关系,有则直接使用IP进行通信;
  2. 如果浏览器没有缓存,则操作系统会检查本地Hosts文件是否有域名IP的映射关系,有责使用IP进行通信;
  3. 如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有映射关系,有则直接返回完成域名解析;
  4. 如果至此还未找到映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,也就是常称的本地DNS服务器,如果服务器已缓存了映射关系,则使用这个IP地址映射返回完成域名解析,此时解析不具有权威性;
  5. 如果本地DNS服务器缓存已经失效(以转发模式为例),本地DNS服务器就把请求发至13组根DNS服务器,根DNS服务器收到请求后会判断这个.com域名是谁管理,并会返回一个负责该顶级域名服务器。本地DNS服务器收到顶级域名服务器信息后,将会联系负责.com域的服务器。该.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级.tencent.com域DNS服务器给本地DNS服务器。当本地DNS服务器收到该服务器的信息后,就会找向.tencent.com域服务器查询cloud.tencent.com域名指向的主机地址,返回给浏览器并将映射关系缓存,至此完成域名解析的过程。

整个迭代查询的过程均通过本地DNS服务器进行,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

下一篇分享我们将给大家介绍如何通过实用的 dig 命令洞察 DNS 解析过程。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何搭建主从架构的 DNS 服务器

    前面我们介绍了如何搭建 DNS 服务器以及如何往 DNS 服务器添加反向解析记录,本文将在前面的基础上告诉大家如何搭建主从架构的 DNS 服务器。

    9527
  • 快速搭建 DNS 服务器

    前面几篇文章我们介绍了域名解析,介绍了如何通过 dig 命令洞察 DNS 解析的过程,并从 DNS 协议的层面分析了全球为什么只有13组根域名服务器,本文向大家...

    9527
  • dig 命令洞察 DNS 解析过程

    在上一篇文章,我们介绍了域名解析的过程,本章我们将介绍一个实用的工具---dig命令,通过dig命令我们可以查看 DNS 解析的过程,以便我们更好的理解 DNS...

    9527
  • 五分钟了解网络连接

    笔者最近阅读大量网络原理相关书籍,因此总结出此文,读完本文,读者们应该要了解下面名词:

    Dwyane
  • DNS

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.ne...

    zy010101
  • DNS 协议入门

    域名系统 (DNS) 的作用是将人类可读的域名 (如,www.example.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。

    静默虚空
  • 黑客技术?没你想象的那么难!——dns劫持篇

    在网络中,机器之间只认识IP地址,机器之间最终都要通过IP来互相访问。但是为了方便记忆,可以为IP地址设置一个对应的域名,通过访问域名,就可以找到对应IP地址的...

    周俊辉
  • 超清晰的 DNS 原理入门指南

    来源:阮一峰的网络日志 作者:阮一峰 链接:http://www.ruanyifeng.com/blog/2016/06/dns.html DNS 是互联网核...

    小小科
  • 超清晰的 DNS 原理入门指南

    DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。

    马哥linux运维
  • windows2003 DNS服务器的配置步驟

     目前很多企业事业单位都建立了单位内部的局域网,网络内部都配备相关的服务器(如web、ftp等服务器)。内部网络的用户都希望所有的服务器都用域名来访问,网络管理...

    习惯说一说

扫码关注云+社区

领取腾讯云代金券