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

Apresentações semelhantes


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

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

2 ICMP - Internet Control Message Protocol
Sabemos 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
Em 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
O protocolo ICMP é encapsulado em um datagrama (no seu campo DATA), e este é endereçado à origem. Na 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 Mensagem ICMP ICMP Header ICMP DATA Datagrama IP DATAGRAM Header DATAGRAM DATA Area ICMP Header ICMP DATA Quadro de nível 2 FRAME DATA Area FRAME Header Tailer DATAGRAM Header ICMP ICMP DATA

6 ICMP - Internet Control Message Protocol
Antes 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 G2 GX WAN 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
LAN 1 G1 LAN 3 G2 GX WAN LAN 4 LAN 2 Host A Host B G1 fazendo uso das suas tabelas de roteamento, envia para G2.

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

10 ICMP - Internet Control Message Protocol
LAN 1 G1 LAN 3 G2 GX WAN LAN 4 LAN 2 Host A Host B 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.

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

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

13 ICMP - Internet Control Message Protocol
É 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? Na 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
Um datagrama IP contendo uma mensagem ICMP no seu campo DATA, é identificado através do campo PROTOCOL, que terá o valor igual à 1. Outro 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 ICMP - Internet Control Message Protocol
MENSAGEM ICMP TYPE CODE CHECKSUM ERROR or CONTROL MESSAGE TYPE: Campo constituído de 8 bits, identifica a função do segmento ICMP conforme a tabela à seguir.

16 ICMP - Internet Control Message Protocol

17 ICMP - Internet Control Message Protocol
CODE: Constituído de 8 bits, provê informações adicionais para cada tipo de mensagens ICMP. CHECKSUM: 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
Vamos agora descrever as principais mensagens ICMP, e sus utilização. As 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
As mensagens Echo Request e Echo Reply possuem o seguinte formato. . . . OPTIONAL DATA IDENTIFIER SEQUENCE NUMBER TYPE (8 ou 0) CODE (0) CHECKSUM ECHO REQUEST e ECHO REPLY

20 ICMP - Internet Control Message Protocol
TYPE: Para ECHO REQUEST = 8 e ECHO REPLY = 0. CODE: Não utilizado nestas mensagens devendo ficar em 0. IDENTIFIER: 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
SEQUENCE NUMBER: Usado para controlar o fluxo das mensagens ECHO. OPTIONAL 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
As 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. Este comando é disponível em alto nível na maioria dos sistemas operacionais, bastando para isso digitar o comando (ping <endereço destino>).

23 ICMP - Internet Control Message Protocol
Essas mensagens ECHO REQUEST (ping) e ECHO REPLY (pong), são extremamente úteis para sabermos sobre a capacidade de alcançar um determinado destino. Imagine 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
Outra 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
Existem aplicações mais sofisticadas que fazem uso de vários “pings”, e através dos respectivos “pongs”efetuam 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
A 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
TYPE: Possui valor fixo 3, e caracteriza a mensagem DESTINATION UNREACHABLE. CODE: 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 ICMP - Internet Control Message Protocol
Observe 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
LAN 1 G1 LAN 3 G2 GX WAN LAN 4 LAN 2 Host A Host B Desligado 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.

31 ICMP - Internet Control Message Protocol
LAN 1 G1 LAN 3 G2 GX WAN LAN 4 LAN 2 Host A Host B Desligado 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. 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
Continuamos à descrever os campos da mensagem DESTINATION UNREACHABLE. INTERNET 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
A 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
TYPE: Este campo possui o valor fixo igual à 4. CODE: Não tem valor ficando preenchido com 0. CHECKSUM: Igual à qualquer mensagem ICMP. INTERNET 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
A mensagem SOURCE QUENCH é usada em situações de congestionamento da rede. Congestionamento é 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
A 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
Lembre-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
Mensagem 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
TYPE: Recebe o valor 5. CODE: Pode ter valores variando entre 0 e 3, descreve o tipo de redirecionamento requerido. Ver tabela à seguir.

40 ICMP - Internet Control Message Protocol

41 ICMP - Internet Control Message Protocol
CHECKSUM: igual nas mensagens anteriores. INTERNET 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
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. 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.

43 ICMP - Internet Control Message Protocol
É 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
Mensagem 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
TYPE: Recebe o valor 11. CODE: Pode ser 0 ou 1, conforme tabela abaixo:

46 ICMP - Internet Control Message Protocol
CHECKSUM: igual nas mensagens anteriores. INTERNET 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
Esta 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
Mensagem PARAMETER PROBLEM ON A DATAGRAM: . . . INTERNET HEADER + FIRST 64 BITS OF DATAGRAM POINTER UNUSED (DEVE SER 0) TYPE (12) CODE (0 ou 1) CHECKSUM PARAMETER PROBLEM ON A DATAGRAM

49 ICMP - Internet Control Message Protocol
TYPE: Recebe o valor 12. CODE: 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). CHECKSUM: O mesmo que nas outras mensagens.

50 ICMP - Internet Control Message Protocol
POINTER: 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. INTERNET 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
Esta 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
Mensagem TIMESTAMP REQUEST e TIMESTAMP REPLY: TRANSMIT TIMESTAMP RECEIVE TIMESTAMP ORIGINATE TIMESTAMP IDENTIFIER SEQUENCE NUMBER TYPE (13 ou 14) CODE (0) CHECKSUM TIMESTAMP REQUEST e TIMESTAMP REPLY

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

54 ICMP - Internet Control Message Protocol
SEQUENCE NUMBER: Contador que controla a seqüência Request-Reply. ORIGINATE 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
RECEIVE 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. TRANSMIT 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
Cabe salientar que apenas o ORIGINATE TIMESTAMP é usado na mensagem REQUEST, os demais são preenchidos para formar a mensagem REPLY. Este recurso é usado para termos uma idéia de tempo que um datagrama demora para atingir um destino especificado.

57 ICMP - Internet Control Message Protocol
Cabe 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
Mensagem INFORMATION REQUEST e REPLY: Nã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
Mensagem ADDRESS MASK REQUEST e ADDRESS MASK REPLY: ADDRESS MASK IDENTIFIER SEQUENCE NUMBER TYPE (17 ou 18) CODE (0) CHECKSUM ADDRESS MASK REQUEST e ADDRESS MASK REPLY

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

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

62 ICMP - Internet Control Message Protocol
Para 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
O 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"

Apresentações semelhantes


Anúncios Google