【问题标题】:does the echo reply do another DNS lookup?echo 回复是否会进行另一个 DNS 查找?
【发布时间】:2018-08-26 13:07:07
【问题描述】:

当我 ping www.google.com 时,协议 ICMP 会进行 DNS 查找并将 echo request 发送到谷歌 IP。当 google 响应时,会发生另一个 dns 查找?

如果我这样做ping -n www.google.com 是否可以节省时间但不执行两次 dns 查找?

【问题讨论】:

    标签: dns ping icmp


    【解决方案1】:

    ICMP 协议进行 DNS 查找

    这是不正确的。 ICMP 与 IP 一样处理地址。当您使用名称时,应用程序(即ping 程序)将查询操作系统以将名称转换为 IP。

    此映射可能以不同的方式完成,DNS 只是其中之一。在 Unix 系统上,请参阅 /etc/nsswitch.conf 文件,该文件指示应如何解决各种问题,例如主机名。通常,它至少是 /etc/hosts 文件和 DNS 查询内容的混合。

    因此,一旦ping 程序(通常使用getaddringo OS 类)将名称解析为 IP 地址,它就会开始使用 ICMP 协议处理该地址。

    当 google 响应时,会发生另一个 dns 查找?

    不,为什么要这样?同样,当 ICMP 发生时,我们已经并且现在完全处于地址世界中,那里没有名字。

    我是否可以节省时间但不执行两次 dns 查找?

    是的,可能,但只有一次(DNS 使用缓存)并且差异将是微不足道的,并且在许多其他事情中通常会丢失。

    但有趣的问题是你为什么会有这个问题,我的意思是你试图这样做是什么?请注意,ping(因为它使用 ICMP)是一个糟糕的故障排除工具,因为 ICMP 流量在网络中的配置通常与 IP 流量非常不同。 (并且您不应该使用 www.google.com 作为测试的锚点,例如,请查看 RIPE 锚点,但这在很大程度上取决于您在这里真正的潜在问题是什么)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多