0%

域名解析

域名解析

域名系统(Domaon Name System)DNS来进行域名解析,也就是通过域名查询主机ip的操作。

  1. 首先浏览器会先检查缓存中有没有这个域名对应的解析过的 IP 地址。如果缓存中有,这个解析过程就将结束。域名的缓存时间限制可以通过 TTL 属性来设置(这个是浏览器行为,查的浏览器缓存,查看是否解析过该域名)

  2. 如果浏览器缓存中没有,会检查操作系统中是否有这个域名对应的 DNS 解析结果,在 Windows 中可以通过 C:\Windows\System32\drivers\etc\hosts 文件来设置,在 Linux 中这个配置文件是 /etc/hosts,修改这个文件同样可以配置域名解析的 IP 结果

  3. 如果 hosts 文件中没有找到对应的条目,DNS 解析器会检查本地的 DNS 缓存

  4. 如果以上步骤无法完成域名的解析,就会真正请求域名服务器来解析这个域名了。操作系统会先把域名发送给 Local DNS Server,也就是本地域名服务器。例如你在学校接入校园网,那么本地域名服务器肯定在你的学校,如果你是在一个小区接入互联网,那这个 Local DNS Server 就是提供给你接入互联网的应用提供商(电信、移动或联通),通常会在城市里的某个角落,不会很远

  5. 如果 Local DNS Server 仍然没有命中,就直接到 ROOT DNS Server根域名服务器)请求解析

  6. 根域名服务器会返回给本地域名服务器一个所查询域名的 gLTD Server主域名服务器)地址,gLTD 是国际顶级域名服务器,如 .com.cn

  7. Local DNS Server(本地域名服务器)会再向刚才返回的 gTLD Server 发送请求

  8. 接受请求的 gTLD Server 查找并返回此域名对应的 Name Server 域名服务器的地址,这个 Name Server 通常就是你注册的域名服务提供商(例如阿里云-万网)

  9. Name Server 再查询存储的域名和 IP 的映射关系表,正常情况下,域名得到 IP 记录,连同一个 TTL 值返回给 Local DNS Server(本地域名服务器)

  10. Local DNS Server 会缓存这个域名和 IP 的对应关系,缓存时间由 TTL 值控制,最后把解析的结果返回给用户

DNS过程

域名解析方式

域名解析记录主要分为 A 记录、AAAA记录、MX 记录、CNAME 记录、NS 记录和 TXT 记录。

  • A 记录:A代表Address,指定域名对应的 IP 地址(IPV4),同一主机名可以添加多个A记录,这样在访问时会进行DNS轮询,以此实现负载均衡
  • AAAA记录:指定域名对应的 IP 地址(IPV6)
  • MX 记录:表示的是Mail Exchage,将某个域名下的邮件服务器指向自己的邮件服务器
  • CNAME 记录:表示Canonical Name,别名解析,将一个域名指向另一个域名,可以为一个域名设置一个或多个别名
  • NS 记录:将子域名指向其他 DNS 解析服务器。
  • TXT 记录:为某个主机名或域名设置说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 使用dig命令查询DNS
# -t 解析类型
>dig www.baidu.com -t A +short
www.a.shifen.com.
220.181.38.150
220.181.38.149

>dig baidu.com
# 当前版本号
; <<>> DiG 9.10.6 <<>> baidu.com
# 可使用可选参数 cmd
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63758
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
# 当前查询的域名是一个A记录
;; QUESTION SECTION:
;baidu.com. IN A
# 域名由CNAME到baidu.com
;; ANSWER SECTION:
baidu.com. 292 IN A 220.181.38.251
baidu.com. 292 IN A 220.181.38.148

;; Query time: 15 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Sun Jan 02 14:59:59 CST 2022
;; MSG SIZE rcvd: 59

# nslookup查询域名解析结果
nslookup

欢迎关注我的其它发布渠道