什么是 DNS(域名系统)及其工作原理?
已发表: 2020-12-09DNS的解释是什么?
DNS,全称域名系统,在客户端发起请求查询时,被用作将域名转换为各自IP地址的媒介。 DNS 存储在网络上注册的所有域名及其 IP 地址的数据库。
它可以被认为是互联网上各种网站的考勤登记册。 在 DNS 的情况下,它维护着所有网站域名及其 IP(互联网协议)地址的数据库,这些网站在世界各地都可以运行。
DNS 的历史
DNS 的起源可以追溯到 ARPANET 时代,当时只有几台计算机可以获取数据库中的条目。 斯坦福研究院维护了一个 HOSTS.TXT 文件,该文件构成了所有机器的数据,并被所有主机复制以保持更新。
信息科学研究所的 Jon Postel 于 1983 年要求 Paul Mockapetris 在加州大学欧文分校设计 DNS 的第一个实现。然后,在 1984 年,BIND(伯克利互联网名称域)由四名学生 Douglas Terry 创建, Mark Painter、David Riggle 和 Songnian Zhou,用于 Unix 机器。
在 1985 年 Kevin Dunlap 进行了一些修改后,它后来被移植到 Windows 机器上,并且仍然是地球上使用最广泛的 DNS。
DNS如何工作? – 一个简单的 DNS 示例
为了了解 DNS 的基本工作原理,让我用一个酒店的例子来指导你。 让我们假设您需要在某家酒店拜访您的朋友。 现在,你会怎么做? 您将到达酒店前台并向接待员询问您朋友的房间号。
为此,您需要将您朋友的姓名告诉接待员,接待员会在她的数据库中检查相同的信息并告诉您您朋友的房间号。 她还会打电话给你的朋友,确认他是否有空。
现在,尝试将示例与 DNS 的工作联系起来。 在这种情况下,您是向 DNS 服务器发送请求的客户端,接待员,您朋友的名字是域名,他的房间号是他的 IP 地址。
接待员将在她的计算机上输入您朋友的姓名,该计算机包含所有客人的数据库,称为域名空间。 如果你的朋友住在酒店,她会告诉你房间号,否则不会。
在 DNS 的工作中也会发生类似的事情:当您在浏览器中键入网站名称时,浏览器会向 DNS 服务器发送请求。 如果网站域名已在 DNS 的数据库中注册,它将以您尝试访问的网站的 IP 地址进行响应,例如 117.234.214.14。
了解域名和 IP 地址
现在,如果您要问什么是域? 它用于识别互联网上的各种网站和服务。 取域名,www.google.com。 IP 地址的命名约定从右到左移动,反之亦然。 在谷歌的域名中,首先DNS会检查com ,com代表商业域名,是顶级域名。
进一步,Google 是 com 的子域,随后www是 Google 域的子域。 点 (.) 用于将域与其子域分开。 完整的域名只能包含 253 个字符。
现在,如果有人想知道针对 IP 地址注册的域名,他们将使用网站的 IP 地址请求 DNS 服务器。 假设发送的 IP 地址是 31.13.79.246,DNS 会先查 31,然后是 13,然后是 79,最后是 246,得出这个 IP 地址属于 www.fb.com。
DNS 类似于树的层次结构,而不是生物的。 计算机数据结构中有不同的树,其中地址 31 属于树的顶部位置,是层次结构中的主域,地址 13、79、246 是连续的子域。
数字 246 是指托管网站 www.fb.com 的服务器计算机。 所有这些域和子域的东西并不像你想象的那么复杂,但如果你是这个概念的新手,需要一些时间才能正确理解。
另请阅读:什么是 HTTP/2 及其工作原理
DNS的演进
在早期,主文件由一个主服务器维护,该主文件随着每个新网站的进入而手动更新,然后其他服务器复制它。 但是,随着时间的推移,网站数量激增,手动维护域名数据库变得很困难。 因此,人们感受到了对自动化系统的需求,然后将自动更新全球数据库的能力引入了新一代 DNS。
如果您向域名注册商注册您的网站名称,您的网站大约需要 24 小时才能出现在世界各地的 DNS 数据库中。
引入了主从服务器关系,其中主服务器维护数据库,从服务器只需复制数据库即可保持更新。 为了促进对 DNS 数据库的动态更新,引入了 NOTIFY 和 IXFR 机制。
在 NOTIFY 中,当主服务器更新数据库时,它会向从服务器发送有关更新的通知,然后从服务器复制数据库。 IXFR(增量区域传输)消除了每次创建单个条目时复制整个数据库的需要; 它允许从服务器仅在其数据库中添加更新的条目,从而减少工作量并使动态更新过程更快。
解析 IP 地址
它是指将域名转换为其相应 IP 地址的过程。 DNS 解析器是客户端 PC,即酒店示例中的您,它将查询发送到 DNS 服务器,即接待员。 解决方法有两种:
递归:现在,继续酒店 DNS 示例,假设酒店在城市中有多个分店,而接待员无法找到您朋友的房间号。 然后她会通过联系那里的接待员来检查您的朋友是否一直住在另一家分店。

