A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Parte I - Básico de IPv4 e Introdução ao Roteamento ICMP - Internet Control Message Protocol.

Apresentações semelhantes


Apresentação em tema: "Parte I - Básico de IPv4 e Introdução ao Roteamento ICMP - Internet Control Message Protocol."— Transcrição da apresentação:

1 Parte I - Básico de IPv4 e Introdução ao Roteamento ICMP - Internet Control Message Protocol

2 zSabemos que o IP oferece um serviço não confiável (sem conexão), visto que o datagrama pode perder- se duplicar-se ou atrasar-se durante a sua entrega. Porém problemas como excesso de tráfego em determinada rota, defeitos em conexões físicas, delays muito grandes, tabelas de roteamento com problemas e destino inativo, interferem na correta entrega dos datagramas. Para avisar o Host origem de eventuais problemas não podemos contar com o IP, pois não possui suporte desse tipo. Por isso foi criado o ICMP.

3 ICMP - Internet Control Message Protocol zEm redes orientadas à conexão este processo é simples, pois temos uma rota única definida por onde passarão as informações dos Hosts origem e destino. Assim aproveitamos o tráfego de volta para avisar de possíveis problemas ocorridos durante a entrega da informação. Mas este problema não é tão simples no caso de redes IP, por isso criamos um protocolo específico para cumprir esta missão.

4 ICMP - Internet Control Message Protocol zO protocolo ICMP é encapsulado em um datagrama (no seu campo DATA), e este é endereçado à origem. zNa verdade o ICMP passou a ter uma aplicação mais geral ainda. Atualmente qualquer Gateway que detecte uma situação atípica, usa o ICMP para reportar isso aos Hosts ou mesmo à outros Gateways. O mesmo ocorre com os Hosts que avisam Gateways ou mesmo outros Hosts, viabilizando assim um mecanismo único de troca de mensagens de controle e correção de erros.

5 ICMP - Internet Control Message Protocol Encapsulamento do Protocolo ICMP ICMP Header ICMP DATA DATAGRAM Header DATAGRAM DATA Area ICMP Header ICMP DATAFRAME DATA Area FRAME Header FRAME Tailer DATAGRAM Header ICMP Header ICMP DATA Mensagem ICMP Datagrama IP Quadro de nível 2

6 ICMP - Internet Control Message Protocol zAntes de começarmos a descrever as situações de falha e a respectiva mensagem ICMP gerada, analisemos uma situação prática para termos verdadeira noção do que podemos fazer com o ICMP. Veja a figura à seguir.

7 ICMP - Internet Control Message Protocol LAN 3 LAN 4 LAN 1 G1 G2GX WAN G2 LAN 2 Host A Host B Supondo que o Host A mande um datagrama para o Host B. Ele o envia para G1.

8 ICMP - Internet Control Message Protocol G1 fazendo uso das suas tabelas de roteamento, envia para G2. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B

9 ICMP - Internet Control Message Protocol G2 devido à alguma falha interna, ou de tabelas de roteamento errada, ao invés de rotear para G3, encaminha o datagrama para GX. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B

10 ICMP - Internet Control Message Protocol GX impossibilitado de resolver o problema, descarta o datagrama e encapsula em um datagrama novo, endereçado ao Host A, uma mensagem ICMP, avisando da falha ocorrida. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B

11 ICMP - Internet Control Message Protocol Por meios já conhecidos o datagrama com a mensagem ICMP é roteado até a origem. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B

12 ICMP - Internet Control Message Protocol O Host A de posse da mensagem de erro toma providências para contornar o problema, se isso for possível. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B

13 ICMP - Internet Control Message Protocol zÉ muito importante ressaltar que as mensagens são direcionadas para a origem. Mas o que pode fazer o Host A para corrigir o problema do exemplo se ele não conhece o Gateway G2 e muito menos o GX? zNa verdade as mensagens ICMP supõem que o administrador da Rede do Host A sabe o que fazer com a mensagem de erro, mas na verdade nem sempre ele tem algo para fazer, mas isso está fora do escopo do protocolo.

