UDP vs ICMP vs TCP Traceroute: Quando Usar Cada Protocolo
Compare os três protocolos de traceroute e aprenda quando usar ICMP, UDP ou TCP para diagnósticos de rede.
Por que o Protocolo Importa
Quando você executa um traceroute, a ferramenta precisa enviar pacotes de sondagem para a rede e contar com os roteadores para enviar de volta mensagens de erro. Mas nem todos os roteadores tratam todos os tipos de pacotes de forma igual. Firewalls, limitadores de taxa e políticas de segurança podem bloquear certos protocolos enquanto permitem outros. Escolher o protocolo certo pode significar a diferença entre um rastreamento completo e uma parede de * * * timeouts.
Os três protocolos disponíveis na maioria das implementações de traceroute são UDP, ICMP e TCP. Cada um tem vantagens distintas dependendo do seu ambiente de rede.
UDP Traceroute
Como Funciona
O traceroute UDP envia datagramas UDP para números de porta progressivamente mais altos, começando na porta 33434 por padrão. Cada sonda tem um valor TTL crescente. Quando o TTL expira em um roteador intermediário, o roteador envia de volta uma mensagem ICMP Time Exceeded. Quando a sonda chega ao destino, o destino responde com uma mensagem ICMP Port Unreachable (porque nenhum serviço está ouvindo naquela porta), sinalizando o fim do rastreamento.
Prós e Contras
- Padrão no Linux e macOS — nenhuma flag especial necessária.
- Não requer privilégios de root/admin na maioria dos sistemas (sockets UDP são não privilegiados).
- Bloqueado por muitos firewalls — redes corporativas e provedores de nuvem frequentemente restringem UDP de saída para portas desconhecidas.
- Filtragem baseada em porta pode causar resultados inconsistentes quando diferentes firewalls ao longo do caminho têm regras diferentes.
Melhor Para
Diagnósticos de uso geral no Linux/macOS quando você tem um caminho de rede relativamente aberto. Funciona bem para rastrear servidores que você controla ou para a infraestrutura principal da internet.
ICMP Traceroute
Como Funciona
O traceroute ICMP envia pacotes ICMP Echo Request (o mesmo tipo usado pelo ping) com valores TTL crescentes. Roteadores intermediários retornam mensagens ICMP Time Exceeded como de costume. Quando o pacote chega ao destino, ele responde com um ICMP Echo Reply — a mesma resposta que você obtém do ping.
Prós e Contras
- Padrão no Windows (
tracertusa ICMP). - Universalmente entendido — quase todos os roteadores podem gerar ICMP Time Exceeded.
- Frequentemente limitado por taxa — muitos roteadores depriorizam o processamento ICMP, levando a valores RTT artificialmente inflacionados ou respostas perdidas.
- Requer root/admin no Linux — sockets brutos são necessários para criar pacotes ICMP.
- Bloqueado em alguns ambientes com segurança reforçada — algumas redes descartam todo ICMP na borda.
Melhor Para
Testes rápidos de máquinas Windows, ou quando o traceroute UDP retorna muitos timeouts. Também útil quando você deseja especificamente testar a acessibilidade ICMP (por exemplo, verificando se o ping funcionará de ponta a ponta).
TCP Traceroute
Como Funciona
O traceroute TCP envia pacotes TCP SYN (o primeiro passo do handshake de três vias do TCP) para uma porta específica — geralmente porta 80 (HTTP) ou porta 443 (HTTPS). Roteadores intermediários ainda retornam ICMP Time Exceeded para TTLs expirados. Quando o SYN chega ao destino, ele responde com um SYN/ACK (porta aberta) ou um RST (porta fechada), completando o rastreamento.
Prós e Contras
- Penetra a maioria dos firewalls — as portas 80 e 443 são quase universalmente permitidas através de firewalls, NATs e grupos de segurança.
- Melhor para rastrear servidores web — a sonda se parece com uma tentativa normal de conexão web.
- Requer root/admin — criar pacotes TCP SYN brutos requer privilégios elevados.
- Pode acionar alertas de IDS/IPS — pacotes SYN rápidos para a mesma porta podem parecer um scan SYN.
Melhor Para
Redes corporativas, ambientes de nuvem (AWS, GCP, Azure) e qualquer situação onde UDP e ICMP estão sendo filtrados. Se você está solucionando problemas de conectividade para um aplicativo web e outros modos retornam resultados incompletos, o modo TCP é sua melhor aposta.
Tabela de Comparação
| Recurso | UDP | ICMP | TCP |
|---|---|---|---|
| Sistema Operacional Padrão | Linux, macOS | Windows | Nenhum (flag explícita) |
| Requer root/admin | Não | Sim (Linux) | Sim |
| Penetração de Firewall | Baixa | Média | Alta |
| Porta de Destino | 33434+ | N/A | 80 ou 443 |
| Sinal de Fim de Rastreio | ICMP Port Unreachable | ICMP Echo Reply | SYN/ACK ou RST |
| Risco de Limitação de Taxa | Baixo | Alto | Baixo |
| Flag CLI | -U (padrão) | -I | -T |
Cenários do Mundo Real
Escritório Corporativo Atrás de um Firewall Rigoroso
O firewall da sua empresa bloqueia todo o UDP de saída, exceto DNS (porta 53) e todo ICMP, exceto ping para o gateway. Use modo TCP na porta 443. Os pacotes SYN parecem tentativas de conexão HTTPS e passam limpos.
Depuração de ISP para Latência em Jogos
Você quer rastrear o caminho para um servidor de jogo. Comece com UDP (o padrão). Se você ver timeouts no meio do caminho, mude para ICMP. Servidores de jogos frequentemente operam em portas não padrão, então TCP para a porta 80 pode não alcançar o servidor de jogo real — mas ainda revelará o caminho da rede e a latência até o host.
Infraestrutura em Nuvem (AWS, GCP)
Grupos de segurança em nuvem normalmente bloqueiam UDP de entrada em portas altas e podem filtrar ICMP. Use TCP na porta 443 para rastrear através de VPCs, balanceadores de carga e gateways NAT de forma confiável.
Resolução de Problemas de ISP Residencial
ICMP geralmente funciona bem em conexões domésticas. É o mais simples de interpretar, já que tanto as respostas intermediárias quanto as finais usam ICMP. Se seu ISP limita ICMP, você verá latência inflacionada em seus saltos — mude para UDP para obter medições RTT mais precisas.
Recomendações Práticas
- Comece com o padrão (UDP no Linux/macOS, ICMP no Windows).
- Se você ver muitos timeouts, mude para o modo TCP direcionando para a porta 443.
- Execute o rastreamento com múltiplos protocolos e compare — as diferenças revelam onde a filtragem está acontecendo.
- Documente o protocolo usado ao compartilhar resultados com seu ISP ou provedor de hospedagem, pois os resultados variam por protocolo.
Experimente os Três Protocolos com o TraceMapper
TraceMapper permite que você mude entre UDP, ICMP e TCP com um único clique — sem necessidade de conhecimento de linha de comando. Os resultados são plotados em um mapa interativo com informações ASN, codificação de cores de latência e rastreamento de múltiplas fontes de diferentes locais geográficos.
Execute um traceroute gratuito agora e veja como diferentes protocolos produzem resultados diferentes para seu alvo. Para mais ferramentas de diagnóstico de rede, explore nossas ferramentas Ping, DNS Lookup e Port Check.