Por que o ping me dava valores rápidos de rtt, mas demorava muito para que cada resposta voltasse?

7

Eu tenho um pouco de uma questão básica de rede aqui em relação ao ping.

Ao fazer o ping de um determinado host em uma sub-rede completamente diferente, recebo uma resposta como esta:

PING myhost.example.com (1.2.3.4) 56(84) bytes of data.
64 bytes from 1.2.3.4: icmp_req=1 ttl=115 time=1.88 ms
64 bytes from 1.2.3.4: icmp_req=2 ttl=115 time=1.66 ms
64 bytes from 1.2.3.4: icmp_req=3 ttl=115 time=1.96 ms
64 bytes from 1.2.3.4: icmp_req=4 ttl=115 time=1.95 ms

--- myhost.example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 48191ms
rtt min/avg/max/mdev = 1.669/1.868/1.969/0.127 ms

Isso inicialmente parece normal, mas você vê que o tempo total é de 48 segundos para obter essas 4 respostas. Quando o ping está em execução, há um intervalo perceptível de cerca de 10 segundos antes de cada linha ser impressa. No entanto, o rtt é praticamente o que eu esperaria.

Isso está causando um pequeno problema, já que estou tentando monitorar esse host com nagios, e a verificação de host está atualmente recebendo um erro de 'Rede inacessível'. A rede é alcançável, o rtt é sensato, mas não posso deixar de me perguntar se esse tempo total lento pode ter algo a ver com isso.

O host está a 14 saltos e o traceroute se parece com isso (eu anonimizei os passos intermediários, eles são todos IPs diferentes!):

traceroute to myhost (1.2.3.4), 30 hops max, 60 byte packets
 1  10.A.B.C (10.A.B.C)  0.680 ms  0.729 ms  0.833 ms
 2  10.A.B.C (10.A.B.C)  0.636 ms  0.678 ms  0.759 ms
 3  10.A.B.C (10.A.B.C)  0.803 ms  0.867 ms  0.923 ms
 4  10.A.B.C (10.A.B.C)  0.702 ms  0.738 ms  0.782 ms
 5  10.A.B.C (10.A.B.C)  1.027 ms  1.251 ms  1.342 ms
 6  10.A.B.C (10.A.B.C)  2.688 ms  1.436 ms  1.484 ms
 7  10.A.B.C (10.A.B.C)  2.960 ms  3.475 ms  3.527 ms
 8  10.A.B.C (10.A.B.C)  1.284 ms  1.310 ms  1.393 ms
 9  10.A.B.C (10.A.B.C)  1.990 ms  1.865 ms  1.964 ms
10  10.A.B.C (10.A.B.C)  1.750 ms  1.841 ms  1.748 ms
11  10.A.B.C (10.A.B.C)  1.849 ms  1.614 ms  1.628 ms
12  10.A.B.C (10.A.B.C)  1.997 ms  2.150 ms  2.119 ms
13  10.A.B.C (10.A.B.C)  2.442 ms  2.454 ms  2.560 ms
14  1.2.3.4 (1.2.3.4)  1.978 ms * *

O que causaria isso?

    
por growse 24.09.2012 / 11:49

3 respostas

5

Isso é um pouco chocante ...

Você está pingando por nome DNS.
O loookup de DNS de myhost.example.com demora tanto para resolver?
O que acontece se você pingar por endereço IP?

    
por 24.09.2012 / 12:04
1

Tente editar /etc/nsswitch.conf . mDNS me causou o mesmo problema.

Se você tem:

hosts:  files mdns4_minimal [NOTFOUND=return] dns mdns4

tente substituir por:

hosts:  files dns
    
por 10.05.2013 / 09:48
1

Além do problema de pesquisa de DNS, isso também pode ser causado pelo intervalo entre os pacotes de ping:

-i interval
          Wait  interval  seconds  between  sending each packet.  The default is to wait for one second between each packet normally, or not to wait in
          flood mode. Only super-user may set interval to values less 0.2 seconds.

Se você pingar o servidor do google por ip:

# ping -c 3 74.125.130.101
PING 74.125.130.101 (74.125.130.101) 56(84) bytes of data.
64 bytes from 74.125.130.101: icmp_seq=1 ttl=50 time=2.51 ms
64 bytes from 74.125.130.101: icmp_seq=2 ttl=50 time=2.52 ms
64 bytes from 74.125.130.101: icmp_seq=3 ttl=50 time=2.72 ms

--- 74.125.130.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 2.511/2.589/2.729/0.114 ms

O tempo total é ainda muito maior do que a soma das rtts.

Mas se você usar o ping no modo de inundação:

# ping -c 3 -f 74.125.130.101
PING 74.125.130.101 (74.125.130.101) 56(84) bytes of data.

--- 74.125.130.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 8ms
rtt min/avg/max/mdev = 2.474/2.744/3.140/0.286 ms, ipg/ewma 4.230/2.657 ms

ou definindo o intervalo para 0:

# ping -c 3 -i 0 74.125.130.101
PING 74.125.130.101 (74.125.130.101) 56(84) bytes of data.
64 bytes from 74.125.130.101: icmp_seq=1 ttl=50 time=2.83 ms
64 bytes from 74.125.130.101: icmp_seq=2 ttl=50 time=2.87 ms
64 bytes from 74.125.130.101: icmp_seq=3 ttl=50 time=2.96 ms

--- 74.125.130.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 9ms
rtt min/avg/max/mdev = 2.834/2.891/2.966/0.083 ms, ipg/ewma 4.510/2.855 ms

O tempo total é quase a soma de rtts.

    
por 05.05.2015 / 09:38