回声回复会做另一个DNS查找吗?

时间:2018-08-26 13:07:07

标签: dns ping icmp

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

如果我做ping -n www.google.com,可以节省时间但不执行两次DNS查找吗?

1 个答案:

答案 0 :(得分:0)

  

协议ICMP进行DNS查找

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

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

因此,通常使用ping OS类的getaddringo程序将名称解析为IP地址后,便开始对该地址使用ICMP协议。

  

当Google响应时,会发生另一个DNS查找?

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

  

我可以节省时间但不执行两次DNS查找吗?

是的,但是可能只有一次(DNS使用缓存),并且差异很小,在其他许多方面通常会丢失。

但是有趣的问题是,为什么会有这个问题,我的意思是,您试图尝试这种方式吗?请注意,ping(因为它使用ICMP)是一个较差的故障排除工具,因为ICMP流量在网络中的配置通常与IP流量完全不同。 (而且您不应该使用www.google.com作为测试的锚点,例如,可以参考RIPE锚点,但是这又很大程度上取决于您真正的根本问题是什么。)