Você está na página 1de 11

Protocolo de Mensagem de Controle da Internet

Prefácio

ICMP (Internet Control Message Protocol) é um protocolo que trabalha em conjunto


com o IP como uma forma de protocolo de mensagem a fim de compensar pela
confiabilidade limitada do IP. A implementação do ICMP é exigida para que seja
entendida, com o objetivo de familiarizar com o comportamento das operações
numéricas e aplicações que dependem fortemente do ICMP, a fim de auxiliar
mensagens subjacentes, baseado em quais processos são mais frequentemente
realizados.

Objetivos

Ao concluir esta seção, os estudantes serão capazes de:


● Descrever alguns dos processos pelo qual o ICMP é aplicado.
● Identificar o tipo comum e valores de códigos usados no ICMP.
● Explicar a função do ICMP no ping e as aplicações do traceroute.

Prof. Moacyr Regys

1
ICMP

● Mensagens ICMP são usadas para suportar operações múltiplas, incluindo


roteamento, diagnósticos e erros.

O protocolo de controle de mensagem da Internet é uma parte integral do IP


designada para facilitar a transmissão de notificação de mensagens entre gateways
e a fonte de hosts, onde há pedidos para informação de diagnóstico, suporte de
roteamento e como um meio de relatar erros no processamento do datagram são
necessitados. O objetivo dessas mensagens de controle é prover um feedback sobre
os problemas no ambiente de comunicação, e isso não garante que o datagram será
entregue, ou que a mensagem de controle será retornada.
ICMP (Roteamento)

As mensagens de redirecionamento ICMP representam um cenário comum onde o


ICMP é usado como um meio de facilitar funções de roteamento. Como exemplo, um
pacote é encaminhado para o gateway pelo host A, baseado no endereço do gateway
do host A. O gateway identifica que o pacote recebido é destinado a ser encaminhado
para o endereço do próximo gateway, o que passa a ser parte da mesma rede, como
o host que originou o pacote, destacando um comportamento de encaminhamento
não ideal entre o host e os gateways.
A fim de resolver isso, a mensagem de redirecionamento é enviada ao host. Ela
aconselha o host para enviar seu tráfego ao destino pretendido diretamente para o
gateway, para o qual a rede de destino é associada, pois isso representa um caminho
mais curto para o mesmo. O gateway prossegue, no entanto, para encaminhar os
dados ao pacote original para seu destino pretendido.

3
ICMP (Diagnósticos)

● Duas mensagens separadas são usadas para a solicitação e resposta.


● Normalmente associadas com a aplicação do Ping.

As mensagens de eco ICMP representam um meio de diagnóstico para determinada


conectividade primária entre uma dada fonte e destino, mas também fornece
informação adicional, tal como o tempo de round trip para a transmissão, como um
diagnóstico para mensurar atraso. O dado que é recebido pela mensagem de eco é
retornado como uma mensagem de resposta de eco separada.

ICMP (Erros)

● Informa a origem do problema do pacote com o encaminhamento de pacotes.


● Usa o endereço IP de origem no cabeçalho IP para notificação.

O ICMP fornece várias mensagens de relatório de erros que geralmente


determinam problemas de acessibilidade e geram relatórios de erro específicos que
permitem uma compreensão mais clara da perspectiva do host sobre o motivo da
falha no destino pretendido.
Exemplos típicos incluem casos em que os loops podem ter ocorrido na rede
e, consequentemente, causaram a expiração do parâmetro time to live no cabeçalho
IP, resultando na geração de uma mensagem de erro "ttl excedido em trânsito".
Outros exemplos incluem um destino pretendido inacessível, o que pode estar
relacionado a um problema mais específico da rede pretendida que não é conhecida
pelo gateway de recebimento ou que o host pretendido na rede de destino não está
sendo descoberto. Em todos os casos, uma mensagem ICMP é gerada com um
destino baseado no endereço IP de origem encontrado no cabeçalho IP, para garantir
que a mensagem notifique o host de envio.

