No mundo das redes de comunicação informáticas são vários os protocolos que existem. Os protocolos servem como “guia” de comunicação dos serviços, uma vez que definem o formato das mensagens e como os serviços devem funcionar. Já ouviu falar no ICMP?
O ICMP (Internet Control Message Protocol) é um protocolo cujo objetivo é informar os dispositivos da ocorrência de erros durante as comunicações. Este protocolo permite várias ações, como, por exemplo, diagnóstico de rede, mensagens de erro e mensagens de controlo.
Diagnóstico de Rede
Ferramentas de rede como são exemplo o “ping” e “traceroute” utilizam o protoolo ICMP para verificar a conectividade de rede e diagnosticar problemas. O ping envia pacotes ICMP Echo Request para um destino e aguarda uma resposta ICMP Echo Reply. O ping permite também saber a latência e a perda de pacotes.
Mensagens de Erro
Como referido, o ICMP é usado para informar erros na comunicação de pacotes, como pacotes também informar quando estes não são entregues. Por exemplo, uma mensagem:
- Destination Unreachable: Indica que um destino é inalcançável.
- Time Exceeded: Indica que o TTL (Time to Live – “tempo de vida”) de um pacote expirou
Mensagens de Controlo
O ICMP pode enviar informações de controlo e solicitação, como redirecionar pacotes para um router mais eficiente.
Tipos Comuns de Mensagens ICMP
São vários os tipo de mensagens e códigos usados pelo ICMP. Aqui ficam alguns exemplos:
- Echo Request (Tipo 8):
- Usado pelo comando ping para testar a conectividade com outros dispositivos de rede.
- Echo Reply (Tipo 0):
- Resposta a um Echo Request, confirmando que o dispositivo está acessível.
- Destination Unreachable (Tipo 3):
- Indica que um pacote não pode ser entregue ao destino. Tal pode acontecer devido a várias situações como, como rede inalcançável, host Inalcançável ou Porta Inalcançável.
- Time Exceeded (Tipo 11):
- Usado para informar que o TTL de um pacote expirou. Utilizado por ferramentas como o traceroute.
- Redirect (Tipo 5):
- Informa a um host que há um router melhor posicionado para malhor alcançar um determinado destino.
Este protocolo é implementado juntamente com o protocolo IP, sendo transportado em datagramas IP.