sábado, 24 de abril de 2010

OSPF Visão Geral de LSA


1        Teoria

1.1           OSPF

Protocolo de roteamento de convergência rápida com suporte a VLSM. Somente envia atualização de rota se tiver ocorrido uma mudança ou então de 30 em 30 minutos e o caminho escolhido é baseado na velocidade da conexão.
É um protocolo complexo e requer planejamento para implementação. Roteamento OSPF é função da camada de transporte 89=OSPF, 6=TCP e 17=UDP. A atualização de rotas e conexão é feita por multicast (DR to router ou router to router em PPP usa 224.0.0.5 e router to DR 224.0.0.6) e as mensagens de Hello são enviadas de 10 em 10 segundos e dead time de 40 segundos (3x hello) em midias broadcast e 30s em non-broadcast (FR). Não faz auto-summarização suportando mais de 50 routers por área.

1.2           OSPF Terminologia

·         Interface: Interface geralmente refere-se ao Link;
·         Link State: O status entre dois routers. É advertido por pacotes LSA;
·         Cost: Valor atribuído a um enlace;
·         AS: Grupo de routers que trocam informações de roteamento e usam um mesmo protocolo;
·         Area: Uma coleção de redes e routers que possuem a mesma identificação de área e trocam informações de estado de link;
·         Neighbors: Dois routers que possuem suas interfaces em uma mesma rede, geralmente descobertos e mantidos em relação pelos pacotes hello;
·         Hello: Protocolo usado para estabelecer e manter relações entre vizinhos, enviados de 10 em 10 segundos no endereço: 224.0.0.5;
·         Router ID: Número único de 32-bit usado para identificar o router dentro da AS. O maior IP na interface ativa é escolhido como padrão. Usado para definir o DR e o BDR no caso de empate.
·         Hello intervals: É o tempo em segundos que o router envia pacotes hello (10s default);
·         Dead intervals: É o tempo em segundos que o router espera um hello de um vizinho, se não responder ele coloca o router como down. O tempo de dead é 4 vezes o tempo do hello;
·         Area-ID: Identificação da área;
·         Router Priority: Um número de 8-bit que indica a prioridade de um router se tornar DR ou BDR. Default=1, DROTHER=0;
·         DR e BDR IP address: O endereço IP do router DR e BDR da rede específica;
·         Auth Password: Se a auth estiver habilitada, 2 router devem trocar a mesma senha;
·         Stub area Flag: Dois routers devem ter o mesmo Flag de area Stub no pacote hello.
·         Neighborship database: Uma lista de todos os vizinhos que o router mantém uma comunicação bidirecional;
·         Link-state database or Topological database: Base de dados do estado dos links de todos os routers da rede. Todos os routers da mesma área têm a mesma informação de Link-state;
·         Routing table or forwarding database: Base de dados gerada quando o algoritmo SPF é executado na base de dados de Link-state;
·         Topologia Broadcast multiaccess: Redes que suportam mais de dois routers ligados juntos com capacidade de mensagens broadcast. O seguimento ethernet é um exemplo dessa topologia;
·         Topologia Point-to-Point: Uma rede que associa um único par de routers. Uma linha serial T1 é exemplo.
·         Topologia Non-Broadcast multiaccess (NBMA): Redes que suportam muitos routers mas não têm a capacidade de executar broadcast. O Frame-Relay e X.25 são exemplos de NBMA.

1.3           DR e BDR routers

