图解网络:什么是 DNS 域名系统?

简介: DNS是一个巨大的目录,它保存着互联网上每一个域名的记录,并将其与它的 IP 地址进行映射,DNS是一种标准协议,可帮助 互联网用户使用人类可读地址发现网站,没有 DNS,互联网就会崩溃。

你好,这里是网络技术联盟站。

上一节瑞哥花了2000多字图解了DHCP的原理和配置,说到DHCP,那么DNS肯定也要了解一下,今天瑞哥会从DNS的原理、DNS的工作流程、DNS的报文分析等方面给大家图解一下,让我们直接开始!

什么是DNS?

  • 英文全称:Domain Name System
  • 中文名称:域名系统
  • UDP 端口:53

DNS

DNS出现的历史背景

当互联网开始出现时,人们都是用IP 地址连接到其他计算机。

但是,计算机比较少的情况下,记忆IP地址没啥大问题,随着互联网的发展,网站越来越多,通过记忆IP地址的做法变得很麻烦,因为没有人能记住所有IP地址。

因此,一些非常聪明的人开发了一个系统来为每个 IP 地址分配一个域名,称为DNS

IP地址

什么是 DNS 服务器?

DNS 服务器是存储网站名称与其对应的公网Ip地址的计算机,DNS 就像互联网的电话簿,每当人们在 Web 浏览器的地址栏中键入域名(例如wljslmz.cn)时,DNS 都会找到正确的 IP 地址。

DNS 服务器

一旦 DNS 服务器找到正确的 IP 地址,浏览器就会获取该地址并使用它将数据发送到CDN边缘服务器或源服务器,完成此操作后,用户可以访问网站上的信息,DNS 服务器通过查找网站统一资源定位器 (URL) 的相应 IP 地址来启动该过程。

DNS术语

  • DNS 客户端:DNS 查询的计算机。
  • DNS 缓存:临时存储 DNS 的记录结果。
  • DNS 记录,包含有关 IP 地址的重要信息,以下是一些 DNS 记录:

    • A 记录:将域映射到 IP 地址,例如,www.wljslmz.cn映射到其 IP 地址 10.10.10.10
    • CNAME:每当域更改时,将域更新为另一个域名,例如,当输入www.wljslmz.cn 时,会转到wljslmz.cn
    • NS 记录:标识用于特定域名的权威名称服务器。
    • TXT 记录:保存外部来源的文本信息。
    • MX 记录:将电子邮件发送到特定的邮件服务器。

DNS如何工作?

我们不谈生涩的原理,直接以我们网络技术联盟站的网站www.wljslmz.cn为例:

  1. 打开浏览器,输入www.wljslmz.cn

www.wljslmz.cn

按下回车后立即有一个快速检查,看看您以前是否访问过我们的网站。

如果在您计算机的 DNS 缓存中找到 DNS 记录,则跳过 DNS 查找的其余部分,您将被直接带到www.wljslmz.cn

2, 如果没有找到 DNS 记录,则会向您的本地 DNS 服务器发送查询。

本地 DNS 服务器

通常是您的 Internet 提供商的服务器,通常称为“解析名称服务器(resolving nameserver)”。

  1. 如果解析名称服务器上没有缓存记录,则请求被转发到根名称服务器,来定位 DNS 记录。

根名称服务器

根域名服务器是世界各地的指定服务器,负责存储 DNS 数据并保持系统顺利运行,一旦在根名称服务器上找到 DNS 记录,它就会被您的计算机缓存。

  1. 最后就找到了 DNS 记录,将打开与存储网站的服务器的连接,并且www.wljslmz.cn页面将显示在您的屏幕上。

查到结果

我们来用一张图将上面的四个过程进行合并:

DNS查询过程

在通常的 DNS 查询中,用户输入的 URL 必须经过四台服务器才能提供 IP 地址,这四台服务器相互协作:

1. DNS 递归器

DNS 递归器,也称为 DNS 解析器,接收来自 DNS 客户端的查询,然后它与其他 DNS 服务器通信来找到正确的 IP 地址。

DNS 递归器是您的 Internet 服务提供商 (ISP),递归 DNS 解析器接收包含人类可读主机名(如 www.wljslmz.cn)的 DNS 查询,此 DNS 服务器的工作方式类似于图书管理员,可在图书馆中查找特定书籍的编号。

2. 根域名服务器

根域名服务器是 DNS 层次结构的顶部,可以将其联想为图书馆中的索引,该索引就是要查找的书籍的特定架子。

根域名服务器被指定用于互联网的 DNS 根区域,它的工作是回答发送给它的请求,来获取根区域中的记录。

DNS 根名称服务器有13台,分布在世界各地,用字母 a 到 m 表示,由12 个不同的组织运营,包括 Verisign、南加州大学和 NASA等。

13台 DNS 根名称服务器

这些数据来源于网站:https://www.iana.org/domains/root/servers

13 个主要的根名称服务器在不同的区域有许多副本:

13 个主要的根名称服务器副本

这些数据来源于网站:https://root-servers.org/

当根域名服务器收到来自 DNS 解析器的查询时,它还不知道确切的 IP 地址,需要将解析器定向到下一个级别,即顶级域 (TLD) 名称服务器。

3. TLD 名称服务器

TLD 名称服务器保存包含在 TLD 名称中的二级域IP 地址,然后它会释放网站的 IP 地址并将查询发送到域的名称服务器。

顶级域 (TLD) 服务器存储顶级域的地址信息,例如 .net、.org 和 .com

TLD服务器

4. 权威域名服务器

有两种类型的权威名称服务器:

  • 主服务器
  • 从服务器

主服务器保留区域记录的原始副本,从服务器是主服务器的精确副本,分担 DNS 服务器负载并在主服务器出现故障时充当备份。

DNS 查找

DNS 查找是在 Internet 上查找域名的 IP 地址的过程,有两种类型的 DNS 查找:

DNS 两种查找

正向查找

用户输入一个域名,DNS 使用它来查找与该域对应的 IP 地址。

正向查找

反向查找

与正向 DNS 查找完全相反,用户已经有了IP地址,用于查找与该IP关联的域名。

反向查找

DNS 协议

DNS 协议使用两种类型的 DNS 消息:

  • 查询
  • 回复

查询和回复都包含一个标题和四个部分:

  • 问题
  • 答案
  • 权限
  • 空格

DNS 协议报文

Wireshark抓包:

DNS 协议 Wireshark 抓包

总结

DNS是一个巨大的目录,它保存着互联网上每一个域名的记录,并将其与它的 IP 地址进行映射,DNS是一种标准协议,可帮助 互联网用户使用人类可读地址发现网站,没有 DNS,互联网就会崩溃。

本文主要介绍了DNS以下部分:什么是DNS?

  • DNS出现的历史背景

    • 什么是 DNS 服务器?
  • DNS术语
  • DNS如何工作?

      1. DNS 递归器
      1. 根域名服务器
      1. TLD 名称服务器
      1. 权威域名服务器
  • DNS 查找

    • 正向查找
    • 反向查找
  • DNS 协议
  • 总结

感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!

目录
相关文章
|
5月前
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
1353 18
|
5月前
|
监控 安全 网络协议
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
620 1
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
5月前
|
监控
新功能上线:云解析DNS-重点域名监控功能发布
新功能上线:云解析DNS-重点域名监控功能发布
|
5月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
543 0
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1181 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
494 4
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS