跟大神一起深度学习DNS,仅需9个步骤

DNS 的结构我们在此不再赘述,只谈谈其运行原理。通过用户访问网页的过程,来描述 DNS 解析以及获

跟大神一起深度学习DNS,仅需9个步骤

DNS 的结构我们在此不再赘述,只谈谈其运行原理。通过用户访问网页的过程,来描述 DNS 解析以及获取 URL到 IP 映射的整个过程。

其中过程比较复杂,会存在信息的来回传递。画图的过程中我们会简化信息来回传递的线段,重点放在信息传递的路径,通过9步来诠释 DNS 解析过程。

跟大神一起深度学习DNS,仅需9个步骤

▲用户请求以及 DNS 解析的全过程

1、用户请求通过浏览器输入要访问网站的地址,例如:www.toutiao.com。浏览器会在自己的缓存中查找 URL 对应 IP 地址。如果之前访问过,保存了这个 URL 对应 IP 地址的缓存,那么就直接访问 IP 地址。如果没有缓存,进入到第2步。

2、通过计算机本地的 Host 文件配置,可以设置 URL 和 IP 地址的映射关系。比如 windows 下是通过C:\windwos\system32\driver\etc\hosts文件来设置的,linux中则是/etc/named.confg文件。这里查找本地的Host文件,看是有IP地址的缓存。如果在文件中依旧没有找到映射关系,进入第3步。

3、请求 Local DNS Server,通过本地运营商获取 URL 和 IP 的映射关系。如果在校园网,DNS 服务器就在学校,如果是小区网络,DNS 服务器是运营商提供的。

总之这个服务器在物理位置上离发起请求的计算机比较近。Local DNS Server 缓存了大量的 DNS 解析结果。由于它的性能较好,物理上的距离又比较近,它通常会在很短的时间内返回指定域名的解析结果。80%的 DNS 解析需求在这一步就满足了。如果在这一步还是没有完成 DNS 解析,进入第4步。

4、通过 Root DNS Server 进行解析,ROOT DNS Server 会根据请求的 URL 返回给 Local DNS Server 顶级域名服务器的地址。例如:查询的是”.com”的域名,就查询 gTL 对应的域名服务器的地址。

跟大神一起深度学习DNS,仅需9个步骤

图文无关,哈哈哈

5、返回顶级域名服务器的地址以后,访问对应的顶级域名服务器(gTLD、ccTLD、New gTLD),并且返回 Name Server 服务器地址。

这个 Name Server 就是网站注册的域名服务器,上面包含了网站 URL 和 IP 的对应信息。例如你在某个域名服务提供商申请的域名,这个域名就由他们的服务器来解析。这个 Name Server 是由域名提供商维护的。

6、Name Server 会把指定域名的A记录或者 CNAME 返回给 Local DNS Server,并且设置一个 TTL。

A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的 web server 上。同时也可以设置您域名的二级域名。CNAME:别名记录。这种记录允许您将多个名字映射到另外一个域名。通常用于同时提供 WWW和 MAIL 服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供 WWW 和 MAIL 服务,为了便于用户访问服务。服务商从方便维护的角度,一般也建议用户使用CNAME 记录绑定域名的。如果主机使用了双线IP,显然使用 CNAME 也要方便一些。TTL(Time To Live):也就是设置这个 DNS 解析在 Local DNS Server 上面的过期时间。超过了这个过期时间,URL 和 IP 的映射就会被删除,需要获取还要请求 Name Server。

7、如果此时获取的是A记录,那么就可以直接访问网站的 IP了。但是通常来说大型的网站都会返回CNAME,然后将其传给 GTM Server。

GTM(Global Traffic Manager的简写)即全局流量管理,基于网宿智能 DNS、分布式监控体系,实现实时故障切换及全球负载均衡,保障应用服务的持续高可用性。传给 GTM 的目的就是希望通过 GTM 的负载均衡机制,帮助用户找到最适合自己的服务器 IP。

也就是离自己最近,性能最好,服务器状态最健康的。而且大多数的网站会做 CDN 缓存,此时就更需要使用 GTM 帮你找到网络节点中适合你的 CDN 缓存服务器。

8、找到 CDN 缓存服务器以后,可以直接从服务器上面获取一些静态资源,例如:HTML、CSS、JS和图片。但是一些动态资源,例如商品信息,订单信息,需要通过第9步。

9、对于没有缓存的动态资源需要从应用服务器获取,在应用服务器与互联网之间通常有一层负载均衡器负责反向代理。有它路由到应用服务器上。

总结

DNS服务器是用来做 URL 与 IP 地址解析的,帮助用户找到要访问服务器的 IP。从 DNS 服务器的结构来说大致分为三层:根域名服务器,顶级域名服务器,本地域名服务器。

申请域名的供应商会提供 Name Server 作为 DNS 解析。从用户访问一个网站出发,经过浏览器,本地Host文件、Local DNS Server、Root DNS Server、顶级域名服务器(gTLD、ccTLD、New gTLD)、Name Server、GTM、CDN、Application Server。共经历了9个步骤。

作者:崔皓


跟大神一起深度学习DNS,仅需9个步骤

原创文章,作者:共创,如若转载,请注明出处:https://www.sudun.com/ask/96665.html

(0)
共创的头像共创
上一篇 2024年8月19日 下午4:24
下一篇 2024年8月19日 下午4:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注