Baixe o app para aproveitar ainda mais
Prévia do material em texto
Centro Universitário Estácio do CearáProtocolos de Roteamento ICMP (Internet Control Message Protocol) Prof. Marcus Fábio Fontenelle, M.Sc. Mestre em Informática Aplicada Furukawa DCSC, LPIC-1, NCLA, MCSE Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 2 Introdução • O ICMP (RFC 792) permite que hosts e roteadores enviem mensagens de controle e mensagens de erro para outros roteadores ou hosts. • Roteadores usam o ICMP para relatar problemas. • Hosts usam o ICMP para testar se os destinos estão alcançáveis. • O ICMP provê comunicação entre o software IP em um host e o software IP em outro host. • Quando um datagrama causa um erro, o ICMP apenas relata a condição de erro ao host de origem. • A fonte de origem do datagrama deve relatar o erro a uma aplicação ou realizar uma outra ação para corrigir o problema. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 3 Entrega da Mensagem ICMP • Cada mensagem ICMP é encapsulada em um datagrama IP. • Para evitar problemas de congestionamento mensagens ICMP não são geradas para erros causados por mensagens ICMP. • Apesar de serem transportadas encapsuladas em datagramas IP, mensagens ICMP NÃO são consideradas parte de protocolos de camadas mais altas. O ICMP é uma parte necessária ao funcionamento do IP. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 4 Formato da Mensagem ICMP • Embora cada mensagem ICMP possua um formato específico, todas elas começam com os mesmos três campos: – TIPO: Identifica a mensagem – CODIGO: Fornece informações sobre o tipo da mensagem – CHECKSUM: Usa o mesmo esquema de checagem que o protocolo IP, mas cobre apenas a mensagem ICMP. Valor do Campo TIPO Descrição do Tipo de Mensagem 0 Echo Reply 3 Destination Unreachable 4 Source Quench 8 Echo Request 11 Time Exceeded 12 Parameter Problem 13 Timestamp Request 14 Timestamp Reply Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 5 Echo Request / Echo Reply • O campo DADOS possui tamanho variável e pode conter dados a serem retornados para o emissário. Uma mensagem Echo Reply retorna exatamente os mesmos dados que foram recebidos na mensagem Echo Request. • Os campos IDENTIFICADOR e NÚMERO DE SEQUÊNCIA são usados pelo emissário para combinar as mensagens de requisição (Echo Request) com as mensagens de resposta (Echo Reply). • O campo CÓDIGO neste tipo de mensagem sempre será zero. • O campo TIPO poderá assumir dois valores: Echo Request (8) e Echo Reply (0). Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 6 Echo Request / Echo Reply • O programa PING (Packet InterNet Groper) é utilizado para verificar o funcionamento de um host e se o mesmo se encontra acessível. • Através deste programa podemos verificar se a pilha de protocolos TCP/IP está funcionando corretamente, pois se tudo estiver funcionando corretamente, os seguintes passos deverão ocorrer: – O software IP no computador de origem deve encaminhar o datagrama; – Roteadores intermediários entre a origem e o destino devem estar operacionais e devem encaminhar o datagrama corretamente; – O host de destino deverá estar funcionando e tanto o software IP quanto o ICMP deverão estar funcionando; – As tabelas de roteamento nos roteadores ao longo do percurso devem possuir informações para formar m caminho viável entre a origem e o destino. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 7 Destination Unreachable • Quando um roteador não consegue encaminhar ou entregar um datagrama IP, ele envia uma mensagem do tipo Destiantion Unreachable (TIPO 3) de volta a origem. • O destino pode estar inalcançável devido as seguintes razões: – O hardware está temporariamente fora de serviço; – O emissário especificou um endereço de destino inexistente; – O roteador não tem uma rota para a rede de destino. • Junto com a mensagem são enviadas informações a respeito do host que originou a mensagem de erro. • Erros do tipo Network Unreachable ocorrem devido a falhas de encaminhamento nos nós intermediários. • Erros do tipo Host Unreachable ocorrem devido a falhas na entregados pacotes ao destino final. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 8 Destination Unreachable Valor do Campo CÓDIGO Descrição 0 Network Unreachable 1 Host Unreachable 2 Protocol Unreachable 3 Port Unreachable 4 Fragmentation Needed and DF Set 5 Source Routed failed Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 9 Congestionamento e Controle de Fluxo • Roteadores podem se tornar sobrecarregados devido ao tráfego da rede. Esta condição na rede é chamada de congestionamento. • O congestionamento em uma rede de computadores pode ocorrer por duas razões bem distintas: – Um computador muito veloz (um supercomputador) pode estar gerando tráfego mais rápido do que a rede pode transmitir; – Várias computadores estão tentando enviar datagramas através de um único roteador. • Um host utiliza a mensagem ICMP Source Quench para relatar o descarte do datagrama ao emissário que o gerou, ou seja, uma mensagem ICMP Source Quench é uma solicitação para que o host de origem de um datagrama reduza sua taxa de transmissão de datagramas. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 10 Redirect • Hosts são inicializados com informação mínima sobre roteamento (endereço do default gateway) e confiam em roteadores para atualizar a sua tabela de rotas. • Quando um roteador detecta que um host não está utilizando a melhor rota para encaminhar seus pacotes, ele envia uma mensagem ICMP Redirect (TIPO 5) ao host informando que há um caminho melhor a ser seguido e pede ao host que atualize a sua tabela de rotas. – O roteador e o host devem estar na mesma rede. – Mensagens ICMP Redirect não solucionam problemas de propagação de rotas erradas. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 11 Redirect • O campo ENDEREÇO DO GATEWAY contém o endereço do roteador que o host irá utilizar para alcançar o destino indica no datagrama IP previamente enviado. • O campo CÓDIGO especifica como interpretar o endereço de destino. Código Significado 0 Redirecionar datagramas para a rede (Obsoleto) 1 Redirecionar datagramas para o host 2 Redirecionar datagramas para o ToS e a Rede 3 Redirecionar datagramas para o ToS e o host • De maneira geral, roteadores apenas enviam mensagens ICMP Redirect a outros hosts e não para outros roteadores. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará Time Exceeded • Erros nas tabelas de rotas podem causar erros do tipo “routing cycle” (loops de roteamento). • Para prevenir este tipo de erro existe o campo TTL (Time to Live) ou Hop Count no cabeçalho IP. • Toda vez que um datagrama é descartado devido ao valor do campo TTL ter chegado a zero ou por causa de um timeout gerado pela espera dos fragmentos de uma mensagem (entre 60 e 120 segundos), um roteador envia uma mensagem ICMP do tipo Time Exceeded para a origem do datagrama. Valor do Campo CÓDIGO Descrição 0 TTL Excedeu 1 Tempo de Remontagem de Fragmentos Excedeu Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará Tracert / Traceroute Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 14 Parameter Problem • Quando um roteador ou host encontraum problema em um datagrama que não é coberto por nenhuma mensagem ICMP é enviada uma mensagem do tipo Parameter Problem para a origem do datagrama. • Uma mensagem deste tipo só é gerada quando acontece um erro muito severo. • O campo PONTEIRO identifica o octeto aonde ocorreu o erro no datagrama de origem. • O valor 1 no campo CÓDIGO é usado para relatar a falta de uma opção no campo OPÇÕES do cabeçalho IP. Neste caso, o campo PONTEIRO não é usado. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 15 Timestamp Request / Timestamp Reply • Relógios (Clocks) que diferem muito de um host para o outro podem confundir sistemas distribuídos. • Para sincronizar seus relógios dois hosts trocam mensagens ICMP entre si do tipo Timestamp Request e Timestamp Reply. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 16 Timestamp Request / Timestamp Reply • O campo TIPO poderá assumir dois valores: Timestamp Request (13) e Timestamp Reply (14). • O campo CÓDIGO neste tipo de mensagem sempre será zero. • Os campos IDENTIFICADOR e NÚMERO DE SEQUÊNCIA são usados pelo emissário para combinar as mensagens de requisição (Timestamp Request) com as mensagens de resposta (Timestamp Reply). Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 17 Timestamp Request / Timestamp Reply • O campo TIMESTAMP ORIGINAL é preenchido pelo emissário momentos antes da mensagem Timestamp Request ser transmitida. • O campo TIMESTAMP DE RECEPÇÃO é preenchido pelo destinatário imediatamente após o recebimento da mensagem Timestamp Request. • O campo TIMESTAMP DE TRANSMISSÃO é preenchido pelo destinatário imediatamente antes do envio da mensagem Timestamp Reply. Prof. Marcus Fábio, M.Sc Protocolos de Roteamento Centro Universitário Estácio do Ceará 18 Referências Bibliográficas • RFC 792 • Interligação de Redes com TCP/IP, Douglas Comer, 5ª Edição – Cap. 8 • Redes de Computadores e a Internet, James Kurose, 5ª Edição – Seção 4.4.3 • Redes de Computadores, Andrew Tanenbaum, 4ª Edição – Seção 5.6.3 • TCP/IP Ilustrado – Volume 1, Richard Stevens, 1ª Edição – Cap. 6 • Biblioteca Virtual Estácio • http://noahdavids.org/self_published/TTL_values.html • http://www.binbert.com/blog/2009/12/default-time-to-live-ttl-values/ • http://www.colasoft.com/capsa/diagnose_network_by_ttl_value.php
Compartilhar