Internet Control Message Protocol









Wikitext.svg


Esta página ou seção precisa ser wikificada (desde novembro de 2015).
Por favor ajude a formatar esta página de acordo com as diretrizes estabelecidas.







Question book.svg

Esta página ou secção não cita fontes confiáveis e independentes, o que compromete sua credibilidade (desde junho de 2011). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)






















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.




Índice






  • 1 Frames ICMP (1)


  • 2 Estrutura de um datagrama ICMP


    • 2.1 Cabeçalho (Header)


      • 2.1.1 Tipo (Type)


      • 2.1.2 Código (Code)


      • 2.1.3 Checksum (Soma de verificação)


      • 2.1.4 Resto do cabeçalho (Rest of Header)




    • 2.2 Dados




  • 3 Mensagens de controle


  • 4 Ligações externas


  • 5 Referências





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 composto pelas secções cabeçalho (header) e dados.



Cabeçalho (Header) |


Este começa no final do cabeçalho IPv4 e é constituído por 8 bytes.



Tipo (Type) |


O tipo de mensagem ICMP, ver Mensagens de controle.



Código (Code) |


O código (subtipo) da mensagem ICMP, ver Mensagens de controle.



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 do tipo e código ICMP.






























































Formato de um cabeçalho 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 datagrama IPv4 que causou a mensagem de erro. O tamanho máximo de uma mensagem ICMP é de 576 bytes.[1]



Mensagens de controle |


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 deprecadas.













































































































































































































































































































































































Principais mensagens de controle[2][3]
Tipo
Código
Estado
Descrição
0 – Echo Reply[4]:14
0

Resposta Echo (usado para fazer ping)
1 and 2

não atribuídos

Reservado
3 – Destination Unreachable[4]:4
0

Rede de destino inacessível
1

Máquina de destino inacessível
2

Protocolo de destino inacessível
3

Porto 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[4]: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[5]
0

Sem erros
43 – Extended Echo Reply[5]
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 |




  • RFC 792, Internet Control Message Protocol.


  • RFC 1071, Computing the Internet Checksum.



Referências |




  1. Baker, F. «Requirements for IP Version 4 Routers». tools.ietf.org (em inglês). Consultado em 17 de julho de 2018 


  2. «IANA ICMP Parameters». Iana.org. 21 de setembro de 2012. Consultado em 7 de janeiro de 2013 


  3. Computer Networking – A Top-Down Approach by Kurose and Ross


  4. abc Predefinição:Cite rfc


  5. ab [[[:Predefinição:Cite IETF/makelink]] PROBE: A Utility for Probing Interfaces]. Predefinição:Cite IETF/doctypes. Predefinição:Cite IETF/makelink. 








Popular posts from this blog

Mouse cursor on multiple screens with different PPI

Agildo Ribeiro

Sometime when accessing a menu: “Ubuntu 16.04 has experienced an internal error”