DNS它是个啥?
DNS(Domain Names System),域名系统,是互联网一项服务,是进行域名和与之相对应的 IP 地址进行转换的服务器
通俗点说,它就是负责把域名转换成ip地址的一个老工具人儿
好可怜有木有?5555的笑出来了
这时候可能就有小可爱问了,ip地址和域名是什么?我.....
咳咳..我还是来说一下吧
ip地址:一长串能够唯一地标记网络上的计算机的数字。比如1.1.1.1 ,或者你现在去百度查一下“ip地址”,你就会迅速获得你的电脑ip,而且ip地址可以变动的哦
域名:是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。比如说你现在在用电脑的话,那你抬头看下电脑上方的一长串英文,它就是域名啦!
域名
让我们再来详细说下域名!域名是一个具有层次的结构,从上到下一次为根域名、顶级域名、二级域名、三级域名...
我们通过域名树的方式来查看域名的结构,可以看出来,它实际上是一个倒过来的树,最上面的是根,没有对应的名字。因为根没有名字,所以根下面的一级节点就是顶级域名,往下同理。我们以 www.baidu.com 为例,www 是三级域名,baidu 是二级域名,com 是顶级域名,各级域名之间通过 . 相连。每个互联网上的主机域名都对应一个 IP 地址,并且这个域名在互联网中是唯一的。
域名服务器
在域名的每一层都会有一个域名服务器,根据域名服务器所起到的作用,可以把域名服务器分为四种不同的类型。
还有一种还有电脑默认的本地域名服务器哦!
在了解DNS解析之前还有两个知识点需要补充,别急哦~
DNS查询方式
DNS的查询方式有两种:
1.递归查询:
如果 A 请求 B,那么 B 作为请求的接收者一定要给 A 想要的答案
2.迭代查询:
迭代查询:如果接收者 B 没有请求者 A 所需要的准确内容,接收者 B 将告诉请求者 A,如何去获得这个内容,但是自己并不去发出请求
看到这里有点懵也没关系,留个印象,再往后看!看到最后不懂来打我
域名缓存
在域名服务器解析的时候,使用缓存保存域名和IP
地址的映射
计算机中DNS
的记录也分成了两种缓存方式:
- 浏览器缓存:浏览器在获取网站域名的实际 IP 地址后会对其进行缓存,减少网络请求的损耗
- 操作系统缓存:操作系统的缓存其实是用户自己配置的
hosts
文件
DNS解析全过程
解析域名的过程如下:
-
首先搜索浏览器的 DNS 缓存,缓存中维护一张域名与 IP 地址的对应表
-
若没有命中,则继续搜索操作系统的 DNS 缓存
-
若仍然没有命中,则操作系统将域名发送至本地域名服务器,本地域名服务器采用递归查询(前面提过哦)自己的 DNS 缓存,查找成功则返回结果
-
若本地域名服务器的 DNS 缓存没有命中,则本地域名服务器向上级域名服务器进行迭代查询(前面提过哦)
- 首先本地域名服务器向根域名服务器发起请求,根域名服务器返回顶级域名服务器的地址给本地服务器
- 本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的地址
- 本地域名服务器根据权限域名服务器的地址向其发起请求,最终得到该域名对应的 IP 地址
-
本地域名服务器将得到的 IP 地址返回给操作系统,同时自己将 IP 地址缓存起来
-
操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起
-
至此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址缓存起
整体流程如下:
你...学废了嘛? 嘻嘻嘻今天的课程到此结束~拜了个拜~