Skip to main content


OSPF versão 3


O OSPF versão 3 (OSPFv3) é a evolução do OSPFv2 para suportar o IPv6, e traz algumas mudanças importantes tanto na estrutura das mensagens quanto no funcionamento geral do protocolo, embora mantenha os mesmos princípios fundamentais de roteamento link-state.


Uma das diferenças mais visíveis é que os endereços IPv6 não são transportados diretamente dentro dos LSAs principais. Em vez disso, OSPFv3 usa um novo tipo de LSA (o LSA tipo 8 (Link-LSA)), para informar os endereços IPv6 presentes na interface, além de carregar informações de link-local e flags relacionadas à área. Isso é uma mudança estrutural relevante em relação ao OSPFv2, onde o endereço estava incluído nos próprios LSAs tipo 1 e 2.


Outra diferença importante é que o OSPFv3 não associa mais diretamente a topologia da área aos endereços IP. A topologia é construída com base em identificadores de roteadores e links, e os endereços são adicionados separadamente, como uma espécie de atributo. Isso dá mais flexibilidade, especialmente em redes que usam múltiplos endereços por interface.


Além disso, o OSPFv3 exige que a comunicação entre roteadores use endereços link-local IPv6, o que muda a forma de identificação dos vizinhos e força o uso de identificadores explícitos nos pacotes OSPF. Os pacotes também carregam novos campos, como o Instance ID, que permite múltiplas instâncias OSPF rodando em uma mesma interface sem interferência entre si.


Outra diferença é que o OSPFv3 foi projetado com a separação entre roteamento e segurança. Enquanto o OSPFv2 podia usar autenticação MD5 diretamente nos pacotes, o OSPFv3 removeu esse suporte e assume que a segurança será garantida por mecanismos de camada inferior, como o IPsec.


No que diz respeito aos LSAs, além dos já conhecidos tipos 1 a 5 e 7 (que continuam com finalidades semelhantes), o OSPFv3 introduz os LSAs tipos 8 (Link-LSA) e 9 (Intra-Area Prefix-LSA), justamente para acomodar a nova maneira de lidar com endereços e informações de link.



Novos SLA


O OSPFv3 introduziu dois novos tipos de LSA para lidar com as especificidades do IPv6: o Link-LSA (tipo 8) e o Intra-Area Prefix-LSA (tipo 9). Esses LSAs foram adicionados para separar explicitamente a topologia dos endereços IPv6, o que é uma mudança importante em relação ao OSPFv2.


O Link-LSA é gerado por cada roteador, para cada uma de suas interfaces e enviado apenas para os vizinhos conectados diretamente naquele link. Ele cumpre três funções principais:

  1. Anunciar os endereços IPv6 da interface, isso inclui os endereços unicast globais e locais.
  2. Anunciar a ID do roteador, o identificador global do roteador.
  3. Comunicar informações específicas da interface, como capacidades e flags, por exemplo se o roteador é um ABR.

O Link-LSA não é propagado pela área, ele é local ao link. Isso facilita o uso de múltiplos endereços por interface e permite que a topologia fique separada dos endereços, o que melhora a flexibilidade no roteamento IPv6.


Já o Intra-Area Prefix-LSA, carrega os prefixos IPv6 realmente utilizados para endereçamento de rede, substituindo o campo de prefixos que existia nos LSAs tipo 1 e 2 do OSPFv2. Com ele, a topologia da área (descrita pelos LSAs tipo 1 e 2) fica desacoplada dos prefixos de rede.


O Intra-Area Prefix-LSA pode estar associado a:

  • Um Router-LSA (tipo 1), indicando os prefixos conectados diretamente ao roteador.
  • Um Network-LSA (tipo 2), indicando os prefixos associados a uma rede de múltiplo acesso.

Essa estrutura modular permite uma maior granularidade e clareza: topologia e endereçamento são tratados de forma separada, o que ajuda muito especialmente em ambientes com múltiplos endereços por interface e configurações mais dinâmicas.



Endereços Multicast


O uso de endereços multicast IPv6 é essencial, especialmente porque o protocolo não carrega mais endereços IPv6 diretamente nos LSAs de topologia e também porque o IPv6 não tem broadcast como no IPv4. Em vez disso, o OSPFv3 se apoia em endereços multicast de escopo link-local, todos começando com FF02::, para alcançar vizinhos diretamente conectados.



All OSPF Routers FF02::5


Esse endereço é usado para enviar mensagens OSPFv3 que devem ser recebidas por todos os roteadores OSPF ativos naquela interface, independentemente do papel que desempenham (DR, BDR, etc.). Ele é usado, por exemplo, para enviar pacotes Hello em redes ponto a ponto e broadcast, como forma de anunciar a presença do roteador e iniciar a formação de adjacência.


Quando um roteador envia um Hello para FF02::5, todos os roteadores OSPFv3 na mesma sub-rede (ou VLAN, ou enlace lógico de camada 2) recebem esse pacote, porque todos escutam esse multicast.



FF02::6


Esse endereço é mais específico, é usado para se comunicar apenas com os roteadores que atuam como DR (Designated Router) ou BDR (Backup Designated Router) em redes de múltiplo acesso, como Ethernet.


Por exemplo, pacotes do tipo LS Update, que transportam LSAs após a formação da adjacência, são enviados para FF02::6 quando há DR e BDR naquela rede. Isso reduz o tráfego de LSAs e evita inundação desnecessária entre todos os vizinhos.



Configurando OSPFv3


Na configuração do OSPFv3, uma das primeiras diferenças que salta aos olhos em relação ao OSPFv2 é que, mesmo sendo um protocolo voltado para IPv6, ele não usa endereços IPv6 como identificadores principais. O Router ID continua existindo e segue o formato de 32 bits (idêntico ao de um endereço IPv4) mas não é um IP real, apenas um número que precisa ser único dentro do domínio OSPF.


A configuração depende do sistema operacional da rede, mas em IOS clássico (Cisco), você habilita o OSPFv3 diretamente nas interfaces, e não com network no processo, como se fazia no OSPFv2. Um exemplo básico:

enable
conf t
!
ipv6 unicast-routing ! Habilita o roteamento ipv6

interface GigabitEthernet0/0
ipv6 enable
ipv6 address 2001:db8:1::1/64
ospfv3 1 ipv6 area 0

interface GigabitEthernet0/1
ipv6 enable
ipv6 address 2001:db8:2::1/64
ospfv3 1 ipv6 area 0

router ospfv3 1
router-id 1.1.1.1

O comando ospfv3 1 ipv6 area 0 aplicado diretamente na interface, ativando o OSPFv3 ali. O processo ospfv3 1 configurado com um router-id explícito de 32 bits (1.1.1.1), obrigatório para o funcionamento do protocolo.


Mesmo em OSPFv3, que é um protocolo para IPv6, o Router ID:

  • Não é um endereço IP funcional, ele não precisa estar configurado em nenhuma interface.
  • Tem que ser único no domínio OSPF.
  • É obrigatório, se você não definir manualmente com router-id, o roteador vai tentar atribuir automaticamente o maior endereço IPv4 ativo nas interfaces (se existir). Em plataformas sem IPv4, essa tentativa pode falhar, por isso, sempre é recomendável definir o Router ID manualmente, como no exemplo acima.