DNS协议究竟如何工作?

我对维基百科关于DNS的文章有了一个很好的了解, 并对域名parsing过程的工作原理有了一个大概的概述。

但是,我在理解DNS服务器本身的确切angular色方面遇到了一些麻烦。 我的理解如下:

  • DNS服务器从客户端收到请求给定域名的IP地址的请求。
  • DNS服务器检查它是否是该域的权威,并…
    • …如果 ,则返回IP地址。
    • …如果不是 ,那么它又查询另一个DNS服务器。

这里是我的实际问题出现的地方:

  • 我了解DNSparsing的过程,还是错过了一些东西?
  • DNS服务器使用什么来进行DNS查询? 为其运行的计算机configuration的DNS服务器?
  • 我读到DNS使用UDP套接字,但它也可以使用TCP套接字。 什么时候使用? DNS服务器只能使用TCP套接字吗?
  • 是否有RFC文档详细说明了DNS服务器接收和回复的数据包的预期格式?

我了解DNSparsing的过程,还是错过了一些东西?

您缺lesscaching – 许多DNS服务器将caching答案,以便他们不必为每个请求向上游查询。

DNS服务器使用什么来进行DNS查询? 为其运行的计算机configuration的DNS服务器?

这是什么 DynDNS的DNS知识库文章有一个很好的解释的部分和这个问题的答案也提供了信息。

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

查看“TCP / IP指南”有关DNS消息生成和传输的信息

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

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

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

所以,简而言之,就是有一个RFC或者十个详细说明DNS服务协议的细节。