Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercício Proponha uma solução de endereçamento IP com máxima eficiência para a rede ao lado: 23 hosts 210 hosts 1310 hosts 5 hosts Protocolo de roteamento Aula 04 – Protocolo ICMP PROF. MSC. PAULO SENA Agenda O protocolo ICMP Comandos: ◦ Ping ◦ Tracert/Traceroute O protocolo ICMP O protocolo ICMP (Internet Control Message Protocol) é um protocolo que permite gerir as informações relativas aos erros nas máquinas conectadas. Dado os poucos controles que o protocolo IP realiza, permite não corrigir estes erros mas dá-los a conhecer aos protocolos das camadas vizinhas. Assim, o protocolo ICMP é utilizado por todos os switchs, que o utilizam para assinalar um erro (chamado Delivery Problem). As mensagens de erro ICMP são transportadas na rede sob a forma de datagrama, como qualquer dado. Assim, as mensagens de erro podem elas mesmas estar sujeitas a erros. Contudo, no caso de erro num datagrama que transporta uma mensagem ICMP, nenhuma mensagem de erro é emitida para evitar um efeito “bola de neve” no caso de incidente sobre a rede. É encapsulado no datagrama IP. O protocolo ICMP O protocolo ICMP Cada mensagem ICMP contém três campos que definem a sua finalidade e fornecem uma soma de verificação. Eles são campos tipo e código da soma de verificação. O campo Tipo identifica a mensagem ICMP, o campo de código fornece mais informações sobre o campo de tipo associado e a soma de verificação oferece um método para determinar a integridade da mensagem O protocolo ICMP Solicitação de eco e de resposta de eco: Este é o mais usado para testar a conectividade IP conhecida como PING de ICMP. O ICMP de solicitação de eco terá um campo de tipo de 8 e um campo de código de 0. Respostas de eco tem um campo de tipo de 0 e um campo de código de 0. Destino inalcançável: Quando um pacote é entregue, será gerado um ICMP Destino inacessível. Retardamento de origem: Uma mensagem de exclusão de origem ICMP tem um campo de tipo de código 0 e 4. Mensagens de retardamento de origem são enviadas quando o destino é capaz de processar tráfego tão rápido quanto a fonte está enviando a ele. O ICMP de retardamento de origem informa a fonte para reduzir a taxa em que ele está enviando dados. O destino vai continuar a gerar ICMPs de retardamento de origem até que a fonte esteja enviando a uma velocidade aceitável. O protocolo ICMP Redirecionar mensagem: Um dispositivo intermediário irá gerar uma mensagem de redirecionamento ICMP quando ele determina que uma rota está sendo solicitada pode ser acessada localmente ou através de um caminho melhor. Redirecionar mensagem ICMPs são tipo 5 e são definidos posteriormente pelos seguintes valores de campo de código: Value Description ----- ----------- 0 Redirect datagrams for the Network 1 Redirect datagrams for the Host 2 Redirect datagrams for the Type of Service and Network 3 Redirect datagrams for the Type of Service and Host O protocolo ICMP Tempo excedido: Se um roteador ou host descartar um pacote devido a um tempo limite, ele irá gerar um tempo excedido tipo 11 ICMP. O ICMP de tempo excedido terá um valor de código de 0 ou 1. Um código é gerado quando a contagem de saltos de um datagrama é excedida e o pacote será descartado. 1 código é gerado quando a remontagem de um pacote fragmentado excede o valor de tempo limite. Problema de parâmetro: Quando um host ou dispositivo intermediário descarta um datagrama devido à incapacidade de processo, é gerado um 12 ICMP. Causas comuns de ICMP são informações de cabeçalho danificado ou falta de opções. Se o motivo do ICMP é uma opção ausente necessária, o ICMP terá um código de valor 1. Se o valor do código for 0, o campo de ponteiro irá conter o octeto de cabeçalho do datagrama descartado em que o erro foi detectado. O protocolo ICMP Requisição de carimbo de hora & Resposta de carimbo de hora: é um método rudimentar para sincronizar a hora mantida em dispositivos diferentes. A solicitação tem um campo de tipo de 13 e a resposta é 14 de tipo. Esse método de sincronização de hora é crua e não confiáveis. Portanto, ele não é muito usado. Solicitação de informações e resposta de informações: Esses tipos ICMP foram originalmente concebidos para permitir que um host de inicialização descobrir o endereço IP. Este método é obsoleto e não é mais usado. Os métodos mais comuns para a detecção de endereço IP são DHCP (protocolo de configuração dinâmica de hosts) e BOOTP (bootstrap protocol). BOOTP é definido pelo RFC1542 e DHCP é definido pela RFC1541. O protocolo ICMP Solicitação de máscara de endereço & resposta de máscara de endereço: Um computador de inicialização para determinar a máscara de sub-rede em uso na rede local usa endereço máscara ICMP tipo 17 solicitar. Um dispositivo intermediário ou um computador atuando como um dispositivo intermediário responderá com um tipo de 18 ICMP endereço máscara resposta ICMP. O comando ping O ping é um utilitário para testar a conectividade IP entre hosts. O ping envia solicitações de resposta para um endereço de host especificado. O ping usa um protocolo da Camada 3, que é parte de um conjunto TCP/IP chamado Internet Control Message Protocol (ICMP). O ping usa um datagrama de Solicitação de Eco ICMP. Se o host do endereço especificado receber a solicitação de Eco, ele responde com um datagrama de Resposta de ECO ICMP. Para cada pacote enviado, o ping mede o tempo necessário da resposta. À medida que cada resposta é recebida, o ping fornece uma amostra de tempo entre o ping enviado e a resposta recebida. Isso mede o desempenho da rede. O ping tem um valor de tempo de espera para a resposta. Se a resposta não é recebida dentro do tempo de espera, o ping desiste e apresenta uma mensagem que indica que a resposta não foi recebida. Depois que todos os pedidos foram enviados, o ping fornece uma saída com o resumo das respostas. Essa saída inclui a taxa de sucesso e o tempo médio de viagem de ida e volta do destino. O comando ping Ping para o Loopback Local: Há alguns casos especiais de teste e verificação para os quais usamos o ping. Um caso é o teste da configuração interna do IP no host local. Para realizar esse teste, fazemos um ping para o endereço reservado especialmente para o loopback local (127.0.0.1). Uma resposta do endereço 127.0.0.1 indica que o IP está adequadamente configurado no host. O comando ping Ping para host/gateway: Você também pode usar o ping para testar a habilidade do host de se comunicar com a rede local. Isso em geral é feito pingando o endereço IP do gateway do host. Um ping para o gateway indica que o host e a interface do roteador que serve como gateway estão operacionais na rede local. Ping para host remoto: Você também pode usar o ping para testar a capacidade do host local se comunicar por uma rede. O host local pode fazer o ping para um host de uma rede remota. Se esse ping tiver êxito, você terá verificado a operação de uma grande parte da rede. O comando tracert/traceroute O ping é usado para indicar a conectividade entre dois hosts. O Traceroute (tracert) é um utilitário que nos permite observar o caminho entre esses hosts. O trace gera uma lista dos saltos que foram bem-sucedidos ao longo do caminho. Essa lista pode nos dar informações importantes para verificação e solução de erros. Se os dados atingem o destino, o trace irá listar a interface de todo roteador no caminho. Se o dado falha em algum salto ao longo do caminho, nós temos o endereço do último roteador que respondeu ao trace. Essa é uma indicação de onde o problema ou as restrições de segurança se encontram. O comando tracert/traceroute O comando tracert/traceroute Round Trip Time (RTT) ou Tempo de ida e volta: Usar o traceroute fornece o tempo de ida e volta (RTT) para cada salto ao longo do caminho e indica se um salto deixou de responder. O tempo de ida e volta (RTT) é o tempo que um pacote leva para alcançar o host remoto e para a resposta do host voltar. Um asterisco (*) é usado para indicar que um pacotefoi perdido. Time to Live (TTL) ou Tempo de Vida: Traceroute usa uma função do campo Tempo de Vida (TTL) no cabeçalho da Camada 3 e a Mensagem de Tempo Excedido ICMP. O campo TTL é usado para limitar o número de saltos que um pacote pode cruzar. Quando um pacote entra num roteador, o campo TTL sofre decréscimo de 1. Quando o TTL alcança zero, o roteador não encaminha o pacote e o mesmo é descartado. Protocolo de roteamento Aula 05 Algoritmos de roteamento PROF. PAULO SENA Agenda Algoritmos de Roteamento: Roteamento de estado de enlace (link-state -LS) Roteamento de Vetor de Distância (distance vector - DV) Comparação entre os algoritmos LS e DV Métricas de roteamento Roteamento Hierárquico Algoritmos de roteamento Normalmente um hospedeiro está ligado diretamente a um roteador, o roteador default; O problema de rotear um pacote do hospedeiro de origem até o hospedeiro destinatário se reduz, claramente, ao problema de rotear o pacote da fonte ao roteador de destino; Portanto, dado um conjunto de roteadores conectados por enlaces, um algoritmo de roteamento descobre um “bom” caminho entre o roteador original e o roteador de destino. Algoritmos de roteamento Um “bom” caminho é aquele que tem o menor custo, entretanto, teremos inúmeras questões do mundo real que influenciarão na decisão do “bom” caminho. Algoritmos de roteamento Qual seria o caminho de menor custo entre os nós u e z? Você verificou todos os 17 possíveis caminhos? Algoritmos de roteamento Classificação dos algoritmos de roteamento: Algoritmo de roteamento global: calcula o caminho de menor custo entre uma fonte e um destino usando conhecimento completo e global sobre a rede. O cálculo pode ser rodado em um local ou duplicado em vários locais; Exemplo de algoritmo de roteamento centralizado (o seu cérebro) Algoritmo de roteamento descentralizado: calcula o caminho de menor custo de modo interativo e distribuído. Cada nó começa sabendo apenas os custos dos enlaces diretamente ligados a ele; Algoritmos de roteamento Uma segunda maneira geral de classificar algoritmos de roteamento é como estáticos e dinâmicos: Estáticos: as rotas mudam muito lentamente ao longo do tempo, muitas vezes como resultado de intervenção humana (editando a tabela de repasse do roteador); Dinâmico: mudam os caminhos de roteamento à medida que mudam as cargas de tráfego ou a topologia da rede. Mais suscetíveis a problemas como loops de roteamento e oscilação em rotas; Algoritmos de roteamento Uma terceira maneira de classificar algoritmos de roteamento é como sensíveis à carga ou insensíveis à carga: Algoritmos sensíveis à carga: atribuem custos ao enlace para refletir o nível corrente de congestionamento no enlace subjacente. Algoritmos insensíveis à carga: consideram que o custo de um enlace não reflete explicitamente seu nível de congestionamento corrente (algoritmos utilizados na internet). Roteamento Estado de Enlace Nesse algoritmo lembre-se que a topologia da rede e todos os custos de enlace são conhecidos; ◦ Na prática, cada nó transmite pacotes de estado de enlace a todos os outros nós da rede; O algoritmo de roteamento de estado de enlace á conhecido como algoritmo de Dijkstra, o nome do seu inventor: ◦ O algoritmo de Dijkstra calcula o caminho de menor custo entre um nó e todos os outros da rede Roteamento Estado de Enlace Inicialmente, vamos definir a seguinte notação: ◦ C(i, j): custo do enlace do nó i ao nó j. Custo é infinito se não houver ligação entre i e j; ◦ D(v): custo do caminho de menor custo entre o nó da fonte e o destino v até que essa iteração do algoritmo; ◦ p(v): nó anterior (vizinho de v) ao longo do caminho de menor custo corrente desde a fonte até v; ◦ N': subconjunto de nós; v pertence a N' se o caminho de menor custo entre a fonte e v for conhecido; Roteamento Estado de Enlace Roteamento Estado de Enlace Tomemos como exemplo a rede da figura abaixo: ◦ O algoritmo consiste em uma etapa de inicialização seguida de um loop; ◦ O número de vezes que o loop é rodado é igual ao número de nós na rede; Roteamento Estado de Enlace Vamos detalhar alguns dos primeiros estágios: ◦ Inicialização: os caminhos de menor custo correntemente conhecidos de u até os vizinhos diretamente ligados a ele (v, w e x) são inicializados para 2, 1 e 5, respectivamente. Os custos até y e z são estabelecidos como infinito; ◦ Na 1ª iteração: examinamos os nós que ainda não foram adicionados ao conjunto N' e descobrimos o nó de menor custo ao final da interação anterior (nó x), então, x é adicionado ao conjunto N'. Roteamento Estado de Enlace A linha 12 do algoritmo é então rodada para atualizar D(v) para todos os nós v, produzindo o seguinte resultado: O custo do caminho até v não muda. O custo do caminho até w através do nó x é 4, portanto, a tabela é atualizada. De maneira semelhante, o custo até y (através de x) é computado como 2. Roteamento Estado de Enlace Segunda iteração: verificamos que os nós v e y são os que têm os caminhos de menor custo (2); decidimos o empate arbitrariamente e adicionamos o y ao conjunto N'; O custo dos nós remanescentes que ainda não estão em N' (isto é, nós v, w e z) são atualizados pela linha 12 do algoritmo Ls, produzinho o seguinte resultado: Roteamento Estado de Enlace Roteamento Estado de Enlace Ao final do algoritmo LS, temos, para cada nó, seu predecessor ao longo do caminho de menor custo a partir do nó da fonte: ◦ Temos também o predecessor para cada um desses predecessores, veja: Roteamento Estado de Enlace
Compartilhar