ICMP Formatos

● Os parâmetros ICMP são representados em um formato de tipo/código.


● Dados adicionais frequentemente transportados para identificar o pacote não
entregue.

As mensagens ICMP são enviadas usando o cabeçalho IP básico, que


funciona em conjunto como parte integrante da mensagem ICMP, como é o caso do
parâmetro TTL usado para fornecer suporte para determinar se um destino é
acessível. O formato da mensagem ICMP depende de dois campos para identificação
da mensagem na forma de um formato de tipo/código, onde o campo de tipo fornece
uma descrição geral do tipo de mensagem e o código e um parâmetro mais específico
para o tipo de mensagem.
Um checksum fornece um meio de validar a integridade da mensagem ICMP.
Outros 32 bits são incluídos para fornecer parâmetros variáveis, geralmente não
utilizados e, portanto, configurados como 0 quando a mensagem ICMP é enviada; no
entanto, em casos como um redirecionamento ICMP, o campo contém o endereço IP
do gateway para o qual um host deve redirecionar pacotes. O campo de parâmetro,
no caso de solicitações de eco, conterá um identificador e um número de sequência,
usados para ajudar a origem a associar solicitações de eco enviadas com respostas
de eco recebidas, especialmente no caso de várias solicitações serem encaminhadas
para um determinado destino de distribuição.

5
Como meio final de rastrear dados para um processo específico, a mensagem
ICMP pode transportar o cabeçalho IP e uma parte dos dados que contém
informações da camada superior que permitem à fonte identificar o processo para o
qual ocorreu um erro, como os casos em que o O ICMP TTL expira em trânsito.

ICMP campos de tipo e código

● O valor Tipo representa o formato de uma mensagem.


● O valor Código fornece uma descrição mais específica da mensagem.

Existe um grande número de valores do tipo ICMP para definir claramente as


diferentes aplicações do protocolo de controle ICMP. Em alguns casos, o campo de
código não é necessário para fornecer uma entrada mais específica ao campo de tipo,
como é encontrado nas solicitações de eco que possuem um campo de tipo 8 e a
resposta correspondente, a qual é gerada e enviada como uma mensagem ICMP
separada para o campo endereço de origem do remetente e definido usando um
campo de tipo de 0.
Como alternativa, certos campos de tipo definem um tipo muito geral para o qual a
variação é entendida através do campo de código, como no caso do parâmetro de
tipo 3. Um campo de tipo 3 especifica que um determinado destino é inacessível,
enquanto o campo de código reflete a ausência específica da rede, host, protocolo,
porta (TCP/UDP), em capacidade de executar fragmentação (código 4) ou rota de
origem (código 5) no qual um pacote, para o qual um caminho de encaminhamento
através da rede é estritamente ou parcialmente definido, falha ao atingir seu destino.
ICMP Applications - Ping

A aplicação do ICMP pode ser entendida através do uso de ferramentas como o Ping.
O aplicativo Ping pode ser usado como uma ferramenta para determinar se um
destino é acessível, assim como para coletar outras informações relacionadas. Os
parâmetros do aplicativo Ping permitem que um usuário final especifique o
comportamento do sistema final na geração de mensagens ICMP, levando em
consideração o tamanho do datagrama ICMP, o número de mensagens ICMP
geradas pelo host, e também a duração no qual é esperado que uma resposta seja
recebida antes que ocorra um tempo limite. Isso é importante quando ocorre um
grande atraso, pois o aplicativo Ping pode informar um tempo limite antes que a
mensagem do ICMP tenha a oportunidade de retornar à fonte.

7
Resultados de Ping

A saída geral de uma resposta ICMP para uma solicitação ICMP gerada por ping
detalha o destino para qual o datagram foi enviado e seu tamanho gerado. Em adição
ao número de sequência do campo de série, que é transportado como parte do echo
reply (tipo 0) é exposto ao longo, como o valor TTL que é retirado do cabeçalho do
IP, assim como o tempo round trip, o qual é de novo transportado como parte do
campo de opções do IP no cabeçalho do mesmo.
Aplicação ICMP - Traceroute

