Internet Control Message Protocol
Esta página ou se(c)ção precisa ser formatada para o padrão wiki. (Novembro de 2015) |
Este artigo não cita fontes confiáveis. (Junho de 2011) |
Pilha de protocolos TCP/IP |
---|
Camada de aplicação |
Camada de transporte |
Camada de rede |
Camada de enlace de dados |
ICMP, sigla para o inglês Internet Control Message Protocol, é um protocolo integrante do Protocolo IP, definido pelo RFC 792, é utilizado para fornecer relatórios de erros à fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado. Os gateways devem estar programados para enviar mensagens ICMP quando receberem datagramas que provoquem algum erro.
As mensagens ICMP geralmente são enviadas automaticamente em uma das seguintes situações:
- Um pacote IP não consegue chegar ao seu destino (i.e. Tempo de vida do pacote expirado)
- O Gateway não consegue retransmitir os pacotes na frequência adequada (i.e. Gateway congestionado)
- O Roteador ou Encaminhador indica uma rota melhor para a máquina a enviar pacotes.
Ferramentas comumente usadas em Windows baseadas nesse protocolo são: Ping e Traceroute.
Alguns firewalls, geralmente instalados em servidores Windows ou Unix, bloqueiam as respostas (ICMP Reply), dificultando o Ping e o Traceroute (tracert). Isso por diversas razões. Uma delas é para bloquear os ataques de hackers, que consiste na sobrecarga da memória, enviando dados (em ping) até o sistema não ter a capacidade de administrar suas próprias funções. Esse ataque é significativo, principalmente contra usuários do Microsoft Windows 95.
Frames ICMP (1)
- Echo Request / Reply
Mensagens para funções de teste e controle da rede, caso a maquina esteja ligada ira responder com um reply e se estiver inalcançavel request;
Usadas pelo comando PING - Destination Unreachable
Enviado por um router que deixa fora um Datagrama;
Tipo de mensagem que é obtida quando não se consegue localizar o equipamento alvo;
(nem todos os datagramas perdidos são detectados)
- CODE - Indica a razão da perda do datagrama
- Timestamp Request / Reply
Mensagens para sincronização dos relógios das máquinas
Estrutura de um datagrama ICMP
Os pacotes ICMP são encapsulados dentro de datagramas IPv4.
Cabeçalho (Header)
Este começa no final do cabeçalho IPv4 e é constituído por 8 bytes.
Tipo (Type)
Código (Code)
Checksum (Soma de verificação)
Especificado em RFC 1071, é uma soma de verificação da integridade dos dados, calculado a partir do cabeçalho e dos dados do pacote ICMP.
Resto do cabeçalho (Rest of Header)
Um campo de 4 bytes, de conteúdo variado dependendo to tipo e código ICMP.
Offsets | Byte | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Byte | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Tipo | Código | Checksum | |||||||||||||||||||||||||||||
4 | 32 | Resto do Cabeçalho (Rest of Header) |
Dados
O tamanho da secção dos dados de um pacote ICMP é variável. As mensagens de erro ICMP contêm uma cópia do cabeçalho IPv4 completo, bem como pelo menos 8 bytes dos dados provenientes do mesmo pacote IPv4 que causou a mensagem de erro. O tamanho máximo de uma mensagem ICMP é de 576 bytes.[1]
Ligações externas
Referências
- ↑ Baker, F. «Requirements for IP Version 4 Routers». tools.ietf.org (em inglês). Consultado em 17 de julho de 2018