Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Se você já teve que resolver um problema de rede com certeza já utilizou os comandos do ICMP ping e trace, mas você sabe realmente em quais situações eles funcionam melhor?

Nesse artigo eu vou falar um pouco do protocolo utilizado para ambos os comandos traceroute e ping, assim como para reportar problemas na rede IP chamado de ICMP ou Internet Control Message Protocol.

O ICMP é importante tanto para sua vida prática como para provas de certificação, tais como CCENT 100-101 e CCNAX 200-120, assim como para concursos públicos na área de infraestrutura de TI.

Por isso leia com atenção, anote os principais pontos e se precisar utilize nossa área de comentários caso tenha alguma dúvida, combinado?

Nesse artigo você vai estudar os seguintes tópicos:

  • Protocolo ICMP
  • Funcionamento e uso do Ping
  • Funcionamento e uso do Traceroute
  • Formato do Pacote ICMP
  • Dicas e Conclusão

Então vamos começar…

Quer passar na sua PRIMEIRA Certificação Cisco SEM RISCO de Reprovar? Baixe o E-Book e descubra como conseguir essa façanha:

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Protocolo ICMP

O ICMP é um protocolo integrante do Protocolo IP, definido pela RFC 792, e utilizado para fornecer relatórios de erros ao host que deu origem aos pacotes enviados na rede.

Qualquer computador que utilize o protocolo IP precisa aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado.

Os gateways (roteadores) devem também estar programados para enviar mensagens ICMP quando receberem pacotes que provoquem algum tipo de erro ou detectarem algum problema listado no protocolo ICMP.

O ICMP é transportado no campo de dados do pacote IP e identificado como tipo de protocolo “1” pelo cabeçalho do IP.

As principais mensagens de erro ou informacionais do ICMP geralmente são enviadas automaticamente em uma das seguintes situações:

  • Um pacote IP não consegue chegar ao seu destino, por exemplo, quando o tempo de vida (TTL) do pacote está expirado (o contador chegou à zero). Esta mensagem é o tempo de vida expirado ou “time exceeded”.
  • O roteador não consegue retransmitir os pacotes na frequência adequada, ou seja, o roteador está congestionado (mensagem “source quench”).
  • O roteador indica uma rota melhor para o host que está enviando pacotes (mensagem de redirecionamento de rota ou “redirect”).
  • Quando um host de destino ou rota não está alcançável (mensagem “destination unreachable” ou destino inalcançável).
  • Quando o host ou o roteador descobrem um erro de sintaxe no cabeçalho do IP (mensagem “parameter problem”).

Existem diversas outras mensagens que o ICMP pode fornecer e cada uma é representada por um tipo ou código, conforme será mostrado no quadro do ICMP no final desse artigo.

Agora vamos estudar um pouco mais sobre o funcionamento do ping, esse comando tão importante que acompanha a vida profissional de iniciantes até os “Jedis” da área de Redes de Computadores.

Funcionamento e Uso do Ping

O Ping é baseado em duas mensagens, o echo request e echo reply.

Quando você entra no prompt de comandos do Windows e, por exemplo, digita “ping www.dltec.com.br”, na realidade seu computador está enviando mensagens de “echo request” ao servidor onde a página da DlteC está hospedada.

Ao receber essa mensagem de “echo request” nosso servidor responde seu computador com um “echo reply”.

Caso o servidor não responda seu computador indicará um timeout (tempo de resposta expirado), indicando que não houve resposta.

Veja na figura abaixo um exemplo de ping enviado do host com endereço IP 192.168.1.2 para o host com o IP 192.168.1.3.

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Veja um exemplo de teste de ping no Windows com taxa de resposta de 100% (ping bem sucedido) e depois com perda de 100% (ping com problema, sem comunicação entre os hosts).

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

O teste de ping é utilizado para verificar se há comunicação fim a fim, ou seja, entre origem e destino.

Esse teste é realizado na camada-3 do modelo OSI (ou Internet do TCP/IP) e não se importa com os dispositivos (roteadores e switches) que estão no meio do caminho.

Vale a pena lembrar que as mensagens de ping podem ser bloqueadas por firewalls e/ou IPS’s (Intrusion Prevention System), portanto nem sempre não obter uma resposta a um ping significa necessariamente um erro, pode ser que esse teste esteja bloqueado por motivos de segurança.

O comando ping básico é o mesmo em maioria dos sistemas operacionais.

Portanto, se você digitar “ping www.google.com” no Windows, Cisco IOS, MAC OS, Linux ou Unix ele vai funcionar.

Um detalhe interessante é que se você digitar apenas o ping e o endereço IP ou URL no Linux ele dispara echos request até que você interrompa o teste.

Já no Windows serão disparados apenas quatro requests, sendo que para o Windows disparar pings sem como no Linux você precisa utilizar a opção “-t”, por exemplo, “ping -t 192.168.1.10”.

Outra opção bastante utilizada com o ping é alterar o tamanho do pacote para o máximo que o segmento testado suporta, por exemplo, 1500 bytes em uma rede LAN.

Para isso no Windows você pode utilizar a opção “-l 1500” e no Linux “-s 1500”.

