Internet Control Message Protocol: diferenças entre revisões
→Estrutura de um datagrama ICMP: Tentativa de solucionar os links para a secção "Mensagens de controle". |
m Robô: Alteração da categoria redirecionada Normas da internet para Normas da Internet |
||
| (Há 14 revisões intermédias de 14 utilizadores que não estão a ser apresentadas) | |||
| Linha 1: | Linha 1: | ||
{{Wikificação|data=novembro de 2015}} |
{{Wikificação|data=novembro de 2015}} |
||
{{ |
{{mais-fontes|data=junho de 2011| angola=| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}} |
||
{{Infobox networking protocol |
|||
| title = Internet Control Message Protocol |
|||
| logo = |
|||
| logo alt = |
|||
| image = ICMP header - General-pt-br.svg |
|||
| image alt = |
|||
| caption = Um cabeçalho geral para ICMPv4 |
|||
| is stack = |
|||
| purpose = Protocolo auxiliar para IPv4<!----><ref>[https://www.rfc-editor.org/rfc/rfc1812 RFC 1812]</ref> |
|||
| developer = [[DARPA]] |
|||
| date = {{Start date and age|1981}} |
|||
| based on = |
|||
| influenced = |
|||
| osilayer = [[Camada de rede]] |
|||
| ports = |
|||
| rfcs = [https://www.rfc-editor.org/rfc/rfc792 792] |
|||
| hardware = |
|||
}} |
|||
{{ProtocolosIP}} |
{{ProtocolosIP}} |
||
'''ICMP''', [[sigla]] para o |
'''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: |
As mensagens '''ICMP''' geralmente são enviadas automaticamente em uma das seguintes situações: |
||
| Linha 11: | Linha 28: | ||
Ferramentas comumente usadas em Windows baseadas nesse protocolo são: [[Ping]] e [[Traceroute]]. |
Ferramentas comumente usadas em Windows baseadas nesse protocolo são: [[Ping]] e [[Traceroute]]. |
||
Alguns [[firewall]]s, 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) == |
== Frames ICMP (1) == |
||
| Linha 37: | Linha 52: | ||
==== Resto do cabeçalho (Rest of Header) ==== |
==== Resto do cabeçalho (Rest of Header) ==== |
||
Um campo de 4 bytes, de conteúdo variado dependendo |
Um campo de 4 bytes, de conteúdo variado dependendo do tipo e código ICMP. |
||
{| class="wikitable" style="margin: 0 auto; text-align: center;" |
{| class="wikitable" style="margin: 0 auto; text-align: center;" |
||
|+Formato de um cabeçalho ICMP |
|+Formato de um cabeçalho ICMP |
||
| Linha 96: | Linha 111: | ||
=== Dados === |
=== 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. |
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 == |
== 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 |
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. |
||
{| class="wikitable" |
{| class="wikitable" |
||
|+Principais mensagens de controle<ref>{{citar web|url=http://www.iana.org/assignments/icmp-parameters|título=IANA ICMP Parameters|publicado=Iana.org|data=2012-09-21|acessodata=2013-01-07}}</ref><ref>''Computer Networking – A Top-Down Approach'' by Kurose and Ross</ref> |
|+Principais mensagens de controle<ref>{{citar web|url=http://www.iana.org/assignments/icmp-parameters|título=IANA ICMP Parameters|publicado=Iana.org|data=2012-09-21|acessodata=2013-01-07}}</ref><ref>''Computer Networking – A Top-Down Approach'' by Kurose and Ross</ref> |
||
| Linha 132: | Linha 147: | ||
|3 |
|3 |
||
| |
| |
||
| |
|Porta de destino inacessível |
||
|- |
|- |
||
|4 |
|4 |
||
| Linha 399: | Linha 414: | ||
== Ligações externas == |
== Ligações externas == |
||
* [http://www.ietf.org/rfc/rfc792.txt RFC 792], ''Internet Control Message Protocol.'' |
* [https://web.archive.org/web/20050905035817/http://www.ietf.org/rfc/rfc792.txt RFC 792], ''Internet Control Message Protocol.'' |
||
*RFC 1071, ''Computing the Internet Checksum''. |
*RFC 1071, ''Computing the Internet Checksum''. |
||
== Referências == |
== Referências == |
||
[[Categoria:Protocolos Internet|ICMP]] |
[[Categoria:Protocolos da Internet|ICMP]] |
||
[[Categoria:Normas da |
[[Categoria:Normas da Internet|ICMP]] |
||
[[Categoria:Protocolos de camada de rede]] |
[[Categoria:Protocolos de camada de rede]] |
||
<ref name=":0" /> |
|||
Edição atual tal como às 20h39min de 16 de junho de 2026
Esta página ou se(c)ção precisa ser formatada para o padrão wiki. (novembro de 2015) |
| Internet Control Message Protocol | |
|---|---|
| Protocolo de comunicação | |
Um cabeçalho geral para ICMPv4 | |
| Propósito | Protocolo auxiliar para IPv4[1] |
| Desenvolvedor | DARPA |
| Lançamento | 1981 |
| Camada OSI | Camada de rede |
| RFC | 792 |
| Pilha de protocolos TCP/IP |
|---|
| Camada de aplicação |
| Camada de transporte |
| Camada de Internet |
| Camada de enlace |
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]- 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]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]Este começa no final do cabeçalho IPv4 e é constituído por 8 bytes.
Tipo (Type)
[editar | editar código]O tipo de mensagem ICMP, ver Mensagens de controle.
Código (Code)
[editar | editar código]O código (subtipo) da mensagem ICMP, ver Mensagens de controle.
Checksum (Soma de verificação)
[editar | editar código]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]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]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]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[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 | 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[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
[editar | editar código]Referências
[editar | editar código]- ↑ RFC 1812
- ↑ «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
- 1 2 3 Predefinição:Cite rfc
- 1 2 PROBE: A Utility for Probing Interfaces. doi:10.17487/RFC8335
. Request for Comments 8335 - ↑ Erro de citação: Etiqueta
<ref>inválida; não foi fornecido texto para as "refs" nomeadas ":0"
