前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[译] DNS- 为何重要&如何工作

[译] DNS- 为何重要&如何工作

作者头像
江米小枣
发布2020-06-16 17:09:39
4390
发布2020-06-16 17:09:39
举报
文章被收录于专栏:云前端云前端

原文:https://dyn.com/blog/dns-why-its-important-how-it-works/

域名系统(Domain Name System,也就是 DNS)被用来将人类可读的诸如 www.dyn.com 这样的主机名称处理成类似 204.13.248.115 的机器可读的 IP 地址。DNS 也提供一些关于域名的其他信息,比如邮件服务(译注:可参阅 https://baike.baidu.com/item/邮件服务器#3_4)。

但是为什么说 DNS 如此重要?它是如何工作的?还有什么是你应该知道的呢?

为什么说 DNS 如此重要 ?

DNS 就像互联网上的电话簿。如果你知道某人的名字但不知道他的电话号码,在电话簿上就可以轻易查找到。DNS 在互联网上就提供了同样的服务。

当你用浏览器访问 http://www.dyn.com 时,你的计算机使用 DNS 检索到该网站的 IP 地址为 204.13.248.115。如果没有 DNS,那就只能用 IP 地址直接访问网站了。

DNS 是如何工作的 ?

当你访问诸如 http://www.dyn.com 这样的域名时,你的计算机会按以下顺序,一步步的将人类可读的 web 地址转换为机器可读的 IP 地址。在每次使用到域名时都是这样,不管你是浏览网站、发送邮件还是收听 Pandora 这种在线广播(译注:仅美国可用的一个极简在线音乐站点)时。

Step 1: 请求信息

整个过程开始于你要求计算机处理一个主机名的时候,比如说访问 http://www.dyn.com。计算机的目光首先会投向其本地的 DNS 缓存(译注:还会优先考虑代理插件、浏览器设置、hosts 文件等),那里存储了计算机最近接收过的信息。

如果计算机没有得到答案,就需要执行 DNS 查询 了。

Step 2: 询问递归式 DNS 服务器

如果本地没有存储所需的信息,计算机会联络你的 ISP(网络服务提供商)的递归式 DNS 服务器。这些专门的机器帮你干了 DNS 查询 的跑腿儿活。递归式服务器也有其自身的缓存,所以常常在这步就能完成查询过程,并将信息返回给用户了。

Step 3: 询问 root 服务器

如果递归式服务器也没有答案,它们就会去查询 root nameservers 。一个 nameserver 就是一台用以回答关于域名的问题(如 IP 地址)的机器。全球的 13 个 root 服务器(译注:每个又有若干台镜像,截至2017年11月,全球共有800台根域名服务器在运行)扮演着 DNS 的电话接线总机的角色。它们并不知道答案,但可以告诉我们去问谁,从而可以找到答案。

Step 4: 询问 TLD 服务器

root 服务器根据请求的首个部分,按从右向左读的顺序,找到 www.dyn.com 里面的 .com,并将请求导向 .com 对应的 TLD nameservers(顶级域名服务器)。每个 TLD,如 .com.org.us,拥有其自己的一组域名服务器,扮演其接线员的角色。这些服务器也没有我们需要的信息,但可以直接将我们引荐到持有信息的服务器上去。

Step 5: 询问 DNS 权威服务器

TLD 服务器继续审视请求的下一个部分 -- www.dyn.com,并将查询引导至负责这部分域名的服务器 -- 这些被称为权威服务器(authoritative nameservers) 的机器负责将特定域名的所有信息存储在 DNS 记录(DNS records) 中。记录有很多种,每种包含一种不同的信息。

在本例中,我们想知道 www.dyn.com 对应的 IP 地址,所以我们向权威服务器询问 地址记录(A,也就是Address Record)

Step 6: 接收一条记录

递归式服务器从权威服务器接收到 dyn.com 的 A 记录后,将其存储在自身的本地缓存中。当其他人再请求 dyn.com 的主机记录,递归式服务器就成竹在胸了,不用再走一遍查找流程了。

所有记录都有一个 time-to-live 值,类似于过期时间。一段时间之后,递归式服务器就需要记录的新拷贝,以确保信息不会过期。

Step 7: 得到答案

你的计算机得到递归式服务器返回的带有答案的记录后,将其存储在自身的缓存中;然后从记录中读出 IP 地址,并将该信息告知你的浏览器。随后浏览器就会建立一个和服务器的连接,并接收到网站数据。

从始到终,这一整个过程,只消数毫秒便可完成。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云前端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么说 DNS 如此重要 ?
  • DNS 是如何工作的 ?
    • Step 1: 请求信息
      • Step 2: 询问递归式 DNS 服务器
        • Step 3: 询问 root 服务器
          • Step 4: 询问 TLD 服务器
            • Step 5: 询问 DNS 权威服务器
              • Step 6: 接收一条记录
                • Step 7: 得到答案
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档