DNS

了解DNS的功能以及域名查询的步骤,可能在选择题中考察。

层次域名空间

DNS 使用层次域名空间来组织域名,将域名划分为多个级别,每个级别之间以点(.)分隔。域名从右到左逐级递增,最右边是顶级域名(TLD),然后是二级域名,三级域名,以此类推。

例如, www.example.com 中, .com “是顶级域名, example.com 是二级域名, www.example.com 是子域名。

DNS 层次域名空间的设计使得域名分布在不同的管理区域中,每个管理区域负责管理其自己的域名空间。这种分层结构有助于提高 DNS 的可扩展性和效率。

域名服务器

  1. 根域名服务器 (Root Name Servers):
    • 这些服务器位于 DNS 解析的最顶端。它们不直接回答关于哪个域名映射到哪个 IP 地址的查询,而是告诉查询者下一步应该询问哪个顶级域名 (TLD) 服务器。
    • 根服务器的数量是有限的,并且它们的位置在全球都是已知的。
  2. 顶级域名服务器 (Top-Level Domain Name Servers, TLD Name Servers):
    • 这些服务器负责特定的顶级域名(如 .com, .org, .net 等)。它们为下一级的域名(如 example.com)提供有关权威名称服务器的信息。
  3. 权威域名服务器 (Authoritative Name Servers):
    • 这些服务器为特定的域名(如 example.com)提供详细的 DNS 记录信息(例如 A 记录、MX 记录等)。只有权威服务器才能为其负责的域名提供这些信息。
    • 大多数组织拥有权威 DNS 服务器来为他们的域名提供解析服务。
  4. 本地域名服务器 (Local Name Server)
    • 是在本地网络环境中运行的 DNS 服务器,它为该网络中的设备提供域名解析服务。
    • 每个 ISP 或一所大学都可以有一个本地域名服务器。

域名解析过程

Recursive Query
Iterative Query
Root DNS Server
Top-Level DNS Server
Authoritative DNS Server
Local DNS Server
Root DNS Server
Top-Level DNS Server
Authoritative DNS Server
Local DNS Server

域名解析是将人类可读的域名转换为计算机可理解的 IP 地址的过程。以下以递归查询为例说明DNS查询的步骤:

  1. 客户端发出域名解析请求:当用户在 Web 浏览器中输入域名(例如www.example.com)时,客户端设备会向本地递归域名服务器发送 DNS 解析请求。
  2. 本地域名服务器查询:
    • 本地域名服务器收到请求后,首先检查自己的缓存,如果有匹配的域名/IP 地址映射,它会立即返回响应。
    • 如果没有缓存或已过期,递归域名服务器将迭代地查询其他域名服务器,从根域名服务器开始,然后逐步向下查询,直到找到权威域名服务器。
  3. 权威域名服务器响应:一旦递归域名服务器找到了域名的权威域名服务器,它会向权威域名服务器发送查询请求。权威域名服务器将提供域名对应的 IP 地址或其他相关信息。
  4. 递归域名服务器响应客户端:递归域名服务器收到权威域名服务器的响应后,将结果存储在缓存中,并将 IP 地址返回给客户端。客户端可以使用此 IP 地址建立连接到目标服务器。