首页 > 解决方案 > does the echo reply do another DNS lookup?

问题描述

When I do ping www.google.com the protocol ICMP does a DNS lookup and send a echo request to the google IP. When google responds, another dns lookup happens?

And if I do ping -n www.google.com do I save time but not performing the two dns lookups?

标签: dnspingicmp

解决方案


ICMP 协议进行 DNS 查找

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

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

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

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

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

节省时间但不执行两个 dns 查找?

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

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


推荐阅读