SUPER PROMOÇÃO BLACK FRIDAY - SOMENTE HOJE - APROVEITE!

Clique Aqui

DlteC do Brasil

  • Home
  • Cursos
  • Ebooks
  • Blog
  • Preços
  • Entrar
Cisco

Protocolo ICMP, Ping e Traceroute

Marcelo Brenzink do Nascimento - 16 de outubro de 2015

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:

8passos-cert-cisco-largo

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.

ICMP Ping

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).

ICMP - Teste de Ping

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).

ICMP - Teste de ping Linux

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:

8passos-cert-cisco-largo

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.

ICMP - TTL

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).

ICMP - Exemplo Tracert

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.

icmp-pacote

  • 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!

ACL lightsabers-small

Prof Marcelo Nascimento

DLTEC ACESSO PREMIUM

Acesse o curso de “CCNA CCENT Online” em nossa área Premium.

Aprenda a teoria e a prática de redes em roteadores e switches Cisco que utilizam o sistema operacional Cisco IOS.

Clique aqui para ativar o curso e inciar seus estudos em nossa área de membros premium!

Não é membro premium? Clique aqui e saiba mais sobre a DlteC Premium.

 4 14
Share Now

Marcelo Brenzink do Nascimento

Sou um dos fundadores do Portal da DlteC do Brasil, graduado em Engenharia Eletrônica/Telecomunicações em 1998 pela UTFPR e pós-graduado em Redes e Sistemas Distribuídos pela PUC-PR em 2003. Trabalho na área de Tecnologia da Informação e Telecomunicações desde 1996. Já passei por empresas como Siemens, Impsat (atualmente CenturyLink), Senai-PR, Dimension Data (atualmente NTT) e outras empresas. Sou certificado ITIL Foundations, CCNA, CCNP Enterprise, IPv6 Fórum Certified Network Engineer (Gold), IPv6 Fórum Certified Security Engineer (Silver) e Hurricane Electric IPv6 Certification Sage.

14 Responses

  • Odinei Aparecido Barbosa 17 de outubro de 2015 at 12:43

    Excelente artigo…

    Reply
    • Marcelo 17 de outubro de 2015 at 14:27

      Valeu Odinei!

      Reply
  • Gilson junior 19 de outubro de 2015 at 10:06

    Muito esclarecedor!

    Reply
  • Luís Felipe Fezer 19 de outubro de 2015 at 12:51

    No item 3 da sua conclusão você diz que o telnet testa o caminho ponto a ponto. Creio que quis dizer que o traceroute testa o caminho ponto a ponto.
    Excelente artigo! Obrigado por compartilhar!

    Reply
    • DlteC do Brasil 19 de outubro de 2015 at 15:15

      Isso mesmo Luiz, agradeço sua colaboração e por ter percebido! Já corrigi…
      Prof Marcelo Nascimento

      Reply
  • ANA BORGES 20 de janeiro de 2019 at 15:20

    Recomendo vivamente o seu blog/site.
    Achei-o de excelente qualidade.
    Obrigado
    Ana

    Reply
  • André Santos 20 de janeiro de 2019 at 17:01

    Muito bom, Parabéns!!!

    Reply
  • Vinícius Giacomelli 26 de maio de 2019 at 12:18

    Só complementando o excelente post, o campo código com resposta da natureza de um problema ICMP pode ter os seguintes valores:
    0 Rede Inacessível
    1 Host Inacessível
    2 Protocolo Inacessível
    3 Porta Inacessível
    4 Fragmentação Necessária
    5 Rota de Origem Falha
    6 Rede de destino desconhecida
    7 Host de destino desconhecido
    8 Host de origem isolado
    9 Comunicação com rede destinatário administrativamente proibida
    10 Comunicação com host destinatário administrativamente proibida
    11 Rede Inacessível para tipo de serviço
    12 Host Inacessível para tipo de serviço

    Reply
    • Marcelo Brenzink do Nascimento 27 de maio de 2019 at 12:10

      Agradeço o elogio e sua colaboração Vinícius!!!! A colaboração de vocês é sem muito bem vinda!!!

      Reply
  • eufrasio vieira 25 de junho de 2019 at 21:37

    Voces, fazem um excelente Trabalho. Muito capacitados. parabens!.

    Reply
    • Marcelo Brenzink do Nascimento 26 de junho de 2019 at 16:02

      Obrigado!!!

      Reply
  • priscila 6 de junho de 2020 at 12:48

    só não entendi qu do vc da um tracert e ele te mostra essas 3 colunas, ele testa o pacote por 3x e dá o tempo médio, eh isso?

    Reply
  • Victor Hugo 13 de outubro de 2023 at 13:58

    Salve, Marcelo. Estou no processo de aprendizado do Modelo OSI e os protolocos como ICMP e Este artigo elucida um pouco pra que serve e tal. Grato demais

    Reply
    • Marcelo Brenzink do Nascimento 9 de novembro de 2023 at 21:22

      Fico feliz em ajudar!

      Reply

    Leave a Reply Cancel Reply

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

    Previous Post 4 Sacadas para Você Dominar ACL em Certificações Cisco
    Next Post Saída para Internet com Rota Estática e IGP em Roteadores e Switches L3 Cisco

    Artigos Populares

    • Subrede IP: Máscaras possíveis para classes A, B e C
    • Qual a Diferença entre Modelo OSI e TCP/IP?
    • Passo a Passo para Resolver Problemas de Conectividade de Rede
    • Como descobrir o MAC de um host se eu tenho apenas o IP?
    • Configurando Porta e VLAN em Switch Cisco de Acesso

    Entre para a lista vip

    Cursos Online Gratuitos com Opção de Certificado
    • Contato
    • Crie sua conta
    • Login

    DlteC do Brasil - Todos os direitos reservados