OSPF

O que é OSPF?

OSPF significa Open Shortest Path First.

Ele é um protocolo de roteamento dinâmico usado para encontrar automaticamente os melhores caminhos dentro de uma rede.

O OSPF é classificado como um protocolo IGP, ou seja, Interior Gateway Protocol. Isso significa que ele é usado dentro de uma mesma organização, empresa ou sistema autônomo.

Ele é muito usado em redes corporativas, provedores e ambientes com vários roteadores.


Para que o OSPF é usado?

O OSPF é usado para trocar informações de rotas entre roteadores.

Exemplos comuns:

Interligar roteadores em uma empresa.
Criar roteamento dinâmico entre filiais.
Substituir rotas estáticas em redes maiores.
Melhorar redundância entre caminhos.
Recalcular rotas automaticamente quando um link cai.
Organizar grandes redes em áreas.
Evitar configuração manual de muitas rotas.


Como o OSPF funciona?

O OSPF funciona trocando informações sobre o estado dos links da rede.

Cada roteador OSPF descobre seus vizinhos, troca informações de topologia e monta um mapa da rede.

Depois disso, ele usa o algoritmo SPF, também conhecido como algoritmo de Dijkstra, para calcular o melhor caminho até cada destino. A Juniper descreve o OSPF como um IGP que usa informações de estado de enlace e calcula rotas com o algoritmo SPF/Dijkstra.

Fluxo básico:

O roteador envia pacotes Hello.
Os roteadores vizinhos se descobrem.
Eles formam adjacência.
Trocam informações de estado de enlace.
Cada roteador monta uma base de dados da topologia.
O algoritmo SPF calcula os melhores caminhos.
As melhores rotas entram na tabela de roteamento.

Exemplo:

Roteador A → Hello → Roteador B
Roteador A ↔ Troca de LSAs ↔ Roteador B
Roteador A → Calcula melhor rota com SPF

Características principais do OSPF

O OSPF possui algumas características importantes:

É um protocolo de roteamento interno.
É um protocolo link-state.
Usa o algoritmo SPF/Dijkstra.
Calcula rotas com base em custo.
Converge mais rápido que RIP em muitos cenários.
Suporta redes grandes.
Suporta divisão por áreas.
Permite autenticação entre roteadores.
Não usa TCP nem UDP.
Usa diretamente o protocolo IP número 89.
É mais complexo que protocolos simples como RIP.


OSPF é a mesma coisa que RIP?

Não.

OSPF e RIP são protocolos de roteamento dinâmico, mas funcionam de formas diferentes.

O RIP é mais simples e usa contagem de saltos.

O OSPF é mais avançado e usa estado de enlace, custo e cálculo SPF.

Resumo:

ProtocoloTipoMétricaUso comum
RIPDistance-vectorNúmero de saltosRedes pequenas e simples
OSPFLink-stateCustoRedes médias e grandes
BGPPath-vectorPolíticas de rotaInternet e provedores

OSPF é a mesma coisa que BGP?

Não.

O OSPF é usado principalmente dentro de uma rede ou organização.

O BGP é usado principalmente entre redes diferentes, como provedores, operadoras e sistemas autônomos.

Resumo:

ProtocoloTipoOnde é usado
OSPFIGPDentro de uma organização
BGPEGPEntre organizações e sistemas autônomos

OSPF usa TCP ou UDP?

Não.

O OSPF não usa TCP nem UDP.

Ele é encapsulado diretamente no IP usando o número de protocolo:

89

A documentação técnica também descreve o OSPF como encapsulado diretamente em IP com o protocolo número 89.

Resumo:

ProtocoloUsa TCP?Usa UDP?Protocolo IP
OSPFNãoNão89

Qual porta o OSPF usa?

O OSPF não usa porta.

Portas são usadas por TCP e UDP.

Como o OSPF não usa TCP nem UDP, ele não possui porta como 80, 443 ou 22.

O correto é dizer:

OSPF usa o protocolo IP 89

E não:

OSPF usa a porta 89

OSPF usa multicast?

Sim.

O OSPF pode usar endereços multicast para comunicação entre roteadores.

No OSPFv2, usado em IPv4, os endereços comuns são:

