DNS 解析的过程梳理

来源:互联网 发布:台湾雄三导弹 知乎 编辑:程序博客网 时间:2024/05/18 01:04

4DNS是因特网的核心服务。
他可以将域名解析成ip地址。

我们接下来进行一遍梳理

1.浏览器解析

当我们输入www.baidu.com 这个域名,浏览器首先查看缓存中是否有存在该DNS 解析.

如果你使用的chrome 浏览器,直接在地址栏输入 chrome://net-internals/#dns

这里写图片描述

这里就是我们的浏览器缓存,可以看到我这里很多的都已经失效了。
TTL (Time To Live 存活时间)已经为负数。

如果浏览器可以解析DNS的话,解析到这里就结束了,请求通过ip地址直接访问了。

2.操作系统解析

浏览器如果无法解析,就到了操作系统解析的这个层面。

windows 下地址通常是C:\Windows\System32\drivers\etc\hosts
linux centos 下地址通常是/etc/resolv.conf

如果你指定了一个域名对应的ip地址,那么浏览器就是用这个解析。DNS的解析到此结束。

这是因为这个机制,windows的一些病毒,通过修改hosts文件劫持你的域名。所以windows7之后,操作系统把hosts文件设置成了只读。来防止被轻易的更改。

注:上面的两步骤,都是在本机电脑上完成的。此时还没有真正链接到DNS服务器上

3 .0

为什么出来3.0 因为这一步?
常常我们会自己设置电脑的dns地址。如果我们设置的是8.8.8.8,那么域名就回到这个DNS服务器去解析。

如果我们在局域网内部,同时设置的局域网段的dns 例如192.168.1.1
那么域名就会使用路由器的DNS地址。

当我们的电脑和路由器都使用了外网的DNS服务器地址,根据就近原则,电脑上设置的DNS优先使用。

3.1 本地DNS服务器解析

如果我们使用的是路由器自动适配的DNS服务器,通常这个属于运营商提供的,如果你在校园,可能是校园的局域网提供的。

这个DNS服务器通常不会距离你太远,可能就在学校内部,城市中的某一个机房。这里的本地即地理位置的本地,而非我们自己的电脑。

常常叫做LDNS。 这些DNS一般都会缓存域名解析结果。大部分域名解析的工作到这里就结束了,毕竟大家经常上的搜索引擎,各类门户,音频视频网站差不多就那个些。

4. 根DNS服务器解析

如果此时还没有命中,就会直接到Root Server 域名服务器请求解析。
目前全球有13组根域名服务器,分布在各大洲,截至2014年共386台根dns服务器。

为什么是13组,因为早期是由13台dns根服务器组成,因为UDP的报文长度可以携带的最大信息数是13台,再多了就会有信息不全。为了应对各种突发情况,现在已经分为13组。

5. 主域名服务器解析

根服务器返回给LDNS一个主域名服务器 gTLD Server 。就如同具体的.com .edu等等。
主域名服务器返回此域名对应的Name Server

6. Name Server 解析

这个NameServer通常是你注册该域名服务的提供商。
这里比如万网的域名解析,通常我们解析域名时也可以设置TTL。

返回时,就返回了IP 和TTL 等值,然后各级一级一级缓存。

并最终返回给用户。域名解析到此结束。

原创粉丝点击