Protocolo OSPF UNIP Renê Furtado Felix [email protected] Protocolo OSPF Introdução O protocolo OSPF é um protocolo de roteamento link-state (estado de enlace). A idéia por trás de roteamento link-state é simples e pode ser apresentada em cinco partes: Descobrir seus vizinhos e aprender sobre seus endereços de rede. Medir o atraso ou o custo para cada um dos seus vizinhos Construir um pacote contendo tudo que acabou de aprender Mandar este pacote a todos os outros roteadores Computar o caminho mínimo para cada roteador Renê Furtado Felix Protocolo OSPF UNIP 2 Introdução Protocolo OSPF O protocolo OSPF é um protocolo de roteamento classless. Entender as classes de endereços A, B e C é importante para compreender o uso das máscaras de sub-rede e por isso elas ainda são muito estudadas, mas é importante ter em mente que, na prática, elas são uma designação obsoleta. Naturalmente, ainda existem muitas redes que utilizam faixas de endereços de classe A, B e C, mas as faixas alocadas atualmente utilizam quase sempre o novo sistema. A solução para o problema foi a implantação do sistema CIDR (abreviação de "Classless Inter-Domain Routing"), a partir de 1993. No CIDR são utilizadas máscaras de tamanho variável que permitem uma flexibilidade muito maior na criação das faixas de endereços. Outra mudança é que as faixas de endereços não precisam mais iniciar com determinados números. O CIDR permite também que várias faixas de endereços contínuas sejam agrupadas em faixas maiores, de forma a simplificar a configuração. Renê Furtado Felix Protocolo OSPF UNIP 3 Protocolo OSPF Introdução O protocolo OSPF é um protocolo de roteamento que usa a largura de banda como métrica de custo. O cálculo de custo de um determinado caminho para um destino é um dos conceitos mais importantes neste tipo de protocolo sendo, aliás, um dos pontos mais fortes do OSPF. O custo de uma interface costuma ser inversamente proporcional à largura de banda da mesma, ou seja, o custo final de cada caminho está relacionado com a qualidade do enlace. Isso nos permite ter um custo menor em uma largura de banda maior. Renê Furtado Felix Protocolo OSPF UNIP 4 Protocolo OSPF Introdução Renê Furtado Felix Protocolo OSPF UNIP 5 Protocolo OSPF Encapsulamento de mensagens OSPF Renê Furtado Felix Protocolo OSPF UNIP 6 Protocolo OSPF Tipos de pacotes OSPF 1. Hello - Os pacotes Hello são utilizados para estabelecer e manter a adjacência com outros roteadores OSPF. 2. DBD - O pacote de Descrição de Bancos de Dados (DBD) contém uma lista abreviada do banco de dados link-state do roteador que o está enviando, os roteadores que o recebem comparam com o banco de dados link-state local. 3. LSR - Os roteadores que recebem podem solicitar mais informações sobre qualquer entrada no DBD enviando uma Requisição Link-State (LSR). 4. LSU - Os pacotes de Atualização Link-State (LSU) são utilizados para responder às LSRs, bem como anunciar novas informações. Os LSUs contêm sete tipos diferentes de Anúncios Link-State (LSAs). 5. LSAck - Quando um LSU é recebido, o roteador envia um Link-State Acknowledgement (LSAck) para confirmar o recebimento do LSU. Renê Furtado Felix Protocolo OSPF UNIP 7 Protocolo OSPF Tipos de pacotes OSPF Os pacotes Hello são utilizados para: Detectar os vizinhos de OSPF e estabelecer as adjacências do vizinho. Anunciar parâmetros nos quais dois roteadores devem concordar em se tornar vizinhos. Eleger o Roteador designado (DR) e o Roteador designado de backup (BDR) em redes multiacesso como a Ethernet e Frame Relay. Renê Furtado Felix Protocolo OSPF UNIP 8 Protocolo OSPF Tipos de pacotes OSPF Tipo de pacote OSPF: Hello (1), DD (2), LS Request (3), LS Update (4), LS ACK (5) ID do roteador: ID do roteador de origem ID da área: área a partir da qual o pacote foi originado; Máscara de rede: Máscara de sub-rede associada com a interface de envio; Intervalo de Hello: número de segundos entre os hellos do roteador de envio; Prioridade do roteador: Utilizado na eleição DR/BDR (discutida posteriormente); Roteador Designado (DR): ID do roteador do DR, se houver; Roteador designado de backup (BDR) ID do roteador do BDR, se houver; Lista de vizinhos: lista o OSPF ID do(s) roteador(es) vizinho(s). Renê Furtado Felix Protocolo OSPF UNIP 9 Protocolo OSPF Estabelecimento da vizinhança O OSPF estabelece uma adjacência com o vizinho. Renê Furtado Felix Protocolo OSPF UNIP 10 Protocolo OSPF Atualizações de OSPF link-state As atualizações do link-state (LSUs) são os pacotes utilizados para atualizações de roteamento OSPF. Um pacote LSU pode conter 11 tipos diferentes de Anúncios Link-State (LSAs), como mostrado na figura. Renê Furtado Felix Protocolo OSPF UNIP 11 Protocolo OSPF Algoritmo OSPF Cada roteador de OSPF mantém um banco de dados link-state contendo os LSAs recebidos de todos os outros roteadores. Quando um roteador recebe todos os LSAs e constrói seu banco de dados link-state local, o OSPF utiliza o algoritmo open shortest path first (SPF) de Dijkstra para criar uma árvore SPF. A árvore SPF é então utilizada para preencher a tabela de roteamento IP com os melhores caminhos para cada rede. Renê Furtado Felix Protocolo OSPF UNIP 12 Protocolo OSPF Algoritmo OSPF Renê Furtado Felix Protocolo OSPF UNIP 13 Protocolo OSPF Distância administrativa A distância administrativa (AD) é a confiança (ou preferência) da origem da rota. O OSPF tem uma distância administrativa padrão de 110. Renê Furtado Felix Protocolo OSPF UNIP 14 Protocolo OSPF Topologia de laboratório A figura mostra a topologia. Observe que o esquema de endereçamento não é contíguo. O OSPF é um protocolo de roteamento classless. Renê Furtado Felix Protocolo OSPF UNIP 15 Protocolo OSPF Topologia de laboratório Observe nesta topologia que há três links seriais de várias larguras de banda e que cada roteador possui vários caminhos para cada rede remota. Renê Furtado Felix Protocolo OSPF UNIP 16 Protocolo OSPF O comando Router OSPF O OSPF é habilitado com o comando de configuração global router ospf process-id. O process-id é um número entre 1 e 65535 escolhido pelo administrador de rede. Em nossa topologia, nós habilitaremos OSPF em todos os três roteadores que utilizam a mesma ID do processo cujo valor será 1. Nós estamos utilizando a mesma ID do processo simplesmente para fins de consistência. R1(config)#router ospf 1 R2(config)#router ospf 1 R3(config)#router ospf 1 Renê Furtado Felix Protocolo OSPF UNIP 17 Protocolo OSPF O comando network As interfaces em um roteador que corresponderem ao endereço de rede no comando network serão habilitadas para enviar e receber pacotes OSPF. Esta rede (ou sub-rede) será incluída nas atualizações de roteamento OSPF. R1(config-router)# network network-address wildcard-mask area area-id OSPF utiliza uma combinação de endereço-de-rede e máscaracuringa. Exemplo: Renê Furtado Felix Protocolo OSPF UNIP 18 Protocolo OSPF ID do roteador OSPF A ID do roteador OSPF é utilizada para identificar unicamente cada roteador no domínio de roteamento OSPF. Com base em três critérios e com a seguinte precedência: 1. Utilize o endereço IP configurado com o comando router-id de OSPF. 2. Se o router-id não estiver configurado, o roteador escolherá o endereço IP mais alto de qualquer uma de suas interfaces de loopback. 3. Se nenhuma interface de loopback estiver configurada, o roteador escolherá o endereço IP ativo mais alto de suas interfaces físicas. O Router-ID é o número pelo qual o roteador é conhecido dentro do processo de OSPF. Por padrão é o maior IP de uma interface ativa ou o ip de uma interface Loopback. Ele também pode ser setado manualmente através do comando Router ID. Exemplo: router-id 10.1.1.1 Renê Furtado Felix Protocolo OSPF UNIP 19 Protocolo OSPF ID do roteador OSPF Você pode utilizar o comando show ip protocols para verificar a ID de roteador atual. Algumas versões do IOS não exibem a ID do roteador como mostrado na figura. Nesses casos, utilize os comandos show ip ospf ou show ip ospf interface para verificar a ID do roteador. Renê Furtado Felix Protocolo OSPF UNIP 20 Protocolo OSPF Endereço de loopback Se o comando router-id de OSPF não for utilizado e as interfaces de loopback estiverem configuradas, o OSPF escolherá o endereço IP mais alto de qualquer uma de suas interfaces de loopback. R1(config)#interface loopback number R1(config-if)#ip address ip-address subnet-mask Renê Furtado Felix Protocolo OSPF UNIP 21 Protocolo OSPF Endereço de router-id Como o comando router-id de OSPF é um acréscimo relativamente recente ao IOS, é mais comum encontrar endereços de loopback utilizados para configurar IDs de roteador OSPF. Router(config)#router ospf process-id Router(config-router)#router-id ip-address Renê Furtado Felix Protocolo OSPF UNIP 22 Endereço de ID Protocolo OSPF A ID do roteador é selecionada quando o OSPF é configurado com seu primeiro comando network de OSPF. Se o comando router-id de OSPF ou o endereço de loopback for configurado depois do comando network do OSPF, a ID do roteador será derivada da interface com o endereço IP ativo mais alto. A ID do roteador pode ser modificada com o endereço IP de um comando router-id de OSPF subsequente carregando o roteador ou utilizando o seguinte comando: R1# clear ip ospf process Nota: modificar uma ID de roteador com um novo endereço IP de interface de loopback ou física pode exigir o recarregamento do roteador. Quando ocorrerem IDs de roteador OSPF duplicadas, o IOS exibirá uma mensagem semelhante a: %OSPF-4-DUP_RTRID1: Detected router with duplicate router ID Para corrigir este problema, configure todos os roteadores de forma que eles tenham IDs de roteador OSPF exclusivas. Renê Furtado Felix Protocolo OSPF UNIP 23 Protocolo OSPF Verificando adjacência com vizinho O comando do vizinho show ip ospf pode ser utilizado para verificar que o roteador formou uma adjacência com seus roteadores vizinhos. Se a ID de roteador do roteador vizinho não for exibida, ou se não se mostrar como um estado de FULL, isso significará que os dois roteadores não formaram uma adjacência de OSPF. Se dois roteadores não estabelecerem adjacência, as informações link-state não serão trocadas. Bancos de dados link-state incompletos podem causar árvores SPF e tabelas de roteamento inexatas. As rotas para as redes de destino podem não existir ou podem não ser o melhor caminho. Os Temporizadores de Hello ou de Dead do OSPF não correspondem. Renê Furtado Felix Protocolo OSPF UNIP 24 Protocolo OSPF Outros comandos eficientes de identificação e solução de problemas OSPF incluem: Renê Furtado Felix Protocolo OSPF UNIP 25 Protocolo OSPF Outros comandos eficientes de identificação e solução de problemas OSPF incluem: Renê Furtado Felix Protocolo OSPF UNIP 26 Protocolo OSPF Métrica do OSPF A métrica do OSPF é chamada de custo. Da RFC 2328: "Um custo está associado com o lado de saída de cada interface do roteador. Este custo é configurável pelo administrador do sistema. Quanto menor o custo, mais provável será o uso da interface para encaminhar o tráfego de dados. O Cisco IOS utiliza as larguras de banda cumulativas das interfaces de saída do roteador para a rede de destino como o valor de custo. Em cada roteador, o custo para uma interface é calculado como 10 à 8a potência dividido pela largura de banda em bps. Renê Furtado Felix Protocolo OSPF UNIP 27 Protocolo OSPF Métrica do OSPF Lembre-se de que, nas métricas de roteamento, a rota de custo mais baixo é a rota preferida (por exemplo, com RIP, 3 saltos é melhor que 10) Renê Furtado Felix Protocolo OSPF UNIP 28 Protocolo OSPF Largura de Banda de Referência A largura de banda de referência é padronizada em 10 à 8a potência, 100.000.000 bps ou 100 Mbps. Isto resulta em interfaces com uma largura de banda de 100 Mbps ou maiores tendo o mesmo custo de OSPF de 1. A largura de banda de referência pode ser modificada para acomodar redes com links mais rápidos que 100.000.000 bps (100 Mbps), usando o comando OSPF auto-cost referencebandwidth. Quando este comando for necessário, recomenda-se que ele seja utilizado em todos os roteadores de modo que a métrica de roteamento OSPF permaneça consistente. Renê Furtado Felix Protocolo OSPF UNIP 29 Protocolo OSPF O OSPF acumula custos O custo de uma rota OSPF é o valor acumulado de um roteador para a rede de destino. Por exemplo, na figura, a tabela de roteamento em R1 mostra um custo de 65 para alcançar a rede 10.10.10.0/24 em R2. Renê Furtado Felix Protocolo OSPF UNIP 30 Protocolo OSPF Modificando o custo do link Quando a interface serial não estiver realmente operando à velocidade de T1 padrão, a interface exigirá uma modificação manual. Ambos os lados do link devem ser configurados para ter o mesmo valor. Renê Furtado Felix Protocolo OSPF UNIP 31 Protocolo OSPF Desafios em redes multiacesso Uma rede multiacesso é uma rede com mais de dois dispositivos compartilhando o mesmo meio. As redes locais Ethernet são um exemplo de uma rede multiacesso com broadcast. Elas são redes com broadcast porque todos os dispositivos na rede observam todos os quadros de broadcast. Elas são redes multiacesso porque pode haver nelas numerosos hosts, impressoras, roteadores e outros dispositivos que são todos membros da mesma rede. Renê Furtado Felix Protocolo OSPF UNIP 32 Protocolo OSPF Desafios em redes multiacesso Por outro lado, em uma rede ponto-a-ponto existem somente dois dispositivos na rede, um em cada ponta. O link de WAN entre R1 e R3 é um exemplo de um link ponto-a-ponto. Renê Furtado Felix Protocolo OSPF UNIP 33 Protocolo OSPF Desafios em redes multiacesso O OSPF define cinco tipos de rede: Ponto-a-ponto Multiacesso com broadcast Rede sem broadcast multiacesso (NBMA) Ponto-a-multiponto Links virtuais NBMA e redes ponto-a-multiponto incluem as redes Frame Relay, ATM e X.25. Renê Furtado Felix Protocolo OSPF UNIP 34 Protocolo OSPF Desafios em redes multiacesso Redes multiacesso podem criar dois desafios para o OSPF com relação ao envio de LSAs: 1. Criação de múltiplas adjacências, uma adjacência para cada par de roteadores. 2. Grande envio de LSAs (Link-State Advertisements, Anúncios Link-State). Adjacências múltiplas A criação de uma adjacência entre cada par de roteadores em uma rede pode criar um número desnecessário de adjacências. Isto conduziria a um número excessivo de LSAs transmitidos entre roteadores na mesma rede. Renê Furtado Felix Protocolo OSPF UNIP 35 Protocolo OSPF Desafios em redes multiacesso Para entender o problema com adjacências múltiplas, precisamos estudar uma fórmula. Para qualquer número de roteadores (designado como n) em uma rede multiacesso, haverá n (n - 1) / 2 adjacências. A figura mostra uma topologia simples de cinco roteadores, dos quais todos estão anexados à mesma rede Ethernet multiacesso. Renê Furtado Felix Protocolo OSPF UNIP 36 Protocolo OSPF Desafios em redes multiacesso "Protocolos de Roteamento Link-State", que os roteadores linkstate enviam seus pacotes link-state quando o OSPF é inicializado ou quando há uma mudança na topologia. Em uma rede multiacesso, este envio pode tornar-se excessivo. Se todo roteador em uma rede multiacesso tivesse que enviar e confirmar todos os LSAs recebidos a todos os outros roteadores nesta mesma rede multiacesso, o tráfego da rede ficaria bastante caótico. Para ilustrar este ponto, imagine que você está em uma sala com grande número de pessoas. E se todo o mundo tivesse que se apresentar individualmente aos outros? Cada pessoa não teria somente que dizer a todos o seu nome, mas sempre que uma pessoa soubesse o nome de outra pessoa, esta pessoa teria que dizê-lo também a todos os outros na sala, um de cada vez. Como você pode ver, este processo leva ao caos! Renê Furtado Felix Protocolo OSPF UNIP 37 Protocolo OSPF Desafios em redes multiacesso Renê Furtado Felix Protocolo OSPF UNIP 38 Protocolo OSPF Desafios em redes multiacesso Renê Furtado Felix Protocolo OSPF UNIP 39 Protocolo OSPF Desafios em redes multiacesso Solução: Roteador designado A solução para gerenciar o número de adjacências e o envio de LSAs em uma rede multiacesso é o Roteador Designado (DR). Renê Furtado Felix Protocolo OSPF UNIP 40 Protocolo OSPF Desafios em redes multiacesso Solução: Roteador designado A solução para gerenciar o número de adjacências e o envio de LSAs em uma rede multiacesso é o Roteador Designado (DR). Renê Furtado Felix Protocolo OSPF UNIP 41 Protocolo OSPF Desafios em redes multiacesso Solução: Roteador designado A solução para gerenciar o número de adjacências e o envio de LSAs em uma rede multiacesso é o Roteador Designado (DR). Renê Furtado Felix Protocolo OSPF UNIP 42 Protocolo OSPF Desafios em redes multiacesso show ip ospf interface na figura. Renê Furtado Felix Protocolo OSPF UNIP 43 Protocolo OSPF Desafios em redes multiacesso Quando o DR é eleito, ele permanece como DR até que uma das condições seguintes ocorra: O DR falha. O processo OSPF no DR falha. A interface multiacesso no DR falha. Renê Furtado Felix Protocolo OSPF UNIP 44 Protocolo OSPF Prioridade de interface OSPF Porém, como você já pode ter adivinhado, nós podemos alterar a prioridade de interface OSPF para controlar melhor nossas eleições de DR/BDR. A figura mostra as prioridades da interface OSPF do Roteador A e do Roteador B modificadas de forma que o Roteador A com a prioridade mais alta torne-se o DR e o Roteador B torne-se o BDR. Renê Furtado Felix Protocolo OSPF UNIP 45 Protocolo OSPF Redistribuindo uma rota padrão com OSPF Renê Furtado Felix Protocolo OSPF UNIP 46 Protocolo OSPF Redistribuindo uma rota padrão com OSPF Voltemos à topologia anterior, que agora inclui um novo link para ISP. o roteador localizado entre um domínio de roteamento OSPF e uma rede não-OSPF é chamado de Roteador de Borda de Sistema Autônomo (ASBR). A figura mostra o ASBR (R1) configurado com o endereço IP de Loopback1 e a rota padrão estática encaminhando o tráfego para o roteador ISP: Renê Furtado Felix Protocolo OSPF UNIP 47 Protocolo OSPF Redistribuindo uma rota padrão com OSPF R1(config-router)#default-information originate R1, R2 e R3 na figura. Renê Furtado Felix Protocolo OSPF UNIP 48 Protocolo OSPF Redistribuindo uma rota padrão com OSPF R1(config-router)#default-information originate R1, R2 e R3 na figura. Renê Furtado Felix Protocolo OSPF UNIP 49 Protocolo OSPF Redistribuindo uma rota padrão com OSPF R1(config-router)#default-information originate R1, R2 e R3 na figura. Renê Furtado Felix Protocolo OSPF UNIP 50 Protocolo OSPF Ajustando o OSPF Renê Furtado Felix Protocolo OSPF UNIP 51 Protocolo OSPF Modificando os intervalos de OSPF Você pode desejar alterar os temporizadores de OSPF de forma que os roteadores detectem falhas de rede em menos tempo. Fazer isto aumentará o tráfego, mas muitas vezes há uma necessidade de uma convergência rápida mesmo que isto implique em um tráfego adicional. Os intervalos de Hello e de Dead de OSPF podem ser modificados manualmente utilizando os seguintes comandos de interface: Router(config-if)#ip ospf hello-interval 5 Router(config-if)#ip ospf dead-interval 20 Renê Furtado Felix Protocolo OSPF UNIP 52 Protocolo OSPF Teste Renê Furtado Felix Protocolo OSPF UNIP 53 Protocolo OSPF Teste Renê Furtado Felix Protocolo OSPF UNIP 54 Protocolo OSPF Teste Renê Furtado Felix Protocolo OSPF UNIP 55 BIBLIOGRAFIA Renê Furtado Felix Protocolo OSPF UNIP 56