O que e ping

O que e ping: ICMP Echo, latencia, RTT, criado por Mike Muuss em 1983, como usar para diagnostico de rede e valores normais de ping no Brasil.

Ping e uma ferramenta de diagnostico de rede que mede o tempo de ida e volta (RTT, Round-Trip Time) entre dois dispositivos, usando pacotes ICMP Echo Request e Echo Reply definidos pelo RFC 792 de 1981. Mike Muuss escreveu o codigo original em uma unica noite de dezembro de 1983 no U.S. Army Ballistic Research Laboratory, inspirado no sonar submarino que emite um sinal e aguarda o eco. Quarenta e dois anos depois, o ping continua sendo o primeiro comando que qualquer engenheiro de rede executa ao investigar um problema de conectividade. Valores de referencia para conexoes no Brasil, como interpretar os resultados corretamente e quando o ping nao e suficiente, e o que este artigo explica com detalhe.

Neste artigo

  1. O que e ping: ICMP, RTT e o protocolo por tras
  2. Historia: Mike Muuss e a noite de 1983
  3. Como o ping funciona na pratica
  4. Como interpretar os resultados do ping
  5. Valores de referencia de latencia no Brasil
  6. Ping bloqueado: ICMP filtrado e alternativas
  7. Ping como ferramenta de diagnostico: casos de uso
  8. Ping no Brasil: topologia, IX.br e provedores
  9. Perguntas frequentes

O que e ping: ICMP, RTT e o protocolo por tras

Ping utiliza o ICMP (Internet Control Message Protocol), protocolo de camada de rede definido pelo RFC 792 (setembro 1981, IETF). O ICMP transporta mensagens de controle e erro para o protocolo IP: destino inalcancavel, tempo excedido (TTL esgotado), redirecionamentos de rota e, no caso especifico do ping, mensagens Echo Request e Echo Reply.

Um pacote ICMP Echo Request (tipo 8, codigo 0) contem: o tipo (8), o codigo (0), um checksum de 16 bits para verificacao de integridade, um identificador de 16 bits (para associar respostas ao processo correto quando multiplos pings rodam simultaneamente), um numero de sequencia (para detectar pacotes perdidos e fora de ordem) e um campo de dados opcional (preenchido com bytes de teste). O host destino ao receber o Echo Request deve responder com um Echo Reply (tipo 0, codigo 0), copiando o identificador, o numero de sequencia e os dados. O cliente calcula o RTT subtraindo o timestamp de envio registrado no campo de dados do timestamp de recepcao.

ICMPv6 para redes IPv6

Para redes IPv6, o ICMPv6 (definido pelo RFC 4443, IETF) define Echo Request como tipo 128 e Echo Reply como tipo 129. O comando ping6 (ou ping -6 em sistemas modernos) usa ICMPv6. O ICMPv6 e obrigatorio no IPv6 (diferente do ICMP no IPv4, que e tecnicamente opcional mas critico) e e usado tambem para NDP (Neighbor Discovery Protocol), substituindo o ARP do IPv4.

Historia: Mike Muuss e a noite de 1983

Mike Muuss criou o ping em dezembro de 1983 enquanto trabalhava no U.S. Army Ballistic Research Laboratory (BRL) em Aberdeen, Maryland. Ele investigava problemas de performance numa rede local e precisava de um modo rapido de verificar se outros hosts respondiam e qual era o tempo de resposta.

Em 2000, Muuss escreveu sobre a criacao: "O nome PING veio do sonar: quando um submarino emite um pulso sonoro e aguarda o eco retornar, sabe que ha algo la. Era exatamente o que eu precisava para confirmar que um host estava vivo na rede. Mas PING tambem pode ser lido como acronimo recursivo: Packet InterNet Groper." O codigo original tinha menos de 150 linhas de C e foi escrito em uma unica noite.

O ping rapidamente se tornou ferramenta padrao em todos os sistemas UNIX. Berkeley Software Distribution incluiu o ping no BSD 4.3 em 1986. Microsoft incorporou o ping.exe no Windows NT 3.1 em 1993. Muuss faleceu em novembro de 2000 em um acidente de carro na US Route 40 em Maryland. Sua contribuicao ao diagnostico de redes persiste em cada terminal aberto por um administrador ao investigar conectividade.

