DNS 查询是 UDP 还是 TCP?

DNS 查询是 UDP 还是 TCP?

我知道当我们第一次在 URL 上键入地址并输入时,DNS 查询就开始了。我不知道是谁发起的,但我的猜测是应用程序只会启动 DNS 查询。DNS 查询已经知道要联系哪个 IP 来获取信息(DNS 服务器是预设的)。因此,应用程序将把域名放在有效负载中,传输层将作为 UDP 或 TCP 放置(我不知道,也就是问题),源 IP 和目标 IP 将由网络层放置。在 DNS 中我们已经知道 DNS 服务器 IP(这是目标 IP),响应将返回。这将是目标 IP。现在,其余的通信可以发生了。我们知道 http 是 TCP。但是,我不知道 DNS 查询是 tcp 还是 udp?如果您在这里发现错误,请纠正我的理解。

答案1

就像很多事情一样,这取决于

DNS 查询通常通过 UDP 处理。如果您对“www.google.com”执行 A 记录查找(当您在浏览器中访问 www.google.com 时会发生这种情况),则返回的答案将位于 UDP 数据包中。

如果查询针对的是大记录(>512 字节),例如大的 DKIM 密钥,那么 DNS 请求将使用 TCP。

答案2

PPPoE 协议为协议两端提供了一种相互协商的方法。ISP 为您提供一个 IP 地址,您的路由器接受该 IP 地址。然后,您的 ISP 会向您发送一堆其他参数,例如要使用的名称服务器。

相关内容