2015/01/11

O que é o "ping" e porque motivo é tão importante?


Megabits, terabytes, HTTP, ADSL, o mundo tecnológico está cheio de palavrões que são atirados de um lado para o outro de uma forma tão natural que se assume que todos sabem o que querem dizer. Mas ninguém nasce ensinado, e não tem mal nenhum não se saber o que algo quer dizer... e querer aprender. Hoje venho falar-vos do "ping".

Qualquer pessoa que já tenha sentido curiosidade em tirar dúvidas sobre o desempenho da sua rede ou ligação à internet já terá seguramente passado por alguma referência ao ping. Um simples teste de velocidade no speedtest começa logo por nos indicar que será seleccionado o melhor servidor com base no ping, e isso acaba por já ser metade da explicação.

Numa rede, quer seja uma rede local doméstica, ou a internet, os pacotes de dados que permitem a comunicação entre os diferentes computadores demoram tempo a chegar ao destino.


O seu trajecto pode ser algo tão simples quanto uma ligação directa entre dois PCs, como - algo mais habitual - passando por um switch ou router; como ainda algo incrivelmente mais complexo quando se trata de atravessar a internet. Cada um destes pontos de passagem pode adicionar ligeiros atrasos, que se somam ao tempo que a própria distância se encarrega de somar (mesmo à velocidade da luz, demora mais de 130ms a dar a volta à Terra no equador.)

É precisamente este valor que é medido, e habitualmente referido como sendo o "ping": o tempo que uma comunicação demora a chegar ao destino e regressar, tornando-se no tempo mínimo de resposta que poderemos esperar, e por norma sendo indicado em milissegundos.


Este valor pode ser usado para detectar problemas na rede, e torna-se especialmente crítico em todo o tipo de situações onde seja importante uma resposta rápida. Por exemplo, num serviço de streaming de música ou vídeo, os utilizadores não levarão a mal que ao clicarem no "play" tenham que esperar 1 ou 2 segundos para que o conteúdo comece a ser reproduzido; tal como não levarão a mal que ao clicarem num link numa página, possa haver um atraso de meio segundo antes que surja uma nova página. Mas experimentem jogar um jogo multiplayer online, onde tenham idêntico atraso. Quando derem um tiro sobre um inimigo, já ele estará noutro sítio; e muito provavelmente já ele vos terá matado, embora só o venham a descobrir alguns décimos de segundo mais tarde.

Claro que cada caso é um caso: se estiverem a jogar um jogo de estratégia "turn-based", estes atrasos da comunicação tornam-se irrelevantes e inconsequentes; da mesma forma que não vos incomoda que num jogo de cartas um jogador demore mais 1 segundo a jogar. Mas para todos os jogos - e demais aplicações - onde seja necessária manter uma sincronização próxima do "tempo real" entre múltiplas pessoas ou máquinas, o ping é a medida mais importante a manter debaixo de olho.


Embora existam programas que permitem ver o ping em formatos mais "bonitos", em quase todas as plataformas poderão vê-lo na sua roupagem original dando um salto à linha de comandos e escrevendo "ping" seguido do endereço de destino para o qual desejam medir o tempo de comunicação, como por exemplo: ping abertoatedemadrugada.com


Por norma o comando vai fazer quatro medições, indicando-vos também em caso de não ser possível comunicar com o destino (e servindo também para revelar se estamos a ter "packet loss", comunicações instáveis onde nem sempre os dados chegam ao destino.) Existe a possibilidade de fazer com que o comando envie pacotes de dados de tamanho diferente, em maior quantidade, ou até de forma contínua; mas para efeitos de medir o tempo que os dados demoram a chegar e regressar de um destino, o uso normal será mais que suficiente.

Bons "pinganços", e agora já não têm motivos para se sentirem intimidados sempre que vos surgir um ping pela frente.

1 comentário:

[pub]