(Complicadíssimo)
O OSPF – Open Shortest Path First, é um protocolo de roteamento dinâmico, criado pelo IETF e que utiliza o algoritmo SPF – Shortest Path First, também conhecido como Dijkstra, nome de seu criador.
Ele é do tipo link state, e assim, ao invés de manter uma tabela com todas as rotas aprendidas, ele mantém uma tabela com o estado de todos os links de sua área. A partir daí ele consegue calcular o melhor caminho para cada rede.
O OSPF é o protocolo de roteamento interno (IGP) mais utilizado, por não ser proprietário e também por sua escalabilidade e robustez. Ele é mais pesado do que o RIP e o EIGRP, mas isso não é grande problema atualmente, considerando-se poder de processamento dos equipamentos existentes.
Vamos a um resumo dos itens básicos (mas relevantes) do OSPF.
Áreas
-
Adicionam hierarquia e aumentam a escalabilidade da rede.
-
Cada área é um LSA Flooding Domain. Mudanças em uma área nem sempre requerem recálculo SPF fora desta área.
-
Todos os roteadores em uma área tem a mesma visão da topologia.
-
Roteamento entre áreas é semelhante ao feito por protocolos Distance Vector.
-
Área 0 (backbone) é usada para sumarizar informações entre áreas. E tráfego entre áreas precisa passar pela área 0.
-
As áreas precisam ser contíguas.
-
Outras áreas (sem ser 0) são chamadas non backbone area.
Tipos de Roteadores
-
Backbone Router: Tem links (ao menos um) na área 0.
-
Internal Router: Roteador com links apenas em uma área (sem ser a área 0).
-
ABR – Area Border Router: Tem links na área 0 e em outras áreas. Usado para sumarizar informações entre área 0 e demais áreas (faz o cálculo SPF para cada área que está conectado).
-
ASBR – Autonomous System Boundary Router: Tem interface no domínio OSPF (qualquer área) e ao menos um link fora do domínio OSPF (rodando EIGRP, RIP,…). Usado para fazer redistribuição.
Router ID
-
Router ID (RID) pode ser configurado automaticamente (escolhe a loopback com maior IP, e na ausência de interfaces loopback escolhe qualquer outra interface com maior IP). Para ser usada como router ID a interface não pode estar em shutdown, mas pode estar down.
-
O Router ID não precisa ser um IP existente no roteador, não precisa ser anunciado no processo e não precisa haver rota para ele.
-
Cada processo OSPF usa um RID diferente.
-
Se mudarmos o RID o processo OSPF é reiniciado.
-
Quando o processo OSPF é reiniciado um RID diferente pode ser escolhido (desde que não tenha sido configurado manualmente).
Hello
-
Pacotes Hello são enviados para o endereço multicast 224.0.0.5 (todos os roteadores OSPF), ou como unicast, dependendo do tipo da rede.
-
Servem para identificar outros roteadores falando OSPF no segmento.
-
Verificam a visibilidade bidirecional, e a “saúde” do neighbor.
-
Validam parâmetros de configuração:
-
Autenticação.
-
Se os roteadores estão na mesma subnet (IP primário da interface).
-
Se os roteadores estão na mesma área e se a área é do mesmo tipo.
-
Se não há RID duplicado.
-
O Hello Timer e Dead Timer precisam ser igual entre os vizinhos. Dead Timer = 4x Hello Timer.
-
-
Se um destes itens não bater os roteadores não formam adjacência.
Estado do Vizinho
-
Down: Estado inicial do OSPF. O neighbor também é considerado down quando o roteador deixa de receber os hellos. Para ser considerado down o neighbor precisa já ter sido visto.
-
Attempt: Estado válido apenas em redes NBMA ou point-to-multipoint non-broadcast. Neste tipo de rede o neighbor é imediatamente colocado em Attempt e contatato por Hello. Se o neighbor não responder no Dead Interval é colocado como Dead.
-
Init: Quando o roteador recebe um Hello, mas seu próprio RID não está no Hello (eu enxergo o vizinho, mas será que o vizinho me vê?).
-
2-Way: Quando o roteador recebe um Hello e seu próprio RID está no Hello. Ou seja, ambos os roteadores se enxergam. Em caso de redes multiaccess, os neighbors ficam neste estado (menos com o DR e com o BDR).
-
Exstart: Quando o roteador sai de Init/2-way significa que deverão ficar Full Adjacentes, e este é o início da troca do Database Description.
-
Exchange: Nesta fase o Database Description é trocados. No Database Description está a lista de LSAs que cada roteador conhece.
-
Loading: O roteador está fazendo o download dos LSAs do vizinho.
-
Full: Todos os LSAs foram baixados do respectivo vizinho.
DR/BDR/DROthers
-
Em redes multiaccess (broadcast ou não) temos a eleição do DR – Designed Router, e do BDR – Backup Designed Router.
-
Neste tipo de rede os roteadores formam adjacência (ficam com o status “Full”) somente com o DR e o BDR. Os demais vizinhos ficam com status DROTHER.
-
Os roteadores enviam updates para o DR e para o BDR usando o IP multicast 224.0.0.6, e então o DR envia o update para todos os roteadores (multicast destinado à 224.0.0.5).
-
É eleito DR o roteador com maior prioridade (1 – 255, padrão = 1) no segmento. Se houver empate é eleito DR o roteador com maior RID.
-
O segundo roteador com maior prioridade/RID é eleito BDR.
-
Interfaces com prioridade 0 não participam da eleição.
-
Se o DR falhar o BDR muda para DR e uma eleição para BDR é realizada.
-
Não há preempt (há controvérsia). Ou seja, se o DR anterior voltar, ele não assumirá o papel de DR até que ocorra uma nova eleição e ele seja escolhido.
Tipos de Rede OSPF
O tipo de rede/interface impacta diretamente no funcionamento do OSPF, conforme podemos ver na tabela abaixo.
Custo
-
O OSPF usa apenas a banda como custo (Custo = Banda de Referência / Banda da Interface).
-
Podemos definir o custo por neighbor ou por interface.
-
Roteadores não precisam ter a mesma banda de referência (definida no processo OSPF), mas não faz sentido terem referências diferentes.
-
Nem sempre o custo é levado em conta para a escolha do melhor caminho.
Mais informações sobre OSPF:
Até a próxima.
Muito bom o resumo!
Não há preempt (há controvérsia). Ou seja, se o DR anterior voltar, ele não assumirá o papel de DR até que ocorra uma nova eleição e ele seja escolhido.
Por que há controvérsia?
Porque muitos documentos (pra não dizer todos) simplesmente dizem que não há preempt, mas na prática o que ocorre é que existe um timer (Wait Timer) que tende a impedir o preempt.
Mas eventualmente, na prática, pode ocorrer sim.
O certo é “enxergo” em “eu enchergo o vizinho, mas será que o vizinho me vê?”
Obrigado.
Só faltou a distância administrativa do OSPF.
Verdade…
AD padrão é 110.