14 ICMP - Internet Control Message Protocol zUm datagrama IP contendo uma mensagem ICMP no seu campo DATA, é identificado através do campo PROTOCOL, que terá o valor igual à 1. zOutro ponto importante é que, se uma mensagem ICMP sofre algum tipo de problema, como o relatado no exemplo anterior, não será gerada nenhuma mensagem de erro.

15 ERROR or CONTROL MESSAGE TYPECODECHECKSUM MENSAGEM ICMP ICMP - Internet Control Message Protocol zTYPE: Campo constituído de 8 bits, identifica a função do segmento ICMP conforme a tabela à seguir.

16 ICMP - Internet Control Message Protocol

17 zCODE: Constituído de 8 bits, provê informações adicionais para cada tipo de mensagens ICMP. zCHECKSUM: Constituído de 16 bits, utiliza o mesmo algoritmo que o protocolo IP, sendo utilizado para validação de suas informações (Header ICMP+Dados).

18 ICMP - Internet Control Message Protocol zVamos agora descrever as principais mensagens ICMP, e sus utilização. zAs primeiras mensagens à serem vistas são Echo Request e Echo Reply, que são usadas para testar a capacidade de alcance de um destino. Passamos à descrever os campos desta mensagem e depois um exemplo de aplicação.

19 ICMP - Internet Control Message Protocol zAs mensagens Echo Request e Echo Reply possuem o seguinte formato.... OPTIONAL DATA IDENTIFIERSEQUENCE NUMBER TYPE (8 ou 0)CODE (0)CHECKSUM ECHO REQUEST e ECHO REPLY

20 ICMP - Internet Control Message Protocol zTYPE: Para ECHO REQUEST = 8 e ECHO REPLY = 0. zCODE: Não utilizado nestas mensagens devendo ficar em 0. zIDENTIFIER: Usado para personalizar as mensagens (é único para um par ECHO REQUEST/ECHO REPLY). Possui um gerador Randômico para criá-lo.

21 ICMP - Internet Control Message Protocol zSEQUENCE NUMBER: Usado para controlar o fluxo das mensagens ECHO. zOPTIONAL DATA: Podemos, para algumas aplicações especiais, utilizar este campo, que é opcional, para enviar dados ao destino. Lembre-se que os dados enviados devem ser copiados na íntegra na mensagem de Reply.

22 ICMP - Internet Control Message Protocol zAs mensagens de ECHO REQUEST, é acessada através da função conhecida como PING, e a respectiva resposta do destino (o ECHO REPLY) é conhecida como PONG. zEste comando é disponível em alto nível na maioria dos sistemas operacionais, bastando para isso digitar o comando (ping ).

23 ICMP - Internet Control Message Protocol zEssas mensagens ECHO REQUEST (ping) e ECHO REPLY (pong), são extremamente úteis para sabermos sobre a capacidade de alcançar um determinado destino. zImagine que você acabou de instalar um roteador na rede, como você saberia se ele já está ativo? A maneira mais simples é de algum host disparar um ping para o endereço do roteador, se houver resposta há um forte indício que estamos no caminho certo, senão devemos imediatamente ver o que está errado ou faltando.

24 ICMP - Internet Control Message Protocol zOutra situação importante é quando usamos um processo automático de pings e para testar a rota, por exemplo um gateway precisa ter certeza da capacidade de alcançar os hosts na sua vizinhança, pois só assim pode tomar decisões certas de roteamento.

25 ICMP - Internet Control Message Protocol zExistem aplicações mais sofisticadas que fazem uso de vários pings, e através dos respectivos pongsefetuam análises estatísticas, gerando relatórios interessantes para o administrador da rede. Estas aplicações permitem a especificação do tamanho e conteúdo dos dados enviados (OPTIONAL DATA), e o período de envio dos pings.

26 ICMP - Internet Control Message Protocol zA próxima mensagem é DESTINATION UNREACHABLE (Destino Inatingível).... INTERNET HEADER + FIRST 64 BITS OF DATAGRAM UNUSED (DEVE SER TUDO 0) TYPE (3)CODE (0-12)CHECKSUM DESTINATION UNREACHABLE

