O que é ICMP?

O Internet Control Message Protocol (ICMP) é um conjunto de regras de comunicação que os dispositivos usam para informar sobre erros de transmissão de dados em uma rede. Em uma troca de mensagens entre o remetente e o destinatário, alguns erros inesperados podem ocorrer. Por exemplo, as mensagens podem ser muito longas ou os pacotes de dados podem chegar fora de ordem o que impede o destinatário de montá-los. Nesses casos, o destinatário usa o ICMP para informar o remetente com uma mensagem de erro e solicita que a mensagem seja reenviada.

Quais são os casos de uso do ICMP?

O Internet Control Message Protocol (ICMP) é um importante protocolo de camada de rede nas redes de computadores. Ele fornece um mecanismo padronizado para que os dispositivos de rede comuniquem informações vitais, como conectividade e status da rede. Todos os dispositivos conectados à rede, incluindo roteadores e dispositivos do endpoint, podem processar mensagens ICMP. O ICMP foi adaptado para funcionar com IPv4 e IPv6.

Leia sobre as redes de computadores »

A seguir, discutiremos alguns casos de uso comuns do ICMP.

Relatório de erros

As mensagens de erro do ICMP relatam erros de rede, como destinos inacessíveis, tempos limite ou problemas de fragmentação. As mensagens são importantes principalmente para o User Datagram Protocol (UDP), que tem um modelo de comunicação sem conexão.

O UDP não fornece entrega confiável e ordenada de pacotes. Quando um pacote UDP é enviado, é possível que o pacote seja perdido ou entregue com falhas, como erros de soma. Se isso acontecer, o receptor enviará mensagens de relatório de erros do ICMP de volta ao remetente para notificá-lo sobre o problema.

Diagnóstico

Você pode usar o ICMP para diagnósticos de redes. Ele é mais comumente usado para os comandos ping e traceroute.

O comando ping testa a acessibilidade dos dispositivos de rede enviando pacotes de solicitação de eco ICMP para um dispositivo de destino. Se o dispositivo estiver acessível, ele retornará uma resposta de eco ICMP. Ele verifica de forma confiável a latência da rede e garante que o dispositivo esteja disponível.

O comando traceroute rastreia o caminho percorrido pelos pacotes de uma origem até um destino. Para fazer isso, o comando envia mensagens de solicitação de eco e resposta de eco para o destino pretendido.

As solicitações de eco contêm um valor de tempo de vida (TTL), que reduz uma unidade de valor a cada vez que o pacote passa por um roteador. Quando um pacote chega a um roteador com um TTL de zero, o roteador envia uma mensagem ICMP de volta à origem.

A mensagem contém informações sobre a rota percorrida pelo pacote. O Traceroute revela o caminho exato de um pacote, o que pode fornecer informações sobre a performance da rede.

Segurança de rede

Você pode usar o ICMP para detectar tráfego de rede não autorizado e permitir somente tráfego legítimo em uma rede. Os firewalls usam o ICMP para permitir ou bloquear certos tipos de tráfego. Os administradores de rede também usam ferramentas de monitoramento ICMP para rastrear o status e a conectividade dos dispositivos de rede e detectar dispositivos desconhecidos.

Você também pode usá-las para identificar padrões de tráfego incomuns que podem indicar atividades não autorizadas.

Como o ICMP funciona?

O Internet Control Message Protocol (ICMP) geralmente funciona junto com outros protocolos de rede, como TCP/IP ou User Datagram Protocol (UDP). Hosts e roteadores trocam mensagens ICMP ou pacotes ICMP quando determinados eventos de rede ocorrem.

Um pacote ICMP é composto por um cabeçalho de pacote ICMP e uma seção de dados ICMP.

Cabeçalho do pacote ICMP

O cabeçalho ICMP contém informações sobre o tipo de pacote, seu código, a soma total e um identificador. Quando os pacotes ICMP são enviados, o destinatário da mensagem lê as informações do cabeçalho. Com base no tipo de pacote, ele executa a ação apropriada.

