当服务器(例如 Windows、Linux)重新启动时,需要一些时间来响应 ping。
我假设在返回 ping 之前必须启动软件防火墙,因为可能存在禁用 ping 响应的设置。
每个人都知道 Windows 和 Linux 具有完全不同的体系结构,所以让我们分别对待它们。
我正在寻找的答案是“在 XXX 运行后,将返回 ping”。知道这在引导顺序中的位置也会很有帮助。即在开始或结束。
我问是因为我们从客户那里收到关于为什么在创建虚拟机后需要这么长时间才能响应 ping 的问题。我确信这只是操作系统启动行为的产物。
防火墙不一定要响应 ICMP。
一旦 DHCP 发生(或 nic 已由静态 IP 启动),它将侦听 arp who- has requests for its IP。在 linux 中,这是运行接口配置脚本的一次,其顺序因配置而异。在 Windows 中,它是启动网络相关服务的时间。(目前还没有想到确切的服务名称)
如果 mac 地址不在任何 arp-caches 中,则响应第一个 ping 会增加延迟,因为它必须学习 mac 地址,以便将它作为最后的以太网跃点到主机。
由于桥接以太网适配器的方式,某些虚拟机具有更长的初始延迟,主机必须在生成树延迟后学习和转发以防止循环。
在启动顺序中,操作系统将启动运行网络适配器所需的一切,然后在启动任何依赖于网络的服务之前使网络适配器联机。这通常位于我遇到的大多数机器的“中间”。
我只是补充一点,响应 ping 请求的不是防火墙。就是网卡。防火墙仅作为示例的过滤器 - 阻止您的一方回答 ICMP ECHO 请求。