27 ICMP - Internet Control Message Protocol zTYPE: Possui valor fixo 3, e caracteriza a mensagem DESTINATION UNREACHABLE. zCODE: Possui valores que podem variar de 0 à 12, com uma especificação maior da causa do erro. Ver tabela seguinte.

28 ICMP - Internet Control Message Protocol

29 zObserve a riqueza de detalhes na descrição de problemas que fazem um destino ficar inatingível. Mesmo assim existem situações em que o ICMP é incapaz de detectar a falha. Ver exemplo à seguir.

30 ICMP - Internet Control Message Protocol O Host B, manda um datagrama para o Host A, sem saber que este está desconectado. O datagrama trafega normalmente pela rede até chegar no gateway G1. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B Desligado

31 ICMP - Internet Control Message Protocol O Gateway G1 encaminha o datagrama para o Host A (desligado), pois não pode prever isso, já que não existem mecanismos em redes Ethernet (IEEE 802.3), que avisem que um destino está desativado. LAN 1 G1 LAN 3 G2GX WAN LAN 4 G2 LAN 2 Host A Host B Desligado Neste caso não podemos mandar uma mensagem de Host Unreachable, pois G1 não sabe que o Host B está desligado. A única maneira de sabermos que ocorreu a falha é pelo timeout do controle end to end do TCP.

32 ICMP - Internet Control Message Protocol zContinuamos à descrever os campos da mensagem DESTINATION UNREACHABLE. zINTERNET HEADER + FIRST 64 BITS OF DATAGRAM: Copiamos o Header do IP e mais 64 bits do campo de dados (Header TCP), do datagrama que gerou o problema, para que a origem tenha um panorama melhor do problema ocorrido.

33 ICMP - Internet Control Message Protocol zA próxima mensagem ICMP é SOURCE QUENCH.... INTERNET HEADER + FIRST 64 BITS OF DATAGRAM UNUSED (DEVE SER TUDO 0) TYPE (4)CODE (0)CHECKSUM SOURCE QUENCH

34 ICMP - Internet Control Message Protocol zTYPE: Este campo possui o valor fixo igual à 4. zCODE: Não tem valor ficando preenchido com 0. zCHECKSUM: Igual à qualquer mensagem ICMP. zINTERNET HEADER + FIRST 64 BITS OF DATAGRAM: Copiamos o Header do IP e mais 64 bits do campo de dados (Header TCP), do datagrama que gerou o problema, para que a origem tenha um panorama melhor do problema ocorrido.

35 ICMP - Internet Control Message Protocol zA mensagem SOURCE QUENCH é usada em situações de congestionamento da rede. zCongestionamento é um estado em que, por razões das características de transmissão de um Gateway, (Velocidade das portas, Throughput, Capacidade de armazenamento, etc.), ele se encontra temporariamente incapaz de atender à demanda de tráfego solicitada, e neste caso, pode descartar datagramas para normalizar o seu estado de funcionamento.

36 ICMP - Internet Control Message Protocol zA Mensagem SOURCE QUENCH é utilizada toda vez que um datagrama é descartado, avisando o Host origem para baixar a sua capacidade de tráfego. Assim que o Host para de receber esta mensagem proveniente do Gateway, ele passa a aumentar gradativamente a sua capacidade de tráfego até o máximo.

37 ICMP - Internet Control Message Protocol zLembre-se que quando uma mensagem SOURCE QUENCH é recebida um datagrama já foi descartado e deverá ser retransmitido. Para evitar isso alguns Gateways mandam esta mensagem um pouco antes da necessidade de descartar (buffer quase cheio), o que pode diminuir o tráfego da rede devido à retransmissões.

38 ICMP - Internet Control Message Protocol zMensagem REDIRECT (Mudança de Rota):... INTERNET HEADER + FIRST 64 BITS OF DATAGRAM GATEWAY INTERNET ADDRESS TYPE (5)CODE (0 à 3)CHECKSUM REDIRECT

39 ICMP - Internet Control Message Protocol zTYPE: Recebe o valor 5. zCODE: Pode ter valores variando entre 0 e 3, descreve o tipo de redirecionamento requerido. Ver tabela à seguir.

40 ICMP - Internet Control Message Protocol

