图解网络:什么是 DNS 域名系统?
什么是DNS?
- 英文全称:Domain Name System
- 中文名称:域名系统
- UDP 端口:53
DNS出现的历史背景
当互联网开始出现时,人们都是用IP 地址连接到其他计算机。
但是,计算机比较少的情况下,记忆IP地址没啥大问题,随着互联网的发展,网站越来越多,通过记忆IP地址的做法变得很麻烦,因为没有人能记住所有IP地址。
因此,一些非常聪明的人开发了一个系统来为每个 IP 地址分配一个域名,称为DNS。
什么是 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为例:
- 打开浏览器,输入www.wljslmz.cn
www.wljslmz.cn
按下回车后立即有一个快速检查,看看您以前是否访问过我们的网站。
如果在您计算机的 DNS 缓存中找到 DNS 记录,则跳过 DNS 查找的其余部分,您将被直接带到www.wljslmz.cn。
- 如果没有找到 DNS 记录,则会向您的本地 DNS 服务器发送查询。
本地 DNS 服务器
通常是您的 Internet 提供商的服务器,通常称为“解析名称服务器(resolving nameserver)”。
- 如果解析名称服务器上没有缓存记录,则请求被转发到根名称服务器,来定位 DNS 记录。
根名称服务器
根域名服务器是世界各地的指定服务器,负责存储 DNS 数据并保持系统顺利运行,一旦在根名称服务器上找到 DNS 记录,它就会被您的计算机缓存。
最后就找到了 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 个主要的根名称服务器在不同的区域有许多副本:
数据来源于网站: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,互联网就会崩溃。
我有话说: