À medida que você usa a Internet, é muito fácil esquecer que existem muitas partes funcionais e servidores que ajudam a manter a World Wide Web viva. Cada pacote que você envia, de uma mensagem de bate-papo a uma foto de gato, precisa passar por exchanges e servidores para chegar ao seu destino.
Infelizmente, nada melhor para lembrá-lo dessa configuração do que quando você não consegue mais se conectar a um site. A causa pode estar em algum lugar do seu lado, do lado do site ou em algum lugar intermediário. E a melhor maneira de descobrir onde está o problema é usando o Traceroute.
O que é Traceroute?
Traceroute é uma maneira de, bem, rastrear a rota que seus pacotes de dados percorrem à medida que percorrem a Internet. Todo sistema operacional moderno pode traçar uma rota.
Ao iniciar um Traceroute, você informa para qual site ou servidor deseja rastrear uma rota. Normalmente, este é um URL de site que você está tentando acessar, mas você também pode alimentá-lo com um endereço IP, se desejar.
Depois de iniciar o Traceroute, seu sistema envia pacotes para o destino definido. Em seguida, ele registra as viagens do pacote e envia as informações de volta ao seu PC, que mostra para onde eles estão indo.
Isso é realmente útil se você estiver tentando encontrar uma falha na rede. Se um servidor ou exchange estiver inativo, o Traceroute encontrará o problema e informará que algo não está funcionando corretamente. Você pode usar essas informações para diagnosticar melhor o que está acontecendo de errado.
Como o Traceroute funciona?
Traceroute é uma maneira prática de diagnosticar erros de rede. No entanto, você sabia que a internet foi projetada inicialmente sem o Traceroute em mente?
Na verdade, a invenção de Traceroute é tudo graças a uma façanha inteligente. E para entender melhor como essa exploração funciona, precisamos analisar o “tempo de vida” de um pacote de rede.
O que é o "tempo de vida" de um pacote?
Idealmente, quando um computador envia um pacote de um lugar para outro, ele chega lá sem nenhum problema. Ele pega o caminho mais rápido possível do ponto A ao ponto B e não fica preso ou retido.
Infelizmente, as redes podem ser coisas complicadas. Se um engenheiro cometer um erro ao configurar um servidor, é possível que os pacotes sejam enviados em um loop infinito entre os servidores. E se isso acontecer com muita frequência, uma rede pode ficar cheia de pacotes dando voltas e voltas para sempre.
As mentes inteligentes por trás do pacote de dados criaram uma solução para corrigir isso, chamada “time-to-live” ou “TTL”. Cada pacote, antes de ser enviado para a grande incógnita, recebe um número maior que 0 para seu TTL valor. Se este valor chegar a 0, o pacote é considerado "morto" e é destruído.
Quando o pacote é enviado em sua jornada, ele fará várias paradas em diferentes servidores. Toda vez que chega a um servidor, ele subtrai um de seu valor TTL. Normalmente, esse valor de TTL é definido como um número em que o pacote tem tempo mais do que suficiente para chegar ao destino antes de atingir 0. No entanto, se o pacote entrar em um loop, o TTL eventualmente diminuirá até que o pacote expire.
Quando um pacote expira, o servidor em que ele terminou envia o que é chamado de mensagem “ICMP Time Exceeded” de volta para casa. Este é essencialmente um aviso de que o pacote atingiu seu fim prematuro e informa ao usuário onde o pacote expirou para ajudar na solução de problemas.
Como o Traceroute permitido para o tempo de vida de um pacote funcionar
Esta mensagem ICMP Time Exceeded é a chave para fazer o Traceroute funcionar. Para começar, o Traceroute envia um pacote com um TTL definido como 1. Isso significa que ele sai do seu PC, chega ao primeiro servidor, subtrai um de seu TTL, percebe que tem um TTL de 0 e expira.
O servidor que manipula o pacote no momento envia uma mensagem ICMP Time Exceeded de volta ao seu PC, juntamente com sua localização. Seu PC então registra a localização do servidor como o primeiro passo em direção ao seu destino.
Em seguida, ele envia um pacote com um TTL definido como 2, 3 e assim por diante até que o pacote chegue ao seu destino. Cada pacote expirará na próxima etapa da passagem, e cada servidor ao longo do caminho relatará o pacote expirado, fornecendo ao seu PC as informações necessárias para saber para onde seus pacotes estão indo.
Para que serve o Traceroute?
Em um nível básico, o Traceroute permite que você dê uma olhada em como os pacotes se movem em uma rede. Seja você um engenheiro de rede verificando novamente para ver tudo fluindo como deveria ou apenas interessado em como seus pacotes viajam quando visita o Google, o Traceroute é o caminho a percorrer.
No entanto, também é útil para detectar erros no sistema. Se o Traceroute tentar entrar em contato com um servidor que não responde, ele notará que o pacote enviado não acionou uma resposta por um tempo. Uma vez que o tempo suficiente tenha passado, o Traceroute declara que a “Solicitação expirou”, o que significa que a resposta não chegou no tempo previsto.
É claro que uma solicitação expirada nem sempre significa que o servidor está inativo; às vezes, o servidor não gosta de solicitações do Traceroute e as bloqueia à medida que elas chegam. Mas se você está relativamente certo de que nenhum servidor na cadeia deve bloquear um Traceroute, é uma boa maneira de diagnosticar um site ou servidor que não responde quando você tenta se conectar a ele.
Qual é a diferença entre Traceroute e Ping?
Leitores tecnicamente aptos perceberão que o Traceroute soa muito semelhante a outra ferramenta de rede útil, Ping. No entanto, embora os dois recursos se sobreponham um pouco, as pessoas os usam por motivos diferentes.
Como abordamos acima, o Traceroute ajuda você a descobrir para onde um pacote vai quando sai do seu PC. Enquanto isso, o Ping informa se o seu PC pode acessar um servidor específico e quanto tempo leva para chegar lá.
Como tal, se você quiser ver todas as partes da cadeia de rede, Traceroute é onde está. Enquanto isso, se você quiser apenas ver se um servidor está respondendo, você pode pingar. É verdade que você também pode fazer isso com o Traceroute, mas terá que esperar um pouco para que ele finalmente chegue ao seu servidor antes de obter a resposta que está procurando.
Como fazer um traceroute
Como dissemos anteriormente, todos os principais sistemas operacionais podem executar um Traceroute. É tão fácil quanto abrir um terminal de comando e digitar o comando Traceroute.
Para macOS, você só precisa abrir terminal e digite "traceroute", seguido da URL ou endereço IP do destino. É o mesmo no Linux, mas talvez seja necessário instalar o Traceroute antes de executá-lo.
Nos sistemas operacionais Windows, funciona da mesma maneira, exceto que a função é chamada de "tracert" em vez de traceroute. Cobrimos tracert e muito mais em nosso guia sobre comandos para gerenciar redes sem fio no Windows, então não deixe de lê-lo se quiser aprender sobre as ferramentas à sua disposição.
Rastreando seus pacotes com o Traceroute
Se você quiser ver para onde seus pacotes vão depois que eles saem do seu PC, o Traceroute é o caminho a seguir. Se você deseja diagnosticar um problema de rede ou está apenas curioso para ver para onde seus pacotes se aventuram, é fácil configurar um e observar os dados.
É frustrante quando um site não carrega. Aqui estão alguns dos motivos, além de alguns truques para acessar sites derrubados.
Leia a seguir
- Tecnologia explicada
- Dicas de rede
- Redes de Computadores
Um graduado em Ciência da Computação com uma profunda paixão por todas as coisas de segurança. Depois de trabalhar para um estúdio de jogos indie, ele descobriu sua paixão por escrever e decidiu usar seu conjunto de habilidades para escrever sobre todas as coisas de tecnologia.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar