Open Shortest Path First (OSPF)

Algoritmo

O princípio do roteamento é muito simples, ao invés de ter na tabela as (possíveis) melhores rotas, todos os nós contêm todos os links da rede. Cada entrada contém o identificador de interface, o número do link e a distância ou métrica ou custo. Com todas essas informações, cada nó pode descobrir sozinho a melhor rota.

From

To

Link

Distância

A

B

1

1

A

D

3

1

B

A

1

1

B

C

2

1

B

E

4

1

C

E

5

1

C

B

2

1

D

A

3

1

...

...

...

...

E

D

5

1

Quando há um alteração em um dos links da rede, os nós adjacentes o percebem e avisam seus vizinhos. Para os vizinhos saberem se este aviso é novo ou velho é necessário um campo no pacote com o número da mensagem ou sua hora. Portanto, quando um nó recebe uma mensagem, primeiro é feita a verificação da existência da entrada, se ela não existe, é adicionada. Se existe, compara-se, por exemplo, o número da mensagem recebida com a entrada do banco de dados. Se o número da mensagem recebida for maior que a entrada do banco, a entrada é substituída, caso contrário, a entrada do banco é transmitida como uma nova mensagem. Se os números forem iguais, nada é feito. Este processo é chamado Transbordamento ("Flooding").

Para assegurar o sincronismo entre as cópias do mapa da rede em todos os nós, o OSPF inclui uma série de proteções contra alguns perigos como erros de memória, falhas nos processos de transbordamento ou sincronização ou mesmo contra a introdução voluntária de informação enganosa. Estas proteções são: