0%

域名解析

域名解析

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

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

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

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

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

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

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

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

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

域名解析方式

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

  • A 记录:指定域名对应的 IP 地址(IPV4)
  • AAAA记录:指定域名对应的 IP 地址(IPV6)
  • MX 记录:将域名指向邮件服务器。
  • CNAME 记录:将一个域名指向另一个域名。
  • NS 记录:将子域名指向其他 DNS 解析服务器。
  • TXT 记录:为某个主机名或域名设置说明
1
2
3
4
5
6
# 使用dig命令查询DNS
# -t 解析类型
>dig www.baidu.com -t A +short
www.a.shifen.com.
220.181.38.150
220.181.38.149