❝
域名系统(DNS)是一个分布式的命名服务,它负责将易于人类记忆的域名转换成计算机识别的 IP 地址。它在互联网中扮演着类似电话簿的角色,将域名解析为 IP 地址,便于用户访问网络资源。

一、 DNS 是什么?
当用户在浏览器输入一个域名后,浏览器会向其本地的 DNS 服务器发出查询。本地 DNS 服务器首先会查看自己的缓存记录,如果缓存中有该域名的 IP 地址,就会立即提供给浏览器。如果没有,本地 DNS 服务器将向更高级的根 DNS 服务器发起查询。
根 DNS 服务器遍布全球,它们记录着顶级域名(例如.com、.org 等)的相关信息。根服务器会指引本地 DNS 服务器到正确的顶级域名的权威 DNS 服务器。随后,本地 DNS 服务器向权威 DNS 服务器查询,得到域名对应的 IP 地址,并将这个地址反馈给浏览器。

DNS 的重要性显而易见,它允许我们通过容易记忆的域名来访问网络资源,而无需记忆那些复杂的 IP 地址。此外,DNS 还提供其他功能,包括负载均衡和反向域名解析等。
作为互联网基础设施的核心组成部分,DNS 确保了域名解析的高效和便捷,极大地方便了我们对互联网的访问。
二、DNS 查询过程
当我们在浏览器中键入一个网址,浏览器就会向 DNS 服务器发出查询,以确定该网址对应的 IP 地址。以下是 DNS 查询的详细步骤:
-
浏览器首先检查自己的本地 DNS 缓存,以确定是否已经存储了该网址的 IP 地址。如果缓存中有,就会直接使用该地址,无需进一步查询。
-
如果本地缓存中没有相应的 IP 地址,浏览器将向本地网络内的 DNS 服务器发出请求。这个 DNS 服务器可能是由互联网服务提供商(ISP)提供的,或者是公司内部的 DNS 服务器。
-
本地 DNS 服务器在收到查询后,会首先检查自己的缓存。如果缓存中有所需的 IP 地址,就会将这个信息发送给浏览器。
-
如果本地 DNS 服务器的缓存中也没有这个 IP 地址,它将向根 DNS 服务器发出查询请求。根 DNS 服务器是全球 DNS 架构中的最高层级,它们掌握着顶级域名(如.com、.net、.org 等)的 DNS 服务器信息。
-
根 DNS 服务器在收到查询后,会根据查询的顶级域名(例如.com)提供相应的顶级域名服务器地址给本地 DNS 服务器。
-
本地 DNS 服务器随后会使用这个地址,向顶级域名服务器发出查询请求。顶级域名服务器负责管理其下所有子域名的 DNS 信息。
-
顶级域名服务器在收到查询请求后,会根据子域名(如 www)提供相应的子域名服务器地址给本地 DNS 服务器。
-
本地 DNS 服务器接着向子域名服务器发出查询请求。子域名服务器通常由域名持有者指定,负责管理该子域名下的所有主机记录,包括 IP 地址。
-
子域名服务器在收到请求后,会将对应的 IP 地址发送回本地 DNS 服务器。
-
本地 DNS 服务器在收到 IP 地址后,会将其存储在缓存中,并把这个地址发送给浏览器。
-
浏览器在收到 IP 地址后,将向该地址发起 HTTP 请求,与服务器建立连接,并开始接收网页内容。
这个流程确保了用户能够通过网址快速访问到相应的网站,而不必记忆复杂的 IP 地址。
dig 命令可以查询到整个查询过程

三、DNS 服务器是什么?

-
定义:DNS 服务器是将域名转换为 IP 地址的系统。 -
访问过程:用户输入域名后,浏览器查询本地 DNS 服务器。 -
查询机制:如果本地 DNS 无答案,会向上级服务器查询直至找到 IP 地址。 -
缓存功能:本地 DNS 服务器会保存查询结果,以加快后续访问速度。 -
目的:确保用户能快速且高效地访问互联网上的网站和服务。
四、域名的层级?