Outra aplicação comum para ICMP é o traceroute, o qual provê um meio de medir o
caminho de encaminhamento e atraso em uma base hop by hop entre múltiplas redes
através de associação com o valor TTL dentro do cabeçalho IP.
Para um dado destino, a acessibilidade para cada hop ao longo do caminho é medido
por definir inicialmente um valor TTL no cabeçalho IP de 1, fazendo com que o valor
TTL expire antes do gateway de recebimento seja capaz de propagar a mensagem
ICMP mais longe, portanto, gerando um TTL expirado na mensagem em trânsito junto
com a informação timestamp, permitindo para uma avaliação hop by hop do caminho
tomado através da rede pelo datagram ao destino, e uma medição do tempo round
trip. Isso provém um efetivo meio de identificar o ponto de qualquer pacote perdido
ou atrasado que pode estar incorrido na rede e também ajuda na descoberta de loops
de roteamento.

9
Resultados de Traceroute

● O Traceroute mostra os resultados de transmissão hop by hop


● O valor TTL é usado para definir um hop limite para cada conjunto de
resultados.

A implementação do traceroute nos roteadores da série Huawei ARG3 adota o uso


do protocolo da camada de transporte UDP para definir uma porta de serviço como o
destino. Cada hop envia três pacotes de investigação, para qual o valor TTL é definido
inicialmente para um valor de 1 e depois incrementado cada um dos três pacotes. Em
adição, uma porta de destino UDP de 33434 é especificado pelo primeiro pacote, e
incrementada para cada pacote de investigação sucessiva enviada. Um resultado hop
by hop é gerado, permitindo que o caminho seja determinado, bem como por qualquer
atraso geral que pode ocorrer para ser descoberto.
Isso é obtido medindo a duração entre o envio da mensagem ICMP e o recebimento
do erro TTL correspondente em trânsito no ICMP. Quando receber um pacote, o
destino final é incapaz de descobrir a porta específica no pacote, e portanto, retorna
um pacote ICMP tipo 3, código 3 (porta inacessível), e depois de três tentativas o teste
de traceroute acaba. O resultado do teste de cada investigação é exibida pela fonte,
em concordância com o caminho tomado da fonte para o destino. Se uma falha ocorre
quando o comando de traceroute é usado, a seguinte informação pode ser exibida:

!H:O host está inacessível. !P: O protocolo tipo está incorreto.


!N:A rede está inacessível. !F: O pacote está fragmentado incorretamente.! : A
porta está inacessível. !S: A rota de origem está incorreta.
Resumo

● Quais dois tipos de mensagem ICMP são usadas como parte de um ping bem
sucedido?
● No caso de o valor TTL no cabeçalho IP de um datagram chegar a zero, que
ações serão tomadas pelo gateway de recebimento?

1. A aplicação do Ping usa a mensagem de solicitação de eco de tipo 8 para


tentar descobrir o destino. Uma mensagem de resposta de eco separada,
definido por um campo tipo de 0, é retornado para a fonte original baseado no
endereço de IP de origem no campo do cabeçalho IP.
2. No evento que o valor TTL no cabeçalho IP de um datagram chegar a zero,
antes que o datagram seja capaz de chegar ao destino pretendido, o
dispositivo de gateway recebendo o datagram vai proceder para descartá-lo e
retornar uma mensagem ICMP para a fonte para notificar que o datagram em
questão está incapaz de chegar ao destino pretendido. A razão específica será
definida pelo valor de código para refletir, por exemplo, se a falha ocorreu
devido a uma falha na descoberta do host, uma porta no mesmo ou se o serviço
para um dado protocolo não foi suportado e etc.

Tradução: Yanne S.
Moodle Huawei© 2019
Angel C.
Prof. Moacyr Regys

11

Você também pode gostar