·         Os routers do segmento devem eleger um DR (Router Designado) e um BDR (Router Designado de Backup);
·         O router pode ser DR/BDR em um segmento e DROTHER em outro dependendo da eleição, mas não é recomendado pela Cisco;
·         BDR não executa nenhuma tarefa enquanto o DR estiver ativo;
·         DR envia a informação de enlace de cada router para todos os outros;
·         Os pacotes LSA são enviados para o DR e BDR somente;
·         Eleição de DR e BDR
·         O router com prioridade mais alta é o DR, o de segunda prioridade mais alta é o BDR (default=1);
·         No caso de empate é usado o Router ID, o router com maior Router ID será o DR e o segundo o BDR.
·         Router com prioridade 0 é chamado de DROTHER e não se elege;
·         Se um router com prioridade maior entrar na rede depois da eleição os DR e BDR não mudam;
·         O BDR controla se o DR está OK;
·         Vantagens do DR e BDR:
·         Reduz o trafego de atualização de rotas, cada router envia a informação do estado de enlace para o DR e BDR. Eles são o ponto central;
·         Gerenciamento da sincronização dos estados de enlace, eles garantem que todos os routers possuem a mesma informação sobre a rede.


1.4           Descobrindo vizinho e atualizando rotas

1.            O router A está ativado na LAN em estado down e envia um pacote hello (Type-1) para o endereço de multicast 224.0.0.5 para todos os routers diretamente conectados;
2.            Todos os routers que executam OSPF e receberam o pacote hello incluem o router A como vizinho e ficam no estado init;
3.            Todos os routers que receberam o pacote enviam um pacote hello unicast para o router A com todas as informações sobre a rede;
4.            Router A recebe os pacotes e inclui todos os routers na tabela de vizinhos(neighborship database). Esse é chamado de estado two-way;
5.            Os routers decidem que será o DR e o BDR usando o processo de eleição. A eleição ocorre antes dos routers começarem a trocar informações de estado de enlace;
6.            Quando o DR e o BDR é escolhido os routers entram em estado exstart e prontos para descobrir informações de link-state;
7.            As informações de link-state são trocadas apenas entre os routers e o DR e BDR. Nessa troca os routers estão no estado exchange;
8.            Ocorre a troca de DBD ou DDP’s (type-2) que são as bases de dados dos link-state dos routers com o DR e BDR, depois de todas as trocas os routers entram no estado full e fazem troca de tráfego;
9.            Periodicamente (10 em 10 segundos) os routers trocam pacotes hello para garantir que a comunicação ainda está funcionando.
10.        Mantendo as informações de roteamento, um router observa uma alteração  em um link-state e faz um multicast para 224.0.0.6 de um pacote LSU que inclui a entrada LSA atualizada para todos os DRs e BDRs. Um pacote LSU pode conter vários LSA’s diferentes;
11.        O DR confirma o recebimento (ACK) e faz flooding do LSU para todos os routers da rede pelo endereço 224.0.0.5. Cada LSA é confirmada separadamente para o DR com um LSAck;
12.        Se um router estiver conectado a outra rede ele faz um flood para o DR da outra rede ou para o router adjacente se for rede Ponto a ponto, o DR por sua vez faz multicast do LSU para os outros routers da rede;
13.        Quando o router recebe o LSU ele inclui a LSA alterada e, depois de 5 segundos para evitar flapping, ele recalcula o SPF.

1.5           Selecionando as Rotas

É usado o algoritmo Dijkastra somando custos totais entre o router local e a rede de destino. Se houver mais de um caminho para o mesmo destino o custo mais baixo é escolhido. O OSPF mantém até 6 caminhos de custos iguais para fazer balanceamento de carga.
Para evitar o problema de flapping, onde um enlace ou uma interface pode cair e subir rapidamente gerando várias LSU’s na rede fazendo com que toda a topologia seja recalculada, quando o LSU é recebido o router aguarda um período de 5 segundos (default) para recalcular a tabela;

1.6           Funcionamento em Topologia Ponto-a-Ponto

Não há conceito de DR e BDR e os routers se identificam por hello enviado para 224.0.0.5. Os valores de tempo de hello é 10s e dead 40s.

1.7           Funcionamento em Topologia NBMA e Point-to-Multipoint