Linha do tempo do ping e do ICMP
Ano Evento
1981 RFC 792: ICMP especificado por Jon Postel
1983 Mike Muuss escreve o ping no BRL em uma noite
1986 BSD 4.3 inclui ping como ferramenta padrao
1993 Windows NT 3.1 inclui ping.exe nativamente
2000 Mike Muuss escreve o relato historico do ping; falece no mesmo ano
2006 RFC 4443: ICMPv6 especificado para redes IPv6

Como o ping funciona na pratica

Ao executar ping 8.8.8.8 em um terminal Linux, o sistema envia por padrao pacotes ICMP de 64 bytes (8 bytes de cabecalho ICMP + 56 bytes de dados de preenchimento) em intervalos de 1 segundo. A saida tipica e a seguinte:

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=116 time=12.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=11.8 ms

Cada linha mostra: o tamanho do pacote recebido (64 bytes), o IP de origem da resposta, o numero de sequencia, o TTL do pacote de retorno e o RTT em milissegundos.

O TTL na resposta do ping

O TTL (Time to Live) na resposta do ping indica o valor remanescente apos percorrer os saltos de volta. O TTL inicial varia por sistema operacional do destino: 64 e o padrao em Linux e Android (e em equipamentos de rede BSD); 128 e o padrao do Windows e Windows Server; 255 e o padrao de equipamentos Cisco e Juniper. Subtraindo o TTL recebido do TTL inicial estimado, obtem-se o numero aproximado de saltos no caminho de retorno.

Por exemplo: ping para 8.8.8.8 retorna TTL 116. O DNS do Google roda em Linux (TTL inicial 64). Mas 64 - 116 e negativo, o que indicaria que 128 e o TTL inicial real do lado do Google (128 - 116 = 12 saltos). Com TTL inicial 64, 64 - 12 saltos = TTL 52, que nao bate. Essa analise mostra que inferir o numero de saltos pelo TTL exige saber o TTL inicial, que pode variar.

Pacotes de tamanho variavel e MTU

O ping com pacotes grandes (ping -s 1400 8.8.8.8) testa a MTU (Maximum Transmission Unit) do caminho. O MTU padrao da Ethernet e 1500 bytes. Se algum trecho da rota tem MTU menor (comum em conexoes VPN, CGNAT ou links WAN com configuracoes especificas), pacotes maiores sao fragmentados ou descartados com uma mensagem ICMP "Fragmentation Needed" (tipo 3, codigo 4).

O problema conhecido de PMTU Blackhole acontece quando roteadores descartam pacotes grandes sem enviar o ICMP de volta, quebrando silenciosamente conexoes TCP que tentam usar payloads acima do MTU real do caminho. O diagnostico usa ping -M do -s 1400 host (Linux, flag "Don't Fragment") para identificar o MTU maximo que passa sem fragmentacao.

Parametros uteis do ping

Parametros mais uteis do comando ping em Linux/macOS
Parametro Funcao Exemplo
-c N Numero de pacotes a enviar (padrao: infinito) ping -c 10 8.8.8.8
-s N Tamanho dos dados do pacote em bytes ping -s 1400 8.8.8.8
-i N Intervalo entre pacotes em segundos ping -i 0.2 8.8.8.8 (5 por segundo)
-t N (Linux) / -T N (macOS) Valor de TTL dos pacotes enviados ping -t 5 8.8.8.8 (alcanca no maximo 5 saltos)
-6 Forca uso de IPv6 (ICMPv6) ping -6 google.com
-M do Proibe fragmentacao (para teste de MTU) ping -M do -s 1472 gateway
-f Flood ping (root apenas): maxima taxa de envio ping -f -c 1000 host (uso cuidadoso)

Como interpretar os resultados do ping

Um ping retorna tres metricas essenciais: RTT (latencia), perda de pacotes e jitter (variacao do RTT). Cada uma aponta para problemas diferentes.

RTT: latencia de ida e volta

O RTT (Round-Trip Time) e medido em milissegundos e reflete o tempo total para o pacote ir ao destino e voltar. Na linha de estatisticas ao final do ping, os campos min/avg/max/mdev mostram o minimo, media, maximo e desvio padrao das medicoes. Um RTT alto indica grande distancia fisica, muitos saltos, congestionamento de rede ou processamento lento no destino.

Perda de pacotes

Perda de pacotes (packet loss) e a porcentagem de Echo Requests que nao receberam Echo Reply dentro do timeout. Zero perda e o resultado esperado para conexoes saudaveis. Perda de 1-3% e detectavel em chamadas de video e jogos que usam UDP (protocolo sem retransmissao). Perda acima de 5% causa degradacao perceptivel em quase qualquer aplicacao. Perda de 100% pode significar host fora do ar, ICMP bloqueado ou rota nao existente.

