Se você man ping de sua versão, verá que uma das opções é a opção hop ( ping [hop ...] destination ), isso permite que você direcione seu destino pelo hop e seja útil se você tiver vários gateways e deseja informar explicitamente a rota do ping.
Portanto, ping ping localhost vai pingar localhost usando ping , pois é hop . Mas a verdadeira questão é por que ping ping funciona e não retorna um erro unknown host ? Deve-se notar que fazer um ping ping no Windows e algumas variações do BSD retornam o erro unknown host , mas não pelas razões que se pode pensar inicialmente.
Se eu fizer um ping ping no meu sistema, eu recebo de volta 127.0.53.53 , e depois de algumas pesquisas, eu encontrei um respostas relacionadas que ajudam a explicar este resultado; Em suma, isso tem a ver com o servidor DNS que você está usando e com a estrutura de colisão de nomes da ICANN, que retorna o endereço 127.0.53.53 para determinados TLDs genéricos ( ping sendo um deles aparentemente). Alguns sistemas operacionais e versões do utilitário ping podem anexar um TLD (ou seu domínio local) ao destino, portanto, se você tiver ping ping , ele poderá realmente fazer um ping ping.com ou ping ping.localdomain e retornar os resultados esperado (vs. dando 127.0.53.53 ).
Isso deve ajudar a explicar por que você vê a perda de pacotes quando você executa ping ping localhost ; você está roteando seus pings pelo localhost para pingar seu localhost , que se seu sistema não estiver configurado para fazer isso (solicitações de ping de rota), ele falhará e retornará a perda de pacotes que você está vendo. / p>
Espero que isso possa ajudar.