Open Shortest Path First (OSPF) Carlos Gustavo A. da Rocha
Introdução Protocolo de roteamento baseado em estado de enlace, padronizado na RFC 2328 Criado para solucionar as deficiências do RIP Roteadores enviam anúncios (LSAs), com uma série de informações Algoritmo SPF é utilizado para calcular a menor trajetória para cada nó (roteador) Pode operar dentro de uma hierarquia
Introdução Protocolo de roteamento baseado em estado de enlace, padronizado na RFC 2328 (cont.) Embora seja um protocolo IGP é capaz de se comunicar com protocolos EGP (BGP4) para enviar e receber rotas Quando um roteador é ligado ele: inicializa uma série de estruturas de dados do protocolo; verifica o status das interfaces de redes; envia mensagens para conhecer os roteadores vizinhos
Introdução Protocolo de roteamento baseado em estado de enlace, padronizado na RFC 2328 (cont.) As métricas, por padrão, são calculadas segundo a velocidade do enlace Na definição da RFC: Custo = 108 / velocidade Cálculo atualmente é um pouco diferente, devido ao surgimento de links cada vez mais velozes
Comparação RIP x OSPF Característica RIP OSPF Limite de hops 15 não Suporte a VLSM sim sim Broadcast periódico da tabela de rotas sim não Broadcast somente quando a tabela de rotas é alterada não sim Atualização das tabelas com mensagens IP multicast sim sim Convergência da(s) tabela(s) de roteamento lenta rápida Decisão de roteamento baseada no número de hops sim não Decisão de roteamento pode utilizar várias métricas não sim Possibilidade de rotas alternativas para um mesmo destino não sim Hierarquia de roteamento (divisão da rede em áreas) não sim Autenticação das mensagens de atualização de rotas sim sim Comunicação com EGPs não sim Fonte: Roteamento avançado ESR/RNP. pp 87
Estado do enlace No OSPF, um enlace é uma interface (física ou lógica) de um roteador. Seu estado pode incluir Uma descrição, endereço IP, máscara de rede, tipo de rede, outros roteadores conectados àquela rede etc Quando um roteador é ligado 1. Descobre os vizinhos; Gera as informações de estado para cada enlace; As envia para todos os outros roteadores da rede 2. Calcula o menor caminho para todos os roteadores, utilizando para tanto o algoritmo SPF - Dijkstra
Exemplo de execução do algoritmo Dijkstra Círculos representam os roteadores Linhas representam os links entre roteadores Valores representam o custo de se enviar um datagrama IP passando por aqueles roteadores Ná prática este valor é atribuído de forma automática, sendo inversamente proporcional a velocidade do link Caso desejável, pode ser ajustado manualmente Nota: explicar o algoritmo Dijkstra em si foge do escopo desta disciplina, contudo o mesmo é amplamente documentado na Internet
Exemplo de execução do algoritmo Dijkstra B 2 E A 4 6 1 D 6 1 F 4 H 2 4 2 Nó raiz C G 1
Exemplo de execução do algoritmo Dijkstra B (A,4) 2 E (B,6) A 4 6 1 D (B,5) 6 1 F (E,7) 4 H (G,10) 2 4 2 Nó raiz C (A,2) 1 G (F,9)
Exemplo de execução do algoritmo Dijkstra B (A,4) 2 E (B,6) REDE 1 A 4 1 D (B,5) 1 F (E,7) H (G,10) 2 2 Nó raiz C (A,2) 1 G (F,9) REDE 2 A melhor rota entre as redes 1 e 2 segue o caminho: A B E F G H
Áreas OSPF Uma rede que utiliza o protocolo OSPF pode ser dividida em áreas Objetivo é reduzir o tráfego, e criar uma hierarquia Cada área executa uma instância independente do OSPF e do algoritmo Dijkstra Pelo menos a área 0 (zero) sempre estará presente Caso se utilize a subdivisão em áreas, a 0 será chamada de backbone OSPF Todas as outras áreas tem que estar fisicamente conectadas ao backbone OSPF
Áreas OSPF Outros tipos de áreas padrões são Stub Area: Este tipo de área não recebe rotas vindas de um AS externo. O roteamento para fora desta área é irá utilizar uma rota default. Totally Stub Area: Semelhante a stub, mas não permite a existência de rotas sumarizadas. Not-so-stubby area: (worst name award) é um tipo de stub área que pode enviar rotas externas do AS para outras áreas, mas continua sem recebe-las. Além dessas existem outros tipos de áreas proprietárias
Tipos de roteadores OSPF Backbone Router (BR): possui interfaces conectadas ao backbone Área Border Router (ABR): possui interfaces conectadas a mais de uma área (normalmente uma delas será a de backbone) Internal Router (IR): todas as interfaces estão conectadas à mesma área (exceto a de backbone) Autonomous System Border Router (ASBR): possui interfaces conectadas com roteadores de outro(s) AS, e troca informações de roteamento com o mesmo
Exemplo de áreas e tipos de roteadores OSPF
Funcionamento (noções) Após concluir sua inicialização (ou no momento que o OSPF é ativado) o roteador envia pacotes Hello Utiliza multicast, IP de destino 224.0.0.5 Resposta são pacotes Hello dos possíveis vizinhos Para se tornarem vizinhos, roteadores devem Estar na mesma área Possuir a mesma senha de autenticação (opcional) Possuir mesmo Hello e Dead interval Possuir o mesmo stub área flag
Funcionamento (noções) O roteador tentará criar adjacências com alguns de seus vizinhos Os dados de estado dos enlaces (e mais tarde as atualizações de rotas) são trocados apenas entre pares de roteadores adjacentes Em cada área existe um roteador (DR) com uma função especial, que determina (entre outras coisas), quais roteadores se tornarão adjacentes
Funcionamento (noções) O roteador periodicamente anuncia o estado de seus enlaces E imediatamente quando este estado sofre alterações Estes Pacotes são chamados de LSAs e também descrevem as adjacências de cada roteador LSAs são propagados para todos os roteadores de uma mesma área O conjunto de LSAs recebidos por um roteador forma um bando de dados de estado de enlace DBLSA Será idêntico em todos os roteadores da área
Funcionamento (noções) De posse do DBLSA cada roteador Monta o gafo que representa a topologia de ligação entre todos os roteadores da área Executa o algoritmo Dijkstra, e encontra o melhor caminho para cada outro roteador da área Os caminhos mais curtos permitem a montagem da tabela de roteamento
Tipos de LSAs padrões LSA tipo 1 (router LSA) Roteador anuncia sua presença Lista os links para outros roteadores na mesma area, juntamente com as métricas LSA tipo 2 (network LSA) Roteador com papel de DR lista todos os rotedores presentes em um mesmo segmento de rede Usado apenas em broadcast segments, por exemplo, uma rede ethernet
Tipos de LSAs padrões LSA tipo 3 (summary LSA) Roteador com papel de ABR reúne as informações de roteamento de uma área, se possível sumariza as rotas, e as envia para outras áreas. LSA tipo 4 (ASBR summary LSA) Roteador com papel de ABR descreve um ASBR de uma área, para os roteadores de outra área Permite ao restante da rede rotear tráfego para fora da rede OSPF, normalmente para outro AS
Tipos de LSAs padrões LSA tipo 5 (External LSA) Contém informação importada no OSPF vindas de outros protocolos de roteamento. São enviados para todas as áreas, exceto as stub LSA tipo 7 (NSSA LSA) Usado em áreas NSSA para permitir a redistribuição de rotas até um ABR (que os traduz para um LSA tipo 5 e envia para o restante da rede) - Além destes, existem outros LSAs relacionados principalmente ao protocolo IPv6 e engenharia de tráfego.
Formato dos principais pacotes Hello
Formato dos principais pacotes Database Description
Formato dos principais pacotes Link State Request
Formato dos principais pacotes Link State Update
Formato dos principais pacotes Link State Acknowledgement