浏览器之DNS解析过程详解

概念

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。

简单的说,域名解析就是将域名转换为IP地址的过程。因为想要访问一台服务器,最终是靠IP地址访问的,而不是靠域名访问的,他们的之间的映射关系保存在本地缓存和网络上的各种域名解析服务器中,如浏览器缓存,系统缓存,域名商的域名解析服务器,…,那么他们的查询顺序和查询方式就是本文的内容。

域名结构

就以mail.baidu.com域名为例,域名最后一个.的右侧部分我们称之为顶级域名,倒数第二个.右侧部分称之为二级域名,以此类推,就会有三级域名,四级域名等等。

mail.baidu.com的域名中,com称为顶级域名,baidu.com称为二级域名,mail.baidu.com称为三级域名。

域名由两个或两个以上的词组成,常见域名为二级域名+顶级域名组成,所以一般我们会将域名分为顶级域名、二级域名,除此之外,还有国家代码顶级域名。

顶级域名服务器

顶级域名为域名最后一个.号右侧部分的单词,如mail.baidu.comcom就是顶级域名,顶级域名对应的服务器我们称之为顶级域名服务器,除此之外,常见的顶级域名还有.NET,.TOP,.ORG等,他们都有各自的用途。

  • .COM:用于商业机构,没有使用限制,所有人都可以注册
  • .NET:最开始用于网络组织,如服务商和维修商,现在没有使用限制,所有人都可以注册
  • .TOP:用于行业内的顶级企业或个人,所有人都可以注册
  • .ORG:用于各种组织,如非盈利组织、教育组织等,现在所有人都可以注册

国家代码顶级域名

常见的顶级域名除上述的之外,还有.CN.UA.JP等,这些是由两个字母组成的,是各个国家专用的顶级域名,如.CN是中国专用的顶级域名,.JP是日本专用的顶级域名。

二级域名服务器

域名中倒数第二个.的右侧部分称之为二级域名,如mail.baidu.com中的baidu.com就是二级域名,二级域名没有固定的单词,可以由各种字母和数组组成,如51cto.com,和顶级域名服务器类似,与二级域名对应的称为二级域名服务器,以此类推,还有三级域名服务器,四级域名服务器,…

根域名服务器

在2016年之前全球一共拥有13台根服务器,1台主根服务器在美国,其他12台为辅根服务器,其中美国9台,英国1台,瑞典1台,日本1台,这13台根服务器主要管理互联网的主目录,主要作用IPV4。

本地域名服务器

本地域名服务器的范围非常广,没有一个详细的定位,可能是某个运营商部署在该城市的一台服务器,也可能是某个公司的一台服务器,甚至可能是某个学校的某一台服务器,不必深究概念,只要知道有这样一台服务器就行。

存放地址

介绍完了域名的组成和域名服务器的分类,我们就来看看域名和IP地址的对应关系都会存放在哪些地方:

  • 浏览器缓存
  • 系统缓存
  • 本地域名服务器
  • 根域名解析服务器
  • 顶级域名服务器
  • 二级域名服务器
  • 三级域名服务器

查询顺序

现在我们来看看怎么去根据域名查询一台服务器的IP地址。
如果某个用户正在用浏览器mail.baidu.com的网址,当你敲下回车键的一瞬间:

1、检查浏览器缓存中是否存在该域名与IP地址的映射关系,如果有则解析结束,没有则继续
2、到系统本地查找映射关系,一般在hosts文件中,如果有则解析结束,否则继续
3、到本地域名服务器去查询,有则结束,否则继续
4、本地域名服务器查询根域名服务器,该过程并不会返回映射关系,只会告诉你去下级服务器(顶级域名服务器)查询
5、本地域名服务器查询顶级域名服务器(即com服务器),同样不会返回映射关系,只会引导你去二级域名服务器查询
6、本地域名服务器查询二级域名服务器(即baidu.com服务器),引导去三级域名服务器查询
7、本地域名服务器查询**三级域名服务器(**即mail.baidu.com服务器),此时已经是最后一级了,如果有则返回映射关系,则本地域名服务器加入自身的映射表中,方便下次查询或其他用户查找,同时返回给该用户的计算机,没有找到则网页报错
8、如果还有下级服务器,则依此方法进行查询,直至返回映射关系或报错

像该过程中的第1、2、3点,仅限于在本地域名服务器中查找,如果有则直接返回映射关系,否则就去其他DNS服务器中查询,这种查询方式我们叫做递归查询
第3、4、5、6、7、8过程,他们只会给出下级DNS服务器的地址,并不会直接返回映射关系,这种查询方式叫做迭代查询
总结
最后引用大神的一张图做总结吧:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值