Estou vendo um comportamento estranho com o comando ping embutido que não entendo.
(isso está em uma caixa windows 2012 r2 - eu não verifiquei se esse comportamento é visto em outras versões do windows)
Se eu definir o tempo limite (em ms) para um valor como 120, verifico consistentemente tempos limites intermitentes ao fazer ping de um host remoto (cerca de 10 saltos)
ping -t -w 120 myhost.domain.local
Reply from (removed): bytes=32 time=21ms TTL=246
Reply from (removed): bytes=32 time=23ms TTL=246
Request timed out.
Reply from (removed): bytes=32 time=25ms TTL=246
Reply from (removed): bytes=32 time=22ms TTL=246
está tudo bem, EXCETO, se eu deixar o tempo limite do ping no seu valor padrão (que é de 5.000 ms) não vejo nenhum tempo limite, e nunca vejo um tempo relatado maior que 30 ms.
Na verdade, posso executar duas instâncias de ping ao mesmo tempo, uma com -w 120 e outra com tempo limite padrão, e a instância com -w 120 terá tempos limite intermitentes, enquanto a outra instância não terá nenhum, e ambas as instâncias não mostrarão respostas maiores que 30 ms.
Alguém tem uma explicação por que parece que o ping está expirando em um intervalo muito mais curto do que aquele que estou especificando?
EDITAR:
Estou começando a pensar que o parâmetro -w não funciona de maneira alguma, certamente não está fazendo o que ele diz que deveria fazer. A descrição do comando ping é:
-w timeout Timeout in milliseconds to wait for each reply.
então por que diabos isso não é tempo limite?
C:\Windows\System32>ping -w 10 google.com
Pinging google.com [66.58.255.29] with 32 bytes of data:
Reply from 66.58.255.29: bytes=32 time=46ms TTL=58
???