Por que o mesmo comando ping se comporta completamente diferente em dois sistemas?


1

O software

Servidor Ubuntu:

ubuntu@server: $ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
NAME="Ubuntu"
VERSION="15.10 (Wily Werewolf)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.10"
VERSION_ID="15.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

ubuntu@server: $ ping -V
ping utility, iputils-s20121221

Framboesa Pi 1 Modelo B:

pi@raspberrypi: $ cat /etc/*-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

pi@raspberrypi: $ ping -V
ping utility, iputils-s20121221

O resultado esperado

ubuntu@server: $ ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=17.3 ms
Request timeout for icmp_seq 2
64 bytes from 8.8.8.8: icmp_seq=3 ttl=55 time=17.0 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=55 time=14.1 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3001ms
rtt min/avg/max/mdev = 14.172/15.922/17.340/1.312 ms

A parte importante é o pacote ausente, isso é como eu esperaria, se um pacote for perdido OU demorar para o comando ping precisar imprimir um Request timeout mensagem ... mas no Raspberry Pi ...

O resultado real

pi@raspberrypi: $ ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=12.8 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=12.4 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=12.2 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=58 time=13.2 ms

--- 8.8.8.8 ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 3002ms
rtt min/avg/max/mdev = 12.289/12.724/13.284/0.397 ms

Se você não olhar de perto o suficiente, pode perder o que está errado. Mas tem 5 packets transmitted mas não imprimiu um Request timeout ou até mesmo para o próximo icmp_seq, acabou de reenviar o pacote que está faltando, sem nenhum erro, e você só descobrirá se um pacote desapareceu se você ler o resumo no final.

A questão

Por que o mesmo ping versão se comporta diferente em sistemas diferentes?

O comando ping tem uma configuração em algum lugar que eu possa editar para que ele se comporte da mesma forma?


Se você executar seu ping pela segunda vez a partir do PI, verá o mesmo comportamento? Esse primeiro pacote pode ser perdido porque seu sistema está funcionando para o gateway padrão. Mas você só veria na primeira vez que você pingar com uma tabela de arp clara.
— Zoredache

Desculpe, eu não entendo completamente o que você quer que eu faça. Mas eu corri o Pi sem o -c opção por uma noite inteira e perdeu alguns pacotes hunderet, mas eu não recebi nenhum Request timeout mensagens. Eu poderia ver os pacotes perdidos no resumo no final.
— usbpc102

Desculpe, eu estava tentando fazer você entender isso. blog.ipspace.net/2007/04/why-is-first-ping-lost.html Qual eu acho que é qual é o seu problema no ping de 'pi'. Ou seja, o primeiro pacote está sendo perdido para um ARP. Não sei quais são seus outros problemas.
— Zoredache

Ah, sim, isso explicaria o pacote perdido. MAS minha pergunta apenas mostra um pequeno exemplo de resultado. Como você pode ver, o que é esperado é um Request timeout, como minha conexão com a internet ela infelizmente cai. Também não tenho o controle perfeito para soltar apenas um pacote, então isso é apenas uma recriação. E como eu disse no meu outro comentário: O problema não é que um pacote está perdido / muito lento, mas que eu não recebo uma mensagem se isso acontece como no servidor ubuntu quando um pacote é perdido / muito lento. Espero ter tornado meu problema um pouco mais claro para você. ;) (Eu vou melhorar a pergunta quando eu acordar 4:00 atm)
— usbpc102

Não, sua pergunta não está clara. Um ping tem muitas maneiras de falhar e, dependendo do problema específico e da configuração de rede de outros dispositivos em sua rede, você receberá mensagens de erro diferentes. Você não tem informações suficientes para fazer quaisquer declarações úteis sobre qualquer coisa agora.
— Zoredache
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.