Internet Control Message Protocol
Esta página ou se(c)ção precisa ser formatada para o padrão wiki. (Novembro de 2015) |
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 (em português, Protocolo de Mensagens de Controle da Internet), é um protocolo integrante do Protocolo IP, definido pelo RFC 792, é utilizado para comunicar informações da camada de rede, sendo o uso mais comum 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.
Frames ICMP (1)
[editar | editar código-fonte]- 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
[editar | editar código-fonte]Os pacotes ICMP são encapsulados dentro de datagramas IPv4 composto pelas secções cabeçalho (header) e dados.
Cabeçalho (Header)
[editar | editar código-fonte]Este começa no final do cabeçalho IPv4 e é constituído por 8 bytes.
Tipo (Type)
[editar | editar código-fonte]O tipo de mensagem ICMP, ver Mensagens de controle.
Código (Code)
[editar | editar código-fonte]O código (subtipo) da mensagem ICMP, ver Mensagens de controle.
Checksum (Soma de verificação)
[editar | editar código-fonte]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)
[editar | editar código-fonte]Um campo de 4 bytes, de conteúdo variado dependendo do 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
[editar | editar código-fonte]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 datagrama IPv4 que causou a mensagem de erro. O tamanho máximo de uma mensagem ICMP é de 576 bytes.
Mensagens de controle
[editar | editar código-fonte]As mensagens de controle são identificadas pelo valor no campo tipo, o campo código fornece informação contextual adicional para a mesma. Desde a implementação do protocolo ICMP, algumas mensagens de controle foram postas em desuso.
Tipo | Código | Estado | Descrição |
---|---|---|---|
0 – Echo Reply[3]:14 | 0 | Resposta Echo (usado para fazer ping) | |
1 and 2 | não atribuídos | Reservado | |
3 – Destination Unreachable[3]:4 | 0 | Rede de destino inacessível | |
1 | Máquina de destino inacessível | ||
2 | Protocolo de destino inacessível | ||
3 | Porta de destino inacessível | ||
4 | Fragmentação necessária mas impossível devido à bandeira (flag) DF | ||
5 | Falha na rota de origem | ||
6 | Rede de destino desconhecida | ||
7 | Máquina de destino desconhecida | ||
8 | Source host isolated | ||
9 | Network administratively prohibited | ||
10 | Host administratively prohibited | ||
11 | Rede inacessível para ToS | ||
12 | Máquina inacessível para ToS | ||
13 | Communication administratively prohibited | ||
14 | Host Precedence Violation | ||
15 | Precedence cutoff in effect | ||
4 – Source Quench | 0 | deprecada | Source quench (congestion control) |
5 – Redirect Message | 0 | Redirecionamento do datagrama para a rede. | |
1 | Redirecionamento do datagrama para a máquina | ||
2 | Redirecionamento do datagrama para o ToS & rede | ||
3 | Redirecionamento do datagrama para o ToS & máquina | ||
6 | deprecada | Alternate Host Address | |
7 | não atribuído | Reservado | |
8 – Echo Request | 0 | Echo request (used to ping) | |
9 – Router Advertisement | 0 | Router Advertisement | |
10 – Router Solicitation | 0 | Router discovery/selection/solicitation | |
11 – Time Exceeded[3]:6 | 0 | TTL expired in transit | |
1 | Fragment reassembly time exceeded | ||
12 – Parameter Problem: Bad IP header | 0 | Pointer indicates the error | |
1 | Opção obrigatória em falta | ||
2 | Bad length | ||
13 – Timestamp | 0 | Timestamp | |
14 – Timestamp Reply | 0 | Timestamp reply | |
15 – Information Request | 0 | deprecada | Information Request |
16 – Information Reply | 0 | deprecada | Information Reply |
17 – Address Mask Request | 0 | deprecada | Pedido da mascara do endereço |
18 – Address Mask Reply | 0 | deprecada | Resposta da mascara do endereço |
19 | reserved | Reservada para segurança | |
20 through 29 | reservadas | Reserved for robustness experiment | |
30 – Traceroute | 0 | deprecada | Information Request |
31 | deprecada | Datagram Conversion Error | |
32 | deprecada | Mobile Host Redirect | |
33 | deprecada | Where-Are-You (originalmente destinado para IPv6) | |
34 | deprecada | Here-I-Am (originalmente destinado para IPv6) | |
35 | deprecada | Mobile Registration Request | |
36 | deprecada | Mobile Registration Reply | |
37 | deprecada | Domain Name Request | |
38 | deprecada | Domain Name Reply | |
39 | deprecada | SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol | |
40 | Photuris, Security failures | ||
41 | experimental | ICMP for experimental mobility protocols such as Seamoby [RFC4065] | |
42 – Extended Echo Request[4] | 0 | Sem erros | |
43 – Extended Echo Reply[4] | 0 | Sem erros | |
1 | Pedido mal formado | ||
2 | Interface desconhecida | ||
3 | No Such Table Entry | ||
4 | Múltiplas interfaces satisfazem o pedido | ||
44 through 252 | não atribuídos | Reservado | |
253 | experimental | RFC3692-style Experiment 1 (RFC 4727) | |
254 | experimental | RFC3692-style Experiment 2 (RFC 4727) | |
255 | reservado | Reservado |
Ligações externas
[editar | editar código-fonte]Referências
[editar | editar código-fonte]- ↑ «IANA ICMP Parameters». Iana.org. 21 de setembro de 2012. Consultado em 7 de janeiro de 2013
- ↑ Computer Networking – A Top-Down Approach by Kurose and Ross
- ↑ a b c Predefinição:Cite rfc
- ↑ a b PROBE: A Utility for Probing Interfaces. doi:10.17487/RFC8335. Solicitação de comentários (S.D.C.) 8335
- ↑ Erro de citação: Etiqueta
<ref>
inválida; não foi fornecido texto para as refs de nome:0