Jitter: variacao do RTT

Jitter e a variacao do RTT entre medicoes consecutivas. Um ping com RTTs de 10ms, 11ms, 10ms, 12ms tem jitter baixo (bom). Um ping com 10ms, 45ms, 12ms, 80ms tem jitter alto (ruim para chamadas de voz e video em tempo real). Aplicacoes de audio/video usam buffers de jitter para compensar variacao, mas buffers maiores adicionam latencia percebida. Para jogos competitivos, jitter alto e mais prejudicial do que latencia consistentemente alta.

Valores de referencia de latencia no Brasil

A topologia geografica do Brasil, com distancias continentais entre o Norte e o Sul, cria situacoes de latencia nao intuitivas. Sao Paulo e o hub de conectividade: a maioria dos IXPs relevantes (IX.br SP), data centers de provedores de conteudo (Google, Cloudflare, AWS) e cabos submarinos internacionais tem pontos de presenca em SP.

Valores de referencia de latencia (RTT) para conexoes brasileiras tipicas
Origem-Destino RTT esperado (fibra) RTT esperado (4G)
SP - SP (mesmo data center) < 2ms 30-60ms
SP - RJ 5-12ms 40-80ms
SP - BH 8-18ms 45-90ms
SP - Fortaleza 35-60ms 70-130ms
SP - Belem 60-100ms 100-180ms
Brasil - EUA (Miami/NY) 90-140ms 130-200ms
Brasil - Europa (Amsterdam) 180-240ms 220-300ms
Brasil - Asia (Toquio) 270-350ms 320-420ms

Valores muito acima dessas referencias para conexoes intrabrasileiras podem indicar roteamento subotimal (trafego passando pelos EUA antes de chegar ao destino no Brasil, situacao historicamente comum antes da expansao do IX.br), congestionamento de enlace ou problema de CGNAT adicionando latencia.

Ping bloqueado: ICMP filtrado e alternativas

E muito comum que o ping retorne 100% de perda de pacotes para um destino que esta perfeitamente funcional. A causa mais frequente e o bloqueio de ICMP por firewall.

Por que administradores bloqueiam ICMP

Dois motivos principais levam ao bloqueio de ICMP. Primeiro, mapeamento de rede: um atacante pode usar pings em massa para descobrir quais IPs estao ativos numa sub-rede (ICMP sweep). Segundo, amplificacao em ataques DDoS: o ICMP de broadcast podia ser usado em ataques Smurf (agora mitigado, mas o habito de bloquear ICMP permaneceu). Muitos firewalls corporativos e CDNs bloqueiam ICMP de entrada por padrao.

Exemplos concretos: google.com nao responde a ping ICMP, mas e perfeitamente acessivel via HTTPS. cloudflare.com bloqueia ping mas responde em HTTP/2. A maioria dos servidores da AWS tem ICMP bloqueado por padrao no Security Group, exceto se explicitamente liberado.

Alternativas quando o ping nao funciona

Para verificar se um host esta ativo quando ICMP esta bloqueado, ha varias alternativas.

TCP ping via hping3 (hping3 -S -p 80 -c 3 host): envia pacotes TCP SYN para a porta 80 e mede RTT das respostas RST/SYN-ACK. Funciona em hosts que aceitam conexoes TCP mas bloqueiam ICMP.

