我已经仔细看过了维基百科有关 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 消息生成和传输