因此,如果 DNS 服务器无法找到与查询中发送的域名相关联的任何 IP,它将要求其他连接的服务器解析所请求域的 IP 地址。 它将从这些服务器收集信息并使用适当的 IP 地址回复您。
迭代:假设您还想知道朋友房间所在的楼层,为此,您将再次询问接待员。 同样,如果 DNS 解析器需要有关域的更多信息,它会针对同一 DNS 服务器发起新查询。
DNS缓存
DNS 服务器以缓存的形式临时存储请求查询,以减少任何其他 DNS 解析器请求相同查询时的响应时间。 缓存信息保持有效的时间,称为 TTL(生存时间),由管理员为缓存中存储的每个查询记录设置。
DNS 应用程序
DNS 的第一个也是最重要的应用是 nslookup,其中 DNS 服务器回复查询中请求的域名的 IP 地址。 DNS 被 Microsoft Exchange Server 和 IBM Domino 等不同的邮件传输代理 (MTA) 使用,以更有效地传递电子邮件。
DNS 还可以帮助识别 Internet 上列入黑名单的 IP 地址并阻止用户访问它们。 这有助于保护用户免受垃圾邮件和潜在的黑客攻击。
每个域名及其 IP 地址的数据保存在多台 DNS 服务器上,以便在一台服务器上出现任何问题时轻松检索数据。
DNS 漏洞
缓存中毒:也称为 DNS 欺骗,是恶意人员使用的技术。 他们更改 DNS 服务器的解析器缓存中的数据,将错误的 IP 地址提供给 DNS 解析器,可能会将用户转移到黑客的机器上。
DNS 响应未加密,因此存在潜在攻击的可能性。 但是,域名系统安全扩展 (DNSSEC) 用于呈现加密签名的 DNS 响应。
由于用户屏幕上某些字符的视觉相似性,可以计划网络钓鱼攻击,例如字母 l 和 1 在某些屏幕上显示相同,从而通过显示与原始网站相同的外观将用户重定向到不同的 IP 地址.
如何找到我的 DNS?
在您的机器上找到 DNS 服务器地址是一项非常简单的任务。 如果您运行的是 Windows PC,请转到“设置”>“网络和 Internet”。 在这里,单击连接的属性并向下滚动以找到 DNS 服务器。
使用自定义 DNS
如果那个酒店接待员很慢,而且很多人同时询问房间号怎么办? 那么她将无法快速为您提供正确的房间号。 因此,您可以要求接待处的其他人处理您的问题。 同样,当我们连接到互联网时,我们通常使用我们的 ISP 提供的 DNS 服务器。
但是,如果默认 DNS 服务器没有响应,或者无法在给定时刻处理大量查询,该怎么办? 此类实例只会降低您的浏览体验。 不过别担心,还有其他出路。 您可以将系统配置为使用不同的 DNS 服务器来解析 IP 地址。
另请阅读: 5 个最佳 DNS 服务器 – 免费公共 DNS 以实现快速连接
一些流行的 DNS 服务器:
谷歌的公共 DNS:这家搜索巨头已经建立了一些严肃的高级 DNS 服务器,能够在任何特定时刻处理数百万个请求。 它们完全免费使用,就像谷歌的其他服务一样。 您可以将计算机配置为使用以下 DNS 地址:
8.8.8.8和8.8.4.4
OpenDNS:这是一家私人公司,免费提供安全可靠的 DNS 服务器。 只需在您的机器上配置以下地址:
208.67.222.222和208.67.220.220
不知道如何在您的机器上配置DNS的读者,请参考以下链接:
推荐:如何使用 DNS Hack 获得更快的 Internet 速度
清盘
自从 DNS 出现以来,它一直是一个最重要的话题,它作为一种系统化的方式来维护全球数百万个网站和服务器的庞大数据库。 如果没有 DNS,它会引发所有域名和 IP 地址的大量混乱,并且从所有域名的随意集合中找到 google.com 需要很长时间。
DNS 简化了 IP 解析的过程,而且说真的,如果没有 DNS,我知道你会为了记住所有这些 IP 地址而烧毁你的大脑回路。 让我问你,你还记得我上面提到的 Facebook 的 IP 地址吗? 现在不要向上滚动,即使我不记得它,因为 DNS 可以为我们记住它。 我们只需要对 DNS 在过去三年中所做的崇高工作表示感谢,它变得更快、更智能、更可靠。
观看有关 DNS 的视频:
进一步阅读:DDoS 攻击如何运作?
所以现在您已经了解了什么是 DNS 及其用途。 在评论中留下您的想法,并尝试使用文章中的链接配置 DNS 服务器。
如果您喜欢这个简单的解释器,请查看我们的短字节部分。 我们将复杂的技术主题分解为简短、易于理解的文章。