EndereçoFunção
224.0.0.5Todos os roteadores OSPF
224.0.0.6Roteadores DR e BDR

Esses endereços são usados dentro do segmento local da rede.


O que é link-state no OSPF?

Link-state significa estado de enlace.

Em vez de anunciar apenas uma distância até uma rede, o OSPF anuncia informações sobre seus links, interfaces, vizinhos e custos.

Com essas informações, os roteadores montam uma visão da topologia da rede.

Depois, cada roteador calcula os melhores caminhos.


O que é LSA no OSPF?

LSA significa Link-State Advertisement.

É uma mensagem usada pelo OSPF para anunciar informações sobre a rede.

As LSAs informam dados como:

Links conectados.
Vizinhos OSPF.
Custos das interfaces.
Redes conhecidas.
Mudanças na topologia.

Essas informações ajudam os roteadores a montar a base de dados OSPF.


O que é LSDB no OSPF?

LSDB significa Link-State Database.

É a base de dados onde o roteador guarda as informações de estado de enlace recebidas.

Cada roteador da mesma área deve ter uma LSDB compatível.

Depois, o roteador usa essa base para calcular as melhores rotas.

Exemplo:

LSAs recebidas → LSDB → Algoritmo SPF → Tabela de roteamento

O que é SPF no OSPF?

SPF significa Shortest Path First.

É o cálculo usado pelo OSPF para descobrir o melhor caminho até cada destino.

Esse cálculo é baseado no algoritmo de Dijkstra.

Exemplo simples:

Destino A custa 10
Destino B custa 20
Destino C custa 5

O OSPF escolhe o caminho de menor custo, não necessariamente o caminho com menos saltos.


O que é custo no OSPF?

Custo é a métrica usada pelo OSPF para escolher a melhor rota.

Geralmente, o custo está relacionado à largura de banda da interface.

Links mais rápidos normalmente possuem custo menor.

Exemplo:

LinkCusto exemplo
Link rápidoMenor custo
Link lentoMaior custo

O OSPF escolhe a rota com menor soma de custos até o destino.


O que são áreas no OSPF?

Áreas são divisões lógicas usadas para organizar a rede OSPF.

Elas ajudam a reduzir a complexidade e melhorar a escalabilidade.

A área principal do OSPF é chamada de backbone.

Normalmente ela é representada como:

Area 0

Ou:

0.0.0.0

Outras áreas geralmente precisam se conectar à área 0.


O que é área backbone no OSPF?

A área backbone é a área central do OSPF.

Ela é chamada de:

Area 0

A função dela é interligar as outras áreas OSPF.

Exemplo:

Area 1 → Area 0 → Area 2

Em projetos OSPF multiárea, a área 0 é essencial para o roteamento entre áreas.


O que é vizinhança no OSPF?

Vizinhança é o relacionamento entre dois roteadores OSPF conectados.

Para formar vizinhança, algumas configurações precisam ser compatíveis, como:

Área.
Máscara de rede.
Tempos Hello e Dead.
Autenticação.
Tipo de rede.
MTU, em alguns casos.

Se essas informações não combinarem, a vizinhança pode não formar corretamente.


O que são pacotes Hello no OSPF?

Pacotes Hello são usados para descobrir e manter vizinhos OSPF.

Eles são enviados periodicamente.

Servem para:

Encontrar roteadores OSPF na rede.
Confirmar que o vizinho ainda está ativo.
Formar adjacências.
Eleger DR e BDR em redes multiacesso.

Se um roteador parar de receber Hellos do vizinho, pode considerar o vizinho inativo.


O que são DR e BDR no OSPF?

DR significa Designated Router.

BDR significa Backup Designated Router.

Eles são usados em redes multiacesso, como Ethernet, para reduzir a quantidade de adjacências e tráfego OSPF.

Resumo:

FunçãoSignificado
DRRoteador designado principal
BDRRoteador designado reserva

Se o DR falhar, o BDR pode assumir.


Tipos de pacotes OSPF

O OSPF usa cinco tipos principais de pacotes:

PacoteFunção
HelloDescobre e mantém vizinhos
Database DescriptionResume informações da base OSPF
Link-State RequestSolicita informações de estado de enlace
Link-State UpdateEnvia LSAs
Link-State AcknowledgmentConfirma recebimento de LSAs

