Open Shortest Path First (OSPF)

Projeto

O projeto do OSPF segue o padrão do link state protocol, isto é, possui banco de dados distribuído, definição de adjacência, rotas externas, entradas especiais e o protocolo "flooding". Além disso, suporta não só redes ponto-a-ponto como Ethernet, token rings, ATM ou anéis FDDI, ou seja, suporta redes de multiacesso com broadcast e sem broadcast. Vejamos como isto é realizado:

Separando Hosts e Roteadores

A introdução do roteamento por subrede permitiu que as tabelas de roteamento ficassem bastante reduzidas, uma vez que um roteador da subrede k não precisa conhecer os hosts das outras subredes de um mesmo sistema, basta ter uma entrada para o IP das subredes, para os seus hosts locais e, eventualmente, rotas externas.

Para redes Ethernet, onde cada host pertence a uma única subrede, esta configuração é bastante útil.

Redes Broadcast

O grande problema com as transmissões broadcast é o grande número de adjacências formadas. Para evitar isto, o OSPF designa um roteador como "interlocutor", conforme diagrama abaixo:

Uma vez designado um interlocutor (no exemplo acima, o roteador A), todos os demais roteadores sincronizarão seus bancos de dados com ele. Com isto, sempre que um roteador desejar enviar um mensagem broadcast, basta enviar esta mensagem, usando o endereço multicast (224.0.0.6), para todos os roteadores designados. Estes roteadores, por sua vez, enviarão esta mensagem, usando o endereço multicast (224.0.0.5), para todos os roteadores da rede. Para mensagens fonte-destino, o roteador designado também funciona como intermediário no processo.

Para evitar muita dependência em relação ao roteador designado, também é eleito um roteador de "backup", que escuta todas as mensagens enviadas ao roteador designado, mas permanece o mais passível possível.

Exemplos de rede Broadcast: Ethernet, Token Ring e FDDI

Redes Não-Broadcast

Em redes não-broadcast, o OSPF pode rodar em dis modos: NBMA ou ponto-a-multi-ponto

No modo NBMA, o OSPF emula uma rede broadcast, designando um roteador para ser o interlocutor, assim como nas redes broadcast. A principal diferença entre redes Broadcast e redes Não-Broadcast vem do fato de que por falta da facilidade do multicast, todos os pacotes devem ser enviados ponto-a-ponto. Este modo é o mais eficiente, tanto em relação ao tamanho do banco de dados quanto em relação à quantidade de tráfego roteado. O problema é que, além de requerer muito trabalho para administrar, ele requer que todos os roteadores conectados à rede NBMA possam se comunicar diretamente. Isto é possível em redes ATM, mas não em redes do tipo PVC-only Frame Relay networks.

No modo ponto-a-multi-ponto, o OSPF trata todas as conecções roteador-roteador como se fossem conecções ponto-a-ponto. Nenhum roteador é designado nem é inserida uma entrada no banco de dados para a rede.

Exemplos de rede Não-Broadcast: ATM e X.25

Áreas Múltiplas

À medida que o tamanho da rede aumenta, tanto o volume de mensagens quanto a duração do processamento das rotas aumentam. A solução para este problema vem no roteamento hierárquico, através da divisão da rede em partes menores chamadas áreas. Como cada área é independente, os roteadores não precisam conhecer a estrutura de outras área que não a sua, diminuindo, assim, o custo do roteamento. Portanto, não é mais verdade que todos os roteadores de um mesmo AS tem o mesmo banco de dados. Cada área possui seu próprio banco de dados, contendo informações sobre links internos, entradas resumindo todas as redes IP O OSPF classifica 4 tipos de roteadores de acordo com seus papeis:

Consistem dos roteadores de dentro de uma mesma área. Eles rodam uma única cópia do algoritmo de roteamento

Conectam duas ou mais áreas (deve haver pelo menos 1 em cada área para conectá-la ao backbone). Rodam várias cópias do algoritmo de roteamento, uma pra cada área a qual é conectado. Além disso, condensam as informações destas áreas para envia-las ao backbone.

São os roteadores que estão no backbone e são conectados a todos os Roteadores de Borda de Área.

São os roteadores que falam com outros sistemas autônomos. Qualquer roteador sabe o caminho para os roteadores de AS. Além de serem roteadores de AS, também podem fazer parte de qualquer outra classificação acima citada.

Podemos entender melhor os conceitos acima, analisando o diagrama a seguir: