📜  DNS(域名服务器)中的地址解析

📅  最后修改于: 2021-09-28 10:08:30             🧑  作者: Mango

先决条件 – 域名服务器
将域名映射到 IP 地址称为名称-地址解析。域名服务器 (DNS) 解析器通过咨询名称服务器来执行此操作。

为了找到特定的 DNS,请求主机通过映射请求向本地 DNS 服务器查询。如果它有信息,则解析器满意,否则解析器被转介到其他服务器或要求其他服务器提供信息。解析器得到响应后,检查响应是否正确。如果响应正确,则将响应传递给请求它的进程,否则名称查询失败。

解析可以有两种类型——迭代和递归。

  1. 递归解析——

    在这里,客户端要求本地服务器提供请求的映射或错误消息。应用程序向解析器生成 DNS 查询以获取目标 IP 地址。然后将查询转发到本地 DNS 服务器。如果它知道 IP 地址,它会向解析器发送响应。假设它不知道 IP 地址,它将查询发送到根名称服务器。

    根名称服务器包含有关顶级域的至少一台服务器的信息。然后将查询发送到相应的顶级域服务器。如果它包含映射,则响应被发送回根服务器,然后发送到主机的本地服务器。如果不包含映射,则应包含目标本地 DNS 服务器的 IP 地址。本地 DNS 服务器知道目标主机的 IP 地址。然后将信息发送回顶级域服务器,然后发送到根服务器,然后发送到主机的本地 DNS 服务器,最后发送到主机。

  2. 迭代解决——

    迭代和递归解析之间的主要区别在于,这里每个不知道映射的服务器将下一个服务器的 IP 地址发送给请求它的服务器。在这里,客户端允许服务器返回它可以作为匹配或推荐给出的最佳答案。应用程序向解析器生成 DNS 查询以获取目标 IP 地址。然后将查询转发到本地 DNS 服务器。假设它不知道 IP 地址,它将查询发送到根名称服务器。

    根名称服务器将顶级域服务器的 IP 地址返回给本地服务器。顶级域服务器由本地服务器联系,它返回目标主机的 IP 或其本地 DNS 服务器。如果它返回服务器的地址,那么通过联系目标的本地 DNS 服务器,我们得到目标主机的 IP 地址。然后响应/映射从主机的本地 DNS 服务器传递到解析器,最后传递到主机。

缓存机制——

在迭代和递归解析中,在服务器向另一台服务器询问映射请求后,它接收响应并将此信息存储在缓存中,然后再将其发送给客户端。这样做是为了减少服务器检查其数据库中的 IP 地址所需的搜索时间。因此,从下一次开始,如果请求到达服务器,它首先检查其缓存内存并尝试解析请求。响应被标记为Unauthoritative以通知客户端响应来自缓存。缓存可能有问题的唯一方法是服务器缓存映射很长时间并且映射过时。但是,有一些技术可以解决此问题,例如使用TTL