Curso de Redes – Mensagens ICMP do tipo Destino Inalcançável

Mensagens ICMP do tipo Destino Inalcançável

O protocolo IP é um protocolo dito “não confiável”, o que significa que não há nenhum tipo de garantia de que um pacote enviado a partir de um dispositivo chegará a seu destino. Por uma série de motivos, o pacote pode não ser entregue ao dispositivo de destino. Protocolos como o TCP (camada de transporte) e outros levam isso em consideração e fornecem confiabilidade e confirmação da recepção de dados em aplicações que precisem desses recursos. No geral esse procedimento é suficiente para que a transmissão dos pacotes ocorra tranquilamente. Porém, em alguns casos o problema pode se tornar mais grave – por
exemplo, quando temos um problema permanente, como o envio de datagramas a um IP inexistente ou uma rota configurada incorretamente. Neste caso, será necessário mais do que simplesmente verificar se o pacote chegou e retransmiti-lo em caso negativo.

É aí que entra o protocolo ICMP. Com o uso de mensagens do tipo Destino Inalcançável (Destination Unreachable), temos um mecanismo de retorno que informa a um dispositivo de origem que algo de errado está ocorrendo – e também o porquê desse erro. Assim, quando um dispositivo de origem (transmissor) recebe uma mensagem desse tipo, ele poderá decidir que ação tomar.

As mensagens do tipo destino inalcançável sempre incluem uma parte do datagrama que não foi entregue, de modo que essa informação irá auxiliar o dispositivo de origem a descobrir o problema.

Formato da mensagem do tipo Destino Inalcançável

A figura abaixo mostra o formato de uma mensagem do tipo “Destination Unreachable”

Mensagem ICMP - Destino Inalcançável

Subtipos da mensagem Destino Inalcançável

Essa mensagem diz a um dispositivo que o datagrama enviado por ele não foi entregue por algum motivo, e a razão para essa não entrega é indicada pelo campo de código no cabeçalho ICMP da mensagem.

Na tabela a seguir descrevemos todos os subtipos (códigos) existentes para a mensagem de tipo 3, destino inalcançável:

Código Mensagem Descrição
0 Rede de destino inalcançável O datagrama não pôde ser entregue à rede especificada no endereço IP. Pode ser um problema de roteamento ou endereço incorreto.
1 Host de destino inalcançável O datagrama foi entregue à rede especificada no endereço IP, porém não foi entregue ao host especificado no endereço. Geralmente, trata-se de um problema de roteamento.
2 Protocolo de destino inalcançável O protocolo especificado no campo de Protocolo é inválido para o host ao qual o datagrama foi entregue
3 Porta de destino inalcançável A porta de destino especificada no cabeçalho TCP ou UDP é inválida
4 Fragmentação requerida, e bit DF configurado Se a flag DF (Não Fragmentar) estiver ativa no cabeçalho IP do datagrama, o datagrama não deverá ser fragmentado. O roteador então deverá descartar o pacote caso seu tamanho exceda o MTU do próximo trecho de rede física.
Usado geralmente no processo de Descoberta do Caminho MTU.
5 Falha na rota de origem Essa mensagem é gerada quando uma rota de origem é especificada para o datagrama mas um roteador não conseguiu encaminhar o datagrama ao próximo salto da rota.
6 Rede de destino desconhecida Não usado (0)
7 Host de destino desconhecido O host especificado é desconhecido. Gerado normalmente por um roteador no mesmo local do host de destino e significa um endereço incorreto.
8 Host de origem isolado Obsoleto
9 Rede proibida administrativamente O dispositivo de origem não possui permissão para enviar pacotes à rede onde o dispositivo de destino está localizado.
10 Host proibida administrativamente O dispositivo de origem possui permissão para enviar pacotes à rede onde o dispositivo de destino está localizado, porém não para o dispositivo em particular.
11 Rede inalcançável para TOS A rede especificada no endereço IP não pode ser alcançada devido à incapacidade de fornecer o serviço especificado no campo TOS (Tipo de Serviço) no cabeçalho do datagrama.
12 Host inalcançável para TOS O host de destino especificado no endereço IP não pode ser alcançado devido à incapacidade de fornecer o serviço especificado no campo TOS (Tipo de Serviço) no cabeçalho do datagrama.
13 Comunicação proibida administrativamente O pacote não pode ser encaminhado devido a um filtro que bloqueia a mensagem baseada em seu conteúdo.
14 Violação de precedência de Host Essa mensagem é enviada por um roteador no primeiro salto (o primeiro a manipular um pacote enviado) quando o valor de Precedência no campo TOS não é permitido.
15 Corte de precedência em efeito Enviado por um roteador ao receber um pacote cujo valor de Precedência é menor do que o mínimo permitido para a rede naquele momento.

Considerações Finais

Como sabemos, o protocolo IP é considerado um protocolo do tipo “melhor esforço”, no sentido de que não há garantias de que os datagramas serão realmente entregues em seu destino. E as p´roprias mensagens ICMP são carregadas em datagramas IP, portanto, não há garantias de que as mensagens de erro ou informativas cheguem a seu destino também. Além disso, a própria mensagem  de destino inalcançável pode não ser gerada no roteador ou dispositivo de destino, por uma série de razões, e nesse caso é óbvio que o dispositivo transmissor nunca receberá mensagem alguma de erro.

Por isso, devemos considerar que o envio das mensagens do tipo destino inalcançável é suplementar, e isso mostra a importância dos mecanismos de detecção e correção de erros presentes nas camadas de nível superior da pilha de protocolos.

Próximo: Mensagens ICMP do tipo Source Quench

Sobre Fábio dos Reis (1298 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

1 Trackbacks & Pingbacks

  1. Curso de Redes - Protocolo ICMP - Internet Control Message Protocol

Escreva um comentário

Seu e-mail não será divulgado


*