Esses cinco tipos de pacotes são parte do funcionamento do OSPF.


Vantagens do OSPF

O OSPF possui várias vantagens:

Converge rapidamente.
Escala melhor que RIP.
Suporta redes grandes.
Usa custo em vez de apenas saltos.
Suporta divisão por áreas.
É um protocolo aberto.
Permite redundância de caminhos.
Recalcula rotas automaticamente.
É muito usado em ambientes profissionais.


Desvantagens do OSPF

O OSPF também possui desvantagens:

É mais complexo que RIP.
Exige mais planejamento.
Pode consumir mais CPU e memória.
Configuração incorreta pode causar problemas de vizinhança.
Redes multiárea exigem bom desenho.
Troubleshooting pode ser mais difícil para iniciantes.


Diferença entre OSPF, RIP e BGP

ProtocoloTipoMétricaUso
RIPIGP distance-vectorSaltosRedes pequenas
OSPFIGP link-stateCustoRedes médias e grandes
BGPEGP path-vectorPolíticasInternet e interconexão entre AS

O OSPF foi criado como uma alternativa mais escalável e eficiente que o RIP para redes maiores.


Como configurar OSPF em roteador Cisco?

Exemplo simples:

conf t
router ospf 1
network 192.168.1.0 0.0.0.255 area 0
network 10.0.0.0 0.0.0.3 area 0
end

Explicação:

router ospf 1 ativa o processo OSPF.
network informa quais redes participarão do OSPF.
area 0 coloca as interfaces na área backbone.


Como configurar Router ID no OSPF?

O Router ID identifica o roteador dentro do domínio OSPF.

Exemplo em Cisco:

conf t
router ospf 1
router-id 1.1.1.1
end

Depois pode ser necessário reiniciar o processo OSPF:

clear ip ospf process

Atenção: use esse comando com cuidado em ambiente real, pois pode derrubar vizinhanças temporariamente.


Como verificar vizinhos OSPF?

Em roteadores Cisco:

show ip ospf neighbor

Verificar rotas OSPF:

show ip route ospf

Verificar interfaces OSPF:

show ip ospf interface brief

Verificar banco de dados OSPF:

show ip ospf database

Como configurar OSPF no Linux com FRRouting?

Instalar FRRouting no Debian, Ubuntu e derivados:

sudo apt update
sudo apt install frr

Habilitar o daemon OSPF:

sudo nano /etc/frr/daemons

Ajuste:

ospfd=yes

Reiniciar FRR:

sudo systemctl restart frr

Entrar no terminal do FRR:

sudo vtysh

Configurar OSPF:

configure terminal
router ospf
 network 192.168.1.0/24 area 0
 network 10.0.0.0/30 area 0
end
write memory

Como testar se o OSPF está funcionando?

Em Cisco:

show ip ospf neighbor

Verificar rotas aprendidas:

show ip route ospf

Verificar interfaces:

show ip ospf interface brief

Em Linux com FRRouting:

sudo vtysh

Depois:

show ip ospf neighbor
show ip route ospf
show ip ospf database

Testar conectividade:

ping ip_de_destino

Verificar caminho:

traceroute ip_de_destino

Erros comuns no OSPF

Vizinhança não forma

Erro comum:

show ip ospf neighbor

não mostra nenhum vizinho.

Possíveis causas:

Área diferente.
Máscara de rede diferente.
Hello e Dead timers diferentes.
Autenticação diferente.
Interface passiva.
Firewall ou ACL bloqueando protocolo IP 89.
Interfaces em redes diferentes.

Verificações:

show ip ospf interface brief
show ip ospf neighbor
show running-config | section ospf

Vizinho fica em INIT

Possíveis causas:

Um roteador recebe Hello, mas não vê seu próprio Router ID no pacote recebido.
Problema de comunicação bidirecional.
ACL bloqueando tráfego em um sentido.
Multicast OSPF com problema.

Verificar:

show ip ospf neighbor
show ip ospf interface

Testar conectividade entre interfaces:

ping ip_do_vizinho

Vizinho fica em 2-WAY

Em redes Ethernet, isso pode ser normal para roteadores que não são DR ou BDR.