-
域名层级定义:域名由多个部分构成,各部分之间用点号分隔,形成层次结构。 -
层级顺序:域名从右到左层级递增,例如”com”是最高层级。 -
域名示例:以”www.example.com”为例,”com”是顶级域名,”example”是次级域名,”www”是第三级域名。 -
层级作用:域名层级结构有助于互联网上网站和资源的组织与管理。 -
域名用途:不同层级的域名用于不同目的,如”.com”用于商业,”.org”用于非营利组织,”.edu”用于教育机构。
五、根域名服务器
根域名服务器是互联网域名系统(DNS)中的最高级别的服务器。它们负责管理顶级域名(如.com、.org、.net 等)的域名解析。根域名服务器的 IP 地址是固定的,世界上共有 13 台根域名服务器,分布在全球不同的地理位置。当用户在浏览器中输入一个域名时,本地 DNS 服务器会向根域名服务器发送查询请求,以获取该域名所对应的顶级域名服务器的 IP 地址。根域名服务器会返回顶级域名服务器的 IP 地址给本地 DNS 服务器,然后本地 DNS 服务器再向顶级域名服务器发送查询请求,最终获取到域名对应的 IP 地址,使用户能够访问到相应的网站。
六、DNS 记录类型有哪些

DNS 记录类型是 DNS 系统中用于存储和解析各种信息的分类。以下是一些常见的 DNS 记录类型及其功能:
-
A 记录(Address Record):将域名映射到 IPv4 地址,实现域名与 IP 地址的转换。 -
AAAA 记录(IPv6 Address Record):将域名映射到 IPv6 地址,支持下一代互联网协议。 -
CNAME 记录(Canonical Name Record):为域名设置别名,指向另一个域名,便于管理多个域名。 -
MX 记录(Mail Exchanger Record):指定处理电子邮件的服务器地址,确保邮件能正确投递。 -
NS 记录(Name Server Record):标明负责解析域名的权威服务器,确保域名解析的准确性。 -
PTR 记录(Pointer Record):将 IP 地址反向解析为域名,常用于反向 DNS 查找。 -
SOA 记录(Start of Authority Record):定义域名的权威服务器和相关配置信息,是 DNS 区域的起点。 -
SRV 记录(Service Record):指定提供特定服务的服务器地址和端口,支持服务的发现。 -
TXT 记录(Text Record):存储文本信息,广泛应用于域名所有权验证和 SPF 配置。
这些记录类型共同构成了 DNS 的基础架构,确保网络资源的正确解析和访问。
DNS 常用命令和工具
nslookup
用于查询域名的 IP 地址和其他 DNS 记录
root@root:~# nslookup baidu.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: baidu.com
Address: 110.242.68.66
Name: baidu.com
Address: 39.156.66.10
root@root:~#
dig
也是一个用于查询 DNS 记录的工具,功能比 nslookup 更强大
root@root:~# dig baidu.com
; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44248
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 386 IN A 39.156.66.10
baidu.com. 386 IN A 110.242.68.66
;; Query time: 28 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Fri Jun 21 07:30:00 UTC 2024
;; MSG SIZE rcvd: 70
host
用于查询域名的 IP 地址和其他 DNS 记录。
root@root:~# host baidu.com
baidu.com has address 110.242.68.66
baidu.com has address 39.156.66.10
baidu.com mail is handled by 20 usmx01.baidu.com.
baidu.com mail is handled by 20 mx1.baidu.com.
baidu.com mail is handled by 10 mx.maillb.baidu.com.
baidu.com mail is handled by 20 jpmx.baidu.com.
baidu.com mail is handled by 20 mx50.baidu.com.
baidu.com mail is handled by 15 mx.n.shifen.com.
ping
用于测试与特定域名或 IP 地址的连接。例如,要测试与域名 baidu.com 的连接,可以在命令行中输入 ping baidu.com
root@root:~# ping baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10: icmp_seq=1 ttl=48 time=21.9 ms
64 bytes from 39.156.66.10: icmp_seq=2 ttl=48 time=22.0 ms
64 bytes from 39.156.66.10: icmp_seq=3 ttl=48 time=21.9 ms
64 bytes from 39.156.66.10: icmp_seq=4 ttl=48 time=22.1 ms
64 bytes from 39.156.66.10: icmp_seq=5 ttl=48 time=21.9 ms
64 bytes from 39.156.66.10: icmp_seq=6 ttl=48 time=22.0 ms
^C
--- baidu.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5007ms
rtt min/avg/max/mdev = 21.891/21.971/22.110/0.073 ms
whois
用于查看域名的注册情况

原文始发于微信公众号(有追求的开发者):DNS域名解析大揭秘:一图带你领略互联网的幕后英雄!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/293805.html