41 zCHECKSUM: igual nas mensagens anteriores. zINTERNET HEADER + FIRST 64 BITS OF DATAGRAM: Copiamos o Header do IP e mais 64 bits do campo de dados (Header TCP), do datagrama que gerou a mensagem, com o intuito de facilitar na identificação da rota pelo Host origem.

42 ICMP - Internet Control Message Protocol HOST A G1 LAN 1 G5 LAN 3 LAN 4 G2 LAN 5 G3 HOST B LAN 2 G4 O Host A por não conhecer bem a rede pode mandar um datagrama para o Host B, escolhendo para isso o Gateway G1. O Gateway G1 irá encaminhar normalmente o datagrama, apesar dele saber que o menor caminho seria se ele fosse encaminhado por G5. O Gateway G1, avisa o Host A (através da mensagem REDIRECT) que existe um melhor caminho para atingir o destino desejado através de G5. Assim o Host A para esta aplicação, ou destino, ou ambos escolhe o Gateway G5, daqui para frente.

43 ICMP - Internet Control Message Protocol zÉ preciso deixar claro que a mensagem REDIRECT é para comunicação entre Host/Gateway, não entre Gateways. O motivo de afirmarmos que G1 sabe de um melhor caminho para o destino, é porque ele conhece a tabela de roteamento de G5, e isso ocorre por causa de outros protocolos específicos de roteamento, que estudaremos na parte 2 deste módulo.

44 ICMP - Internet Control Message Protocol zMensagem TIME EXCEEDED FOR A DATAGRAM:... INTERNET HEADER + FIRST 64 BITS OF DATAGRAM UNUSED (DEVE SER 0) TYPE (11)CODE (0 ou 1)CHECKSUM TIME EXCEEDED FOR A DATAGRAM

45 ICMP - Internet Control Message Protocol zTYPE: Recebe o valor 11. zCODE: Pode ser 0 ou 1, conforme tabela abaixo:

46 ICMP - Internet Control Message Protocol zCHECKSUM: igual nas mensagens anteriores. zINTERNET HEADER + FIRST 64 BITS OF DATAGRAM: Copiamos o Header do IP e mais 64 bits do campo de dados (Header TCP), do datagrama (ou fragmento) que foi descartado por não atingir o destino em tempo especificado (Time to Live).

47 ICMP - Internet Control Message Protocol zEsta mensagem é usada toda vez que ocorrer um problema de descarte, por causa do tempo Time to Live ter sido excedido, e o datagrama (ou fragmento) não ter chegado ao destino. A principal causa disso é a formação de loops na rede, onde o datagrama entra e não pode mais sair.

48 ICMP - Internet Control Message Protocol zMensagem PARAMETER PROBLEM ON A DATAGRAM:... INTERNET HEADER + FIRST 64 BITS OF DATAGRAM POINTERUNUSED (DEVE SER 0) TYPE (12)CODE (0 ou 1)CHECKSUM PARAMETER PROBLEM ON A DATAGRAM

49 ICMP - Internet Control Message Protocol zTYPE: Recebe o valor 12. zCODE: Pode ser 0 ou 1. Se for 0 o POINTER aponta para o octeto com problemas. Se for 1 não podemos dizer qual octeto está com problema (não usamos o POINTER). zCHECKSUM: O mesmo que nas outras mensagens.

50 ICMP - Internet Control Message Protocol zPOINTER: Aponta para o octeto que apresenta problemas de parâmetros. Só é usado quando CODE = 0. Caso contrário não podemos especificar o erro e o POINTER perde a utilidade. zINTERNET HEADER + FIRST 64 BITS OF DATAGRAM: Copiamos o Header do IP e mais 64 bits do campo de dados (Header TCP), do datagrama com problemas, para que o HOST origem possa tomar providências.

51 ICMP - Internet Control Message Protocol zEsta mensagem é usada quando o erro ocorrido não tiver nenhuma correlação com qualquer outra mensagem ICMP. Assim usamos apenas quando problemas no Header IP do datagrama forem encontrados, principalmente de campo invalidamente preenchidos.

