380 likes | 468 Views
Algoritmo Link State Protocolo OSPF. Algoritmo Link State. Baseado no conceito de mapas distribuídos todos 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.
E N D
Algoritmo Link State • Baseado no conceito de mapas distribuídos • todos 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
1 2 A B C 3 4 5 D E 6 Link State - Mapa 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 • Exemplo • Cada registro é divulgado pela estação “responsável”
1 2 Falha de comunicação A B C 3 4 5 D E Link State - Flooding • A e B detectam a falha • A e B alteram os registros na base de dados pelos quais são responsáveis • A gera atualização para D e B para C e E • C, D e E irão desencadear novas atualizações 6
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 • Algoritmo Recebe mensagem Seleciona registro na base se 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
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.
Exemplo Tabela Final • Mensagem de A • From A, to B, link 1, distance = infinite, number = 2. • Mensagem de B • From 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
1 2 Falha de comunicação A B C 3 4 5 D E Adjacências - Atualização • Duas versões do mapa Mapa 1 -BCE A B 1 inf 2 B A 1 inf 2 E D 1 inf 2 Mapa 1 - AD A B 1 inf 2 B A 1 inf 2 D E 1 inf 2
Atualizações 1 2 Falha de comunicação A B • Mapa BCE sofrerá atualizações que não serão refletidas no AD C 3 4 5 D E Mapa 1 -BCE A B 1 inf 2 B A 1 inf 2 B C 2 inf 2 C B 2 inf 2 E D 1 inf 2
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 mapa • 2.ª fase: solicita aos vizinhos os “registros interessantes” • 3.ª fase: flooding
Problemas - No. de Seq. • Quando um nodo da rede cai e volta rapidamente • não terá sido retirado dos mapas dos outros hosts • irá realizar o flooding com seu número de seqüência incial • esse número será mais antigo (menor) que os mantidos nos mapas dos vizinhos • entã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.
Shortest Path First - SPF • Dijkstra - SPF 1. 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.
Shortest Path First - SPF 4. 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.
OSPF • O protocolo OSPF utiliza outros protocolo para implementar seus mecanismos • Hello, Flooding e Exchange • Funcionamento • Envia um pacote Hello para conhecer seus vizinhos • Em redes de acesso múltiplo elege um roteador designado e um back-up • Cada roteador envia periodicamente um LSA (link state advertisement) • Calcula as rotas
Informações Seguras – Protocolo OSPF • Flooding tem reconhecimento hop-by-hop • Os pacotes de descrição são transmitidos de forma segura • Cada registro é protegido por um timer e é removido da base de dados caso não receba atualização • Todos os registros são protegidos por checksum • Todas as mensagens podem ser autenticadas por password.
OSPF x RIP • Convergência rápida e sem loops • Suporta métricas precisas e se necessário várias métricas • Suporta múltiplos caminhos para um mesmo destino • Múltiplas Áreas • Representação diferenciada para rotas externas
OSPF – Roteadores Vizinhos • “Vizinhos” são aqueles que compartilham o mesmo enlace físico • Um roteador OSPF descobre os seus vizinhos enviando e recebendo mensagens do protocolo HELLO • Um 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
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 segundos • As informações de topologia enviadas pelo transmissor permanecem na tabela enquanto forem recebidas mensagens de Hello.
Exemplo - OSPF 1 2 A B C 3 4 Falha de comunicação 5 D E 1 2 A B C 3 4 5 Restabelecendo (ou iniciando) de comunicação D E
Link Status Acknowledge Link Status Update Link Status Request Database Description Database Description Hello Hello 1 2 A B C 3 4 5 D E Exemplo ...
Version Type Message Length Source Route IP Address Area ID Checksum Authentication Type Authentication (Octets 0-3) Authentication (Octets 4-7) Frame OSPF 1 Hello 2 Database Description 3 Link Status Request 4 Link Status Update 5 Link Status Acknowledment
OSPF Header Type=1 Network Mask Dead Timer Hello Inter G. Priority Designated Router Backup Designated Router Neighbor1 IP Address ........... Neighborn IP Address Hello Message
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 Database Descriptor 1 Router Link 2 Network Link 3 Summary Link (IP Network) 4 Sumary Link (link to border) 5 External Link
OSPF Header Type=3 Link Type Link ID Advertising Router ......... Link Status Request Message
OSPF Header Type=4 Number of Link Status Advertisements Link Status Advertisement1 .............. Link Status Advertisement n Link Status Update Message
Link Type Link ID Advertising Router Link Sequence Number Link Checksum Link Age Link Status Advertisment
Topologias de Rede • O OSPF trabalha com as seguintes topologias • Broadcast 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
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
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
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
Múltiplas Métricas • Tipos de métricas • maior throughtput • menor delay • custo mais baixo • melhor confiabilidade • Tratar diferentes métrica exige • documentar várias métricas para os diferentes enlaces • calcular diferentes tabelas de roteamento para cada métrica • representar a métrica selecionada em cada pacote
A B 2 5 4 3 C D E Exemplo 1 1: 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 • 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 ?????
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
1 2 A B C 3 4 5 D E 6 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
Múltiplos Paths • Enlaces com métricas diferenciadas? • Dividir proporcionalmente • Loop • 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
Múltiplas Áreas • Redução do tamanho da base (mapa) • Tempo de processamento das rotas • Redução do volume de mensagens de atualização • Roteamento 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 área • Flooding ocorre somente até os limites da área • Rotas são calculadas somente para os enlaces da área
Múltiplas Áreas • Roteadores da Área de Backbone • Area Border Routers • Eles mantém uma mapa para cada área • Emitem mensagens contendo “summary links” • Roteadores de Borda Externor • External Border Routers
b1 BB0 BB1 b2 b6 c1 a1 A1 AB2 BC1 C2 b3 b5 c2 a2 AB4 BC3 C4 A3 c3 a3 b4 Exemplo • Áreas A e C • Backbone B • AB2 receberá de AB4 informações sumarizadas • AB2 receberá de BB0 rotas externas