NBMA são redes que suportam muitos routers e não fazem broadcast como Frame-Relay, X.25 e ATM. As topologias partial-mesh ou ponto-multiponto NBMA não garantem que todos os routers receberão multicast ou broadcast de outros routers. Para fornecer a capacidade de broadcast, a opção de broadcast deve estar habilitada nos VCs pois o point-to-multipoint nonbroadcast é habilitado por default. Os DR e BDR são um problema, pois é necessária conectividade com todos os routers.
Os valores de hello padrão em NBMA é 30s e dead intervals de 120s.
Topologias:
·         Estrela (Hub-and-spoke)
·         Topologia de Frame-Relay mais conhecida;
·         Os sites remotos são conectados ao site central;
·         Topologia mais barata (menos PVCs);
·         Router central fornece uma conexão multiponto usando uma única interface para conectar os sites remotos.
·         Full-Mesh
·         Todos os routers têm circuitos virtuais (VCs) para os outros;
·         Mais caro, pois usa vários VC’s;
·         Fornece redundância, pois todos os sites se falam independentes.
·         Na topologia NBMA é emulada a operação do OSPF, com isso é necessário configurar os vizinhos e os DR e BDR manualmente. Esses necessariamente têm que ter comunicação com todos os outros routers para enviar o LSA para todos;
·         Na topologia Point-to-Multipoint não é definido DR e BDR e não requer configuração de vizinho estático. Essa rede foi criada para funcionar no modo partial-mesh ou estrela (hub-and-spoke). Nessa topologia são criadas várias redes Ponto-a-Ponto.


broadcast
emulado
NBMA
default
Point-to
Broadcast
Default
Ponto-multiponto Non-broadcast
Ponto-a-Ponto
Topologia Preferida
Full mesh
Full Mesh
Partial-mesh ou Estrela (Hub-and-spoke)
Partial-mesh ou Estrela (Hub-and-spoke)
Partial-mesh ou Estrela (Hub-and-spoke)
End. de Sub-Rede
Vizinhos pertencem a mesma sub-rede
Vizinhos pertencem a mesma sub-rede
Vizinhos pertencem a mesma sub-rede e deve ser configurado o “frame-relay map ip ip-add broadcast”
Vizinhos pertencem a mesma sub-rede
Diferentes sub-redes para cada subinterface
Vizinhos
Automático
Manual
Automático
Manual
Automático
Eleição
DR/BDR
 DR/BDR
Sem
Sem
Sem
Definição
Cisco
RFC
RFC
Cisco
Cisco

1.8           Configurando OSPF em uma Área Única

Ativar o roteamento OSPF com um PID que não precisa coincidir com os PIDs de outros routers do mesmo OSPF
Identificar as redes IP ou endereços de interface do router que fazem parte do OSPF e divulgar com a sua respectiva área pertencente e um wildcard-mask;

1.9           Interconectando Múltiplas Áreas OSPF

·         Freqüência reduzida de calculo de SPF;
·         Tabelas de roteamento menores;
·         Reduzido overhead de LSU.

1.10     Tipos de Routers

·         Router Interno – São routers cujas interfaces pertencem a mesma área. Todos os routers na mesma área compartilham do mesmo Banco de Dados (DB) de estado de enlace (idênticos);
·         Router do Backbone – São routers que tem pelo menos uma interface conectada na Área 0. A área 0 serve como área de trânsito entre áreas do OSPF;
·         Area Border Router (ABR) – Routers que tem interfaces conectadas as diversas áreas. Esse router mantém Link-state database distintos para cada área à qual estão conectados. Os ABR’s são pontos de saída da área. Os ABRs podem resumir as informações de Link-state database e distribuir no backbone, em seguida o backbone encaminha para outras áreas.
·         Autonomous System Boundary Router (ASBR) – Routers que tem pelo menos uma interface em uma rede externa (outro AS) e outra dentro da rede OSPF. Esse router faz Redistribuição de rotas entre o OSPF e o não-OSPF.

1.11     Tipos de LSA (Link-State Advertisements)