Mas pode ser problema se era esperado formar adjacência completa.

Possíveis causas:

Eleição de DR/BDR.
Tipo de rede OSPF.
Configuração de prioridade.
Topologia multiacesso.

Verificar:

show ip ospf neighbor
show ip ospf interface

Vizinho fica em EXSTART ou EXCHANGE

Possíveis causas:

MTU diferente entre interfaces.
Problema na troca de banco de dados.
Router ID duplicado.
Instabilidade no link.

Verificar MTU:

 

show interface

 

Verificar OSPF:

 

show ip ospf neighbor
show ip ospf database

 


Rotas OSPF não aparecem

Possíveis causas:

Rede não anunciada no OSPF.
Interface passiva.
Área incorreta.
Filtro de rotas.
Problema de sumarização.
Vizinhança não está Full.

Verificar:

show ip route ospf
show ip protocols
show running-config | section ospf

Erro de área OSPF

Possíveis causas:

Interfaces vizinhas configuradas em áreas diferentes.
Área não conectada à área 0.
Configuração multiárea incorreta.
Falta de virtual-link em casos específicos.

Verificar:

show ip ospf interface brief
show ip ospf neighbor

Router ID duplicado

Possíveis causas:

Dois roteadores com o mesmo Router ID.
Router ID configurado manualmente igual.
Loopback igual usada em mais de um roteador.

Solução:

Configurar Router ID único:

conf t
router ospf 1
router-id 2.2.2.2
end

Depois:

clear ip ospf process

Firewall bloqueando OSPF

OSPF usa protocolo IP 89.

Se houver firewall ou ACL entre roteadores, é necessário permitir o protocolo OSPF.

Em Linux, exemplo com iptables:

sudo iptables -A INPUT -p ospf -j ACCEPT

Ou usando número do protocolo:

sudo iptables -A INPUT -p 89 -j ACCEPT

Como testar se o OSPF está funcionando?

Verificar vizinhos:

show ip ospf neighbor

Verificar rotas:

show ip route ospf

Verificar banco de dados:

show ip ospf database

Verificar interfaces:

show ip ospf interface brief

Testar conectividade:

ping ip_de_destino

Testar caminho:

traceroute ip_de_destino

Comandos principais relacionados ao OSPF

ComandoFunção
router ospf 1Ativa o processo OSPF em Cisco
network rede wildcard area 0Anuncia rede no OSPF
router-id 1.1.1.1Define Router ID
show ip ospf neighborMostra vizinhos OSPF
show ip route ospfMostra rotas aprendidas via OSPF
show ip ospf databaseMostra banco de dados OSPF
show ip ospf interface briefMostra interfaces OSPF
clear ip ospf processReinicia o processo OSPF
show ip protocolsMostra protocolos de roteamento ativos

Exemplo completo de uso

Cenário:

R1 --- R2
Rede entre roteadores: 10.0.0.0/30
LAN do R1: 192.168.1.0/24
LAN do R2: 192.168.2.0/24

Configuração no R1:

conf t
router ospf 1
router-id 1.1.1.1
network 10.0.0.0 0.0.0.3 area 0
network 192.168.1.0 0.0.0.255 area 0
end

Configuração no R2:

conf t
router ospf 1
router-id 2.2.2.2
network 10.0.0.0 0.0.0.3 area 0
network 192.168.2.0 0.0.0.255 area 0
end

Verificar vizinhança:

show ip ospf neighbor

Verificar rotas:

show ip route ospf

Testar comunicação:

ping 192.168.2.1

Esse exemplo ativa OSPF entre dois roteadores e permite que as redes LAN sejam aprendidas dinamicamente.


Boas práticas de segurança

Usar autenticação OSPF quando disponível.
Não ativar OSPF em interfaces desnecessárias.
Usar interfaces passivas em redes de usuários.
Planejar corretamente as áreas.
Manter a área 0 bem estruturada.
Evitar Router ID duplicado.
Documentar custos e áreas.
Controlar redistribuição de rotas.
Filtrar rotas quando necessário.
Proteger roteadores com ACLs.
Não permitir OSPF vindo de redes não confiáveis.
Monitorar alterações de vizinhança.
Fazer backup das configurações.