Curl com medicao de tempo (curl -o /dev/null -s -w "%{time_connect}ms\n" https://host): mede o tempo de estabelecimento de conexao TCP+TLS, util para benchmarking de servidores web.

Traceroute (traceroute host no Linux, tracert host no Windows): mapeia todos os saltos ate o destino enviando pacotes com TTLs crescentes (1, 2, 3...) e coletando os ICMP Time Exceeded de cada roteador. Mostra onde na rota a latencia aumenta.

MTR (My Traceroute): combina ping e traceroute em tempo real, mostrando latencia e perda de pacotes por salto continuamente. E o diagnostico mais completo para investigar problemas de roteamento.

Ping como ferramenta de diagnostico: casos de uso

O ping e o primeiro comando numa cadeia de diagnostico, nao o ultimo. Cada resultado tem uma interpretacao e uma acao seguinte.

Fluxograma de diagnostico com ping

  1. ping 127.0.0.1: Testa se a pilha TCP/IP do dispositivo local funciona. Se falhar, o problema e no software de rede do proprio sistema.
  2. ping [gateway padrao]: Testa conectividade com o roteador local. Falha indica problema na rede local (cabo, Wi-Fi, configuracao de IP).
  3. ping 8.8.8.8: Testa conectividade internet sem depender de DNS. Falha aqui (com gateway ok) indica problema no link do provedor ou no roteamento do provedor.
  4. ping google.com: Testa DNS + conectividade. Se 8.8.8.8 funciona mas google.com falha, o DNS esta com problema.
  5. ping [servidor especifico]: Testa o caminho ate um destino especifico. Alta latencia ou perda pode indicar congestionamento no meio da rota.

Ping em jogos online: o que os valores significam

Para jogos online, o ping (ou latencia, como os jogos geralmente chamam) e a metrica mais impactante na experiencia. Valores acima de 150ms causam lag perceptivel em jogos de acao rapida. Acima de 250ms, o jogo torna-se praticamente injogavel em shooters, fighting games e MOBAs.

Um detalhe que muitos jogadores ignoram: o ping exibido no jogo nem sempre usa ICMP. Jogos como Valorant, Fortnite e League of Legends medem o RTT de seus proprios pacotes UDP de jogo para o servidor, que e uma medicao mais representativa da latencia real percebida do que um ping ICMP. O ping ICMP para o IP do servidor do jogo e uma aproximacao, nao a metrica definitiva.

Ping no Brasil: topologia, IX.br e provedores

O IX.br (Internet Exchange Brazil), operado pelo NIC.br, e o maior fator que afeta latencia para conteudo popular no Brasil. Provedores que fazem peering no IX.br SP trocam trafego diretamente com Google, Cloudflare, Akamai, AWS e centenas de outros, sem passar por links internacionais. O resultado pratico: latencias de 2-8ms para acessar servicos hospedados ou com pops no IX.br SP, contra 80-120ms se o trafego precisasse sair para os EUA.

O mapa do IX.br (NIC.br) mostra todos os 32 pontos de troca ativos no Brasil. Alem do SP (maior), ha IXPs relevantes no Rio de Janeiro, Belo Horizonte, Curitiba, Fortaleza, Belem e Manaus. Provedores regionais que fazem peering no IX.br local tem vantagem em latencia para trafego de conteudo popular.

Para diagnosticar latencia alta para um servidor especifico, o MTR e mais util do que o ping simples. Execute mtr 8.8.8.8 --report-cycles 60 e observe qual salto na rota tem latencia alta ou perda de pacotes. Um salto com latencia 50ms maior que o anterior e o gargalo.

A Anatel publica semestralmente o Mapa de Qualidade de Banda Larga, que inclui metricas de latencia por provedor e regiao. Em 2024, provedores de fibra simetrica nas capitais do Sudeste apresentaram latencias medias abaixo de 15ms para servidores nacionais, enquanto provedores via satelite (exceto Starlink) tinham latencias acima de 600ms por natureza da tecnologia.

Perguntas frequentes sobre o que e ping

O que e ping e como funciona?

Ping e uma ferramenta de diagnostico de rede que mede o RTT (Round-Trip Time) entre dois dispositivos usando pacotes ICMP Echo Request (tipo 8) e Echo Reply (tipo 0). O protocolo ICMP e definido pelo RFC 792. Ao executar "ping 8.8.8.8", o sistema envia pacotes para o IP de destino e mede o tempo ate receber a resposta, em milissegundos. O nome vem do sonar submarino e foi criado por Mike Muuss em 1983.

O que e RTT e latencia?

RTT (Round-Trip Time) e o tempo total para um pacote ir do remetente ao destino e voltar, medido em milissegundos. Latencia (one-way delay) e o tempo de apenas uma direcao, tipicamente metade do RTT em redes simetricas. Em jogos online, latencia geralmente se refere ao RTT do proprio protocolo de jogo para o servidor. Ping abaixo de 50ms e excelente para jogos; acima de 150ms, lag torna-se perceptivel.

Por que o ping pode estar bloqueado para um site?

Muitos servidores e firewalls bloqueiam pacotes ICMP por padrao, seja para evitar mapeamento de rede por ferramentas de scan (ICMP sweep) ou como politica de seguranca conservadora. Google.com e Cloudflare bloqueiam ping ICMP mas funcionam normalmente via HTTPS. Um ping sem resposta (100% de perda) nao significa que o host esta fora do ar. Alternativas: usar curl para medir tempo de conexao TCP, ou hping3 para "ping TCP" via porta 80.

Qual ping e normal no Brasil?

Para servidores dentro de Sao Paulo, ping abaixo de 5ms e normal em fibra. Para servidores em outras cidades brasileiras, 10-60ms dependendo da distancia e do provedor. Para servidores nos EUA (Miami), 90-130ms e tipico. Para Europa (Amsterdam), 180-240ms. Para Asia (Toquio), 270-350ms. Valores muito acima podem indicar roteamento subotimal, congestionamento ou problema especifico no link do provedor.

Ping mede a velocidade da internet?

Nao. Ping mede latencia (tempo de resposta), que e independente do throughput (velocidade de transferencia de dados). Uma conexao pode ter ping excelente de 5ms mas baixa largura de banda (transferencia lenta), ou alta velocidade de download com ping ruim de 200ms. Para medir velocidade, use testes de throughput como fast.com ou speedtest.net. Para diagnosticar latencia, use ping e MTR.

O que e jitter e como afeta a conexao?

Jitter e a variacao do RTT entre medicoes consecutivas do ping. RTTs de 10ms, 11ms, 10ms, 12ms tem jitter baixo. RTTs de 10ms, 80ms, 15ms, 90ms tem jitter alto. Jitter alto afeta fortemente chamadas de voz (VoIP), video em tempo real e jogos online, pois pacotes chegam em momentos imprevistos. Conexoes Wi-Fi e 4G tem jitter naturalmente maior do que fibra. O campo "mdev" no resultado do ping Linux mostra o desvio medio (proxy do jitter).

O que e MTR e como usar para diagnosticar problemas de rede?

MTR (My Traceroute) combina ping e traceroute em tempo real, mostrando latencia e perda de pacotes em cada salto da rota ate o destino. E muito mais informativo do que o ping simples para diagnosticar onde na rota um problema ocorre. Instalar no Linux: "apt install mtr" ou "yum install mtr". Usar: "mtr --report-cycles 60 8.8.8.8". Um salto com latencia subitamente maior ou perda de pacotes e o ponto de congestionamento ou problema na rota.

Como usar o ping para testar MTU da conexao?

O MTU (Maximum Transmission Unit) padrao do Ethernet e 1500 bytes. Para testar se sua conexao suporta pacotes de tamanho maximo sem fragmentacao, use "ping -M do -s 1472 [gateway]" no Linux. O "-M do" proibe fragmentacao; "-s 1472" envia payload de 1472 bytes (1472 + 28 bytes de cabecalho IP+ICMP = 1500 bytes total). Se o ping falhar com "Frag needed", o MTU do caminho e menor. Reduza o tamanho ate encontrar o maior valor que passa. Isso e util para diagnosticar problemas de PMTU com VPNs e CGNAT.

O ping e a ferramenta mais simples e mais usada em diagnostico de rede. Entender o que e ping e como interpretar seus resultados permite diagnosticar se um problema e local (rede domovestica), no provedor ou no destino, distinguir latencia de perda de pacotes, e identificar gargalos em rotas especificas. Use a ferramenta Ping online desta pagina para testar latencia a qualquer IP ou dominio a partir dos servidores do SaberMeuIP, sem instalar nada.

Para diagnosticos mais avancados, o traceroute (artigo o que e traceroute) e o MTR complementam o ping mostrando cada salto da rota. Para entender os protocolos por baixo, os artigos sobre o que e IP e o que e IPv6 cobrem o protocolo IP sobre o qual o ICMP opera. A especificacao completa do ICMP esta no RFC 792 (setembro 1981, rfc-editor.org).

FERRAMENTA

Leituras Relacionadas

  • Ping alto causas — Ping alto causas no Brasil: distancia, peering de ISP, CGNAT, Wi-Fi, hardware. Fluxograma de diagnostico com exemplos de latencia tipica para jogadores BR.
  • Perda de pacotes causas — Perda de pacotes causas: congestionamento, hardware defeituoso, interferencia Wi-Fi, ISPs regionais BR. Fluxograma de diagnostico passo a passo com ping e traceroute.
  • Jitter explicado — Jitter explicado de forma clara: o que e variacao de latencia, como afeta VoIP e jogos online, valor ideal abaixo de 30 ms e como medir na sua conexao.