DNS原理

文章类型:Javascript

发布者:hp

发布时间:2023-05-11

一:定义

1:是一个分布式的命名系统,用于将域名解析为 IP 地址。

2:DNS 的作用是将人类可读的域名(例如:www.cqhxb.com.com)转换为计算机可读的 IP 地址(例如:172.217.7.36)。

3:DNS 使用一种树形结构的命名空间来管理所有域名,每个域名对应一棵树的节点,根节点表示根域名,所有的域名都是从根域名开始的

二:步骤

1:用户输入域名,浏览器会首先检查本地 DNS 缓存,如果缓存中有该域名对应的 IP 地址,则直接使用该 IP 地址,否则进行下一步操作。

2:本地缓存中没有该域名对应的 IP 地址,则浏览器会向本地 DNS 服务器发送一个 DNS 查询请求。

3:本地 DNS 服务器也没有该域名对应的 IP 地址,则会向根域名服务器发送一个 DNS 查询请求,根域名服务器会返回一个该域名对应的顶级域名服务器的 IP 地址。

4:本地 DNS 服务器再向顶级域名服务器发送一个 DNS 查询请求,顶级域名服务器会返回一个该域名对应的次级域名服务器的 IP 地址。

5:本地 DNS 服务器继续向次级域名服务器发送 DNS 查询请求,最终获得该域名对应的 IP 地址,并将其存储在本地缓存中,返回给浏览器。

6:浏览器获得该域名对应的 IP 地址后,可以向该 IP 地址对应的服务器发送 HTTP 请求,获取网页的内容。

三:总结

1:DNS 查询请求通常是基于 UDP 协议进行的,UDP 是一种无连接的、不可靠的传输协议,因此 DNS 查询可能会出现丢包、延迟等问题

2:为了提高 DNS 查询的效率和可靠性,DNS 还提供了一些优化策略,如 DNS 缓存、DNS 负载均衡、DNS 递归查询等