Antes de ping
poder enviar pacotes ICMP para o host de destino, ele decide primeiro se é um host local ou remoto. De qualquer forma, ele precisará recuperar o endereço MAC do próximo salto, que pode ser o próprio host em uma sub-rede local ou o roteador para um host remoto.
Obtém isto usando o Protocolo de Resolução de Endereços (ARP) que em essência difunde "Quem tem endereço IP abcd? Tell efgh" e espera por uma resposta de "endereço IP abcd está em Endereço MAC ab-cd-ef-gh-ij-kl ". Uma vez que tenha o endereço MAC, ele pode enviar o pacote ICMP.
O atraso que você está enfrentando se deve a esse processo ARP. Você pode informar ping
para esperar mais com a opção -W
.
ping -W 10 gatway
fará com que espere 10 segundos por uma resposta.
Os dados ARP são armazenados em cache, portanto, os pings subsequentes não precisam seguir esse processo e a resposta é quase instantânea.