ping是如何解析ip地址的?



ping实用程序工作在网络层之上,DNS工作在应用层。

如果我们尝试ping www.google.com,由于DNS在这些层之上,它如何解析GOOGLE的IP地址?

ICMP (协议)可以在IP之上运行,与TCP一起,但ping 程序本身几乎肯定仍然使用正常的名称解析方法,是DNS, hosts文件或resolv.conf

例如,位于这里的ping程序调用gethostbyname()将DNS名称转换为IP地址。

当然在windows计算机上,ping也使用LLMNR(链路-本地多播名称解析)来执行主机名解析。如果一台计算机仅由LLMNR知道,并且失败的服务依赖于DNS,则可能可以正常ping通主机,而其他服务仍然失败。反之亦然:DNS可能工作,但ping失败

主机名仍然通过DNS解析,之后ping使用ICMP进行实际通信。您可以尝试将DNS配置更改为无效服务器,并看到ping无法与主机名一起工作。

最新更新