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.