O protocolo ICMP (Internet Control Message Protocol) é um protocolo que permite gerir as informações relativas aos erros ns máquinas conectadas. Dado os poucos controlos que o protocolo IP realiza, permite não corrigir estes erros mas dá-los a conhecer aos protocolos das camadas vizinhas. Assim, o protocolo ICMP é utilizado por todos os switchs, que o utilizam para assinalar um erro (chamado Delivery Problem).
As mensagens de erro ICMP são transportadas na rede sob a forma de datagrama, como qualquer dado. Assim, as mensagens de erro podem elas mesmas estar sujeitas a erros.
Contudo, no caso de erro num datagrama que transporta uma mensagem ICMP, nenhuma mensagem de erro é emitida para evitar um efeito “bola de neve” no caso de incidente sobre a rede.
Eis o aspecto de uma mensagem ICMP encapsulada num datagrama IP:
| Rubrica |
Mensagem ICMP
|
| Tipo | Código | Mensagem | Significado da mensagem |
| 8 | 0 | Pedido de ECHO | Esta mensagem é utilizada quando se utiliza o comando PING. Este comando, permitindo testar a rede, envia um datagrama a um destinatário e pede-lhe que o restitua |
| 3 | 0 | Destinatário inacessível | A rede não está acessível |
| 3 | 1 | Destinatário inacessível | A máquina não está acessível |
| 3 | 2 | Destinatário inacessível | O protocolo não está acessível |
| 3 | 3 | Destinatário inacessível | O porto não está acessível |
| 3 | 4 | Destinatário inacessível | Fragmentação necessária mas impossível devido à bandeira (flag) DF |
| 3 | 5 | Destinatário inacessível | O encaminhamento falhou |
| 3 | 6 | Destinatário inacessível | Rede desconhecida |
| 3 | 7 | Destinatário inacessível | Máquina desconhecida |
| 3 | 8 | Destinatário inacessível | Máquina não ligada à rede (inutilizada) |
| 3 | 9 | Destinatário inacessível | Comunicação com a rede proibida |
| 3 | 10 | Destinatário inacessível | Comunicação com a máquina proibida |
| 3- | 11 | Destinatário inacessível | Rede inacessível para este serviço |
| 3 | 12 | Destinatário inacessível | Máquina inacessível para este serviço |
| 3 | 11 | Destinatário inacessível | Comunicação proibida (filtragem) |
| 4 | 0 | Source Quench | O volume de dados enviado é demasiado grande, o switch envia esta mensagem para prevenir que está a saturar, a fim de pedir para reduzir a velocidade de transmissão |
| 5 | 0 | Redirecionamento para um hóspede | O switch observa que a estrada de um computador não está boa e envia o endereço switch a acrescentar à tabela de encaminhamento do computador |
| 5 | 1 | Redirecionamento para um hóspede e um serviço dado | O switch vê que a estrada de um computador não é boa para um serviço dado e envia o endereço switch a acrescentar à tabela de encaminhamento do computador |
| 5 | 2 | Redirecionamento para uma rede | O switch vê que a estrada de uma rede inteira não é boa e envia o endereço switch a acrescentar à tabela de encaminhamento dos computadores da rede |
| 5 | 3 | Redirecionamento para uma rede e um serviço dado | O switch vê que a estrada de uma rede inteira não é boa para um serviço dado e envia o endereço switch a acrescentar à tabela de encaminhamento dos computadores da rede |
| 11 | 0 | Tempo ultrapassado | Esta mensagem é enviada quando o tempo de vida de um datagrama é ultrapassado. A rubrica do datagrama é devolvida de modo a que o utilizador saiba qual o datagrama que foi destruído |
| 11 | 1 | Tempo de remontagem de fragmento ultrapassado | Esta mensagem é enviada quando o tempo de remontagem dos fragmentos de um datagrama é ultrapassado. |
| 12 | 0 | Rubrica errada | Esta mensagem é enviada quando o campo de uma rubrica está errado. A posição do erro é devolvida |
| 13 | 0 | Timestamp request | Uma máquina pede a outra a sua hora e a sua data sistema (universal) |
| 14 | 0 | Timestamp reply | A máquina receptora dá a sua hora e a sua data sistema para que a máquina emissora possa determinar o tempo de transferência dos dados |
| 15 | 0 | Pedido de endereço rede | Esta mensagem permite pedir à rede um endereço IP |
| 16 | 0 | Resposta de endereço | Esta mensagem responde à mensagem precedente |
| 17 | 0 | Pedido de máscara de subrede | Esta mensagem permite pedir à rede uma máscara de subrede |
| 18 | 0 | Resposta de máscara de subrede | Esta mensagem responde à mensagem precedente |
| 17 | 0 | Timestamp reply | A máquina receptora dá a sua hora e a sua data sistema para que a máquina emissora possa determinar o tempo de transferência dos dados
|
Para mais informações sobre o protocolo ICMP, é melhor consultar o RFC 792 que explica de maneira detalhada o protocolo :