O custo (também denominado métrica) de uma interface no OSPF é uma indicação do overhead exigido para enviar pacotes por uma determinada interface. O custo de uma interface é inversamente proporcional à sua largura de banda. Uma largura de banda mais alta indica custos mais baixos. Há mais sobrecarga (custo maior) e retardos de tempo envolvidos no cruzamento de uma linha serial de 56k do que no cruzamento de uma linha ethernet de 10M. A fórmula utilizada para calcular o custo é:
Por exemplo, custará 10 EXP8/10 EXP7 = 10 para cruzar uma linha de Ethernet 10M e custará 10 EXP8/1544000 = 64 para cruzar uma linha T1.
Por padrão, o custo de uma interface é calculada com base na largura de banda; você pode forçar o custo de uma interface com o comando do modo de subconfiguração de interface ip ospf cost <value>.
Acima está uma visão da rede como observada do RTA. Observe a direção das setas ao calcular o custo. Por exemplo, o custo da interface do RTB à rede 128.213.0.0 não é relevante ao calcular o custo para 192.213.11.0. O RTA pode alcançar o 192.213.11.0 através do RTB com um custo de 15 (10+5). O RTA também pode alcançar 222.211.10.0 via RTC, com um custo de 20 (10+10), ou via RTB, com um custo de 20 (10+5+5). Caso existam caminhos de custo igual no mesmo destino, a implementação do OSPF da Cisco acompanhará até os seis saltos seguintes para o mesmo destino.
Depois que o roteador criar a árvore de caminho mais curto, ele começará a construir a tabela de roteamento conforme necessário. As redes conectadas diretamente serão alcançadas por uma métrica (custo) de 0, e outras redes serão alcançadas de acordo com o custo calculado na árvore.
Conforme mencionado anteriormente, o OSPF usa a inundação para trocar atualizações de estado de link entre roteadores. Qualquer alteração nas informações de roteamento é inundada em todos os roteadores da rede. As áreas são introduzidas para colocar um limite na explosão de atualizações de estado de enlace. A inundação e o cálculo do algoritmo Dijkstra de um roteador limita-se a alterações em uma área. Todos os roteadores dentro de uma área tem o banco de dados de estado de enlace exato. Os roteadores que pertencem a várias áreas e conectam essas áreas à área de backbone são chamados de roteadores de borda de área (ABR). Os ABRs devem, portanto, manter informações que descrevem as áreas de backbone e outras áreas associadas.
Uma área é específica à interface. Um roteador que tenha todas as suas interfaces dentro da mesma área é denominado um roteador interno (IR). Um roteador que tenha interfaces em várias áreas é chamado de roteador de borda de área (ABR). Roteadores que funcionam como gateways (redistribuição) entre OSPF e outros protocolos (IGRP, EIGRP, IS-IS, RIP, BGP, Static) ou outras instâncias do processo de roteamento de OSPF são chamados de ASBR (roteador de limite de sistema autônomo). Qualquer roteador pode ser um ABR ou um ASBR.
Há tipos diferentes de Pacotes Link State, normalmente vistos em um banco de dados OSPF (Apêndice A). Os diferentes tipos são ilustrados no diagrama a seguir:
Como indicado acima, os links do roteador são uma indicação do estado das interfaces em um roteador que pertence a uma determinada área. Cada roteador gerará um enlace de roteador para todas as interfaces. Os links de resumo são gerados por ABRs; é dessa forma que as informações de acessibilidade da rede são disseminadas entre áreas. Geralmente, todas as informações são inseridas no backbone (área 0), que, por sua vez, as repassa para outras áreas. Os ABRs também têm a tarefa de propagação da alcançabilidade do ASBR. É desta forma que os roteadores sabem como obter rotas externas em outros ASs.
Os links de rede são gerados por um DR (Roteador Designado) em um segmento (os DRs serão discutidos mais tarde). Essa informação é um indicativo de todos os roteadores conectados a um segmento de multiacesso particular, tais como Ethernet, Token Ring e FDDI (também NBMA).
Links externos são uma indicação de rede fora do AS. Essas redes são injetadas no OSPF através da redistribuição. O ASBR tem a tarefa de injetar essas rotas em um sistema autônomo.
Atribuindo áreas às interfaces utilizando o comando network <endereço de rede ou IP> <máscara> <Id de área>.
O ID de processo OSPF é um valor numérico local para o roteador. Esse valor não precisa coincidir com os IDs de processo de outros roteadores. É possível executar vários processos de OSPF no mesmo roteador, mas não é recomendável pois são criadas várias instâncias do banco de dados que acrescentam carga adicional ao roteador.
O comando network é uma maneira de atribuir uma interface a uma determinada área. A máscara é utilizada como um atalho e ajuda a colocar uma lista de interfaces na mesma área com uma linha de configuração de linha. A máscara contém bits de caractere curinga em que 0 é uma correspondência e 1 é um bit tipo "qualquer um", p. ex., 0.0.255.255 indica uma correspondência nos dois primeiros bytes do número de rede.
O ID da área é o número de área na qual queremos que a interface esteja. O id de área pode ser um número inteiro entre 0 e 4294967295 ou pode ter forma semelhante à de um endereço IP A.B.C.D.
A primeira instrução de rede coloca E0 e o E1 na mesma área 0.0.0.0, e a segunda instrução de rede coloca E2 na área 23. Observe a máscara de 0.0.0.0, que indica uma correspondência completa de dados direta no endereço IP. É uma maneira fácil de colocar uma interface em uma determinada área se você estiver tendo problemas para determinar uma máscara.
É possível autenticar os pacotes OSPF de forma que os roteadores possam participar dos domínios de roteamento com base em senhas predefinidas. Por padrão, um roteador usa uma autenticação nula, o que significa que as trocas de roteamento em uma rede não são autenticadas. Há outros dois métodos de autenticação: Autenticação por senha simples e autenticação do Message Digest (MD-5).
A autenticação simples de senha permite que uma senha (chave) seja configurada por área. Os roteadores na mesma área que quiserem participar do domínio de roteamento terão de ser configurados com a mesma chave. O inconveniente desse método é que ele é vulnerável aos ataques passivos. Qualquer pessoa que tiver um analisador de link poderá obter facilmente a senha pelo fio. Para habilitar a autenticação de senha, use os seguintes comandos:
A autenticação do Message Digest é uma autenticação criptográfica. Uma chave (senha) e o ID da chave são configurados em cada roteador. O roteador usa um algoritmo baseado no pacote de OSPF, na chave e no ID da chave para gerar um "sumário de mensagem" que é anexado ao pacote. Ao contrário da autenticação simples, a chave não é transmitida pela rede. Um número de seqüência não-decrescente também é incluído em cada pacote OSPF para proteção contra ataques de replay.
Esse método também permite transições ininterruptas entre chaves. Isso é útil para administradores que desejam alterar a senha de OSPF sem interromper a comunicação. Se uma interface for configurada com uma nova chave, o roteador enviará cópias múltiplas do mesmo pacote, cada uma autenticada por diferentes chaves. O roteador parará de enviar pacotes duplicados assim que detectar que todos os vizinhos adotaram a nova chave. Estes são os comandos usados para a autenticação de compilação de mensagens:
O OSPF tem restrições especiais quando há várias áreas envolvidas. Se mais de uma área for configurada, uma dessas áreas deverá ser 0. Isso é chamado de backbone. Ao designar redes, é importante iniciar com uma área 0 e, em seguida, expandir para outras áreas mais tarde.
O backbone deve estar no centro de todas áreas restantes, isto é, todas as áreas devem estar fisicamente conectadas ao backbone. A razão por trás disso é que o OSPF espera que todas as áreas injetem informações de roteamento no backbone e, por sua vez, o backbone irá disseminar essa informação nas outras áreas. O seguinte diagrama ilustrará o fluxo de informações em uma rede OSPF:
No diagrama acima, todas as áreas são diretamente conectadas ao backbone. Nas raras situações em que há uma nova área que não pode ter acesso físico direto ao backbone é introduzida, será necessário configurar um enlace virtual. Links virtuais serão abordados na próxima seção. Observe os diferentes tipos de informações de roteamento. Os roteadores gerados a partir de uma área (o destino pertence à área) são chamados de rotas entre áreas. Essas rotas são representadas normalmente pela letra O na tabela de roteamento de IP. As rotas que se originam de outras áreas são chamadas de interáreas ou Rotas de resumo. A notação dessas rotas é O IA na tabela de roteamento de IP. As rotas que se originam de outros protocolos de roteamento (ou de processos OSPF diferentes) e que são injetadas no OSPF por redistribuição são chamadas de rotas externas. Estas rotas são representadas por O E2 ou O E1 na tabela de IP Routing. Vários roteadores para o mesmo destino são preferenciais na seguinte ordem: intra-área, interárea, E1 externo, E2 externo. Os tipos externos E1 e E2 serão explicados mais tarde.
Como mencionado anteriormente, a área 0 deve estar no centro de todas as demais. Em alguns casos raros, quando é impossível ter uma área conectada fisicamente ao backbone, um link virtual é utilizado. O link virtual fornecerá à área desconectada um caminho lógico ao backbone. O link virtual deve ser estabelecido entre dois ABRs que tenham uma área comum, com o um ABR conectado ao backbone. Isso é ilustrado no seguinte exemplo: