DNS 协议究竟如何工作?

DNS 协议究竟如何工作?

我已经仔细看过了维基百科有关 DNS 的文章,并对域名解析过程的工作原理有了大致的了解。

但是,我对 DNS 服务器本身的具体作用有些困惑。我的理解如下:

  • DNS 服务器接收客户端询问给定域名的 IP 地址的请求。
  • DNS 服务器检查它是否对该域具有权威性并且...
    • ...如果它,则返回 IP 地址。
    • ...如果它不是,然后它依次查询另一个 DNS 服务器。

这就是我真正的问题所在:

  • 我是否了解 DNS 解析的过程,或者我遗漏了什么?
  • DNS 服务器使用什么来进行 DNS 查询...?为其运行的机器配置的 DNS 服务器?
  • 我读到 DNS 使用 UDP 套接字,但它也可以使用 TCP 套接字。什么时候使用它们?DNS 服务器可以仅有的使用 TCP 套接字?
  • 是否有 RFC 文档详细说明 DNS 服务器接收和回复的数据包的预期格式?

答案1

我是否了解 DNS 解析的过程,或者我遗漏了什么?

您缺少缓存 - 许多 DNS 服务器将缓存答案,以便它们不必为每个请求向上游查询。

DNS 服务器使用什么来进行 DNS 查询...?为其运行的机器配置的 DNS 服务器?

什么是 DNSDynDNS 的 KB 文章很好地解释了各个部分以及这个问题的答案也提供信息。

每个什么时候使用?DNS 服务器只能使用 TCP 套接字吗?

请参阅 TCP/IP 指南中有关DNS 消息生成和传输

答案2

是否有 RFC 文档详细说明 DNS 服务器接收和回复的数据包的预期格式?

从您提供的维基百科文章链接来看:

应 Jon Postel 的要求,Paul Mockapetris 于 1983 年发明了域名系统并编写了第一个实现。最初的规范由互联网工程任务组于 1983 年发布。RFC 882RFC 883,于 1987 年 11 月被取代RFC 1034RFC 1035. 其他几份征求意见稿提出了对核心 DNS 协议的各种扩展。

因此,简而言之,确实有一个或十个 RFC 详细地描述了 DNS 服务协议。

相关内容