Tipo
Nome
Quem envia?
Descrição
LSA-1
Entrada do enlace do router;
(registro);
(O-OSPF);
(Router Link State).
Todos para o DR
somente dentro da área;
Descreve os estados de enlace do router com a área;
É enviado Custo e Link-State.
Originado por todos os routers
LSA-2
Entrada do enlace de rede;
(O-OSPF);
(Net Link State).
DRs para DROTHER
somente dentro da área;
Originado pelos DRs para os routers DROTHER.
LSA-3
Entrada do enlace de resumo
(IA-OSPF entre áreas)
(Summary Net Link State)
ABRs para o backbone

descreve rotas da área local para o backbone (resumidas);
Não fazem flood para áreas totally stubby;
LSA-4
Entrada do enlace de resumo;
(IA-OSPF entre áreas);
(Summary ASB Link State).
ABRs para dentro da área
Não fazem flood para áreas totally stubby;
Descreve a facilidade de acesso aos ABRs;
Originada pelos ABRs.
LSA-5
Entrada do enlace externo do AS;
(E1-OSPF externo tipo 1 (soma))
(E2-OSPF externo tipo 2 (real))
(AS External Link-State)
ASBRs para dentro da área
Descreve rotas externas a AS para dentro
Não envia para áreas Stub, totally-stubby e not-so-stubby; rotas E2 tem preferencia sobre E1. E1 é usado somente quando tem várias saídas do AS.
LSA-6
Não suportado pela Cisco. RFC 1584


LSA-7
Entrada de enlace externo da not-so-stubby area (NSSA) do AS
(N1-OSPF NSSA external type 1)
(N2-OSPF NSSA external type 2)
ASBR para a NSSA
Somente na área NSSA.
O ABR da NSSA transforma as LSA-7 em LSA-5 para o backbone; transforma a E1 e E2 em N1 e N2 dentro da NSSA;

1.12     Tipos de Áreas

Tipo
Descrição
LSA aceita
Padrão
Área comum
LSA-1, LSA-2, LSA-3, LSA-4 e LSA-5;
Backbone (trânsito)
Sempre “Área 0”;
Interconecta várias áreas e é conectada a todas as áreas.
LSA-1, LSA-2, LSA-3, LSA-4 e LSA-5;
Stub
Não aceita rotas externas ao AS.
Usa rota default para sair do AS;
LSA-1, LSA-2, LSA-3 e LSA-4;
Totally Stub
Proprietária da Cisco;
Não aceita rotas de outro AS e de outra área do mesmo AS;
Usa rota default para sair da área.
LSA-1 e LSA-2;
Not-so-Stubby
Importa um número limitado de rotas externas ao AS;
As rotas se limitam as necessárias para as áreas se falarem;
LSA-7;

1.13     Floding de LSU em multiplas áreas

·         O ABR só envia as rotas de resumo da área quando toda a área estiver sincronizada. Para otimizar os resumos é importante usar endereçamento IP contínuo;
·         ABR examina o Link-State DB e gera uma LSA de resumo (LSA-3) que é adicionado a um LSU que é distribuída em todas as interfaces que não fazem parte da área das redes resumidas; As LSA-3 não são enviadas quando:
·         A interface do vizinho estiver em um estado abaixo do de troca;
·         Áreas totally stubby;
·         Se na LSU tiver LSA-5 ele não envia para Stub e Totally Stub;
·         Quando um ABR recebe uma LSA-3 ele inclui no database e faz um flood para a área local;
·         É calculado os caminhos para destinos dentro da área;
·         É calculado os caminhos para destinos fora da área;
·         É calculado os caminhos para destinos fora da AS, exceto se for uma área Stub.

1.14     Virtual Link

É um link entre uma área não diretamente conectada ao backbone com o backbone passando através de uma área.
·         Deve ser estabelecido entre 2 ABRs da mesma área sendo um ligado na área 0;
·         Usado para ligar duas áreas 0;
·         Uma área stub não pode ter virtual-link.

2        Cenário

2.1           Objetivo

