O OSPF (Open Shortest Path First) é um protocolo de roteamento desenvolvido para redes IP pelo grupo de trabalho do Interior Gateway Protocol (IGP) do Internet Engineering Task Force (IETF). Esse grupo de trabalho foi formado em 1988 para projetar um protocolo IGP baseado no algoritmo Shortest Path First (SPF) para uso na internet.
O OSPF foi criado pela mesma razão que o IGRP: o protocolo RIP estava se tornando incapaz de operar em redes grandes e heterogêneas. O OSPF é padronizado pelo RFC 2328 sendo, portanto, um padrão aberto e bastante difundido entre todos os fabricantes de roteadores.
O OSPF é um protocolo do tipo Estado do Enlace (Link State). Como tal, ele solicita aos roteadores dentro da mesma área hierárquica que enviem Anúncios do Estado do Enlace (Link State Advertisements – LSAs), que contêm informações sobre métricas usadas, interfaces conectadas e outras variáveis. À medida que os roteadores acumulam informações sobre o estado dos enlaces, eles usam o algoritmo SPF para calcular a menor trajetória para cada nó.
O OSPF contrasta com os protocolos RIP e IGRP, que usam algoritmo de Vetor de Distância (Distance Vector). Estes últimos enviam parte ou toda a tabela de roteamento em mensagens de atualização de rotas, mas somente para seus vizinhos. Diferentemente do RIP, o OSPF pode operar dentro de uma hierarquia. A entidade de nível mais alto é o Sistema Autônomo (Autonomous System – AS) que é uma coleção de redes sob uma administração comum, compartilhando uma estratégia de roteamento comum. OSPF é um protocolo de roteamento intra-AS (Interior Gateway), embora seja capaz de receber e enviar rotas para outros ASs.
O algoritmo SPF é a base para operação do OSPF. Quando um roteador OSPF é ligado, ele inicializa suas estruturas de dados do protocolo de roteamento e espera que os protocolos da camada inferior indiquem que suas interfaces estão funcionais. Uma vez assegurado do funcionamento de suas interfaces, o roteador usa mensagens de Hello para conhecer seus vizinhos, que são roteadores com interfaces para uma rede comum.
As métricas, por default, são calculadas segundo a velocidade do enlace, usando a fórmula:
- Custo = 108 / velocidade de enlace.
Exemplo: um enlace de 100Mbps terá o custo = 100000000 / 100000000 = 1.
Um enlace E1 de 2,048 Mbps terá o custo = 100000000 / 2048000 = 48.
Comparação das características dos protocolos RIP e OSPF:
- RIP é limitado a 15 hops, acima disso é inalcançável; o OSPF não tem limite no número de hops;
- RIPv1 não suporta VLSM, que é um recurso muito útil para o aproveitamento de endereçamento IP; o RIPv2 suporta VLSM, bem como o OSPF, que faz um uso inteligente desse recurso;
- Broadcasts periódicos da tabela de roteamento completa consomem grandes quantidades de largura de banda, especialmente em redes maiores, e são críticos em enlaces seriais lentos e redes WAN; OSPF só faz broadcast quando há alteração na tabela de roteamento;
- RIPv1 não suporta mensagens multicast de atualização de tabelas, apenas o RIPv2, bem como o OSPF;
- RIP tem uma convergência mais lenta do que o OSPF, porque os roteadores RIP temporizam hold-down e garbage collection, e demoram para perceber o timeout de informações; o OSPF propaga instantaneamente as informações da tabela de roteamento, e não periodicamente como o RIP;
- RIP usa somente a métrica de número de hops, sem considerar retardo dos enlaces e custos das rotas, que são parâmetros importantes em grandes redes; links com menos hops são sempre preferidos em detrimento de links com mais hops, embora esses últimos possam ser mais velozes;
- OSPF considera o custo de cada rota e faz um melhor balanceamento de carga considerando o uso de rotas alternativas; isso é possível porque o OSPF tem um banco de dados da topologia da rede e não apenas dados de cada rota que ele conhece; em conseqüência disso, o OSPF calcula rotas livres de loops;
- Redes RIP não têm hierarquia (são ditas flat — planas), não permitindo a definição de áreas; OSPF permite a divisão do domínio de roteamento (AS) em várias áreas, reduzindo a propagação de informações de roteamento;
- RIPv1 não autentica mensagens de atualização de tabelas, apenas o RIPv2, bem como o OSPF;
- RIP não permite a comunicação com protocolos exteriores ao AS (como o BGP, por exemplo); o OSPF permite a introdução de rotas externas oriundas do BGP.
Um Sistema Autônomo (AS) consiste de roteadores que dividem informações pelo mesmo protocolo de roteamento. Esses roteadores estão usualmente sob o controle de uma administração comum.
Para cada sistema autônomo é dado um único número. Um AS é requerido por alguns protocolos de roteamento interno como o OSPF.
O protocolo OSPF possui um plano hierárquico de roteamento, onde o ponto de parte está na área zero, e todas as demais áreas são criadas a partir desta.
CARACTERÍSTICAS
Enquanto o RIP converge proporcionalmente ao número de nós da rede, o OSPF converge em uma proporção logarítmica ao número de enlaces. Isto torna a convergência do OSPF muito mais rápida. Além disso, no protocolo RIP, a mensagem é proporcional ao número de destinos; portanto, se a rede é muito grande, cada mensagem terá de ser subdividida em vários pacotes, diminuindo mais ainda a velocidade de convergência. Por sua concepção, o OSPF é adequado a redes de médio e grande porte.
O Algoritmo SPF (Shortest Path First) ou Dijkstra é utilizado para a computação do menor caminho.
–Métrica: custo de saída da interface.
Protocolo de Estado de Enlace (Link State) é a base construção de um banco de dados topológico as informações para a construção desse bando de dados é feito através de LSAs (Link State Advertisements) contêm informações sobre interfaces, métricas e outras variáveis.
HIERARQUIA DE ROTEAMENTO
A hierarquia é implementada através da criação de diversas áreas
–Área é uma divisão do AS – grupo de redes contíguas com os seus hosts.
–Um roteador limite é um roteador que participa de pelo menos, duas áreas.
–Cada área possuí seu próprio banco de dados topológico: imagem geral da rede em relação com os roteadores.
O algoritmo SPF é o responsável pela definição do melhor caminho para uma determinada rota de uma rede. Ele é executado individualmente por todos os roteadores, formando banco de dados topológico (LSAs). Cada área roda uma cópia independente do SPF. Quando ligado, o roteador executa a seguinte sequência:
1.Inicializa as estruturas de dados do protocolo.
2.Determina quais são as interfaces funcionais.
3.Tenta formar adjacências com seus novos vizinhos.
4.Periodicamente anuncia o estado de seus enlaces.
5.A partir do seu banco de dados, ele calcula as rotas para as redes vizinhas.
PROCESSO DE INICIALIZAÇÃO
1.O roteador utiliza mensagens Hello para conhecer os seus vizinhos.
2.Estes pacotes também agem como “sinais de vida” dos roteadores.
3.OSPF elege um roteador DR (Designate Router) e um BDR (Backup Designate Router) para cada segmento de rede.
4.Quando o banco de dados de LSA (Link State Advertisement) de dois vizinhos estão sincronizados estes são chamados de ADJACENTES.
APENAS ROTEADORES ADJACENTES TROCAM PACOTES DE ROTEAMENTO.
–Em roteadores Cisco, a identidade de um router são dadas por:
- Parâmetro Router-id, se explicitamente configurado no OSPF.
- Pelo endereço IP da interface de Loopback, se houver.
- O Maior endereço IP entre todas as suas interfaces.
ELEIÇÃO DE UM ROTEADOR
–A eleição dos roteadores DR e BDR se baseia em dois parâmetros:
1.Maior Prioridade daquela interface no processo.
2.O maior Router-id: endereço IP que identifica o roteador.
Durante o processo de eleição via Hello, os roteadores precisam estabelecer adjacências (vizinhanças) para iniciar a troca de LSAs.
Existem dois tipos de adjacências:
–2-way: adjacência em dois passos.
–Full: Adjacência completa ou direta.
O Banco de Dados topológico somente é trocado sobre adjacências do tipo Full.
Quando roteadores tem uma adjacência full?
–quando as conexões são ponto a ponto (full).
–quando a rede é um virtual link (full).
–quando o router é o DR (full).
–quando o router é o BDR (full).
–quando está fazendo vizinhança com o DR.
–quando está fazendo vizinhança com o BDR.
Tipo Full
–Os roteadores conhecem todas suas adjacências, as bases de dados do DR e BDR estão sincronizadas. Os LSAs são propagados através das adjacências
Tipo 2-way
O roteador vê a si mesmo em outros pacotes de Hello. O processo de seleção do DR ocorre durante o estado 2-way ou seguintes.
Após o estabelecimento de adjacências, inicia uma troca periódica de LSAs entre os routers.
Os LSAs são enviados sempre que o estado de um roteador se modifica.
Ele necessita que todos os roteadores compartilhem as mesmas informações sobre os enlaces de todos os roteadores.
Uma vez comparada todas as adjacências estabelecidas a estados de enlaces, roteadores com falha podem ser detectados rapidamente.
A partir do Banco de Dados topológico gerado dos LSAs, cada roteador calcula uma árvore de caminhos mais curto. Esta árvore irá fornecer a tabela de todas as rotas, para todos roteadores.
ÁREAS DO OSPF
As áreas limitam o escopo das informações de roteamento limitando a circulação dos diversos tipos de LSAs. Sendo assim, não é possível para um roteador filtrar quaisquer anúncios dentro de uma mesma área. A base de dados dos enlaces (LSDB) de uma mesma área precisa ser sincronizada e ser exatamente igual para todos os roteadores da área.
Sumarização e filtragem somente é possível entre áreas distintas. O principal motivo para existirem áreas é a realização de filtragem e sumarização de rotas.
“Área 0” é chamada de “Backbone Area”.
Todas as áreas devem se conectar à “Backbone Area”.
Roteadores da mesma área contém bancos de dados topológicos iguais. A topologia de uma área é invisível às entidades de outras áreas (menor tráfego OSPF). Existem rotas intra-áreas e inter-áreas. Um backbone é responsável por distribuir informações de roteamento entre as áreas. Roteadores possuem diferentes funções, de acordo com a sua localização.
- Internal Router.
- Backbone Router.
- Area Border Router.
- AS Border Router.
O backbone também é uma área e, como tal, tem os mesmos procedimentos e algoritmos para manter a informação de roteamento dentro dele que as outras áreas.
Roteadores limites do AS aprendem sobre rotas externas através de protocolos de gateway externos, tais como EGP e BGP.
A área backbone é essencialmente uma área normal (standard)
ÁREA NORMAL NÃO STUB
Há uma necessidade de criar Redes sumarizadas de outras áreas são injetadas, sendo assim as Redes externas são injetadas.
Este tipo de área pode possuir um ASBR (Autonomous System Border Router):
- Importam rotas de outro protocolo, ou é a ponta final de um enlace virtual.
- Transmitem rotas default, estáticas, intra-áreas, inter-áreas e externas.
- São as áreas que precisam de mais recursos.
ÁREA STUB
Neste tipo de área as Rotas sumarizadas (3 e 4) são injetadas, por default é injetada – representa os links externos
Default path para o ABR mais próximo
Define todos os routes na área como STUB
Transmitem rotas default, intra-áreas e inter-áreas, mas não rotas externas.
Recomendado para áreas que têm apenas um roteador limite e são geralmente úteis em áreas com múltiplos roteadores limites.
ÁREA TOTALMENTE STUB
Somente a rota default é injetada dentro da área (representando as redes externas e todas as rotas inter-area)
Transmitem apenas rotas default e intra-áreas.
Seu uso é recomendado para configurações simples onde um único roteador conecta a área ao backbone.
ÁREA NÃO TÃO STUB (NSSA)
Capaz de importar rotas externas de uma forma limitada
LSA Tipo-7 carregam as informações dentro de uma NSSA
Os rotadores de borda de uma área NSSA traduzem os LSAs tipo 7 para redes externas (LSA tipo 5)
OBS: Justifica-se quando se tem um peering com outro AS ligado a um router dentro de uma área diferente do backbone.