Prof.ª Ana BensoRedes de Computadores - PUCRS -
Algoritmo Link StateProtocolo OSPF
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Algoritmo Link State
Baseado no conceito de mapas distribuídostodos os nodos do mapa tem uma cópia
O conteúdo das mensagens de atualização são as ligações de um nó a seus vizinhos, a identificação do enlace e o custo.
As informações divulgadas são acrescentadas ao mapa de quem as recebe
Caso, haja alterações do mapa devido a divulgação as rotas são recalculadas.
O protocolo OSPF Implementa o algoritmo Link-state
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Link State - Mapa
Exemplo
Cada registro é divulgado pela estação “responsável”
A1 2
3 45
6
B C
D E
De Para Enlace Métrica A B 1 1 A D 3 1 B A 1 1 B C 2 1 B E 4 1 C B 2 1 C E 5 1 D A 3 1 D E 6 1 E C 5 1 E B 4 1 E D 6 1
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Link State - Flooding
A e B detectam a falhaA e B alteram os registros na base de dados pelos
quais são responsáveisA gera atualização para D e B para C e EC, D e E irão desencadear novas atualizações
6
A1 2
3 45
B C
D E
Falha de comunicação
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Flooding
D enviará para E, C enviará para E e E enviará para C e B
Loop?Prevenção do loop é feita pela utilização de um número
de seqüência no pacote de atualização
AlgoritmoRecebe mensagem
Seleciona registro na basese o registro não está presente
então adiciona e envia uma mensagem em broadcast para os vizinhos, exceto pelo enlace pelo qual foi recebida
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Flooding
senão
se o número de seqüência da entrada na base < o número de seqüência da mensagem
então atualiza e gera broadcast
senão
se número da base > o número de seqüência da mensagem
então
gera uma nova divulgação
atualiza o número de seqüência da mensagem
envia a mensagem para interface pela qual foi recebida
senão
se os números de seqüência são iguais não faz nada.
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Exemplo
Mensagem de AFrom A, to B, link 1,
distance = infinite, number = 2.
Mensagem de BFrom B to A, link 1,
distance = infinite, number = 2
De Para Enlace Métrica Seq. A B 1 inf 2 A D 3 1 1 B A 1 inf 2 B C 2 1 1 B E 4 1 1 C B 2 1 1 C E 5 1 1 D A 3 1 1 D E 6 1 1 E C 5 1 1 E B 4 1 1 E D 6 1 1
Tabela Final
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Adjacências - Atualização
Duas versões do mapa
A1 2
3 45
B C
D E
Falha de comunicação
Mapa 1 - AD
A B 1 inf 2B A 1 inf 2D E 1 inf 2
Mapa 1 -BCE
A B 1 inf 2B A 1 inf 2E D 1 inf 2
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Atualizações
Mapa BCE sofrerá atualizações que não serão refletidas no AD
A1 2
3 45
B C
D E
Falha de comunicação
Mapa 1 -BCEA B 1 inf 2B A 1 inf 2B C 2 inf 2C B 2 inf 2 E D 1 inf 2
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Reestabelecimento
Ao restabelecer a comunicação entre AD e BCE é necessário que ocorra um processo de sincronização
Pelo processo normal leva muito tempo para convergir
Sincronização - “data base description packets”1.ª fase: nodo distribui o seu mapa2.ª fase: solicita aos vizinhos os “registros interessantes”3.ª fase: flooding
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Problemas - No. de Seq.
Quando um nodo da rede cai e volta rapidamentenão terá sido retirado dos mapas dos outros hostsirá realizar o flooding com seu número de seqüência
incialesse número será mais antigo (menor) que os mantidos
nos mapas dos vizinhosentão para acelerar a convergência, ele deve aceitar o
número de seqüência que os outros irão lhe enviar, incrementá-lo e imediatamente retransmitir seus registros com o novo número.
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Shortest Path First - SPF
Dijkstra - SPF1. Inicialize o conjunto E contendo somente o nodo fonte, e R contendo todos os outros nodos. Inicialize a lista de caminhos O contendo os segmentos que partem de S. Cada segmento tem custo igual ao valor da métrica. Ordene O em em forma crescente.
2. Se a lista O está vazia, ou se o primeiro path tem métrica infinita, marque todos os nodos em R como inalcançáveis e termine o algoritmo.
3. Examine P, o menor caminho de O. Remova P de O. Atribua a V o último nodo em P. Se V já está em E, volte ao passo 2. Senão P é menor caminho para V, retire V de R e adicione em E.
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Shortest Path First - SPF4. Construa um conjunto de caminhos candidatos concatenando P e e cada um dos enlaces iniciando em V. O custo destes caminhos é o resultado da soma do custo de P e a métrica do enlace adicionado. Insira-os em O em ordem crescente. Volte ao passo 2.
Prof.ª Ana BensoRedes de Computadores - PUCRS -
OSPF
O protocolo OSPF utiliza outros protocolo para implementar seus mecanismosHello, Flooding e Exchange
FuncionamentoEnvia um pacote Hello para conhecer seus vizinhosEm redes de acesso múltiplo elege um roteador
designado e um back-upCada roteador envia periodicamente um LSA (link state
advertisement)Calcula as rotas
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Informações Seguras – Protocolo OSPFFlooding tem reconhecimento hop-by-hopOs pacotes de descrição são transmitidos de forma
seguraCada registro é protegido por um timer e é
removido da base de dados caso não receba atualização
Todos os registros são protegidos por checksumTodas as mensagens podem ser autenticadas por
password.
Prof.ª Ana BensoRedes de Computadores - PUCRS -
OSPF x RIP
Convergência rápida e sem loopsSuporta métricas precisas e se necessário várias
métricasSuporta múltiplos caminhos para um mesmo
destinoMúltiplas ÁreasRepresentação diferenciada para rotas externas
Prof.ª Ana BensoRedes de Computadores - PUCRS -
OSPF – Roteadores Vizinhos“Vizinhos” são aqueles que compartilham o
mesmo enlace físicoUm roteador OSPF descobre os seus vizinhos
enviando e recebendo mensagens do protocolo HELLOUm roteador envia a cada 10 segundos uma mensagem
de HELLO em multicast para todos os enlaces diretamente conectados a ele Endereço de multicast: 224.0.0.5 (ALLSPFRouters)
Vizinhos respondem enviando uma mensagem de HELLO periodicamente
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Após o HELLO
Após os vizinhos terem sido estabelecidos eles passam a trocar informações de roteamento
Quando seu mapa da topologia está totalmente atualizado, ou seja, sincronizado, eles são denominados “fully adjacents”
O Hello continua sendo transmitido continuamente a cada 10 segundosAs informações de topologia enviadas pelo transmissor
permanecem na tabela enquanto forem recebidas mensagens de Hello.
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Exemplo - OSPF
A1 2
3 45
B C
D EFalha de comunicação
A1 2
3 45
B C
D ERestabelecendo (ou iniciando) de comunicação
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Exemplo ...
A1 2
3 45
B C
D E
Hello
Hello
Database DescriptionDatabase Description
Link Status RequestLink Status Update
Link Status Acknowledge
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Frame OSPF
Version Type Message Length
Source Route IP Address
Area ID
Checksum Authentication Type
Authentication (Octets 0-3)
Authentication (Octets 4-7)
1 Hello2 Database Description3 Link Status Request4 Link Status Update5 Link Status Acknowledment
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Hello Message
OSPF Header Type=1
Network Mask
Dead Timer Hello Inter G. Priority
Designated Router
Backup Designated Router
Neighbor1 IP Address
...........
Neighborn IP Address
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Database Descriptor
OSPF Header Type=2
Must be Zero I M S
Data Base Sequence Number
Link Type
Link ID
Advertising Router
Link Sequence Number
Link Checksum Link Age
1 Router Link2 Network Link3 Summary Link (IP Network)4 Sumary Link (link to border)5 External Link
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Link Status Request Message
OSPF Header Type=3
Link Type
Link ID
Advertising Router
.........
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Link Status Update Message
OSPF Header Type=4
Number of Link Status Advertisements
Link Status Advertisement1
..............
Link Status Advertisement n
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Link Status Advertisment
Link Type
Link ID
Advertising Router
Link Sequence Number
Link Checksum Link Age
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Topologias de Rede
O OSPF trabalha com as seguintes topologiasBroadcast Multiaccess
Pode ser um LAN com uma Ethernet, Token Ring ou FDDI O OSPF envia tráfego em broadcast É necessário escolhar um roteador desginado (DR) e um
roteador designado de backup (BDR)Ponto-a-Ponto
Não é necessário um roteador designado, nem seu backup Tráfego em multicast (224.0.0.5)
Ponto-a-Multiponto Uma interface de origem conectada a vários destinos Trata como uma série de ligações ponto-a-ponto
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Topologias
Nonbroadcast Multiaccess Parece com ponto-a-ponto, mas muitos destinos são possíveis
WAN: X.25 ou Frame Relay
OSPF trata esta rede como uma topologia de broadcast, representada por uma subrede
Necessita de seleção manual do DR e do BDR
Todo tráfego entre vizinhos será replicado em todos os enlaces físicos usando um endereço de unicast, uma vez que multicast e broadcast não são suportados.
Frame Relay
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Topologias...
Virtual Links Conexão virtual para uma área remota que não tem qualquer
conexão com o backbone
Usada para criar um túnel de tráfego
Envia dados usando endereços unicast
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Roteadores Designados
São necessário em redes de broadcast para evitar a criação de inúmero enlaces entre todos os
roteadores diminuir o número de mensagens do OSPF circulando
na rede
Como eleger?Dinâmica
O roteador com o ID ou endereço IP mais alto
Manual
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Múltiplas Métricas
Tipos de métricasmaior throughtputmenor delaycusto mais baixomelhor confiabilidade
Tratar diferentes métrica exigedocumentar várias métricas para os diferentes enlacescalcular diferentes tabelas de roteamento para cada
métricarepresentar a métrica selecionada em cada pacote
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Exemplo1: enlace de satélite T1
2 e 3: enlace T1 terrestre
4 e 5: enlaces de 64Kbps terrestre
OBS: satélite tem delay de 275 ms
enlaces terrestre tem 10 ms
1
23 4
5
C D E
A B
D, C, A e B tem throughput de 1.5 Mbps e delay de 295ms D, E e B tem throughtput de 64kbps e delay de 20ms 1.ª Métrica: throughput 2.ª Métrica: delay Decisões de métricas tem de ser coerentes em todos os roteadores
Considere que D receba de B um pacote e o roteie considerando o melhor throughput, então irá para C.
E C roteie considerando o melhor delay ?????
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Solução
Os pacotes devem ter a indicação clara de qual a métrica a ser utilizada.
OSPF versão 2 suporta esta extensão
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Múltiplos Paths
Caminhos de A para E através de B ou D tem a mesma métrica
Análises Matemáticas provam que dividir o tráfego é mais eficiente
A1 2
3 45
6
B C
D E
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Múltiplos Paths
Enlaces com métricas diferenciadas?Dividir proporcionalmenteLoop
Solução: um pacote enviado por X pode ser retransmitido através de Y, somente se Y for mais próximo do destino que o nodo local.
Altere o algoritmo SPF para esta situação
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Múltiplas Áreas
Redução do tamanho da base (mapa)Tempo de processamento das rotasRedução do volume de mensagens de atualizaçãoRoteamento hierárquico: divide a rede em um
conjunto de partes independentes interligadas por um área de backbone.Os mapas de área incluem somente o estado do enlaces
da áreaFlooding ocorre somente até os limites da áreaRotas são calculadas somente para os enlaces da área
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Múltiplas Áreas
Roteadores da Área de BackboneArea Border RoutersEles mantém uma mapa para cada áreaEmitem mensagens contendo “summary links”
Roteadores de Borda ExternorExternal Border Routers
Prof.ª Ana BensoRedes de Computadores - PUCRS -
Exemplo
Áreas A e CBackbone BAB2 receberá de AB4 informações sumarizadasAB2 receberá de BB0 rotas externas
a1
a2 b3
a3A3
A1 AB2
BB0 BB1
C4AB4
BC1
BC3
C2
b2
b1
b6
b4
b5
c1
c2
c3