52 ICMP - Internet Control Message Protocol zMensagem TIMESTAMP REQUEST e TIMESTAMP REPLY: TRANSMIT TIMESTAMP RECEIVE TIMESTAMP ORIGINATE TIMESTAMP IDENTIFIERSEQUENCE NUMBER TYPE (13 ou 14)CODE (0)CHECKSUM TIMESTAMP REQUEST e TIMESTAMP REPLY

53 ICMP - Internet Control Message Protocol zTYPE: Recebe o valor 13 (TIMESTAMP REQUEST) ou 14 (TIMESTAMP REPLY). zCODE: Não usado e recebe o valor 0. zCHECKSUM: O mesmo que nas outras mensagens. zIDENTIFIER: Número Randômico que personaliza a mensagem.

54 ICMP - Internet Control Message Protocol zSEQUENCE NUMBER: Contador que controla a seqüência Request-Reply. zORIGINATE TIMESTAMP: composto de 32 bits, é utilizado pelo Host originador da mensagem TIMESTAMP REQUEST, onde insere o seu tempo em milissegundos (baseado na hora ZULU, do meridiano de Greenwich), no momento do envio do datagrama.

55 ICMP - Internet Control Message Protocol zRECEIVE TIMESTAMP: É usado pelo receptor do REQUEST assim que este é lido e identificado. Contém a timestamp da recepção do REQUEST. É colocado na mensagem REPLY. zTRANSMIT TIMESTAMP: É usado pelo receptor do REQUEST, e é colocado na mensagem REPLY, com o timestamp do momento da transmissão desta mensagem.

56 ICMP - Internet Control Message Protocol zCabe salientar que apenas o ORIGINATE TIMESTAMP é usado na mensagem REQUEST, os demais são preenchidos para formar a mensagem REPLY. zEste recurso é usado para termos uma idéia de tempo que um datagrama demora para atingir um destino especificado.

57 ICMP - Internet Control Message Protocol zCabe salientar que não devemos confiar nas estatísticas geradas por esse recurso como valores absolutos, mas apenas valores orientativos e de momento, pois mesmo que façamos várias vezes esta medida, a rede é não orientada à conexão, e podemos ter diferentes rotas seguidas, dando timestamps diferentes.

58 ICMP - Internet Control Message Protocol zMensagem INFORMATION REQUEST e REPLY: zNão é mais usada tornando-se obsoleto. Foi criada para resolver problemas de endereçamento, hoje função realizada pelo ARP e RARP.

59 ICMP - Internet Control Message Protocol zMensagem ADDRESS MASK REQUEST e ADDRESS MASK REPLY: ADDRESS MASK IDENTIFIERSEQUENCE NUMBER TYPE (17 ou 18)CODE (0)CHECKSUM ADDRESS MASK REQUEST e ADDRESS MASK REPLY

60 ICMP - Internet Control Message Protocol zTYPE: Recebe os valores 17 (REQUEST) ou 18 (REPLY). zCODE: Sem função, valor 0. zCHECKSUM: Igual à mensagens anteriores. zIDENTIFIER: Número Randômico que personaliza as mensagens.

61 ICMP - Internet Control Message Protocol zSEQUENCE NUMBER: Contador que controla o fluxo das mensagens REQUEST-REPLY. zADDRESS MASK: a máscara da sub-rede que desejamos saber.

62 ICMP - Internet Control Message Protocol zPara que um Gateway possa encaminhar corretamente uma mensagem ele precisa conhecer o endereçamento de NetID e de SubNetID. Caso haja subredes então precisamos conhecer às máscaras que definem o campo SubNetID. A mensagem ADDRESS MASK foi formulada com o intuito de conseguirmos esta máscara.

63 ICMP - Internet Control Message Protocol zO funcionamento é simples, quando um Host quer conhecer o endereçamento de alguma subrede, ele manda a mensagem ADDRESS MASK REQUEST em broadcast ou direcionada para um Host destino conhecido pertencente à subrede em questão. O Gateway que estiver ligado à esta subrede responde com a mensagem ADDRESS MASK REPLY, preenchendo o campo ADDRESS MASK com o valor da máscara de subrede em questão.


Carregar ppt "Parte I - Básico de IPv4 e Introdução ao Roteamento ICMP - Internet Control Message Protocol."

Apresentações semelhantes


Anúncios Google