![DNS 查找和 DNS 解析之间有什么区别?](https://linux22.com/image/778955/DNS%20%E6%9F%A5%E6%89%BE%E5%92%8C%20DNS%20%E8%A7%A3%E6%9E%90%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我浏览过许多网站、教程、文档或个人博客;但我找不到这两者之间的确切和明确的(科学)定义(或区别):
- DNS 查找过程
- DNS 解析过程
我的理解(基于这些词的词源)是,抬头是给出域名并查找其相应 IP 地址的过程(反之亦然),而解决是从一个到另外一个的翻译过程。
尽管如此...这两个定义还是让我感到困惑,因为归根结底,即使我的理解是正确的,查找仍然需要一个解决过程...这使得这两个实际上是同义词并且可以互换。
我是不是搞糊涂了?还是我说得对?还是我遗漏了一些重要的东西?
谢谢你!
答案1
我不知道是否有一个解释对这些术语进行了非常严格的划分,但我将在下面给出我的观点。
总体而言,这些术语即使不是完全同义词,至少也在很大程度上是重叠的。
如果非要说有什么区别的话,我认为在视角和/或抽象层次上是有区别的。
在我看来,“查找”更适合于应用程序视角,在这种视角下,你只需要查找某些内容并返回结果,而“解析”似乎更适合于讨论整个底层过程以促进这一点。
在实践中,就像自然语言通常的情况一样,人们会用不同的方式表达事物,我建议不要过多地考虑这些非常相关的术语之间的选择。
答案2
它们是同义词,即使不是完全相同的东西,特别是在没有任何关于其使用的上下文(它们使用的段落和正在描述的内容)的情况下
我只会遵从 RCC8499 关于有利于解析的 DNS 术语(主要是因为我们有“解析器”,所以根源相同 (!)):
解析器:一种“响应客户端请求从名称服务器提取信息”的程序。(引自 [RFC1034],第 2.4 节)解析器执行名称、类型和类别的查询并接收响应。逻辑功能称为“解析”。在实践中,该术语通常指某些特定类型的解析器(其中一些定义如下),理解该术语的用法取决于对上下文的理解。
“查找”也会出现,但是次数要少得多。
如果我真的必须将它们区分开来,我的个人观点是:
- 查找更接近于请求/回复:因此,您提出问题,然后得到回复(或错误)。这是一次交流,并且是“实用”级别。
- 解析更像是整个过程,可能包括多次查找,从根开始沿着 DNS 树向下查找。它更像是“理论”层面,是整个算法。
但我想说,这两个词之间的区别仍然非常脆弱,而且几乎毫无用处。
然而,当我们在那里时:
查找是给出域名并查找其相应 IP 地址的过程
请不要认为这就是 DNS 的目的(查找 IP 地址),因为它远不止于此。从技术上讲,它是一个分散的(或非集中的)分布式松散一致性数据库,用于存储各种数据。其中一些是名称到 IP 地址映射的A
记录AAAA
,但远不止于此。