8

ping实用程序在网络层之上运行,而 DNS 在应用层中运行。

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

4

3 回答 3

6

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

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

于 2013-06-18T05:22:41.870 回答
2

当然,在 Windows 计算机上,ping 还使用 LLMNR(链路本地多播名称解析)来执行主机名解析。如果一台计算机只有 LLMNR 知道并且失败的服务依赖于 DNS,那么主机可能会被很好地 ping 通,而其他服务仍然失败。反之亦然:DNS 可能工作但 ping 失败

于 2020-10-27T08:55:47.517 回答
0

主机名仍然通过 DNS 解析,之后 ping 使用 ICMP 进行实际通信。您可以尝试将 DNS 配置更改为无效的服务器,并查看 ping 不适用于主机名。

于 2013-06-18T05:19:13.560 回答