你好,这里是网络技术联盟站。
上一节瑞哥花了2000多字图解了DHCP的原理和配置,说到DHCP,那么DNS肯定也要了解一下,今天瑞哥会从DNS的原理、DNS的工作流程、DNS的报文分析等方面给大家图解一下,让我们直接开始!
DNS
当互联网开始出现时,人们都是用IP 地址连接到其他计算机。
但是,计算机比较少的情况下,记忆IP地址没啥大问题,随着互联网的发展,网站越来越多,通过记忆IP地址的做法变得很麻烦,因为没有人能记住所有IP地址。
因此,一些非常聪明的人开发了一个系统来为每个 IP 地址分配一个域名,称为DNS。
IP地址
DNS 服务器是存储网站名称与其对应的公网Ip地址的计算机,DNS 就像互联网的电话簿,每当人们在 Web 浏览器的地址栏中键入域名(例如wljslmz.cn)时,DNS 都会找到正确的 IP 地址。
DNS 服务器
一旦 DNS 服务器找到正确的 IP 地址,浏览器就会获取该地址并使用它将数据发送到CDN边缘服务器或源服务器,完成此操作后,用户可以访问网站上的信息,DNS 服务器通过查找网站统一资源定位器 (URL) 的相应 IP 地址来启动该过程。
我们不谈生涩的原理,直接以我们网络技术联盟站的网站www.wljslmz.cn为例:
www.wljslmz.cn
按下回车后立即有一个快速检查,看看您以前是否访问过我们的网站。
如果在您计算机的 DNS 缓存中找到 DNS 记录,则跳过 DNS 查找的其余部分,您将被直接带到www.wljslmz.cn。
2, 如果没有找到 DNS 记录,则会向您的本地 DNS 服务器发送查询。
本地 DNS 服务器
通常是您的 Inte.NET 提供商的服务器,通常称为“解析名称服务器(resolving nameserver)”。
根名称服务器
根域名服务器是世界各地的指定服务器,负责存储 DNS 数据并保持系统顺利运行,一旦在根名称服务器上找到 DNS 记录,它就会被您的计算机缓存。
查到结果
我们来用一张图将上面的四个过程进行合并:
DNS查询过程
在通常的 DNS 查询中,用户输入的 URL 必须经过四台服务器才能提供 IP 地址,这四台服务器相互协作:
DNS 递归器,也称为 DNS 解析器,接收来自 DNS 客户端的查询,然后它与其他 DNS 服务器通信来找到正确的 IP 地址。
DNS 递归器是您的 Internet 服务提供商 (ISP),递归 DNS 解析器接收包含人类可读主机名(如 www.wljslmz.cn)的 DNS 查询,此 DNS 服务器的工作方式类似于图书管理员,可在图书馆中查找特定书籍的编号。
根域名服务器是 DNS 层次结构的顶部或根,可以将其联想为图书馆中的索引,该索引就是要查找的书籍的特定架子。
根域名服务器被指定用于互联网的 DNS 根区域,它的工作是回答发送给它的请求,来获取根区域中的记录。
DNS 根名称服务器有13台,分布在世界各地,用字母 a 到 m 表示,由12 个不同的组织运营,包括 Verisign、南加州大学和 NASA等。
13台 DNS 根名称服务器
这些数据来源于网站:https://www.iana.org/domains/root/servers。
13 个主要的根名称服务器在不同的区域有许多副本
数据来源于网站:https://root-servers.org/。
当根域名服务器收到来自 DNS 解析器的查询时,它还不知道确切的 IP 地址,需要将解析器定向到下一个级别,即顶级域 (TLD) 名称服务器。
TLD 名称服务器保存包含在 TLD 名称中的二级域IP 地址,然后它会释放网站的 IP 地址并将查询发送到域的名称服务器。
顶级域 (TLD) 服务器存储顶级域的地址信息,例如 .net、.org 和 .com
TLD服务器
有两种类型的权威名称服务器:
主服务器保留区域记录的原始副本,从服务器是主服务器的精确副本,分担 DNS 服务器负载并在主服务器出现故障时充当备份。
DNS 查找是在 Internet 上查找域名的 IP 地址的过程,有两种类型的 DNS 查找:
DNS 两种查找
用户输入一个域名,DNS 使用它来查找与该域对应的 IP 地址。
正向查找
与正向 DNS 查找完全相反,用户已经有了IP地址,用于查找与该IP关联的域名。
反向查找
DNS 协议使用两种类型的 DNS 消息:
查询和回复都包含一个标题和四个部分:
DNS 协议报文
Wireshark抓包:
DNS 协议 Wireshark 抓包
DNS是一个巨大的目录,它保存着互联网上每一个域名的记录,并将其与它的 IP 地址进行映射,DNS是一种标准协议,可帮助 互联网用户使用人类可读地址发现网站,没有 DNS,互联网就会崩溃。
本文主要介绍了DNS以下部分:什么是DNS?
感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!