Veja exemplo na tela abaixo onde no linux serão disparados 5 requests (opção -c5) com tamanho de 1000 bytes (opção -s1000).

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Funcionamento e uso do Traceroute

Já o trace ou traceroute tem a função de testar o caminho que o pacote está seguindo até seu destino, ou seja, ele é um teste ponto a ponto.

NÃO ESQUEÇA DO SEU EBOOK:

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

O traceroute está baseado no funcionamento do campo TTL do protocolo IP (Time to Live ou Tempo de Vida), sendo que o tempo de vida de um pacote é um contador que é decrementado a cada salto ou nó que o pacote IP passa.

Cada sistema operacional define um TTL para seus pacotes, em roteadores Cisco o TTL é definido com o valor de 255. Abaixo seguem os valores padrões de TTL para os sistemas operacionais mais comuns:

  • UNIX: 255
  • Linux: 64
  • Linux: 255
  • Windows: 128
  • Cisco: 255

Por exemplo, quando um roteador Cisco origina um pacote ele coloca o tempo de vida como 255 e a cada roteador que esse pacote passar será decrementado em 1, ou seja, se o caminho entre o originador do pacote e o destino existirem 3 roteadores quando o pacote chegar ao destino ele terá o valor de TTL 252.

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Analisando a figura acima se um pacote IP trafegar por um número de saltos muito grande ele tem seu tempo de vida expirado o roteador que recebeu o pacote com TTL igual a zero deve enviar uma mensagem à origem do pacote com uma mensagem ICMP indicando esse problema.

Nessa mensagem vem o IP do roteador e com isso o computador consegue saber por onde o problema ocorreu.

Portanto, podemos utilizar essa característica para determinar o caminho que o pacote está passando entre a origem e o destino, para isso o host onde foi originado o traceroute manda um pacote com TTL igual a 1, no primeiro salto o pacote expira e o roteador responde com seu IP.

Depois envia um pacote com TTL igual a 2, aí ele conhece o roteador que está no segundo salto, sendo que esse processo se repete até que o pacote atinja seu destino e o caminho é traçado.

Na tela da figura abaixo você vai ver um exemplo do “tracert” que é o comando do Windows para o “traceroute” (Cisco, Unix e Linux).

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Note que no décimo oitavo salto o computador não obteve resposta, pois provavelmente existe um bloqueio por motivos de segurança nesse roteador.

Para alcançar o destino nosso pacote teve que percorrer 19 saltos, ou seja, passou por 19 roteadores entre a origem e o destino.

Formato do Pacote ICMP

Abaixo segue o formado do pacote ICMP e o significado de cada campo.

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

  • TYPE (8 bits): identifica o tipo mensagem, por exemplo, se o valor for 8 é uma requisição (echo request). Se o conteúdo for 0 é uma reposta (echo reply).
  • CODE (8 bits): utilizado em conjunto com o campo TYPE para identificar o tipo de mensagem ICMP que está sendo enviada.
  • CHECKSUM (16 bits): verifica a integridade do pacote ICMP.
  • MESSAGE CONTENTS (Tamanho Variável): contém o conteúdo da mensagem ICMP.

Dicas e Conclusão

Chegamos ao final do artigo e espero ter deixado claro algumas coisas para você:

  1. Tanto o traceroute como o ping fazem testes na camada-3 do modelo OSI ou Internet do TCP/IP, portanto não garante que a aplicação vai funcionar, para isso teste a navegação via HTTP ou um acesso remoto via Telnet para complementar os testes.
  2. O ping testa fim a fim, se o host de origem tem comunicação com o host de destino, sem se importar por onde esse pacote vai passar.
  3. O Traceroute já testa o caminho ponto a ponto, sendo útil para testar se o plano de rotas de uma rede está correto, por exemplo.

Espero que o artigo tenha sido útil e aguardo os comentários, dúvidas e sugestões no final dessa página na área de comentários!

É só descer um pouco que você encontra a área de comentários está lá embaixo…

Claro que você também pode usar os botões de compartilhamento se achar que o artigo vai ser útil para seus amigos.

Que a força esteja com você e até uma próxima!

Qual é o protocolo usado pelo comando traceroute para enviar e receber solicitações de eco e respostas de eco?

Prof Marcelo Nascimento

Qual endereço IP origem um roteador utiliza por padrão quando o comando traceroute e executado?

Outra forma de configurar uma rota padrão é usar o comando ip route para 0.0.0.0/0.

O que acontece quando o comando transport input ssh?

Explicação: O comando transport input ssh quando inserido no switch vty (linhas de terminal virtual) criptografará todas as conexões telnet controladas de entrada.

Qual protocolo Suporta a configuração automática Stateless Slaac para atribuição dinâmica de endereços IPv6 para um host?

Configuração de host IPv6 Para usar a configuração automática de endereço sem estado (SLAAC) ou DHCPv6, você deve revisar os endereços unicast globais (GUAs) e os endereços locais de link (LLAs).

Quais são as três características do processo CSMA CD?

Quais são as três características do processo CSMA / CD? (Escolha três.) · O dispositivo com o token eletrônico é o único que pode transmitir após uma colisão. · Um dispositivo escuta e espera até que a mídia não esteja ocupada antes de transmitir.