DNS 最早的设计是只有一台 DNS 服务器 。这台服务器会包含所有的 DNS 映射 。这是一种集中式单点设计,这种设计并不适用于当今的互联网,因为互联网有着数量巨大并且持续增长的主机,这种集中式的设计会存在以下几个问题
- 单点故障(a single point of failure),单点通常上只有一台 DNS 服务器,如果 DNS 服务器崩溃,那么整个网络随之瘫痪 。
- 通信容量(traaffic volume),单个 DNS 服务器不得不处理所有的 DNS 查询,这种查询级别可能是上百万上千万级 。
- 远距离集中式数据库(distant centralized database),单个 DNS 服务器不可能靠近所有的用户,假设在美国的 DNS 服务器不可能临近让澳大利亚的查询使用,其中查询请求势必会经过低速和拥堵的链路,造成严重的时延 。
- 维护(maintenance),维护成本巨大,而且还需要频繁更新 。
所以 DNS 不可能集中式设计,因为集中式设计完全没有可扩展能力,因此采用分布式设计,这种设计的特点如下 。
分布式、层次数据库
分布式设计首先解决的问题就是 DNS 服务器的扩展性问题 。因此 DNS 使用了大量的 DNS 服务器,它们的组织模式一般是层次方式,并且分布在全世界范围内 。没有一台 DNS 服务器能够拥有因特网上所有主机的映射 。相反,这些映射分布在所有的 DNS 服务器上 。
大致来说有三种 DNS 服务器:根 DNS 服务器、 顶级域(Top-Level Domain, TLD) DNS 服务器和权威 DNS 服务器 。这些服务器的层次模型如下图所示 。
文章插图
图 7-2
假设现在一个 DNS 客户端想要知道 www.amazon.com 的 IP 地址,那么上面的域名服务器是如何解析的呢?
首先,客户端会先根服务器之一进行关联,它将返回顶级域名 com 的 TLD 服务器的 IP 地址 。然后客户端与这些 TLD 服务器之一联系,它将为 amazon.com 返回权威服务器的 IP 地址 。最后,该客户与 amazom.com 权威服务器之一联系,它为 www.amazom.com 返回其 IP 地址 。
DNS 层次结构
我们现在来讨论一下上面域名服务器的层次系统 。
- 根 DNS 服务器,有 400 多个根域名服务器遍及全世界,这些根域名服务器由 13 个不同的组织管理 。根域名服务器的清单和组织机构可以在 https://root-servers.org/ 中找到,根域名服务器提供 TLD 服务器的 IP 地址 。
- 顶级域 DNS 服务器,对于每个顶级域名比如 com、org?.NET、edu 和 gov 和所有的国家级域名 uk、fr、ca 和 jp 都有 TLD 服务器或服务器集群 。所有的顶级域列表参见 https://tld-list.com/。TDL 服务器提供了权威 DNS 服务器的 IP 地址 。
- 权威 DNS 服务器,在因特网上具有公共可访问的主机,如 Web 服务器和邮件服务器,这些主机的组织机构必须提供可供访问的 DNS 记录,这些记录将这些主机的名字映射为 IP 地址 。一个组织机构的权威 DNS 服务器收藏了这些 DNS 记录 。
下面我们来描述一下 DNS 的查询步骤,从 DNS 解析 IP 再到 DNS 报文返回的一系列流程 。
注意:通常情况下 DNS 会将查找的信息缓存在浏览器或者计算机本地中,如果有相同的请求到来时,就不再会进行 DNS 查找,而会直接返回结果 。
通常情况下,DNS 的查找会经历下面这些步骤
- 用户在浏览器中输入网址 www.example.com 并点击回车后,查询会进入网络,并且由 DNS 解析器进行接收 。
- DNS 解析器会向根域名发起查询请求,要求返回顶级域名的地址 。
- 根 DNS 服务器会注意到请求地址的前缀并向 DNS 解析器返回 com 的顶级域名服务器(TLD)的 IP 地址列表 。
- 然后,DNS 解析器会向 TLD 服务器发送查询报文 。
- TLD 服务器接收请求后,会根据域名的地址把权威 DNS 服务器的 IP 地址返回给 DNS 解析器 。
- 最后,DNS 解析器将查询直接发送到权威 DNS 服务器 。
- 权威 DNS 服务器将 IP 地址返回给 DNS 解析器 。
- DNS 解析器将会使用 IP 地址响应 Web 浏览器 。
一旦 DNS 查找的步骤返回了 example.com 的 IP 地址,浏览器就可以请求网页了 。
推荐阅读
- 不同车系润滑油如何选?收好这篇指南!
- 我的榜样作文高中作文?我的榜样这篇作文怎么写
- 我喜爱的书刊读后感?我所能带给你们的事物读后感
- 我们会像童话故事里?这篇童话故事
- 手机能赚钱的5个方法分享给你 用手机怎么可以赚钱
- CoreDNS粗解
- 民间故事|民间故事:光棍半夜钓鱼,一群女子围上来,光棍:我给你看样东西
- 我变成了一只小猪作文?我变成了一头猪这篇作文400字
- 女人可以通过嫁人改变命运?当一个女生想嫁给你的时候
- 圣诞节祝福语恶搞?恶搞圣诞祝福语