Seis roteadores (C1, C2, C3, R1, R3 e R6) são conectados conforme a topologia abaixo e devem ser configurados seguindo os seguintes critérios.
Os roteadores C1, C2 e C3 pertencem à área 0 do OSPF e devem fazer vizinhança entre eles.
O C1 e o R1 pertence à área 1 entre eles. Nessa conectividade o C1 deverá filtrar o envio do endereço de loopback do R1 para dentro da área 0 não o enviando. O C1 também deverá fazer um filtro de envio da loopback do R6 para a área 1.
O C3 e o R6 compartilham a área 6.
O C2 e o R3 trocam rotas usando o RIP da forma básica. O C2 redistribui as rotas do RIP dentro do OSPF.

2.2           Topologia

Figure-01:              Topologia

2.3           IOS utilizados

·         C1, C2, C3, R1, R3 e R6 – c7200-js-mz.123-7.T.bin

2.4           Configuração dos Roteadores

Em todos os roteadores configura-se o roteamento OSPF pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. O roteador também possui um router ID único que geralmente é a interface loopback ou então o maior endereço IP do roteador.
Para adicionar interfaces deve-se usar o comando “network
área ”. Um roteador pode ter interfaces em áreas distintas, define-se cada área pelo comando network.
Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.
Os filtros de divulgação de rotas entre as áreas pode ser feito usando “ip prefix-list” e aplicada a área OSPF dentro do processo OSPF.
O roteador C2 e o R3 possuem roteamento RIP usando “router rip” e divulgando a rede de conexão entre eles com o comando “network”. Párea redistribuir no OSPF, usa-se o comando “redistribute”.

2.5           Observações e Bugs

Documentação:
http://www.cisco.com/en/US/docs/ios/12_2/ip/configuration/guide/1cfisis.html

2.6           Comandos Importantes de Verificação

R6#show ip route
Gateway of last resort is not set

     3.0.0.0/32 is subnetted, 1 subnets
O E2    3.3.3.3 [110/20] via 60.60.60.1, 01:10:39, Serial1/2
     6.0.0.0/32 is subnetted, 1 subnets
C       6.6.6.6 is directly connected, Loopback0
     23.0.0.0/30 is subnetted, 1 subnets
O IA    23.23.23.0 [110/128] via 60.60.60.1, 01:10:39, Serial1/2
     10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA    10.10.10.0/30 [110/256] via 60.60.60.1, 01:10:39, Serial1/2
O IA    10.10.10.102/32 [110/129] via 60.60.60.1, 01:10:39, Serial1/2
O IA    10.10.10.103/32 [110/65] via 60.60.60.1, 01:10:39, Serial1/2
O IA    10.10.10.101/32 [110/193] via 60.60.60.1, 01:10:39, Serial1/2
     12.0.0.0/30 is subnetted, 1 subnets
O IA    12.12.12.0 [110/192] via 60.60.60.1, 01:10:39, Serial1/2
     60.0.0.0/30 is subnetted, 1 subnets
C       60.60.60.0 is directly connected, Serial1/2
     30.0.0.0/30 is subnetted, 1 subnets
O E2    30.30.30.0 [110/20] via 60.60.60.1, 01:10:40, Serial1/2

C1#sh ip ospf neighbor detail
 Neighbor 10.10.10.102, interface address 12.12.12.2
    In the area 0 via interface Serial1/7
    Neighbor priority is 0, State is FULL, 6 state changes
    DR is 0.0.0.0 BDR is 0.0.0.0
    Options is 0x52
    LLS Options is 0x1 (LR)
    Dead timer due in 00:00:35
    Neighbor is up for 01:12:45
    Index 1/1, retransmission queue length 0, number of retransmission 1
    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
    Last retransmission scan length is 1, maximum is 1
    Last retransmission scan time is 0 msec, maximum is 0 msec
 Neighbor 1.1.1.1, interface address 10.10.10.2
    In the area 1 via interface Serial1/0
    Neighbor priority is 0, State is FULL, 6 state changes
    DR is 0.0.0.0 BDR is 0.0.0.0
    Options is 0x52
    LLS Options is 0x1 (LR)
    Dead timer due in 00:00:35
    Neighbor is up for 01:12:04
    Index 1/2, retransmission queue length 0, number of retransmission 1
    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
    Last retransmission scan length is 1, maximum is 1
    Last retransmission scan time is 0 msec, maximum is 0 msec

