每当你输入一个域名,比如 example[.]com,DNS 查询会将其转换为计算机可以理解的 IP 地址。 它是互联网的地址簿,将人类可读的名称映射到机器可读的数字,默默地在后台工作。 一条 🧵
当您输入一个域名时,查找过程会在本地开始。 您的浏览器会检查自己的 DNS 缓存,然后是操作系统的缓存和 hosts 文件。 如果没有找到,查询将转发到递归 DNS 解析器,通常由您的 ISP 运行。
从那里,解析器通过 DNS 层次结构进行查询: • 根域名服务器 → 将查询指向正确的顶级域名(.com、.org 等) • 顶级域名服务器 → 指向域名的权威服务器 • 权威域名服务器 → 返回实际的 IP 地址 所有这些通常在 100 毫秒内完成。
DNS 查询有三种形式: • 递归:DNS 服务器必须返回完整的答案或错误 • 迭代:服务器返回它所拥有的最佳信息,通常是一个转介 • 非递归:服务器已经知道答案(缓存或权威) 这些模式定义了谁来完成工作,你或服务器。
缓存是使 DNS 快速的原因。 浏览器存储最近的查询。 操作系统为所有应用程序缓存结果。 互联网服务提供商维护巨大的共享缓存,通常由于其他用户的查询而能够瞬间响应。 所有缓存遵循 TTL 规则,这些规则定义了记录保持有效的时间。
TTL(生存时间)在新鲜度和性能之间取得平衡。 短TTL(如300秒)允许快速更新,但会增加流量。 长TTL(如86,400秒)提高速度,但会减慢更改的传播。 管理员根据其DNS记录的更改频率调整TTL。
正向 DNS 查找将域名解析为 → IP 地址。 反向查找则相反,使用 PTR 记录将 IP 地址映射为 → 域名。 反向 DNS 广泛用于电子邮件验证、日志记录和安全性,帮助您了解某个 IP 地址属于谁。
DNS 查询在表面上看起来很简单,但在背后它是一个全球分布式系统,使互联网保持快速、可靠和可扩展。 缓存、递归解析和层次化服务器共同工作,每天处理数十亿个查询。
2.03K