ICMP é sigla para Internet Control Message Protocol,é um protocolo integrante do protocolo IP,é utilizado para fornecer erros à fonte original,ou seja com o ICMP, os hosts e roteadores que usam a comunicação IP podem relatar erros e trocar informações de status e controle limitado,este protocolo não se destina a aplicações de utilizadores sendo usado somente para controlo de erro. Um exemplo de uso deste protocolo,num sistema Unix fazemos telnet à máquina A e recebemos a mensagem de erro – host unreachable, esta é uma mensagem ICMP a dizer que que a máquina A não está disponivel.
O ICMP é similar ao UDP pois utiliza mensagens que cabem num só datagrama, sendo no entanto ainda mais simples uma vez que não possui a indicação no seu cabeçalho dos portos de origem. As mensagens ICMP são interpretadas pelo software de rede pelo que não é necessário indicar os portos, o ICMP pode ainda ser usado para se obter informações acerca da rede. Depende dos Protocolos das camadas superiores para garantir a confiabilidade. Geralmente, as mensagens ICMP são enviadas automaticamente em uma das seguintes situações:
- Um datagrama IP não consegue chegar ao seu destino.
- Um roteador IP (gateway) não consegue encaminhar datagramas na atual taxa de transmissão.
- Um roteador IP redireciona o host remetente para usar uma rota melhor para o destino.
Mensagens ICMP
ICMP As mensagens ICMP são enviados utilizando a base cabeçalho IP. O primeiro octeto dos dados porção do datagrama ICMP é um
tipo de campo,o valor deste campo determina o formato dos dados restantes. Qualquer campo denominado “inutilizados” é reservado
para mais tarde extensões e deve ser zero quando enviada, mas não deve usar receptores destes campos(exceto para incluí-los no checksum).
Salvo observou no âmbito do indivíduo formato descrições,os valores do cabeçalho domínios Internet são as seguintes:
Version:4 IHL:32 bits Type of Service:Tamanho do IHL e informações em octetos Identification,Flags,Fragment offset:usado na fragmentação Time to live:Tempo de vida em segundos, como esse campo é diminuído em cada máquina em que o datagrama é processado, o valor neste campo deve ser pelo menos tão grande como o número de maquinas que este datagrama irá percorrer. Protocol:ICMP=1 Header Checksum:Os 16 bits de um complemento de um complemento da soma de todas as palavras de 16 bits do cabeçalho.Para calcular o checksum, o checksum campo deve ser zero.Este checksum poderão ser substituídos no futuro.ICMP type field.
Alguns dos tipos de mensagens precisam de parâmetros para funcionar,outros,desenvolvem valores que informam o estado dos testes realizados. O campo em que esses valores são guardados,logo após o Service Type,é chamado de code Byte.
Echo Request e Echo Reply [RFC792]
- Utilizada pelo comando ping
- É utilizada principalmente para fins de testes de conectividade (endereçamento e roteamento) entre as duas máquinas.
- Notifica impossibilidade de entrega do datagrama
- Código identifica motivo da impossibilidade de alcançar o destino
- Network Unreachable – Rede destino inacessível
- Host Unreachable (ou falha no roteamento para subnet) – Máquina destino inacessível
- Protocol Unreachable – Protocolo destino desativado ou aplicação inexistente
- Port Unreachable – Porta destino sem aplicação associada.
- Fragmentation Needed and DNF set – Fragmentação necessária mas bit DNF setado.
- Utilizado como forma de um host descobrir o menor MTU nas redes que serão percorridas entre a origem e o destino (ICMP MTU Discovery Protocol).
- Source Route Failed – Roteamento por rota especificada em opção IP, falhou.
- Destination Network Unknown
- Destination Host Unknown
- Source Host Isolated
- Communication with destination network administratively prohibited
- Communication with destination host administratively prohibited
- Network unreacheable for type of service
- Host unreacheable for type of service
- Utilizada por um roteador para informar ao host origem, o descarte do pacote devido a incapacidade de roteá-lo por causa do tráfego.
- Hosts geradores de pacotes reduzem a taxa de envio.
Utilizada por roteadores para informar ao host origem de uma mensagem que existe uma rota direta mais adequada através de outro roteador, para envio dos próximos datagramas.
CODE:
0:Redirect datagrams for the Net (Obsoleto)
1:Redirect datagrams for the Host
2:Redirect datagrams for the Type of Service and Net
3:Redirect datagrams for the Type of Service and HostTTL Expired [RFC1393/RFC792]
Mensagem ICMP originada em um roteador que informa ao host de origem que foi obrigado a descartar o pacote, uma vez que o TTL chegou a zero, ou pelo Host destino para informar término do tempo para REMONTAGEM.
Traceroute
Codigos usados:
-
Code (0) : Temporizador do Tempo de Vida.
-
Code (1) : Tempo de Remontagem de Fragmentos Excedido.
Foi projetada para permitir que um roteador possa divulgar sua existência para as máquinas presentes na rede.
-
- Evitar a configuração manual das estações da rede com a rota default
- Permitir que uma estação conheça outros roteadores além do default (roteamento no caso de falha do principal ).
Objetivo:
- A mensagem é composta de duas formas:
- a solicitação de divulgação de um roteador
- o anúncio de um roteador.
- Configuração do roteador:
- envio automático das mensagens de anúncio
- comandado por uma mensagem de solicitação.
- A mensagem ICMP Router Solicitation é mostrada abaixo :
- Contém a divulgação de diversos roteadores iniciada a partir de um que seja configurado para divulgá-los
- O número de preferência é a ordem de preferência que estes roteadores podem ser utilizados pelas estações.
- Quando um Router ou um host encontra problema com o datagrama que não esteja coberto pelas mensagens de erro ICMP, ele envia uma mensagem de problema de parâmetro ao transmissor.
Timestamp Request/Reply[RFC792
- Cada máquina mantém sua própria noção de tempo presente (operação independente).
- Problema: diferenças entre relógios podem confundir usuários em sistemas distribuídos.
- Os hosts utilizam os 3 campos de indicação de horas para:
- Calcular as estimativas do tempo decorrido entre elas
- Sincronizar os relógios
RECEBER TIMBRE DE HORA:Preenchido após o recebimento da solicitação.
TRANSMITIR TIMBRE DE HORA:Preenchido antes do envio da resposta.
Adress Mark Request/Reply[RFC950]
- Para conhecer a máscara de sub-rede utilizada pela rede central, a máquina pode enviar uma mensagem de solicitação de máscara de endereço a um roteador e receber uma resposta de máscara de endereço.
- A transmissão da solicitação pode ser:
- Direta: se souber o endereço do roteador.
- Broadcast: se não souber.
- Permite que os hosts descubram seus endereços na interligação em redes quando da inicialização do sistema.
- Considerado obsoleto hoje em dia.
- Substituído pelo BOOTP , RARP e DHCP
http://paginas.fe.up.pt/~goii2000/M3/tcpip6.htm
http://www.ietf.org/rfc/rfc792.txt
http://www.ietf.org/rfc/rfc950.txt
http://www.ietf.org/rfc/rfc1256.txt
http://pt.wikipedia.org/wiki/ICMP
http://technet.microsoft.com/pt-br/library/cc758065.aspx
redes.cefetrn.br/~alex_santos/alfredo/TCP-IP%20-%20Alfredo/Aula%2008%20-%20Protocolo%20ICMP.ppt
Fonte
0 comentários:
Postar um comentário