Por exemplo, se o tipo for uma solicitação de eco, o destinatário enviará uma resposta de eco com os mesmos dados. Se o tipo for um destino inacessível, o destinatário responderá com uma mensagem de destino inacessível.

Seção de dados ICMP

A seção de dados em uma mensagem ICMP inclui informações como o endereço IP do destino ou a causa da falha. Ela também contém códigos de erro ou códigos numéricos que identificam os erros.

Veja alguns exemplos:

  • Um código de destino inacessível (Tipo 3) indica que o dispositivo do destinatário não existe na rede
  • Um código de redirecionamento (Tipo 5) envia uma mensagem para outro roteador indicando uma rota melhor para o destino
  • Os códigos de solicitação de eco e da resposta de eco (tipos 8 e 10) testam a conectividade entre dispositivos
  • Uma mensagem de tempo excedido mostra que um pacote excedeu o tempo máximo para chegar a um destino
  • Uma mensagem de problema de parâmetro indica quando um roteador encontra um problema com um cabeçalho do campo IP
  • Uma mensagem de Source Quench (Extinção da fonte) é enviada quando um roteador sofre congestionamento e precisa limitar o número de pacotes que recebe

Qual é a diferença entre ICMP e TCP?

O TCP é um protocolo orientado à conexão para entrega de dados confiável e com verificação de erros. Ele é comumente usado para aplicações de navegação na Web, e-mail, login remoto e transferência de arquivos. O TCP exige o handshaking, uma série de mensagens que estabelecem confiança e autenticação entre o remetente e o destinatário. O TCP garante a entrega de mensagens. 

O Internet Control Message Protocol (ICMP), ao contrário, é um protocolo sem conexão. Isso não garante a entrega de mensagens. Como o ICMP é usado somente para relatar erros, as mensagens ICMP também são menores do que os pacotes TCP.

O ICMP e o TCP são usados em conjunto para estabelecer por que uma entrega de TCP falhou.

O que são inundações por ping do ICMP?

Os ataques de inundações por ping (ping floods) do Internet Control Message Protocol (ICMP) são eventos de negação de serviço (DoS) em que usuários não autorizados enviam várias solicitações de eco ICMP em um curto período. Cada solicitação ICMP contém um identificador exclusivo e uma carga de dados que exige que o destinatário responda de forma única. O servidor do destinatário tenta responder a cada solicitação não autorizada, o que atrasa ou retarda as respostas às fontes autorizadas. 

Para se proteger contra uma inundação por ping do ICMP, configure os dispositivos da sua rede para limitar o volume de tráfego ICMP que eles estão dispostos a aceitar. Também é importante monitorar a rede em busca de atividades não autorizadas e aplicar as medidas de segurança necessárias, como firewalls e sistemas de detecção de intrusão (IDS).

Como a AWS pode fortalecer a proteção contra eventos de DDoS?

A Amazon Web Services (AWS) oferece o AWS Shield para ajudar você a se proteger melhor contra eventos distribuídos de negação de serviço (DDoS).

O AWS Shield é um serviço gerenciado de proteção contra DDoS que protege as aplicações em execução na AWS. Ele oferece detecção dinâmica e mitigações automáticas em linha que minimizam o tempo de inatividade e a latência das aplicações. O AWS Shield inclui técnicas de mitigação automatizada para proteger contra todos os tipos de eventos de segurança da rede.

Você pode aproveitar vários recursos do AWS Shield:

  • Limpeza automática de tráfego não autorizado em camadas específicas
  • Minimização do tempo de inatividade e da latência da aplicação
  • Monitoramento e proteção de até 1.000 tipos de recursos
  • Detecção personalizada com base em padrões de tráfego da aplicação

Comece a usar a proteção contra DDoS criando uma conta hoje mesmo.

Próximas etapas na AWS

Confira recursos adicionais relacionados a produtos
Confira serviços de entrega de conteúdo 
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS.

Cadastre-se 
Comece a criar no console

Comece a criar no Console de Gerenciamento da AWS.

Faça login