C1#show ip ospf interface bri
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Se1/7        1     0               12.12.12.1/30      64    P2P   1/1
Lo0          1     0               10.10.10.101/32    1     LOOP  0/0
Se1/0        1     1               10.10.10.1/30      64    P2P   1/1

C1#sh ip ospf database

            OSPF Router with ID (10.10.10.101) (Process ID 1)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
10.10.10.101    10.10.10.101    596         0x80000006 0x00BC7B 3
10.10.10.102    10.10.10.102    560         0x80000005 0x002E59 5
10.10.10.103    10.10.10.103    514         0x80000006 0x0005EA 3

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
6.6.6.6         10.10.10.103    514         0x80000003 0x009FBC
10.10.10.0      10.10.10.101    596         0x80000003 0x003B21
60.60.60.0      10.10.10.103    514         0x80000003 0x0020A3

                Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         523         0x80000004 0x00AC19 3
10.10.10.101    10.10.10.101    596         0x80000006 0x003425 2

                Summary Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
10.10.10.101    10.10.10.101    596         0x80000003 0x00DE54
10.10.10.102    10.10.10.101    597         0x80000003 0x00579A
10.10.10.103    10.10.10.101    597         0x80000003 0x00CFE0
12.12.12.0      10.10.10.101    597         0x80000003 0x00F263
23.23.23.0      10.10.10.101    597         0x80000003 0x00E70D
60.60.60.0      10.10.10.101    597         0x80000003 0x003114

                Summary ASB Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
10.10.10.102    10.10.10.101    597         0x80000003 0x003FB2

                Type-5 AS External Link States

Link ID         ADV Router      Age         Seq#       Checksum Tag
3.3.3.3         10.10.10.102    560         0x80000003 0x00020C 0
30.30.30.0      10.10.10.102    560         0x80000003 0x003E84 0

3        Configuração

3.1           R1

router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 1
 network 10.10.10.2 0.0.0.0 area 1
!

3.2           C1

!
ip prefix-list no-r1-lo0 seq 5 deny 1.1.1.1/32
ip prefix-list no-r1-lo0 seq 10 permit 0.0.0.0/0 le 32
!
ip prefix-list no-r6-lo0 seq 5 deny 6.6.6.6/32
ip prefix-list no-r6-lo0 seq 10 permit 0.0.0.0/0 le 32
!
!
router ospf 1
 router-id 10.10.10.101
 area 1 filter-list prefix no-r6-lo0 in
 area 1 filter-list prefix no-r1-lo0 out
 network 10.10.10.1 0.0.0.0 area 1
 network 10.10.10.101 0.0.0.0 area 0
 network 12.12.12.1 0.0.0.0 area 0
!

3.3           C2

!
router ospf 1
 router-id 10.10.10.102
 redistribute rip subnets
 network 10.10.10.102 0.0.0.0 area 0
 network 12.12.12.2 0.0.0.0 area 0
 network 23.23.23.2 0.0.0.0 area 0
!
router rip
 version 2
 network 30.0.0.0
!

3.4           R3

!
router rip
 version 2
 network 3.0.0.0
 network 30.0.0.0
!

3.5           C3

!
router ospf 1
 router-id 10.10.10.103
 network 10.10.10.103 0.0.0.0 area 0
 network 23.23.23.1 0.0.0.0 area 0
 network 60.60.60.1 0.0.0.0 area 6
!

3.6           R6

!
router ospf 1
 router-id 6.6.6.6
 network 6.6.6.6 0.0.0.0 area 6
 network 60.60.60.2 0.0.0.0 area 6
!

 

2 comentários:

Marcelo da Silva Conterato disse...

Ótimo artigo Bruno, estava com dificuldades na teoria do OSPF, seu artigo ajudou muito. Parabéns!

Anônimo disse...

Bruno show de bola, seu site vale diversas medalhas de Ouro!