Escolar Documentos
Profissional Documentos
Cultura Documentos
Avançado
Rio de Janeiro
Escola Superior de Redes
2016
Copyright © 2016 – Rede Nacional de Ensino e Pesquisa – RNP
Rua Lauro Müller, 116 sala 1103
22290-906 Rio de Janeiro, RJ
Diretor Geral
Nelson Simões
Edição
Lincoln da Mata
Versão
1.0.0
Este material didático foi elaborado com fins educacionais. Solicitamos que qualquer erro encon-
trado ou dúvida com relação ao material ou seu uso seja enviado para a equipe de elaboração de
conteúdo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e
Pesquisa e os autores não assumem qualquer responsabilidade por eventuais danos ou perdas, a
pessoas ou bens, originados do uso deste material.
As marcas registradas mencionadas neste material pertencem aos respectivos titulares.
Distribuição
Escola Superior de Redes
Rua Lauro Müller, 116 – sala 1103
22290-906 Rio de Janeiro, RJ
http://esr.rnp.br
info@esr.rnp.br
ISBN 978-85-63630-57-5
CDD 004.62
Sumário
A metodologia da ESR vii
Permissões de uso x
Sobre os autores x
1. Funcionamento do banco de
dados do OSPF
Pacotes Hello 4
Router LSA 24
iii
Network Summary LSA e ASBR Summary LSA 26
AS External LSA 27
Remoção de LSAs 29
Conclusão 31
Comandos OSPF 32
Área Backbone 36
Área Normal 37
Área Stub 37
Entendendo o LSDB 40
A.2: Summary-LSA 48
A.5: NSSA-LSA 59
Conclusão 66
Comandos OSPF 66
Sumarização de rotas 69
Agregação de rotas 76
Métricas 80
iv
Interfaces Passivas (Passive Interfaces) 86
Rotas padrão 89
Filtrando prefixos 92
Comandos OSPF 106
Incremental OSPF 110
Propriedade 1 113
Propriedade 2 117
Propriedade 3 119
Graceful Restart 121
Supressão de Prefixos 133
Conclusão 160
Comandos OSPF 160
v
vi
Escola Superior de Redes
A Escola Superior de Redes (ESR) é a unidade da Rede Nacional de Ensino e Pesquisa (RNP)
responsável pela disseminação do conhecimento em Tecnologias da Informação e Comunica-
ção (TIC). A ESR nasce com a proposta de ser a formadora e disseminadora de competências
em TIC para o corpo técnico-administrativo das universidades federais, escolas técnicas e
unidades federais de pesquisa. Sua missão fundamental é realizar a capacitação técnica do
corpo funcional das organizações usuárias da RNP, para o exercício de competências aplicá-
veis ao uso eficaz e eficiente das TIC.
A ESR oferece dezenas de cursos distribuídos nas áreas temáticas: Administração e Projeto
de Redes, Administração de Sistemas, Segurança, Mídias de Suporte à Colaboração Digital e
Governança de TI.
A metodologia da ESR
A filosofia pedagógica e a metodologia que orientam os cursos da ESR são baseadas na
aprendizagem como construção do conhecimento por meio da resolução de problemas típi-
cos da realidade do profissional em formação. Os resultados obtidos nos cursos de natureza
teórico-prática são otimizados, pois o instrutor, auxiliado pelo material didático, atua não
apenas como expositor de conceitos e informações, mas principalmente como orientador do
aluno na execução de atividades contextualizadas nas situações do cotidiano profissional.
Dessa forma, o instrutor tem participação ativa e dialógica como orientador do aluno para as
atividades em laboratório. Até mesmo a apresentação da teoria no início da sessão de apren-
dizagem não é considerada uma simples exposição de conceitos e informações. O instrutor
busca incentivar a participação dos alunos continuamente.
vii
As sessões de aprendizagem onde se dão a apresentação dos conteúdos e a realização das
atividades práticas têm formato presencial e essencialmente prático, utilizando técnicas de
estudo dirigido individual, trabalho em equipe e práticas orientadas para o contexto de atua-
ção do futuro especialista que se pretende formar.
Sobre o curso
O curso descreve os detalhes do funcionamento do protocolo OSPF, permitindo ao aluno
entender como o OSPF monta sua hierarquia em áreas e quais mensagens e tipos de
pacotes são utilizados. Além disso, serão apresentadas alternativas para trabalhar com
engenharia de tráfego, serão apresentados modos de como mudar as métricas e forçar
o roteamento de tráfego por caminhos mais otimizados. Também serão apresentadas
técnicas para controlar a redistribuição de prefixos utilizando os mapas de rotas (ou
route-maps). O curso termina com uma sessão de sugestões de otimizações para a conver-
gência do OSPF além de apresentar o SNMP como uma ferramenta de monitoramento do
ambiente OSPF. Ao final do curso o aluno estará capacitado a:
viii
66 Entender o processo de escolha de rotas do OSPF
66 Entender Incremental OSPF
66 Entender Graceful Restart
66 Configurar BFD para OSPF
66 Configurar Supressão de Prefixos
66 Implementar Monitoramento da MIB para OSPF
A quem se destina
Profissionais de TI que administram redes TCP/IP baseadas no protocolo OSPF e que já
tenham um conhecimento básico do protocolo OSPF. Estudantes de Ciência da Computação
interessados em aprofundar os conhecimentos em protocolo de roteamento OSPF.
Itálico
Indica nomes de arquivos e referências bibliográficas relacionadas ao longo do texto.
Largura constante
Indica comandos e suas opções, variáveis e atributos, conteúdo de arquivos e resultado da saída
de comandos. Comandos que serão digitados pelo usuário são grifados em negrito e possuem
o prefixo do ambiente em uso (no Linux é normalmente # ou $, enquanto no Windows é C:\).
Conteúdo de slide q
Indica o conteúdo dos slides referentes ao curso apresentados em sala de aula.
Símbolo w
Indica referência complementar disponível em site ou página na internet.
Símbolo d
Indica um documento como referência complementar.
Símbolo v
Indica um vídeo como referência complementar.
Símbolo s
Indica um arquivo de aúdio como referência complementar.
Símbolo
Indica um aviso ou precaução a ser considerada.
Símbolo p
Indica questionamentos que estimulam a reflexão ou apresenta conteúdo de apoio ao
entendimento do tema em questão.
Símbolo l
Indica notas e informações complementares como dicas, sugestões de leitura adicional ou
mesmo uma observação.
ix
Permissões de uso
Todos os direitos reservados à RNP.
Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra.
Exemplo de citação: TORRES, Pedro et al. Administração de Sistemas Linux: Redes e Segurança.
Rio de Janeiro: Escola Superior de Redes, RNP, 2013.
Comentários e perguntas
Para enviar comentários e perguntas sobre esta publicação:
Escola Superior de Redes RNP
Endereço: Av. Lauro Müller 116 sala 1103 – Botafogo
Rio de Janeiro – RJ – 22290-906
E-mail: info@esr.rnp.br
Sobre os autores
Jerônimo Aguiar Bezerra é mestre em Mecatrônica e Bacharel em Ciência da Computação
pela Universidade Federal da Bahia, Jeronimo Aguiar Bezerra tem vasta experiência com
redes de computadores, sistemas operacionais, VoIP e GNU/Linux. Possuindo algumas cer-
tificações de mercado, como Cisco, Juniper e Linux LPI, “Jab” - como é conhecido - trabalhou
por 9 anos na Universidade Federal da Bahia (UFBA), onde participou ativamente de diver-
sos projetos de larga escala, como a implementação da Rede REMESSA e do Ponto de Troca
de Tráfego da Bahia. Jab esteve envolvido com redes acadêmicas e comerciais pelos últimos
13 anos, com passagem pela Rede Nacional de Ensino e Pesquisa (RNP) e tendo feito parte
de Grupos de Trabalho do IETF.
x
1
Funcionamento do banco de
dados do OSPF
objetivos
conceitos
no Sincronismo do OSPF; Link State Advertisement ou LSA; Router LSA; Network LSA;
Network Summary LSA; ASBR Summary LSA; AS External LSA; NSSA External LSA;
Remoção de LSAs.
11 Cinco tipos de pacotes OSPF existem para fazer a troca das mensagens LSA.
1
O banco de dados topológico do OSPF é criado a partir dos LSAs, ou Link State Advertisements,
que são as estruturas de dados responsáveis pelas informações topológicas dos roteadores
OSPF, ou seja, contém informações sobre o estado de cada enlace pelo qual um determinado
roteador é responsável. Nas mensagens LSA estão indicados o prefixo IP e a máscara de
subrede do enlace, qual o roteador responsável pelo prefixo, qual é a métrica (ou custo) para
alcançar aquele destino, um tempo de expiração e outras informações.
É através dessas informações que o algoritmo SPF define qual é o melhor caminho para
alcançar um destino IP. Após essa definição, uma rota IP é criada e enviada para o software
gerenciador da tabela de rotas (Plano de Controle do roteador) decidir se vai ou não instalar
na tabela de rotas.
De acordo com a RFC 2328, existem cinco pacotes OSPF que rodam sobre o protocolo IP e
são responsáveis pelas operações do OSPF, cada método com sua abordagem de controle
e garantia. Esses cinco pacotes OSPF serão detalhados a seguir e seus cabeçalhos serão
apresentados. Porém, todos compartilham de um cabeçalho comum, então é importante
detalhá-lo antecipadamente. Observe na figura 1.1 o formato desse cabeçalho, que possui
nove campos e 24 bytes de tamanho total sem autenticação (se utilizar autenticação MD5,
são 40 bytes).
Todos os cinco pacotes OSPF contêm um cabeçalho comum de 24 bytes (sem autenti- q
cação com MD5) ou 40 bytes (com autenticação com MD5):
OSPF Avançado
2
32 bits
8 bits 8 bits 8 bits 8 bits
Router ID
Area ID
Autenticação
Figura 1.1
Cabeçalho OSPF Autenticação
compartilhado.
11 Versão: para o protocolo IPv4, a versão atual do protocolo OSPF é a versão 2; para IPv6 é
a versão 3;
11 Tipo: identifica um dos cinco pacotes OSPF (Hello (1), DD(2), LSR(3), LSU(4), LSAck(5));
11 Router ID: endereço IP selecionado pelo processo OSPF para identificar o roteador.
Geralmente está associado ao endereço IP da interface Loopback ou é configurado
manualmente;
11 Checksum: valor de checksum do pacote OSPF, utilizado para verificar se o pacote está
íntegro ou não na sua recepção. Usa o mesmo algoritmo do checksum do pacote IP;
11 Tipo de Autenticação: informa qual esquema de autenticação está sendo utilizado. Pode
assumir os seguintes valores:
22 0: Sem autenticação;
22 1: Autenticação simples, utilizando texto sem criptografia. Pode utilizar senhas de até
oito caracteres. Nesse tipo de autenticação, os dois campos Autenticação acima arma-
zenam o valor da senha, como se fossem um único campo;
Figura 1.2
Informações de 22 2: Autenticação criptográfica. Nesse caso, os dois campos Autenticação assumem o
Criptografia do seguinte formato:
33 Key ID: identifica a chave a ser utilizada (várias chaves são possíveis na configu-
ração OSPF);
Router ID
Area ID
É importante ressaltar que, por tratar apenas de adjacências, todos os pacotes IP utilizados
pelo OSPF são criados para serem enviados apenas para os roteadores adjacentes e, por
isso, são criados com o campo Time to Live (TTL) do pacote IP configurado como "1". Isso
garante que os pacotes não serão roteados para outras redes da qual o roteador OSPF não
faz parte.
Pacotes Hello
Pacotes Hello possuem diversas funções: q
11 Descobrir roteadores OSPF adjacentes.
11 Manter as adjacências.
4
Relembrando: O OSPF pode funcionar em três tipos diferentes de rede:
Apesar de ser um tipo de pacote do OSPF, o Hello também é considerado um protocolo por
si só. Esse protocolo possui as seguintes responsabilidades:
11 Manter as adjacências;
11 Definir o roteador Designated Router (DR) e o Backup Designated Router (BDR) em redes
tipo Broadcast e NBMA.
Esse é considerado o principal pacote OSPF, pois é a partir dele que todas as descobertas e
adjacências são criadas, além de ser o responsável por detectar falhas de enlaces e rote-
adores. Por ser o primeiro pacote OSPF a ser utilizado, funciona enviando pacotes Hello
para o endereço IP multicast AllSPFRouters (224.0.0.5). Os roteadores OSPF que recebem o
pacote Hello enviam outro pacote Hello de volta para iniciar as adjacências.
5
32 bits
8 bits 8 bits 8 bits 8 bits
Tipo=1
Cabeçalho OSPF
Máscara de sub-rede
Designated Router
Vizinhos Ativos
Figura 1.4
... Pacote Hello com
o cabeçalho OSPF
Vizinhos Ativos simplificado.
11 Intervalo Hello: tempo em segundos entre o envio dos pacotes Hello. O valor tem de ser
o mesmo nos roteadores conectados no mesmo segmento. Em caso de discrepâncias, a
adjacência não será estabelecida;
11 Opções: existem cinco tipos de opções definidas na RFC 2328. Essas opções são utili-
zadas para estender as capacidades do roteador OSPF, além de informar outros rotea-
dores dessas capacidades. As possibilidades são apresentadas a seguir:
22 N/P bit: esse bit descreve como manipular os LSAs do Tipo 7;
11 Intervalo de Roteador Morto (Dead Interval): intervalo em segundos para definir que
o roteador adjacente está desconectado da rede e assim encerrar a adjacência. Assim
como o “Intervalo Hello”, o valor tem de ser o mesmo nos roteadores conectados no
mesmo segmento. Em caso de discrepâncias, a adjacência não será estabelecida;
6
11 Designated Router: endereço IP da interface do DR no segmento de rede (não o Router-ID).
Caso não seja uma rede tipo Broadcast ou NBMA, esse campo é preenchido com 0.0.0.0;
11 Vizinhos Ativos: lista dos roteadores vizinhos do qual o roteador OSPF que está enviando
o pacote recebeu pacotes Hello válidos. Em redes do tipo Broadcast e NBMA, são listados
todos os roteadores OSPF que fazem parte do segmento. Em redes ponto-a-ponto, o ende-
reço IP do roteador remoto é informado nesse campo.
No momento em que o roteador OSPF finaliza sua inicialização e habilita suas interfaces,
o processo OSPF começa a enviar pacotes Hello por todas as interfaces que estão configu-
radas para fazerem parte do OSPF. Considere a topologia na figura a seguir.
Figura 1.5 R3 R4
Topologia de 10.1.1.0/24
Exemplo para
exemplificar a
funcionamento do s1/0 s0/0
protocolo Hello.
O primeiro pacote OSPF seria montado como está na figura 1.6. Observe como os campos
do pacote Hello foram preenchidos:
7
Cabeçalho comum:
11 Packet Length: 44 (24 bytes do cabeçalho OSPF mais 20 bytes do pacote Hello);
Pacote Hello:
Podemos observar que o campo de Vizinhos Ativos não está presente, pois o roteador
R4 ainda não conhece o roteador remoto.
Após receber o pacote Hello vindo de R4 (10.1.1.2), o R3 envia um pacote Hello, conforme
OSPF Avançado
figura 1.7.
11 R3 envia seu primeiro pacote Hello, porém após receber o Hello do R4 (nesse exemplo); q
11 Campo Vizinho Ativo ou Active Neighbor é preenchido a partir do Hello do roteador R4;
8
Open Shortest Path First
OSPF Header
OSPF Version: 2
Message Type: Hello Packet (1)
Packet Length: 48
Source OSPF Router: 10.1.1.1 (10.1.1.1)
Area ID: 0.0.0.0 (Backbone)
Packet Checksum: 0xd695 [correct]
Auth Type: Null
Auth Data (none)
OSPF Hello Packet
Network Mask: 255.255.255.0
Hello Interval: 10 seconds
Options: 0x12 (L, E)
Router Priority: 1
Router Dead Interval: 40 seconds
Figura 1.7
Captura do pacote Designated Router: 0.0.0.0
Hello de R3 (Source Backup Designated Router: 0.0.0.0
OSPF Router:
Active Neighbor: 10.1.1.2
10.1.1.1
Observe que o R3 envia um pacote Hello similar, porém com campo Source OSPF Router
indicando seu endereço IP (10.1.1.1) e com o campo Active Neighbor com o valor 10.1.1.2.
Isso ocorre pois R3 recebeu o pacote Hello vindo do R4. Na próxima vez que o R4 enviar um
pacote Hello, o campo Active Neighbor estará presente (conforme a figura 1.8). Ter o campo
Active Neighbor no pacote Hello significa que ambos os roteadores concordam em estabe-
lecer a adjacência. Outros pontos que requerem atenção:
9
11 Na figura 1.6, o Packet Length tinha 44 bytes, porém nas figura 1.7 e figura 1.8, tem 48
Bytes. Isso se deve ao fato de que o campo Active Neighbor estava presente com o ende-
reço IP do vizinho nas figura 1.7 e figura 1.8 (lembre-se de que o endereço IPv4 possui
4 bytes de tamanho, ou 32 bits);
22 DR Others (DROther).
No cenário do exemplo anterior, por ser uma rede ponto-a-ponto, o processo de estabeleci-
mento de adjacência foi bastante simplificado, uma vez que em circuitos ponto-a-ponto só
temos dois roteadores envolvidos. Porém, em redes tipo Broadcast ou NBMA, por questões
de escalabilidade, o processo requer etapas extras, para que sejam escolhidos os rotea-
dores Designated Router e Backup Designated Router.
Esses papéis existem nas redes Broadcast e NBMA para servirem de centralizadores de
atualização das informações topológicas, evitando assim que todos os roteadores tenham
de sincronizar seus bancos de dados com todos os outros roteadores da mesma sub-rede,
melhorando a escalabilidade do OSPF, além de reduzir a quantidade de mensagens tro-
cadas. Nesses casos, teremos três papéis:
11 DR Others (DROther).
Apenas o DR tem o papel de sincronizar o banco de dados topológico com os demais. Agora,
em caso de alterações na rede, os roteadores DROthers terão de notificar o DR e o BDR
dessas alterações, e o DR atualizará o banco de dados dos demais roteadores da rede. Para
que o DROthers possam notificar apenas o DR e o BDR, um novo grupo multicast foi criado,
chamado de AllDRouters (224.0.0.6). Apesar de apenas o DR ser responsável por encami-
OSPF Avançado
nhar as atualizações recebidas para os demais roteadores OSPF da rede, é importante que
o BDR também seja notificado, uma vez que este será o responsável por substituir o DR em
caso de falha.
10
Para exemplificar o processo de escolha do DR e do BDR em uma rede Broadcast, vamos
utilizar a topologia proposta na figura 1.9.
R1 R2
f0/0
f0/0
SW1
1 2
3 10.1.0.0/24
f0/0
Figura 1.9
Rede tipo
Broadcast. R3
b. Nesse exemplo, como ambos foram recém-inicializados e não existem outros roteadores,
ambos os roteadores enviarão pacotes Hello sem o campo Active Neighbors. Nesse momento,
os campos Designated Router e Backup Designated Router estão preenchidos com 0.0.0.0;
c. Ao receberem o pacote Hello, cada roteador passará a enviar os próximos pacotes Hello
d. Nesse momento, o processo de escolha do BDR é iniciado. Caso algum roteador tenha
preenchido o próprio IP no campo Backup Designated Router, aquele com a maior Router
Priority será escolhido. Em caso de empate, aquele com o endereço IP mais alto será
o escolhido. Caso nenhum roteador tenha preenchido, o roteador com a maior Router
Priority será escolhido. Novamente, em caso de empate, aquele com o endereço IP mais
alto será escolhido. Após esse processo, nesse exemplo, o R2 será escolhido tempora-
riamente como BDR, pois ambos estão com a Router Priority configurada com o valor
padrão (1) e o Router-ID de R2 é maior que o Router-ID de R1;
11
e. Após a escolha do R2 como BDR, o processo de escolha do DR é iniciado. Caso mais de
um roteador tenha preenchido o próprio IP no campo Designated Router, aquele com a
maior Router Priority será escolhido. Caso ambos tenham o mesmo valor de prioridade,
aquele com o endereço IP mais alto será eleito o DR. Caso apenas um roteador tenha
preenchido, esse será considerado o DR. Se nenhum roteador tiver preenchido o campo
de Designated Router, o BDR é escolhido para ser o DR. Nesse caso, o R2 também será
considerado o Designated Router desse segmento;
f. Como o DR e o BDR não podem estar associados ao mesmo roteador, uma nova eleição
para o BDR é estabelecida, seguindo os passos detalhados no passo D. Com isso, R1 será
escolhido BDR do segmento;
g. Após a escolha do novo BDR, o DR e o BDR ficarão com seus papéis até que o processo
OSPF seja forçado pelo administrador a acontecer novamente ou em caso de queda de
algum dos dois. Se o DR cair, o BDR assumirá o papel de DR e uma eleição para o BDR
acontecerá. Caso o BDR caia, apenas uma eleição para BDR acontecerá;
h. Caso o administrador da rede inicialize o roteador R3 agora, este vai observar nos pacotes
Hello que o DR e o BDR já estão definidos, logo ele se caracterizará como DROther, esta-
belecendo adjacências com o DR e o BDR.
11 Processo de escolha do BDR é iniciado. Depende de quem tiver maior Router Priority.
Desempate com o maior endereço IP;
11 DR e BDR não mudam mesmo que outro roteador tenha prioridade maior;
O fato de que, após escolhidos, o DR e o BDR não mudam, mesmo com a entrada de outros
roteadores com prioridade mais alta, serve para garantir a estabilidade da rede, uma vez que a
cada eleição todo o processo de adjacência tem de ocorrer novamente, gerando instabilidade
no roteamento da rede. Observe na figura 1.10 o pacote Hello com o DR e o BDR definidos.
OSPF Avançado
12
Open Shortest Path First
OSPF Header
OSPF Version: 2
Message Type: Hello Packet (1)
Packet Length: 48
Source OSPF Router: 10.1.0.2 (10.1.0.2)
Area ID: 0.0.0.0 (Backbone)
Packet Checksum: 0xc490 [correct]
Auth Type: Null
Auth Data (none)
OSPF He11o Packet
Network Mask: 255.255.255.0
Hello Interval: 10 seconds
Options: 0x12 (L, E)
Router Priority: 1
Router Dead Interval: 40 seconds
Designated Router: 10.1.0.2
Figura 1.10
Backup Designated Router: 10.1.0.1
R2 escolhido como
DR, R1 como BDR. Active Neighbor: 10.1.0.1
Como ambos os roteadores estão utilizando a mesma prioridade (1), o R2 foi eleito DR por ter
o IP mais alto (10.1.0.2 > 10.1.0.1). É importante ressaltar que, caso o roteador seja configurado
com Router Priority igual a zero, esse roteador não poderá ser candidato à DR ou BDR.
Database Description – DD
11 Após os roteadores OSPF tornarem-se adjacentes, os bancos de dados topológicos q
precisam ser sincronizados;
22 Eleição Master/Slave;
22 Caso verifique que não está atualizado, uma lista de cabeçalhos LSA é criada para
solicitar o LSA completo no próximo passo;
13
Após os roteadores OSPF estabelecerem adjacências, estes precisam verificar se seus
bancos de dados topológicos estão sincronizados. Para essa tarefa, o pacote OSPF Database
Description – DD – (pacote OSPF tipo “2”) é utilizado. Durante o período chamado “Database
Exchange Process”, um processo de eleição de Master/Slave acontecerá e, após eleito, o
Master começará a enviar os cabeçalhos dos LSAs existentes no seu banco de dados topo-
lógico. Como cada cabeçalho LSA contém um aging (tempo de existência), o roteador Slave
conseguirá verificar se seu banco de dados está mais atualizado ou não. Caso perceba que
não está, este registra essa informação para solicitar o LSA completo na próxima etapa.
O mesmo acontece com o Master, que ao receber o pacote DD do Slave verifica se seu banco
está atualizado a partir dos cabeçalhos LSAs recebidos e os respectivos tempos de aging.
Assim como o pacote Hello, o pacote DD também usa o cabeçalho OSPF apresentado ante-
riormente, adicionando apenas os campos listados a seguir. A troca dos pacotes de DD
ocorre utilizando endereçamento Unicast (em redes Broadcast e NBMA) e Multicast
(em redes ponto a ponto).
32 bits
8 bits 8 bits 8 bits 8 bits
Tipo=2
Cabeçalho OSPF
11 MTU: tamanho do Maximum Transmission Unit da interface OSPF a ser utilizada para sin-
cronismo dos bancos de dados topológicos. Caso sejam diferentes entre os roteadores, o
processo de sincronismo não vai ocorrer;
11 Bit I (Initial): caso esteja marcado com “1”, indica que esse é o primeiro pacote DD da
sequência de sincronismo;
11 Bit M (More): caso esteja marcado com “1”, indica que o pacote atual não é o último da
sequência. “0” indica que é o último;
11 Bit MS (Master/Slave): se esse bit estiver marcado como “1”, significa que roteador origi-
nador é o Master na relação de sincronismo entre os dois roteadores. Se estiver marcado
como “0”, esse roteador é o Slave do processo;
11 Número de Sequência: utilizado pelo Master para definir o sequenciamento dos pacotes DD;
11 Cabeçalhos LSA: lista dos cabeçalhos de parte ou todos os LSAs contidos no banco de dados
do originador do pacote. A partir desse campo, o recebedor do pacote poderá confirmar se
OSPF Avançado
possui todos os LSAs e, caso não tenha, solicitará tais LSAs faltantes no próximo processo.
Para ilustrar, vamos utilizar a topologia apresentada na figura 1.9. Como as adjacências já
foram criadas, o passo seguinte é o Database Exchange Process. Observe a figura 1.12, a
figura 1.13 e a figura 1.14.
14
OSPF Header OSPF Header
OSPF version: 2 OSPF version: 2
Message Type: DB Description (2) Message Type: DB Description (2)
Packet Length: 32 Packet Length: 32
Source OSPF Router: 10.1.0.1 (10.1.0.1) Source OSPF Router: 10.1.0.2 (10.1.0.2)
Area ID: 0.0.0.0 (Backbone) Area ID: 0.0.0.0 (backbone)
Packet checksum: 0x8386 [correct] Packet checksum: 0x7f27 [correct]
Auth Type: Null Auth Type: Null
Auth Data (none) Auth Data (none)
OSPF DB Description OSPF DB Description
Interface MTU: 1500 Interface MTU: 1500
Options: 0x52 (O, L, E) Options: 0x52 (O, L, E)
DB Description: 0x07 (I, M, MS) DB Description: 0x07 (I, M, MS)
.... 0... = R: OOBResync bit is NOT set .... 0... = R: OOBResync bit is NOT set
.... .1.. = I: Init bit is SET .... .1.. = I: Init bit is SET
.... ..1. = M: More bit is SET .... ..1. = M: More bit is SET
.... ...1 = MS: Master/Slave bit is SET .... ...1 = MS: Master/Slave bit is SET
DD Sequence: 6258 DD Sequence: 7376
Figura 1.12 Na figura 1.12 é possível observar que ambos os roteadores R1 (10.1.0.1) e R2 (10.1.0.2)
Database Exchange enviam o pacote DD informando serem Masters do processo. Cada um envia seu próprio
Process: eleição
do Master. número de sequência (R1 envia 6258 e R2 envia 7376).
Figura 1.13 Na figura 1.13., o roteador R1 envia o pacote com o bit M/S configurado para “0”, indicando
Database Exchange ser o Slave da relação. No mesmo pacote R1 já envia o número de sequência recebido do R2
Process: início
da troca de (7376) e os cabeçalhos dos LSAs que estão no seu banco de dados (a explicação sobre LSA
pacotes DD. se dará mais à frente).
15
Na figura 1.14, podemos observar que o R2 envia agora os cabeçalhos dos seus LSAs com
um novo número de sequência (7377) e o R1 confirma recebimento enviando um pacote DD
com o mesmo número de sequência.
Após isso, R2 envia mais um pacote DD com o bit M configurado como “0” e um novo Figura 1.14
número de sequência (7378), indicando o fim do processo, e R1 confirma com um pacote DD Database Exchange
Process – R2
com o mesmo número. Agora, de posse dos cabeçalhos LSAs existentes no roteador remoto, enviando
ambos os roteadores enviarão pacotes OSPF chamados Link State Request, solicitando os seus LSAs.
LSAs completos para serem inseridos no banco de dados topológico. O processo de requi-
sição será apresentado a seguir.
11 A solicitação dos LSAs acontece via pacote OSPF Link State Request ou LSR.
11 Adiciona apenas três campos novos, que podem ocorrer diversas vezes.
Concluído o Database Exchange Process, o próximo passo para o sincronismo dos bancos de
dados é solicitar os LSAs completos que cada roteador recebeu do roteador remoto, seja por
não possuir tal LSA, seja devido ao aging recebido ser mais novo que o existente no banco
OSPF Avançado
de dados atual.
Para fazer tal requisição ao roteador remoto, o pacote OSPF Link State Request (pacote
OSPF tipo 3) é utilizado. Também fazendo uso do mesmo cabeçalho do Hello e do DD,
esse pacote apenas adiciona três campos, conforme pode ser visto na figura 1.15. Esses
campos podem se repetir.
16
32 bits
8 bits 8 bits 8 bits 8 bits
Tipo=3
Cabeçalho OSPF
Tipo de Link-State 1
ID do Link-State 1
Advertising Router 1
...
Tipo de Link-State n
ID do Link-State n
Figura 1.15
Pacote Link Advertising Router n
State Request.
11 Tipo do LSA: identifica o tipo do LSA (os tipos estão listados na tabela 1.1);
Esses campos podem se repetir diversas vezes, para solicitar múltiplos LSAs no mesmo
pacote. Assim como a comunicação no Database Exchange Process, a comunicação entre
os roteadores OSPF ocorre utilizando endereçamento Unicast (redes Broadcast e NBMA) e
Multicast (redes Ponto-a-Ponto). Na figura 1.16 é possível ver um pacote LSR sendo enviado
do R2 para R1:
OSPF Version: 2
Message Type: LS Request (3)
Packet Length: 36
Source OSPF Router: 10.1.0.2 (10.1.0.2)
Uma vez enviado o LSR solicitando os LSAs que precisam ser atualizados, o roteador remoto
envia pacotes OSPF de Link State Update, que contém o LSA completo. A seguir será expli-
cado o formato desse pacote.
17
Link State Update ou LSU
11 Recebido o Link State Request, o roteador OSPF receptor verifica no seu banco de q
dados e responde com um pacote Link State Update.
Recebida a solicitação do LSA via pacote LSR, o roteador OSPF enviará um pacote OSPF Link
State Update, cujo tipo é o 4. Esse pacote utiliza o mesmo cabeçalho OSPF, e a resposta é
feita via uma das possibilidades a seguir:
Apenas dois campos existem nesse pacote, conforme pode ser observado na figura 1.17.
32 bits
8 bits 8 bits 8 bits 8 bits
Tipo=4
Cabeçalho OSPF
Número de LSAs
Figura 1.17
Pacote Link State
LSAs Update. Apenas
dois campos
adicionados.
11 Número de LSAs: informa a quantidade de LSAs que estão sendo enviados nesse pacote;
Na figura 1.18 é possível verificar um pacote LSU respondendo com um LSA completo.
Porém, para garantir que o roteador remoto realmente recebeu o LSU, o roteador remoto
precisa informar ao originador a confirmação de recebimento. Essa confirmação ocorre
através do pacote OSPF Link State Acknowledgement ou LSAck.
OSPF Avançado
18
OSPF Header
OSPF Version: 2
Message Type: LS Update (4)
Packet Length: 64
Source OSPF Router : 10.1. 0.1 (10.1. 0.1)
Area ID: 0.0.0.0 (Backbone)
Packet Checksum: 0xe898 [correct]
Auth Type: Null
Auth Data (none)
LS Update Packet
Figura 1.18 Number of LSAs: 1
Resposta do R1 ao LS Type: Router-LSA
LSR de R2.
Os tipos e o conteúdo dos LSAs serão apresentados no item "Link State Advertisement ou LSA".
22 O receptor envia um pacote LSU com o mesmo conteúdo de volta para o originador.
Como o LSU também ocorre em modo flooding: enviando as informações para todos os
roteadores OSPF do segmento de rede do qual faz parte: o LSAck é importante para garantir
confiabilidade ao protocolo OSPF. Cada LSA recebido deve ser explicitamente confirmado
pelo recebedor através do pacote LSAck. Essa confirmação ocorre quando o recebedor envia
os cabeçalhos do LSA no pacote LSAck, podendo confirmar um ou diversos LSAs em uma
única mensagem. O LSAck é o pacote de tipo número “5” do OSPF.
32 bits
8 bits 8 bits 8 bits 8 bits
Cabeçalho OSPF
19
É importante salientar que a especificação do OSPF também permite que a confirmação
se dê através do próprio LSU, onde o recebedor enviaria um LSU de volta com os mesmos
dados. Em redes Broadcast ou NBMA, a confirmação pode ocorrer também via Unicast
(diretamente para o originador) ou via Multicast. Na figura 1.20, podemos observar a confir-
mação do roteador R2 ao LSU do R1 via pacote LSAck.
OSPF Header
OSPF Version: 2
Message Type: LS Acknowledge (5)
Packet Length: 64
Source OSPF Router: 10.1.0.2 (10.1.0.2)
Area ID: 0.0.0.0 (Backbone)
Packet Checksum: 0x6b41 [correct]
Auth Type: Null
Figura 1.20
Auth Data (none) LSAck do R2
LSA Header para R1.
Após a confirmação de todos os LSAs recebidos por todos os roteadores OSPF, estes entram no
estado chamado “FULL”, uma vez que seus bancos de dados estão sincronizados. A partir desse
momento, apenas alterações de estado dos enlaces gerarão novas atualizações na rede.
11 Nesse estado, o algoritmo SFP faz o cálculo das rotas para serem inseridas no roteador;
11 Caso o LSA não seja atualizado por 30 minutos, o roteador deve anunciá-lo nova-
mente para os roteadores da área:
Apesar do protocolo OSPF só enviar notificações de atualizações quando estas ocorrem (por
exemplo, um enlace fica inativo), para garantir que todos os bancos de dados estão atualizados,
toda vez que um LSA atingir o tempo aging de 30 minutos, uma atualização será enviada para
o grupo Multicast AllSPFRouters, mesmo que no final o mesmo LSA permaneça no banco de
dados OSPF. Esse tempo é fixo e chamado de LSRefreshTime na especificação do OSPF.
É importante salientar que o anúncio é feito por LSA, e não para todo o banco de dados.
O OSPF não faz flooding da tabela de roteamento ou do banco de dados topológico.
20
R1 R2
DOWN DOWN
HELLO (DR=0, Vizinhos=0)
HELLO (DR=R2, Vizinhos=R1) INIT
ExStart D-D (Seq =X, I, M, Master)
D-D (Seq =Y, l, M, Master) ExStart
Exchange D-D (Seq =Y, M, Slave)
D-D (Seq =Y+1, l, M, Master) Exchange
D-D (Seq =Y+1, M, Slave)
(...)
D-D (Seq =Y+n, Master)
D-D (Seq =Y+n, Slave)
Loading
LS Request Full
LS Update
LS Request
Figura 1.21 LS Update
Transição de
estados OSPF. Full
a. R1 inicializa seu processo OSPF no estado DOWN e envia um pacote Hello sem DR e sem
indicação de vizinhos ativos;
b. R2 recebe o pacote Hello, e sai do estado DOWN para o estado INIT. R2 então envia uma
mensagem Hello informando ser o DR e, na lista de vizinhos ativos, adiciona o IP de R1;
c. Ao receber o pacote Hello vindo de R2 com seu endereço IP no campo de vizinhos ativos,
R1 sai do estado DOWN e passa para o estado ExStart. Nesse estado, R1 e R2 farão a
verificação do banco de dados topológicos entre eles. Primeiramente, R1 envia um pacote
DD informando ser o Master do processo;
d. Ao receber o pacote DD, R2 entende que o R1 quer estabelecer a adjacência, e sai do Capítulo 1 - Funcionamento do banco de
dados do OSPF
estado INIT para o estado ExStart, e envia um pacote DD para R1 também informando ser
o Master;
e. Ao receber o pacote DD de R2, como este é o DR, R1 aceita ser o Slave do processo e
passa do estado ExStart para o estado Exchange. Um pacote DD é enviado de volta com o
número de sequência informado por R2;
f. R2 recebe o pacote DD com seu número de sequência e passa para o estado Exchange. A
partir desse momento, começa a troca de mensagens DD com os cabeçalhos dos LSAs de
cada banco de dados;
g. Após todos os cabeçalhos serem trocados, R1 entra no estado de Loading, pois agora vai
solicitar os LSAs completos de R2. Mensagens de LSR são enviadas com os cabeçalhos
dos LSA desejados;
21
h. Ao receber o LSR vindo de R1, se o R2 não precisar de nenhum LSA do R1, o este entra
no estado FULL direto. Se R2 precisar, um pacote LSR será enviado para R1 e entrará no
estado LOADING. No exemplo, como o R2 não precisará de informações do R1, R2 já foi
para o estado FULL, e enviará os pacotes LSU com os LSAs requisitados;
Caso um novo roteador entre na rede OSPF, este fará o processo acima com o DR apenas.
Com os outros DROthers da rede, as adjacências serão criadas, porém os roteadores
DROthers ficarão parados no estado ExStart (ou 2-Way para alguns fabricantes) entre eles,
pois não há necessidade do sincronismo. Em redes não Broadcast e NBMA, onde não há
DR e BDR, ambos os roteadores devem chegar até o estado FULL.
Agora que o processo de sincronização do banco de dados topológico já está claro, será
apresentada a estrutura de dados chamada Link State Advertisement, ou LSA, que são as
estruturas que contêm as informações topológicas que populam o banco de dados do OSPF.
11 Pacotes OSPF DD e LSR usam apenas o cabeçalho; pacote LSU usa o LSA completo;
11 Através das informações no LSA é que o roteador faz os cálculos para definir as rotas;
11 Existem onze tipos, porém seis utilizados rotineiramente: router LSA, Network LSA,
Network Summary LSA, ASBR Summary LSA, AS External LSA e NSSA External LSA.
Como os LSAs são os responsáveis por todas as informações e métricas da rede OSPF,
diversos tipos foram criados, com propósitos específicos. Na tabela 1.1, os onze tipos exis-
tentes atualmente para IPv4 são apresentados. Porém, nas redes OSPF atuais, apenas seis
tipos são realmente utilizados e serão detalhados nas sessões a seguir: router LSA, Network
LSA, Network Summary LSA, ASBR Summary LSA, AS External LSA e NSSA External LSA.
OSPF Avançado
22
Código Nome Quem faz uso? Descrição Definição
32 bits
8 bits 8 bits 8 bits 8 bits
Link-State ID
11 Age (Tempo de vida): tempo em segundos desde que o LSA foi gerado;
23
11 Checksum: utilizado para garantir integridade. Não inclui o campo Age;
A seguir, os principais tipos de LSA serão apresentados, e seus cabeçalhos serão detalhados,
bem como seu modo de uso.
Router LSA
11 Router LSA é utilizado para informar os roteadores adjacentes com informações q
como Router-ID, enlaces locais e métricas de saída.
LSA tipo “1”, o Router LSA é utilizado para informar os roteadores adjacentes da área OSPF
de informações como Router-ID, enlaces locais e métricas de saída. Esse é o primeiro LSA
enviado pelo roteador e nele devem conter todas as informações de todos os enlaces que
o roteador possui, em apenas uma mensagem. O formato do Router LSA é apresentado na
figura 1.23. Os campos em azul pertencem ao cabeçalho LSA, detalhado na figura 1.22.
32 bits
8 bits 8 bits 8 bits 8 bits
Link-State ID
Advertising Router
Sequence Number
Checksum Tamanho
Link ID
Link Data
24
Os campos a seguir são utilizados para descrever cada enlace do roteador. Cada enlace
possui um tipo.
11 Link ID: identifica o objeto ao qual o enlace se conecta. Valor depende do campo Tipo de Link;
11 Tipo de Link: informa o tipo de enlace e define o conteúdo dos campos Link ID e Link
Data. Os tipos estão informados na tabela 1.2;
11 A partir do Tipos de Link, o valor dos campos Link ID e Link Data podem mudar q
A utilização dos campos da tabela 1.2 será apresentada na sessão de aprendizagem 2,
“Áreas OSPF”, bem como exemplos.
Network LSA
11 LSA tipo “2”; q
11 Network LSA é utilizado pelo Designated Router para informar aos demais roteadores
OSPF da área sobre os roteadores com os quais o DR possui adjacências;
11 Essa informação é utilizada para saber quais roteadores estão na mesma sub-rede e
LSA tipo “2”, o Network LSA é utilizado pelo Designated Router para informar aos demais
roteadores OSPF da área sobre os roteadores com os quais o DR possui adjacências.
A estrutura da Network LSA está apresentada na figura 1.24. É possível verificar que este é
mais simples que o Router LSA.
25
32 bits
8 bits 8 bits 8 bits 8 bits
Link-State ID
Advertising Router
Sequence Number
Checksum Tamanho
Máscara de Sub-rede
Roteador Ativo
Figura 1.24
Roteador Ativo Network LSA.
22 ASBR Summary LSA é utilizado para informar o endereço IP dos roteadores ASBR:
Autonomous System Boundary Routers.
11 O formato dos campos é o mesmo, porém o preenchimento varia nos seguintes campos:
22 Tipo.
22 Link-State ID.
22 Máscara de Sub-rede.
11 Também é utilizado para gerar a rota default dentro de uma área Stub.
O formato do Network Summary LSA (ou Summary LSA) e do ASBR Summary LSA são
idênticos. As únicas diferenças então no preenchimento dos campos Tipo, Link-State ID e
Máscara de Sub-rede.
O Network Summary LSA é utilizado para informar os roteadores de uma das áreas do ABR
sobre as rotas das outras áreas do ABR. Por isso, quanto o roteador ABR quer enviar um
Network Summary LSA, o campo Tipo é preenchido com valor “3”. O campo Link-State ID é
preenchido com o prefixo IP da rede a ser anunciada, e o campo Máscara de sub-rede é preen-
chido com a máscara do prefixo informado. Caso o ABR queira, é possível fazer agregação dos
prefixos, além de ser possível o envio da rota padrão (ou rota default). No caso da rota padrão,
OSPF Avançado
ambos os campos Link-State ID e Máscara de Sub-rede são preenchidos com o valor 0.0.0.0.
26
O ASBR Summary LSA é utilizado pelo ABR para informar sobre os roteadores ASBR exis-
tentes em outra área da qual o ABR faz parte. Quanto for enviar um ASBR Summary LSA,
o ABR precisa preencher o campo Tipo com valor “4”, e, no campo Link-State ID, é preciso
informar o Router-ID do ASBR (geralmente o endereço de loopback). Nesse caso, o campo
Máscara de Sub-rede não tem serventia e é preenchido com o valor 0.0.0.0.
32 bits
8 bits 8 bits 8 bits 8 bits
Link-State ID
Advertising Router
Sequence Number
Checksum Tamanho
Máscara de Sub-rede
0x00 Métrica
Figura 1.25
Network ou ASBR TOS Métrica TOS
Summary LSA.
O campo Métrica é preenchido com o custo associado para se chegar ao endereço IP infor-
mado no campo Link-State ID. Os campos TOS e Métrica TOS não são utilizados.
AS External LSA
11 LSA Tipo “5”. q
11 Utilizado para enviar rotas externas ao AS ou externas ao processo OSPF.
11 AS External LSA não possuem relação com nenhuma área e por isso são transpor-
tados intactos entre áreas.
22 Daí a necessidade do ASBR Summary LSA (Tipo “4”) para ajudar os roteadores a
localizarem o ASBR.
22 Tipo “1”: além do custo externo, adiciona o custo interno da rede para alcançar o
Quando um ASBR precisa enviar rotas que são externas ao AS ou externas ao processo OSPF
(redistribuição, por exemplo), o ASBR o faz enviando LSAs do tipo “5”, ou AS External LSA.
Esse LSA é enviado para todas as áreas OSPF, com exceção das áreas Stub e NSSA.
O formato do AS External LSA está apresentado na figura 1.26.
27
11 Bit E (External): é utilizado para marcar a rota com duas opções: e1 ou E2. Quando o bit
E está configurado com “0”, a rota é dita E1 e possui como métrica o custo da rota externa
recebida pelo ASBR, mais o custo interno para se chegar até o ASBR. Quando o bit E está
configurado com “1”, a rota é dita E2 e possui como métrica apenas o custo externo.
No caso da rota E2, o custo é maior que qualquer outro enlace interno. A configuração
padrão é configurar a rota como E2.
11 Tag da Rota Externa: campo extra, que pode ser utilizado pelas políticas de roteamento
do AS. Não é utilizado pelo OSPF em si.
Os campos TOS, Métrica TOS, Endereço de Encaminhamento TOS e Tag da Rota Externa TOS são
campos de compatibilidade, e não são utilizados.
32 bits
8 bits 8 bits 8 bits 8 bits
Link-State ID
Advertising Router
Sequence Number
Checksum Tamanho
Máscara de Sub-rede
E 0000000 Métrica
Endereço
Endereçode
deEncaminhamento
Encaminhamento
11 Por padrão, o NSSA External LSA é traduzido para AS External LSA nos ABRs.
OSPF Avançado
28
O LSA tipo “7” é o NSSA External LSA. Esse LSA também é criado pelo ASBR, porém, apenas
quando o ASBR está dentro de uma Área NSSA (Not-so-Stub-Area). Todos os campos são
utilizados da mesma maneira que no AS External LSA, com exceção do campo Endereço de
Encaminhamento. O NSSA External LSA está detalhado na figura 1.27.
32 bits
8 bits 8 bits 8 bits 8 bits
Link-State ID
Advertising Router
Sequence Number
Checksum Tamanho
Máscara de Sub-rede
E 0000000 Métrica
Endereço
Endereçode
deEncaminhamento
Encaminhamento
A utilização dos seis LSAs apresentados até aqui será demonstrada na sessão 2.
Remoção de LSAs
11 A remoção de um LSA do LSDB pode ocorrer devido a dois fatores: q
Capítulo 1 - Funcionamento do banco de
dados do OSPF
22 LSA aging atinge o MaxAge.
22 Enlace que muda de estado (de UP para DOWN ou DOWN para UP).
11 Em caso de mudança de estado, duas ações podem fazer a remoção de um LSA do LSDB.
11 A Figura 1.28 mostra uma topologia onde a expiração via protocolo Hello aconteceria.
29
Conforme mencionado anteriormente, uma vez no estado FULL, os roteadores OSPF não
enviam novas atualizações de estado de enlace a menos que:
11 Enlace que muda de estado (de UP para DOWN ou DOWN para UP);
Vamos utilizar como exemplo a topologia da figura 1.28. Nessa rede Broadcast, todos os
roteadores estão conectados a um switch Ethernet. Todos os três roteadores enviam, a cada
intervalo definido no protocolo Hello (Interval), um pacote Hello para garantir que a adjacência
está formada. Suponha agora que todas as adjacências estão formadas, porém, em algum
momento futuro, o roteador R1 muda de estado para DOWN (por falta de energia, intervenção
do administrador, problemas no equipamento etc.). Como eles estão interconectados via um
switch Ethernet, as interfaces f0/0 dos roteadores R2 e R3 vão continuar UP, e após o Dead
Interval do protocolo Hello, R2 e R3 vão ter as entradas LSA referentes ao roteador R1 remo-
vidas do LSDB. Essa remoção acontecerá devido à expiração da adjacência OSPF.
R1 R2
f0/0
f0/0
SW1
1 2
3 10.1.0.0/24
f0/0
Figura 1.28
R3 Rede Broadcast.
Observe agora topologia da figura 1.29. Nessa figura, temos dois momentos: momento
A, onde a rede está funcional entre os roteadores R1, R2 e R3, com todos os roteadores
no estado FULL. Nesse estado, o roteamento acontece normalmente e os três roteadores
OSPF Avançado
Assuma agora que algum tempo depois o enlace entre R1 e R2 mudou de estado, de UP para
DOWN. Esse novo estado está representado pelo Momento B da figura 1.29.
30
a. F0/0 10.1.2.0/24 F0/0 F0/1 10.2.3.0/24 F0/0
.1 .2 .1 .2
R1 R2 R3
Após a queda do enlace entre R1 e R2, houve uma mudança no estado do enlace da
interface f0/0 do roteador R2, e essa mudança precisa ser informada ao roteador R3.
Essa mudança será informada através do pacote OSPF LSU (Link State Update), e um dos
seguintes campos do LSA pode ser utilizado:
11 Age (ou Tempo de Vida): uma das constantes do OSPF é o MaxAge, que representa o
valor de 1 hora (3.600 segundos). Qualquer LSA que atinja esse período no LSDB deve ser
removido, pois subentende-se que não foi atualizado no tempo LSRefreshTime. Então,
é possível um roteador OSPF informar outro roteador da remoção de um LSA simples-
mente preenchendo o campo Age do cabeçalho do LSA com o valor MaxAge. Essa abor-
dagem é utilizada principalmente pelo Network-LSA;
11 Métrica: uma outra constante que pode ser utilizada para informar que o LSA deve ser
removido é a LSInfinity. Essa constante, utilizada como métrica máxima (infinita) do
OSPF, é definida com os 24 bits todos configurados como 1 (0xffffff). Ou seja, caso o LSA
tenha seu campo Métrica preenchido com o valor LSInfinity, o roteador OSPF recebedor
de tal LSA deve removê-lo do LSDB. Essa abordagem é utilizada principalmente pelo
Summary-LSA e pelo AS-External LSA.
Conclusão
Nesta sessão, foram apresentados os cinco diferentes tipos de pacotes OSPF: Hello,
Database Description, Link State Request, Link State Update e Link State Acknowledgement,
e como eles são utilizados pelos roteadores OSPF para sincronizar os bancos de dados.
Além disso, o LSA, seus seis principais tipos e seus papéis também foram apresentados.
31
Comandos OSPF
A seguir, uma lista de comandos de configuração que têm relação com os temas abordados
na sessão de aprendizagem 1, para serem utilizados no Quagga. Os comandos a seguir são
aplicados por interface.
A seguir, uma lista dos comandos de observação que têm relação com os assuntos abor-
dados na sessão de aprendizagem 1:
show ip ospf
11 Exibe informações resumidas sobre o banco de dados OSPF por tipo de LSA:
32
2
Entendendo as áreas do OSPF
objetivos
Distinguir os tipos de áreas utilizadas pelo OSPF; Projetar e justificar quais tipos de área
deseja utilizar; Entender o porquê de cada estado de cada banco de dados por área.
conceitos
Por que o OSPF faz uso do conceito de áreas?; Quais são os tipos de áreas e como
elas se comportam em um ambiente OSPF; Área Backbone; Área Normal; Área Stub;
Área Not-So-Stubby ou NSSA; Interconectando áreas com Virtual Links; Entendendo
o LSDB; Observando o funcionamento do LSDB na Área Backbone.
11 Redes com muitos enlaces que oscilam tendem a sofrer mais com LSDB muito grandes.
O protocolo OSPF, por ser um protocolo de estado de enlace, requer a criação e manutenção
de um banco de dados com a topologia completa da rede. Esse banco de dados, chamado
de Link-State Data Base (LSDB) deve conter todos os enlaces de uma determinada rede, seus
estados e suas métricas. A partir desse banco de dados, as rotas para todos os destinos são
calculadas, otimizadas para usar o melhor caminho possível e garantir que não haverá loops
de roteamento.
Capítulo 2 - Entendendo as áreas do OSPF
Para que isso aconteça, é imprescindível que todos os roteadores da rede tenham exatamente
o mesmo LSDB. Em redes pequenas e médias, com poucos roteadores, a complexidade para
manter esse LSDB sincronizado e a rede estável é bem pequena. Porém, em redes grandes,
com mais de vinte roteadores, maior é a quantidade de enlaces e maior a quantidade de
possíveis caminhos para chegar até um determinado endereço IP.
Esses enlaces podem fazer uso de diversas tecnologias, como circuitos seriais, Frame-Relay
e mesmo circuitos ópticos, cada um sujeito a diversos tipos de situações adversas que fazem
com que oscilem. Com essas oscilações, toda vez que um enlace enfrenta uma indisponibi-
lidade, ou seja, ocorre uma mudança do estado do enlace, o roteador responsável por tal
33
enlace deve informar todos os outros roteadores que compartilham do mesmo LSDB. Cada
roteador deverá fazer a confirmação (LSAck), executar o algoritmo SPF e calcular e instalar
novas rotas. Ou seja, quanto maior a quantidade de roteadores e enlaces, maior o custo
computacional para manter a rede operando adequadamente.
Diante dessa situação, a especificação do OSPF foi criada para permitir o particionamento
da rede, criando zonas de roteamento menores. Essas zonas de roteamento – chamadas
de áreas – permitem com que pedaços da rede sejam criados, gerando LSDBs menores que
podem ser processados de maneira mais rápida, economizando recursos computacionais dos
roteadores e diminuindo o tempo de convergência da rede. Essas áreas podem ser criadas
para agrupar roteadores com papéis similares, por exemplo, roteadores de datacenter;
roteadores conectados a serviços menos confiáveis, como enlaces seriais; ou mesmo para
permitir que roteadores com menos recursos de CPU e memória possam fazer parte do
roteamento dinâmico da rede.
Para permitir que as áreas sejam alcançáveis dentro da rede, roteadores chamados de Area
Border Routers (ABR) são conectados a duas ou mais áreas ao mesmo tempo, efetuando o
roteamento entre estas. No roteador ABR, a quantidade de LSDBs vai depender da quanti-
dade de áreas às quais o ABR se conecta: se estiver conectado a duas áreas OSPF, o ABR terá
dois LSDB separados. Se estiver conectado a três áreas OSPF, o ABR terá três LSDB sepa-
rados, e assim sucessivamente.
Por causa disso, os roteadores ABR são escolhidos por terem melhores recursos
computacionais do que aqueles que tipicamente ficam em redes Stub.
Como cada roteador de uma área possui no seu LSDB apenas informações da sua área, a topo-
logia externa é completamente transparente. O tráfego que é roteado dentro de uma área
(intra-area) – endereço de origem e de destino estão inclusos no mesmo LSDB: não necessita
de informação alguma externa àquela área. No tráfego em que o endereço de destino ou o de
origem são de áreas diferentes, informações de roteamento vindas do ABR são necessárias.
11 LSA Externos continuam sendo encaminhados entre áreas (menos áreas Stub e NSSA).
A transparência criada pelo ABR é feita através da filtragem dos Link State Advertisements:
em vez de encaminhar os LSAs Router e Network entre áreas, o ABR gera um sumário e
OSPF Avançado
envia um LSA Summary para a área remota, que assim passa a saber quais prefixos são
alcançáveis dentro de cada área. Como no LSA Summary não há indicações de como os
enlaces estão conectados, os roteadores externos não precisam gerar toda a árvore SFP por
enlace. Logo, o processo SFP é simplificado.
34
Para fazer o particionamento de uma rede OSPF em áreas, é importante conhecer quais são
as áreas suportadas, como elas funcionam e como se relacionam. Além disso, é fundamental
saber quais são os LSAs utilizados por cada roteador de cada área e como eles são filtrados
ou gerados nos ABRs.
33 Área "Normal".
33 Área Stub.
33 Área Not-So-Stubby.
22 Virtual-Links.
A RFC 2328 possui as definições das principais áreas atualmente suportadas pelo OSPF.
São elas:
11 Área Não Backbone: área OSPF, que está conectada à Área Backbone.
11 Área Normal: área OSPF que se conecta à Área Backbone e suporta todos os tipos de LSAs;
11 Área Stub: área OSPF que se conecta à Área Backbone, porém não suporta LSAs Tipo 5
e Tipo 7.
Além destas, a RFC 3101 adicionou uma nova Área Não Backbone às redes OSPF: a
Not-So-Stubby-Area – ou NSSA. A NSSA funciona basicamente como uma área Stub que
permite ASBR dentro da área.
A Área Backbone não pode ser particionada, ou seja, deve ser contígua ao longo de toda a
rede do Sistema Autônomo. Em casos onde ocorre esse particionamento, seja por rote-
ador ou enlace indisponível, é necessário que essas duas partes da Área Backbone sejam
reconectadas através de Virtual Links, que é um recurso criado justamente para reconectar
áreas, sejam partições da mesma Área Backbone ou Áreas Não Backbone à Área Backbone.
A seguir cada área OSPF será detalhada. A figura 2.1, a seguir, será utilizada como caso de
uso das áreas OSPF.
Capítulo 2 - Entendendo as áreas do OSPF
35
R1
R3 Área Backbone R6
Rede 1
R2 R5
Rede 3
Rede 2
R4
Área 2 R7
Área 3
R8
Área 4
Internet
BGP
R11
R9 R10
Figura 2.1
Área Backbone Rede OSPF com
11 Deve possuir roteadores com memória e CPU suficientes para manipular vários LSDBs.
A Área Backbone, também conhecida como Área 0 ou Área 0.0.0.0, é considerada a principal
área OSPF, pois é a responsável por interconectar todas as demais áreas OSPF. Nessa área
estão todos os roteadores ABR, ou seja, todas as áreas devem estar diretamente conectadas
à Área Backbone. Por ser a área principal, essa área não pode ser particionada. Por isso,
o engenheiro de redes responsável pela configuração da rede OSPF deve ter cuidado na
definição da rede.
Além disso, devido ao fato de ter todos os ABRs e todos os tipos de LSA, incluindo Summary
e AS-Externo, a Área Backbone também deve possuir roteadores com memória e proces-
samento suficiente para manipular o LSDB. Na figura 2.1, os roteadores R3, R4, R5, R6 e
R7 fazem parte da Área Backbone. Desses, R3, R4 e R7 são roteadores ABR e R5 e R6 são
Roteadores Internos (Internal Routers). Observe na figura que no OSPF o roteador pode ter
OSPF Avançado
36
Área Normal
11 Aceita LSAs Externos. q
11 Não faz trânsito.
Área Stub
11 Área Stub q
11 Usada quando
As Áreas Stubs são muito utilizadas em cenários onde os roteadores que fazem parte da
área não possuem recursos computacionais suficientes para manter toda a topologia, ou
em casos onde existe um único ABR conectando a Área Backbone. Por exemplo, observe a
figura 2.1. É possível observar que a Área 3 e a Área 4 possuem mais de um roteador OSPF
por área, porém apenas um roteador ABR.
Nesse caso, não faria sentido que os roteadores R8, R9, R10 e R11 tivessem informações
sobre a topologia da Área 2 ou da Área Backbone, por exemplo, pois todo acesso às outras
redes se dá via o único ABR da área. Neste caso, o procedimento recomendado seria confi-
gurar os roteadores como fazendo parte de uma área Stub, e o ABR de cada área gerar uma
Capítulo 2 - Entendendo as áreas do OSPF
rota padrão (default route) que seria enviada para os demais roteadores da área. Nesse caso,
R8 e R9 receberiam uma rota padrão vinda do roteador R4 e os roteadores R10 e R11 recebe-
riam uma rota padrão vinda do roteador R7. Nos LSDB de R8, R9, R10 e R11 constaria apenas
as rotas da própria área (Router-LSA e Network-LSA) mais a rota padrão gerada (Summary-LSA).
Uma vez configurado o processo OSPF como parte de uma Área Stub, os LSAs Tipo 5
(AS External LSA) passam a ser descartados pelos roteadores ABR.
37
Área Not-So-Stubby ou NSSA
Nas redes OSPF em geral, o LSDB possui mais LSAs do Tipo 5 (AS External LSA) do que os
demais tipos. Isso se deve, principalmente, ao uso de redistribuição nos roteadores, seja
redistribuição das rotas estáticas, das rotas de outro IGP (RIP, IS-IS, etc.) ou mesmo de inter-
faces diretamente conectadas no processo OSPF. Então, pode acontecer de um roteador que
está em uma área Stub precisar redistribuir informações de estado de enlace que devem ser
propagadas para todos os roteadores da rede. Conforme explicado anteriormente, os rote-
adores configurados em uma área Stub descartam os LSAs AS-External-LSA. Logo, utilizando
como exemplo a rede da figura 2.1 e assumindo-se que a Área 3 está configurada como um
Área Stub, se o roteador R8 necessitar redistribuir algum prefixo recebido do processo BGP,
esse prefixo seria filtrado no roteador R4 por ser um prefixo externo ao processo OSPF.
Para evitar ter que migrar a Área 3 de Stub para Normal apenas porque um roteador precisa
fazer redistribuição, a RFC 3101 criou um novo tipo de área, chamada Not-So-Stubby-Area
ou NSSA. Basicamente, a NSSA é uma área Stub que permite que prefixos externos sejam
inseridos na área e encaminhados pelo ABR para a Área Backbone. Dentro da Área NSSA, o
prefixo é divulgado para os outros roteadores utilizando o LSA External-NSSA. Ao chegar no
ABR, este converte de External-NSSA (Tipo 7) para um AS-External LSA (Tipo 5) e encaminha
para os demais roteadores da Área Backbone.
11 Área Not-So-Stubby q
22 Criada na RFC 3101
Virtual Link é um recurso criado na RFC 2328 para garantir que a mudança de estado de
enlaces não segregue alguma área, principalmente a Área Backbone, e gere problemas de
roteamento, ou seja, o objetivo do Virtual Link é conectar dois ABRs via uma área que não
OSPF Avançado
seja a Área Backbone. Com o Virtual Link, o OSPF trata os dois roteadores como se esti-
vessem conectados a uma rede ponto-a-ponto unnumbered (ou seja, sem endereçamento
IP nas pontas).
38
Como exemplo, observe novamente a figura 2.1. Nela, o roteador R4 faz parte da Área Back-
bone através do enlace entre R4 e R5. Caso esse enlace mude de estado (de UP para DOWN),
R4 ficaria desconectado e a Área Backbone seria particionada, o que não pode acontecer.
Mesmo R4 tendo conexão via Rede 3 com R3, os LSAs com os prefixos da Área 3 não seriam
encaminhados para a Área Backbone ou para a Área 2 por R3, pois não foram recebidos pela
interface que faz parte da Área Backbone.
l Ou seja, a Área 3 ficaria desconectada da rede mesmo que R4 tivesse um enlace de backup via
NVirtual Links não Rede 3. Nesse caso, a solução é criar um Virtual Link entre R3 e R4 via Área 2. Esse Virtual Link
podem ser criados via seria tratado como uma extensão da Área Backbone, desfazendo o particionamento criado
Área Stub.
pela mudança de estado do enlace entre R4 e R5. A nova topologia ficaria igual à figura 2.2.
R3 Área Bac
Rede 3
VL
R4
Área 2
Área 3
R8
Figura 2.2
Virtual Link entre
R4 e R3.
É importante ressaltar que o Virtual Link é uma funcionalidade que deve ser utilizada para
Capítulo 2 - Entendendo as áreas do OSPF
A principal função das áreas no OSPF é permitir que a topologia interna das áreas seja trans-
parente para as demais áreas. Isso é resolvido pelo roteador ABR, que filtra os LSAs Router e
Network, gerando LSAs do tipo Summary. Então, mesmo que o LSA Router não seja recebido
por roteadores OSPF de outras áreas, estes ainda receberão o LSA Summary para cada prefixo
existente na área. Isso garante que a rede seja alcançável. Porém, se o Administrador da Rede
quiser reduzir a quantidade de prefixos IP na tabela de rotas, é recomendável que os prefixos
IP utilizados em uma área sejam agregáveis, ou seja, parte de um mesmo prefixo maior.
39
Dessa maneira, o ABR poderia sumarizar as rotas internas de uma Área e enviar apenas um
LSA Summary com um prefixo agregado. Isso economizaria recursos de memória e aumenta
a estabilidade da rede, pois caso um enlace oscile, os roteadores externos à área não pre-
cisam processar o LSDB novamente.
Entendendo o LSDB
De posse das informações sobre o tipos de Link State Advertisements vistos na sessão de
aprendizagem 1 com as informações sobre as áreas OSPF da sessão 2, nesta sessão vamos
estudar como funciona o banco de dados do OSPF, o Link State Data Base, quando múltiplas
áreas são utilizadas. Conhecer o LSDB é extremamente importante para entender se as confi-
gurações estão corretas e para resolução de problemas. Para guiar nosso estudo, a figura 2.3
será utilizada. Essa topologia está configurada no arquivo adr9-cap2-entendendo-lsdb.imn.
R2 R5
Área 2 Normal Área Área 3
Backbone NSSA
5.5.5.5/32
R1 R4
10.1.2.0/24 10.2.4.0/24 10.4.5.0/24
10.5.7.0/24
R7
1.1.1.1/32
R3 R6
10.1.3.0/24 10.3.4.0/24 10.4.6.0/24
Área 4 6.6.6.6/32
Stub
11 O último octeto será sempre o número do roteador. Por exemplo, em R2, no enlace que
conecta com R4, o endereço da interface será 10.2.4.2/24. Em R4 será 10.2.4.4/24;
11 Todos os roteadores terão a interface loopback (lo) configurada com o prefixo IP, onde todos
os octetos representam o número do roteador. Por exemplo, roteador R6 será 6.6.6.6/32;
11 Quando a interface Loopback estiver representada em uma nuvem fora do retângulo que
representa a área, a interface Loopback será redistribuída no processo OSPF;
OSPF Avançado
11 As Loopbacks dos roteadores R2, R3, R4 e R7 não estão representadas, mas serão
configuradas seguindo a mesma ideia do item E. R2, R3 e R4 terão suas Loopbacks na
Área Backbone;
40
11 Em R7 há uma rota padrão apontando para a interface de R5;
11 As interfaces entre R1 e R3, além de R3 e R4, serão configuradas para funcionar no modo
OSPF Ponto-a-Ponto.
A composição mais simples do LSDB ocorre quando existe apenas uma área, a Área
Backbone (também conhecida como Area 0.0.0.0). Na figura 2.3, a Área Backbone é composta
pelos roteadores R2, R3 e R4. Entre R3 e R4 o enlace está configurado como Ponto-a-Ponto.
Observe a estrutura do LSDB a partir do R4 (Router-ID 4.4.4.4) listando apenas os registros
da Área 0 e LSAs Router e Network:
É possível observar que o LSDB possui três LSAs do Tipo 1 (Router LSA) e um LSA do Tipo
2 (Network-LSA). Conforme apresentado na sessão de aprendizagem 1, o Router-LSA é
utilizado por todos os roteadores OSPF para informar os estados dos seus enlaces, ou seja,
prefixo IP, máscara, métrica, tempo de vida, status etc. A coluna ADV Router informa qual foi
o roteador que gerou aquele LSA. No Router-LSA, a coluna Link ID sempre informa o Router
ID do roteador OSPF. É possível ver o tempo de vida (Age), número de sequência (Seq),
checksum e quantidade de enlaces por Router LSA. Como o LSDB é o mesmo em todos os
roteadores da área, essa saída é a mesma nos roteadores R2 e R3.
41
Observe agora o Router-LSA gerado pelo roteador R2, primeiro Router-LSA da saída anterior
(Advertising Router: 2.2.2.2) na Área Backbone:
TOS 0 Metric: 10
Link connected to: Stub Network
(Link ID) Net: 2.2.2.2
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metric: 10
42
Alguns campos foram destacados em negrito e itálico, pois são as informações mais impor-
tantes. Primeiro campo que requer atenção é o campo “Flags”. Nele o bit E está configurado
como 1, o que significa que esse LSA foi gerado por um roteador OSPF em uma área que
suporta AS External LSA. Em uma área Stub, esse bit estaria configurado como 0. No campo
das Flags, é possível ver que o roteador R2 se apresenta como um roteador ABR, pois este
está conectado à Área Backbone e à Área 2. As informações de estado de enlace estão apre-
sentadas logo após o campo “Length”, e é possível ver duas entradas:
11 Transit Network: indica que essa enlace é de uma rede de trânsito, ou seja, enlace
que possui um Designated Router. Nesse caso, o campo “Link ID” é preenchido com o
endereço IP do DR e o campo “Link Data” é preenchido com o IP do roteador que originou
o LSA. Observe que os endereços IP utilizados são os endereços das interfaces, não o
Router-ID (a tabela 1.1 da sessão de aprendizagem 1 explica como funciona o preenchi-
mento dos campos “Link ID” e “Link Data”);
11 Stub Network: uma vez que o endereço IP configurado na interface Loopback é utilizado
como destino ou origem do tráfego (e não trânsito), o enlace da Loopback é anunciado
como uma rede Stub (não confunda com Área Stub).
A última informação de cada enlace é a métrica para chegar neste, que no caso está apre-
sentado como 10 (enlace FastEthernet é utilizado entre R2 e R4).
Observe agora o Router LSA gerado pelo roteador R4 (Advertising Router: 4.4.4.4):
LS age: 250
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x3
Flags: 0x3 : ABR ASBR
LS Type: router-LSA
Link State ID: 4.4.4.4
Advertising Router: 4.4.4.4
LS Seq Number: 80000011
Checksum: 0x6c1e
Length: 60
Number of Links: 4
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.4.4
(Link Data) Router Interface address: 10.2.4.4
Capítulo 2 - Entendendo as áreas do OSPF
43
TOS 0 Metric: 64
Link connected to: Stub Network
(Link ID) Net: 4.4.4.4
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metric: 10
LS age: 250
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x3
Flags: 0x3 : ABR ASBR
LS Type: router-LSA
Link State ID: 4.4.4.4
Advertising Router: 4.4.4.4
LS Seq Number: 80000011
Checksum: 0x6c1e
Length: 60
Number of Links: 4
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.4.4
(Link Data) Router Interface address: 10.2.4.4
Number of TOS metrics: 0
TOS 0 Metric: 10
Continuação:
44
É possível observar que R4, além de ser um roteador ABR, é também um roteador ASBR,
devido ao fato de estar conectado à área NSSA (todo roteador de borda de uma área NSSA
é considerado um ASBR). Além disso, o Router-LSA mostra que R4 possui quatro registros
de estado de enlace configurados na rede OSPF: um registro que faz parte de uma rede de
trânsito, um que faz parte de uma rede ponto-a-ponto e dois registros de redes Stub:
11 Stub Network com Link ID 10.3.4.0: toda vez que uma rede ponto-a-ponto for anun-
ciada pelo processo OSPF, além da entrada Tipo do Link 1 acima, outra entrada de Tipo do
Link 3 deve ser criada. Nesse caso, a rede ponto-a-ponto também é considerada do tipo
Stub e deve ser preenchida da seguinte maneira: o campo “Link ID” deve possuir o prefixo
IP do enlace e o campo “Link Data” deve possuir a máscara de sub-rede. Observe que a
métrica é a mesma: 64, que foi configurada manualmente na interface;
11 Stub Network com Link ID 4.4.4.4: essa entrada apresenta informações sobre a interface
Loopback do roteador R4. Uma vez que o endereço IP configurado na interface Loopback
é utilizado como destino ou origem do tráfego (e não trânsito), o enlace da Loopback é
anunciado como uma rede Stub.
A seguir, para finalizar o detalhamento dos Router-LSAs da Área Backbone (Area 0.0.0.0),
observe o Router-LSA gerado pelo roteador R3:
LS Type: router-LSA
Link State ID: 3.3.3.3
Advertising Router: 3.3.3.3
LS Seq Number: 80000017
Checksum: 0xfd3c
Length: 60
Number of Links: 3
45
Link connected to: Stub Network
(Link ID) Net: 3.3.3.3
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 4.4.4.4
(Link Data) Router Interface address: 10.3.4.3
Number of TOS metrics: 0
TOS 0 Metric: 64
Link connected to: Stub Network
(Link ID) Net: 10.3.4.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metric: 64
TOS 0 Metric: 64
46
É possível verificar que o roteador R3 possui três registros com informações de estado de
enlace: dois registros para redes Stub e um registro para uma rede ponto-a-ponto. Assim
como nos detalhamentos anteriores, a interface Loopback (3.3.3.3/255.255.255.255) está
anunciada como uma rede Stub. O enlace entre os roteadores R3 e R4 foi manualmente
configurado com o tipo de rede Ponto-a-Ponto. Logo se apresenta como tal (point-to-point),
informando o Router-ID do roteador vizinho no campo “Link ID”. Por consequência, o prefixo IP
usado nesse enlace ponto-a-ponto é anunciado como uma rede Stub (10.3.4.0/255.255.255.0).
Apesar de o roteador R4 ter adjacências com R2 e R3, é possível ver que há apenas um
Network LSA na Área Backbone, que se refere ao enlace entre R2 e R4 (observe o endereça-
mento IP no campo “Link ID”). Vamos analisar esse LSA:
Checksum: 0x27f6
Length: 32
Network Mask: /24
Attached Router: 2.2.2.2
Attached Router: 4.4.4.4
47
Detalhamento do Network-LSA gerado pelo Roteador R4: q
R4# show ip ospf database network
OSPF Router with ID (4.4.4.4)
Net Link States (Area 0.0.0.0)
LS age: 79
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x3
LS Type: network-LSA
Link State ID: 10.2.4.4 (address of Designated Router)
Advertising Router: 4.4.4.4
LS Seq Number: 80000001
Checksum: 0x27f6
Length: 32
Network Mask: /24
Attached Router: 2.2.2.2
Attached Router: 4.4.4.4
É possível observar que esse LSA foi gerado pelo roteador R4 (o campo “Advertising Router”
informa que originou o LSA), uma vez que ele é o Designated Router desse enlace. Apenas
o DR gera LSAs do Tipo 2. Nele é possível ver qual é a máscara da rede (/24) e quais são os
roteadores que fazem parte dessa rede (R2 e R4).
Neste momento você pode estar se perguntando: "Se R3 não está na lista de Attached
Router nem tem um LSA do Tipo 2 que o inclua, o que aconteceu com R3"? Lembre-se de que
o enlace entre R3 e R4 foi manualmente definido como um enlace ponto-a-ponto (ip ospf
network point-to-point), logo, não há eleição de DR nesse tipo de rede.
11 Observe que o LSDB da Área Backbone não possui nenhum Network-LSA que inclua o q
roteador R3, e R3 não está na lista de Attached Router;
11 Isso acontece porque R3 tem seus enlaces configurados como Ponto-a-Ponto, logo
não há DR ou BDR;
Nesse ponto, já temos melhor compreensão dos LSAs do Tipo 1 e do Tipo 2. Como ambos os
tipos são restritos por área, é possível compreender que cada área possuirá um LSDB que
inclua esses LSAs.
11 Pudemos observar que o tipo de rede OSPF Broadcast gera dois registros: um LSA Router
(Transit) e um LSA Network. No tipo de rede OSPF Ponto-a-Ponto, dois registros também
são criados, porém ambos do tipo LSA Router (Point-to-Point e Stub).
Uma vez que já foram apresentados ambos LSAs na sessão 1 e nas descrições anteriores, fica
como atividade para o aluno detalhar os Router-LSAs ou os Network-LSAs das Áreas 2, 3 e 4.
A.2: Summary-LSA
Como cada área possui um LSDB próprio, é fundamental que os ABRs informem os demais
OSPF Avançado
roteadores OSPF sobre os prefixos ali contidos. Nesse caso, os ABRs vão gerar LSAs do Tipo
3, ou Summary-LSAs que incluem os prefixos internos da área, ou seja, a partir dos LSA do
Tipo 1, LSAs do Tipo 3 serão gerados para as outras áreas OSPF. Observe os LSDBs exis-
tentes no roteador R3 (LSAs Tipo 4 e 5 foram removidos):
48
R3# show ip ospf database
OSPF Router with ID (3.3.3.3)
Router Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum Link count
2.2.2.2 2.2.2.2 1561 0x80000006 0x8b60 2
3.3.3.3 3.3.3.3 1560 0x80000006 0xb329 3
4.4.4.4 4.4.4.4 1401 0x80000009 0x3653 3
Net Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum
10.2.4.4 4.4.4.4 1561 0x80000001 0x27f6
Summary Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum Route
1.1.1.1 2.2.2.2 282 0x80000002 0xc774 1.1.1.1/32
1.1.1.1 3.3.3.3 620 0x80000002 0xc73a 1.1.1.1/32
6.6.6.6 4.4.4.4 1014 0x80000001 0xa67a 6.6.6.6/32
10.1.2.0 2.2.2.2 1601 0x80000001 0xee4f 10.1.2.0/24
10.1.2.0 3.3.3.3 1580 0x80000001 0x53a6 10.1.2.0/24
10.1.3.0 2.2.2.2 1557 0x80000001 0x6696 10.1.3.0/24
10.1.3.0 3.3.3.3 1600 0x80000001 0xe31f 10.1.3.0/24
10.4.5.0 4.4.4.4 329 0x80000001 0x6dc2 10.4.5.0/24
10.4.6.0 4.4.4.4 641 0x80000002 0x60cd 10.4.6.0/24
Router Link States (Area 0.0.0.2)
Link ID ADV Router Age Seq# CkSum Link count
1.1.1.1 1.1.1.1 1561 0x80000007 0xac8c 4
2.2.2.2 2.2.2.2 1562 0x80000004 0xf91e 1
3.3.3.3 3.3.3.3 1590 0x80000003 0x4244 2
Net Link States (Area 0.0.0.2)
Link ID ADV Router Age Seq# CkSum
10.1.2.2 2.2.2.2 1562 0x80000001 0x1324
Summary Link States (Area 0.0.0.2)
Link ID ADV Router Age Seq# CkSum Route
2.2.2.2 2.2.2.2 1601 0x80000001 0x370c 2.2.2.2/32
2.2.2.2 3.3.3.3 270 0x80000002 0xdf4a 2.2.2.2/32
3.3.3.3 2.2.2.2 1552 0x80000001 0xd159 3.3.3.3/32
3.3.3.3 3.3.3.3 1600 0x80000001 0xea50 3.3.3.3/32
4.4.4.4 2.2.2.2 1402 0x80000001 0x3ff1 4.4.4.4/32
4.4.4.4 3.3.3.3 1400 0x80000001 0x210c 4.4.4.4/32
6.6.6.6 2.2.2.2 1015 0x80000001 0x47d7 6.6.6.6/32
Capítulo 2 - Entendendo as áreas do OSPF
49
Observe que o ABR R3 possui um LSDB por área e cada área possui seus LSAs do tipo q
Summary:
É possível observar que os prefixos IP que fazem parte do processo OSPF de cada área são
inseridos como Summary-LSAs no LSDB das outras áreas. Por exemplo:
11 Na Área Backbone (Area 0.0.0.0), é possível observar os prefixos 1.1.1.1 (Loopback de R1,
que faz parte da Área 2) e 6.6.6.6 (Loopback de R6, que faz parte da Área 4). Esses pre-
fixos foram inseridos na Área Backbone pelos roteadores listados na coluna ADV Router;
11 Na Área 0.0.0.2, é possível observar o prefixo 6.6.6.6 como sendo anunciado pelos
roteadores ABR da área. Nesse caso, os roteadores R2 e R3. Observe que os endereços
Loopback de R2 e R3 também foram inseridos como Summary-LSAs na Área 2, devido ao
fato de que eles estão configurados para operar na Área Backbone (conforme apresen-
OSPF Avançado
A opção por enviar ou não depende das configurações de cada área. Se o administrador da
rede optar por não enviar os Summary-LSAs para os roteadores internos de cada área (seja
por questão de engenharia de tráfego, economia de recursos dos roteadores ou devido ao
fato de que há apenas um roteador ABR na área), essa configuração deverá ser feita no ABR,
e nesse caso, uma rota padrão deverá ser gerada por esse ABR.
11 Em casos onde uma Área OSPF possui apenas um roteador ABR, por exemplo, as q
Áreas 3 e 6, o Engenheiro de Redes pode optar por enviar ou não os LSAs do tipo
Summary recebidos de outros ABRs;
11 Como exemplo, observe o LSDB de R6 para cada caso: em um caso R4 envia os LSAs
do tipo Summary, em outro não.
Observe em R6 o LSDB nos dois casos. Primeiramente, sem filtragem alguma dos Summary-LSAs
em R4 (comando OSPF area 4 stub em R4):
51
Agora, observe o LSDB de R6 com a filtragem de LSAs do Tipo 3 aplicada em R4 (comando
OSPF area 4 stub no-summary em R4):
Roteador R4 configurado para criar a Área 4 como Stub com o parâmetro no-summary: q
router ospf
area 4 stub no-summary
R6# show ip ospf database
OSPF Router with ID (6.6.6.6)
Summary Link States (Area 0.0.0.4 [Stub])
Link ID ADV Router Age Seq# CkSum Route
0.0.0.0 4.4.4.4 253 0x80000002 0x1934 0.0.0.0/0
11 Com o parâmetro no-summary, o ABR gera uma rota padrão para a Área 4;
Enquanto que no primeiro exemplo R6 possui informações sobre todos os prefixos da rede,
no segundo havia apenas um Summary-LSA gerado por R4, contendo a rota padrão. A seguir
está o Summary-LSA com a rota padrão:
52
Checksum: 0x1934
Length: 28
Network Mask: /0
TOS: 0 Metric: 1
É possível observar que esse LSA é do Tipo 3, Summary-LSA, que o Link State ID é preenchido
com o valor 0.0.0.0 e o campo “Network Mask” está preenchido com /0 (0.0.0.0). Nesse caso,
0.0.0.0/0 indica a rota padrão a ser utilizada.
Observe que em ambos os casos as redes externas à área serão alcançáveis. Porém,
ao usarmos a opção de envio de rota padrão, o LSDB do R6 possui menos registros
para serem gerenciados.
LS age: 324
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x6
LS Type: AS-external-LSA
Link State ID: 5.5.5.5 (External Network Number)
53
Advertising Router: 4.4.4.4
LS Seq Number: 80000008
Checksum: 0x6417
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 10.4.5.5
External Route Tag: 0
11 Rotas redistribuídas são anunciadas com LSAs do tipo AS-External ou NSSA, depen-
dendo da Área;
11 Área 3 é uma Área NSSA, logo os prefixos 7.7.7.7/32 e 5.5.5.5/32 são anunciados com
LSA NSSA External;
11 ABR da Área 3 converte para LSA AS-External e envia para a Área Backbone;
11 Como LSAs do tipo AS-External se mantêm inalterados pela Rede OSPF, R1 os enxerga
da maneira que é criado pelo R4/ABR da Área 3.
54
11 LSA AS-External em R1; q
11 Prefixo 5.5.5.5/32.
11 Prefixo 7.7.7.7/32.
LS age: 330
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x6
LS Type: AS-external-LSA
Link State ID: 7.7.7.7 (External Network Number)
Advertising Router: 4.4.4.4
LS Seq Number: 8000000a
Checksum: 0x046d
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 10.4.5.5
Capítulo 2 - Entendendo as áreas do OSPF
Observe que o roteador que criou o LSA foi o R4 (Advertising Router: 4.4.4.4).
Apenas como exemplo, vamos alterar a configuração do roteador R1 e remover sua Loopback
do processo OSPF (comando: no network 1.1.1.1/32 area 2) e redistribuí-la no OSPF (comando:
redistribute connected). Observe como ficaria o LSA do ponto de vista do roteador R4:
55
LS Flags: 0x6
LS Type: AS-external-LSA
Link State ID: 1.1.1.1 (External Network Number)
Advertising Router: 1.1.1.1
LS Seq Number: 80000001
Checksum: 0x5f57
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
Como é possível verificar, tanto o prefixo (Link State ID) quanto o originador (Advertising
Router) estão preenchidos com o endereço do Router-ID de R1 (1.1.1.1). Como os roteadores
ABR não fazem alteração em LSA do Tipo 5, o LSA é mantido intacto ao longo da rede OSPF.
Lembre-se de que quando o Forward Address estiver preenchido com 0.0.0.0, os pacotes
devem ser enviados ao IP do Advertising Router.
Observe que o AS-External-LSA não é associado a área alguma; logo, não tem
nenhuma informação de área, tipo (Area 0.0.0.0). Por isso, não deve ser manipulado
OSPF Avançado
pelos ABRs.
56
A.4: ASBR Summary LSA
Já que os roteadores OSPF devem preservar os AS-External-LSAs intactos e estes são gerados
por roteadores ASBR, é necessário ter um mecanismo que permita que os demais roteadores
OSPF saibam como chegar no ASBR. Com esse propósito, foi criado o ASBR-Summary-LSA,
conforme apresentado na sessão de aprendizagem 1, que indica como chegar ao ASBR. Como
no AS-External-LSA visto por R1 consta R4 como Advertising Router, R1 precisa saber como
chegar em R4. Para isso, R1 deve verificar se possui algum ASBR-Summary-LSA com o ende-
reço de R4. Observe a saída a seguir:
Como R4 gerou LSAs do tipo AS-External, um LSA do tipo ASBR-Summary precisa ser q
criado. Observe como R1 aprende o caminho para 4.4.4.4 via R2 (2.2.2.2).
Capítulo 2 - Entendendo as áreas do OSPF
57
LS Seq Number: 80000008 q
Checksum: 0xbe74
Length: 28
Network Mask: /32
TOS: 0 Metric: 10
LS age: 1130
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x6
LS Type: summary-LSA
Link State ID: 4.4.4.4 (AS Boundary Router address)
Advertising Router: 3.3.3.3
LS Seq Number: 80000007
Checksum: 0xa28d
Length: 28
Network Mask: /32
TOS: 0 Metric: 10
Como os ASBR Summary LSAs são gerados pelos roteadores ABR, através do campo Advertising
Router, R1 consegue ver quais são os roteadores ABR da Área da qual faz parte (Área 0.0.0.2)
que devem ser utilizados para encaminhar os pacotes. Nesse caso, como a Área 0.0.0.2
possui dois ABRs (R2 e R3), cada um gera um ASBR Summary LSA.
No caso do nosso exemplo que altera a Loopback de R1, observe como R4 se informa sobre
como chegar a R1:
58
Checksum: 0x57b4
Length: 28
Network Mask: /32
TOS: 0 Metric: 64
Novamente, como R1 está em uma área com dois roteadores ABR na Área 2, duas entradas
são observadas no LSDB de R4: uma via R2, outra via R3.
A.5: NSSA-LSA
O último LSA existente na rede OSPF da figura 2.3 é o NSSA-External-LSA. Como existem
apenas dois roteadores OSPF na Área NSSA, utilize a saída a seguir para verificar os LSAs do
Tipo 7 existentes no LSDB do roteador R4:
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
NSSA: Forward Address: 10.4.5.5
External Route Tag: 0
59
Como R5 fez redistribuição na Área 3, que é uma Área NSSA, os prefixos redistribuídos q
são com LSAs do tipo NSSA-External.
q
LS Flags: 0x6
LS Type: NSSA-LSA
Link State ID: 5.5.5.5 (External Network Number for NSSA)
Advertising Router: 5.5.5.5
LS Seq Number: 80000001
Checksum: 0xbfb4
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
NSSA: Forward Address: 10.4.5.5
External Route Tag: 0
LS age: 2
Options: 0xa : *|-|-|-|N/P|-|E|*
LS Flags: 0x6
LS Type: NSSA-LSA
Link State ID: 7.7.7.7 (External Network Number for NSSA)
Advertising Router: 5.5.5.5
LS Seq Number: 80000003
Checksum: 0x5f0b
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
NSSA: Forward Address: 10.4.5.5
External Route Tag: 0
60
A.6: Virtual Links
Como apresentado anteriormente, Virtual Links devem ser utilizados para conectar partes
desconexas da mesma área. Vamos ilustrar também utilizando a figura 2.3. Como estudo de
caso, vamos utilizar o endereço 2.2.2.2/32, que é a Loopback do roteador R2. A Loopback
faz parte da Área Backbone, conforme a descrição apresentada anteriormente e as saídas
apresentadas a seguir.
11 Vamos utilizar o endereço 2.2.2.2/32 como estudo de caso para Virtual Link; q
11 Interface Loopback de R2 está configurado como parte da Área Backbone;
Observe que o roteador R4 possui em seu LSDB um Router LSA recebido de R2 (Advertising
Router: 2.2.2.2), e que há um registro Stub para a rede 2.2.2.2/255.255.255.255. Observe
também que há um registro de Transit Network com DR sendo roteador R4 (10.2.4.4).
61
Link connected to: Stub Network
(Link ID) Net: 2.2.2.2
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metric: 10
Observe a seguir que R2 e R4 possuem uma adjacência OSPF; logo, utilizando o Router LSA
anterior e a informação de adjacência. O roteador R4 cria uma rota para 2.2.2.2/32, com
métrica 20 (10 do registro Transit Network mais 10 do registro Stub Network).
Com o registro LSA e a adjacência com R2, R4 cria a rota para 2.2.2.2/32 diretamente;
11 Para testar o Virtual Link, o enlace entre R2 e R4 será removido; logo a Loopback de
R2 ficará em uma partição separada da Área Backbone;
Vamos desativar o enlace entre R2 e R4. Como esse enlace é o único utilizado por R2 para se
conectar à Área Backbone, há uma segregação da Área Backbone, onde a Loopback de R2 ficou
isolada. Observe a seguir as saídas para confirmar que não há mais uma rota para 2.2.2.2/24:
Observe que ainda assim há um Router LSA do roteador R2 no LSDB de R4. O Quagga não
remove o registro imediatamente; porém, como não há mais adjacência, a rota não é criada.
OSPF Avançado
Vamos agora configurar um Virtual Link entre R2 e R3, via R1. A Área 2 será utilizada para
criar esse Virtual Link. A configuração de Virtual Link é feita nos dois roteadores, cada um
utilizando o Router-ID do roteador remoto.
62
Criação do Virtual Link entre R2 e R3: q
11 Configuração aplicada em R2:
router ospf
router ospf
router ospf
area 2 virtual-link 3.3.3.3
router ospf
area 2 virtual-link 2.2.2.2
Observe que agora há uma rota para 2.2.2.2/24 em R4, via R3 (10.3.4.3). Observe também
que a métrica não é mais 20, e sim 40 (10 para R4 chegar em R3, 20 do Virtual Link e 10 para
a Loopback).
63
Observe a seguir como R4 recebe o registro para o prefixo 2.2.2.2/32. Primeiro, observe o
Router LSA de R3 informando o Virtual Link.
64
A seguir observe como R4 agora possui um Router LSA originado por R2 com o registro Stub
da interface Loopback.
Observe que o Quagga não coloca no campo “Link Data” o endereço da interface conforme
sugere a RFC2328. Em vez de adicionar o ifIndex da interface do Virtual Link, o endereço IP
do roteador é utilizado.
65
Conclusão
Nesta sessão, foram apresentados os tipos de área existentes, como cada área funciona e
quais LSAs são utilizados. Na próxima sessão, serão apresentadas técnicas que podem ser
utilizadas para melhorar ou ajustar o roteamento dos pacotes em uma rede OSPF e como
otimizar a convergência.
Comandos OSPF
A seguir, uma lista de comandos de configuração que têm relação com o tema da sessão de
aprendizagem 2, para serem utilizados no Quagga.
11 Adiciona as interfaces que são parte do prefixo informado em uma área Stub:
11 Criar uma Área NSSA e gera uma rota padrão na área (utilizado no ABR):
redistribute static
redistribute connected
66
A seguir, uma lista dos comandos de observação que têm relação com o tema da sessão de
aprendizagem 2.
show ip ospf
67
68
OSPF Avançado
3
Engenharia de tráfego com OSPF
objetivos
conceitos
Sumarização de rotas; Agregação de Rotas; Métricas; Escolha de Caminhos pelo OSPF;
Controlando Atualizações de Roteamento.
Introdução
As sessões de aprendizagem 1 e 2 apresentaram detalhes avançados sobre o funciona-
mento do OSPF, permitindo ao aluno entender como o OSPF contrói o LSDB e como as
mensagens são negociadas, além de detalhar o funcionamento das áreas OSPF. Até esse
momento, as configurações OSPF utilizadas ficaram muito próximas das configurações
padrão do OSPF.
Mesmo essas configurações mais simples permitiram que as diversas topologias ilustradas
tivessem um roteamento dinâmico eficaz e livre de loops. Porém, o OSPF permite ajustes
mais finos para refletir necessidades de redes mais complexas, o que inclui escolha de cami-
nhos alternativos, economia de recursos dos roteadores e filtros de prefixos. Esta sessão vai
detalhar alguns desses ajustes finos possíveis, entre eles sumarização e agregação de rotas;
manipulação de rotas e filtragem de prefixos.
Sumarização de rotas
q
Capítulo 3 - Engenharia de tráfego com OSPF
11 Sumarização de rotas;
11 Áreas OSPF permitem que a topologia de uma área seja abstraída das demais áreas;
11 Roteadores ABR criam LSAs do tipo Summary para cada LSA do tipo Router e envia
para as demais Áreas OSPF.
22 Caso um LSA Router seja removido do LSDB, um LSA Summary é enviado infor-
mando da remoção;
69
Foi mostrado nas sessões anteriores que uma das principais vantagens de usar particiona-
mento da rede criando áreas OSPF é a contenção de detalhes da topologia inerentes de cada
área. Como os LSAs Router e Network ficam contidos no LSDB da área, a topologia é abstraída
das demais áreas e apenas LSAs do tipo Summary são enviados com os prefixos internos.
Na configuração padrão do OSPF, cada LSA Router recebido pelo roteador ABR dispara a criação
de um LSA Summary que, apesar de não prover detalhes da topologia interna, ainda assim é
processado pelos demais roteadores OSPF da Área Backbone como parte da topologia da rede.
Apesar de esse procedimento estar correto, em determinadas situações, esse modo de
funcionamento pode ser otimizado. Observe a figura 3.1.
192.168.0.0/24
R2
R5
LSA Summary
19
LSA Summary
2.1
192.168.1.0/24
68
LSA Summary
.7.
0/
19 LSA Summary
31
2.
16
R6 8.
7. LSA Summary
2/
31
ABR LSA Summary
192.168.2.0/24
192.168 LSA Summary
.7.4/31
LSA Summary
R7 LSA Summary
31
.7 .6/
.168 LSA Summary
192.168.3.0/24 192
1
LSA Summary
/3
12
7.
LSA Summary
8.
16
2.
LSA Summary
19
(. . .)
LSA Summary
R10
R3
192.168.6.0/24
11 Sete enlaces saindo do ABR para os roteadores OSPF internos (com prefixos
OSPF Avançado
192.168.7.x/31);
11 Além do roteador ABR, a Área Backbone possui outros dois roteadores OSPF (R2 e R3).
70
ABR vai criar um LSA Summary para cada LSA Router recebido: q
11 Quatorze LSAs do tipo Summary vão virar 14 rotas em R2 e R3;
Cada vez que um enlace entre ABR e um roteador da Área 1 mudar de estado, dois LSAs
do tipo Summary serão criados pelo ABR.
11 Como não há outro caminho para tais prefixos, R2 e R3 vão remover os prefixos infor-
mados pelos LSAs do tipo Summary recebidos do ABR;
11 Quando o enlace for restaurado, R2 e R3 vão recriar as rotas a partir dos LSAs recebidos.
Nessa topologia, para cada LSA Router da Área 1, o roteador ABR vai gerar um LSA Summary
para os demais roteadores da Área Backbone. Assim que a rede é estabelecida, os rotea-
dores R2 e R3 vão criar 14 rotas, uma por LSA Summary recebido do roteador ABR. Apesar
de a topologia da Área 1 ser desconhecida para os roteadores R2 e R3, toda vez que um dos
enlaces entre o ABR e um roteador OSPF interno cair, o ABR vai gerar e enviar dois LSAs do
tipo Summary: um para informar que o enlace com o roteador OSPF interno está indispo-
nível, e outro para informar que a rede atrás do roteador OSPF interno está inacessível.
Cada roteador da Área Backbone vai então recalcular o LSDB, removendo as rotas para
os destinos recém-informados. Observe a seguir o LSDB do roteador R2 com os 14 LSAs
do tipo Summary recebidos do roteador ABR (teste você mesmo com o arquivo
adr9-cap3-sumarizacao.imn):
71
Vamos utilizar como exemplo a topologia da figura 3.1: imagine que o enlace entre ABR
e o roteador R4 teve seu estado alterado para DOWN (por problemas na operadora, por
exemplo). ABR, vendo que o enlace com R4 mudou de estado, vai recalcular seu LSDB.
Devido ao cálculo, o ABR vai remover a rede 192.168.0.0/24 que era alcançada via o enlace
192.168.7.0/31. Após o cálculo, ABR vai gerar dois LSAs do tipo Summary e enviar para R2 e
R3: um sobre o enlace 192.168.0.0/24 e outro sobre o enlace 192.168.7.0/24, ambos com o
campo “Age” do LSA preenchido com MaxAge (3600). Ao receber os LSAs, R2 e R3 recalculam
seus respectivos LSDBs e removem ambas as rotas.
Assim que o enlace com R4 ficar operante novamente, ABR vai anunciar os prefixos antes
removidos para R2 e R3 via LSA Summary e as rotas serão recriadas, apontando para ABR.
Suponha agora que a operadora ainda está recuperando o circuito entre o ABR e o R4, e esse
enlace ainda oscile algumas vezes. A cada oscilação, o processo vai ser re-executado por ABR,
R2 e R3, consumindo recursos de R2 e R3 que nem conhecem a topologia interna da Área 1.
Nesse caso específico, como a rede 192.168.0.0/24 só é alcançada via ABR, não faz sentido os
roteadores R2 e R3 ficarem recalculando as rotas a cada oscilação, uma vez que ou o prefixo
vai estar fora (já que não há redundância de acesso) ou vai estar ativo via ABR. Então, para
evitar que R2 e R3 sejam afetados pela instabilidade do circuito, o que o Engenheiro de Rede
pode fazer é: como nessa rede o acesso é via ABR, o roteador ABR não precisa ficar enviando
LSAs do tipo Summary a cada oscilação. Ou seja, o Engenheiro de Redes pode configurar o
ABR para enviar o LSA Summary apenas para informar que a rede está acessível (no início
do funcionamento da rede OSPF e a cada refresh). No Quagga, essa configuração é feita pelo
comando a seguir:
router ospf
area NÚMERO_ÁREA range IP_A_SER_SUMARIZADO [cost métrica]
q
Para que inclua mais do que apenas um prefixo IP, prefixos IP utilizados na área devem
fazer parte de um prefixo IP maior, ou seja, devem ser agregáveis.
Para que esse comando seja aplicado de maneira satisfatória, o prefixo IP em IP_A_SER_
SUMARIZADO deve incluir mais de um LSA Router, ou seja, deve contemplar mais do que
apenas um prefixo IP. Por exemplo, observe a configuração a seguir. Nela, cada LSA Router
da Área 1 estaria associado a um comando range, porém essa configuração não seria útil
para manter as rotas em R2 e R3, ou seja, não evitaria que R2 e R3 recalculassem seus
LSDBs a cada oscilação na Área 1.
! Configuração INCORRETA
router ospf
OSPF Avançado
72
area 0.0.0.1 range 192.168.4.0/24
area 0.0.0.1 range 192.168.5.0/24
area 0.0.0.1 range 192.168.6.0/24
area 0.0.0.1 range 192.168.7.0/31
area 0.0.0.1 range 192.168.7.4/31
area 0.0.0.1 range 192.168.7.6/31
area 0.0.0.1 range 192.168.7.8/31
area 0.0.0.1 range 192.168.7.10/31
area 0.0.0.1 range 192.168.7.12/31
Para usar o comando range de maneira satisfatória, é necessário mais de um prefixo IP con-
templado pelo comando range. Como na topologia da figura 3.1 os prefixos IP fazem parte de
um prefixo IP maior, a seguinte configuração deveria ser inserida no roteador ABR:
! Configuração CORRETA
router ospf
area 0.0.0.1 range 192.168.0.0/20
Uma vez que as rotas são criadas em R2 e R3 a partir do LSA Summary, ambos vão sempre
enviar os pacotes para ABR, mesmo que o circuito oscile. Ao aplicar esse comando para
o prefixo 192.168.0.0/20, observe o que acontece com o LSDB de R2 (LSAs Router e
Network removidos):
73
11 Após a inserção do comando range, LSAs do tipo Summary são enviados com campo q
Age preenchido com MaxAge;
11 Por exemplo, usando a figura 36, em vez de 14 prefixos na tabela de rotas e no LSDB,
apenas um existirá:
Ao inserir esse comando, o ABR enviou um novo LSA Summary para cada LSA Router exis-
tente na Área 1; porém, agora com o campo “Age” configurado como MaxAge. Conforme
apresentado na sessão 1, enviar um LSA com o campo “Age” configurado com MaxAge força
os demais roteadores OSPF a removerem tal registro do LSDB. Observe o LSDB do roteador
R2 alguns segundos após a saída anterior, já sem os registros LSA mais específicos:
Com essa configuração, apenas um LSA Summary foi gerado por ABR e enviado para R2 e
R3. O LSDB da Área Backbone ficaria mais otimizado com apenas um LSA Summary em vez
de 14. A figura 3.2 ilustra essa modificação.
OSPF Avançado
74
R4 Área 1 Área Backbone
192.168.0.0/24
R2
R5
19
2.1
192.168.1.0/24
68
.7.
0/
19
31
2.
16
R6 8.
7.
2/
31
ABR
192.168.2.0/24
192.168
.7.4/31
LSA Summary – 192.168.0.0/20
R7
/31
68 .7.6
192.1
192.168.3.0/24
1
/3
12
7.
8.
16
2.
19
(. . .)
R10
R3
192.168.6.0/24
Figura 3.2 É importante salientar que a sumarização só acontece com duas condições:
Rede OSPF com
Sumarização. 11 Pelo menos um LSA Network para a rede a ser sumarizada tem de estar no LSDB.
Ou seja, se todos os enlaces entre ABR e os roteadores OSPF internos estiverem fora, o
LSA Summary não será gerado;
Importante salientar: q
11 Pelo menos um LSA Network para a rede a ser sumarizada tem de estar no LSDB.
Capítulo 3 - Engenharia de tráfego com OSPF
Ou seja, se todos os enlaces entre ABR e os roteadores OSPF internos estiverem fora,
o LSA Summary não será gerado;
75
Normalmente, três questões são levantadas por quem está vendo essa abordagem pela
primeira vez:
1. Se R2 e R3 enviarem os pacotes para ABR mesmo que a rede esteja indisponível, isso
não vai sobrecarregar o ABR desnecessariamente?
Quando R2 e R3 enviarem os pacotes para ABR, os enlaces entre eles vão ser utilizados,
porém essa carga será mínima, já que não haverá comunicação no sentido contrário.
Mesmo com essa utilização de recursos da rede, os benefícios tendem a superar esse
custo, uma vez que o consumo de CPU e memória em R2 e R3 será menor, além de que
com o LSDB sendo menor, a convergência da rede é mais rápida.
Para evitar que haja loops de roteamento nessas situações, os roteadores OSPF criam
uma rota estática com baixa prioridade apontando para Null, ou seja, caso a rota OSPF
para 192.168.0.0/24 seja removida por queda no enlace, a rota estática para o prefixo
sumarizado 192.168.0.0/20 apontando para Null será utilizada, descartando os pacotes
para a rede 192.168.0.0/24, e não enviando via rota padrão.
Três questões podem ser levantadas por quem está vendo essa abordagem pela q
primeira vez:
11 Se R2 e R3 enviarem os pacotes para ABR mesmo que a rede esteja indisponível, isso
não vai sobrecarregar o ABR desnecessariamente?
Agregação de rotas
11 Também é possível otimizar e agregar prefixos oriundos de LSAs do Tipo AS-External. q
11 O seguinte comando pode ser utilizado:
router ospf
summary-address prefixo máscara [tag TAG]
Conforme apresentado na sessão anterior, o comando range apenas é utilizado para criar
LSAs do tipo Summary a partir de LSAs do tipo Router. Quando o objetivo é agregar LSAs do
tipo AS-External, utiliza-se o comando a seguir.
OSPF Avançado
router ospf
summary-address prefixo máscara [tag TAG]
76
Diferentemente do comando range, o comando summary-address não é associado a
nenhuma área, uma vez que os LSAs do tipo AS-External também não são associados com
área alguma. Além disso, o comando summary-address deve ser inserido no roteador ASBR,
e não no ABR.
192.168.0.0/24
R2
R5 19
2.1
192.168.1.0/24
68
.7.
0/
19
31
2.
16
R6 8.
7.
2/
31
ASBR
192.168.2.0/24
192.168
.7.4/31
R7
/31
8.7.6
.16
192.168.3.0/24 192
1
/3
12
7.
8.
16
2.
19
(. . .)
R10
R3
192.168.6.0/24
Figura 3.3 Apesar de ser semelhante à topologia da figura 3.1, o roteador ABR foi substituído pelo
Redistribuição e roteador ASBR, e não há adjacências OSPF entre ASBR e os roteadores R4 até R10. ASBR tem
Agregação.
uma rota estática para cada rede interna e redistribui essas rotas mais as interfaces
Capítulo 3 - Engenharia de tráfego com OSPF
router ospf
ospf router-id 10.1.2.1
redistribute connected
redistribute static
network 10.1.2.0/24 area 0.0.0.0
network 10.1.3.0/24 area 0.0.0.0
!
ip route 192.168.0.0/24 192.168.7.1
ip route 192.168.1.0/24 192.168.7.3
77
ip route 192.168.2.0/24 192.168.7.5
ip route 192.168.3.0/24 192.168.7.7
ip route 192.168.4.0/24 192.168.7.9
ip route 192.168.5.0/24 192.168.7.11
ip route 192.168.6.0/24 192.168.7.13
Como o ASBR está redistribuindo as rotas estáticas no processo OSPF, LSAs do tipo
AS-External estão sendo gerados e enviados para R2 e R3. Observe o LSDB do roteador R2:
78
Essa saída mostra a configuração padrão do OSPF sem agregação ou sumarização. Observe
os LSAs do Tipo AS-External para as redes internas. Cada LSA do tipo AS-External vai gerar
uma rota a ser instalada no roteador R2:
router ospf
summary-address 192.168.0.0/20
Ao aplicarmos esse comando, novos LSAs do tipo AS-External serão enviados informando
aos roteadores remotos para removê-los (campo “Age” com valor MaxAge) e um novo LSA
AS-External será criado. Observe novamente o LSDB do roteador R2:
11 Após receber os 14 LSAs do tipo AS-External, 14 rotas são criadas por R2 e R3; q
11 Com o comando summary-address 192.168.0.0/20, novos LSAs do tipo AS-External
são gerados com o campo “Age” com valor MaxAge, forçando sua remoção;
11 Um LSA AS-External com o valor agregado será enviado e apenas uma rota será
criada em R2 e R3.
79
Até o presente momento, o comando summary-address, apesar de comum e útil, não foi
implementado no Quagga, apesar de ser bastante comum em outras plataformas. Porém,
existe outra abordagem que permite o mesmo resultado, e será explicado na sessão de
route-maps (ou mapas de rotas). Essa outra abordagem foi utilizada para gerar a saída acima.
Métricas
11 Cálculo das Rotas utiliza as métricas ou custos das interfaces. q
11 Rotas com menores custos são escolhidas.
11 Como interfaces com mais capacidade que 100Mbps estão disponíveis, Engenheiro de
Redes pode:
22 Usar o comando de interface ip ospf cost VALOR por interface com o valor desejado.
11 OSPF suporta Equal Cost Multi-Path (ECMP) ou seja, todas rotas de mesmo custo
devem ser instaladas.
No curso Protocolos de Roteamento IP, o aluno aprendeu que o OSPF define as rotas a
partir de cálculos de menor caminho usando algoritmo de Dijkstra ou Short Path First. Para
calcular o menor custo para cada destino, já foi visto que é utilizada a informação do campo
“Métrica do LSA”. Para evitar que o Engenheiro de Rede tenha de definir manualmente o
custo de cada interface, as implementações de OSPF utilizam a largura de banda disponível
de cada interface para definir a métrica a ser utilizada. O Quagga e alguns outros fabricantes
definem essa métrica por interface dividindo o custo de referência, 100Mbps, pela largura
de banda da interface física. Ou seja, o custo padrão é:
Como no OSPF, quanto menor for o valor da métrica, maior a preferência, uma interface
FastEthernet tem o menor custo, ou seja, custo de 1. À época da escrita da RFC do OSPF,
interfaces FastEthernet eram as mais populares e com maior largura de banda disponível.
Porém, hoje, onde interfaces GigabitEthernet, 10GigabitEthernet e mesmo 100GigabitEthernet
estão disponíveis, utilizar esse custo padrão sugerido pelas implementações OSPF se mostra
sub-otimizado, uma vez que apenas valores inteiros são possíveis, ou seja: interfaces
FastEthernet, GigabitEthernet e 10GigabitEthernet todas possuiriam custo de 1.
Foram apresentados exemplos nas sessões anteriores, mostrando que é possível manipular
o custo de cada interface com o comando:
interface ethX
ip ospf cost VALOR
OSPF Avançado
Para evitar que o Engenheiro de Rede tenha de mudar interface por interface para ajustar a
métrica com suporte a interfaces com maior capacidade, o Quagga provê o comando a seguir:
router ospf
auto-cost reference-bandwidth <1-4294967>
80
Por exemplo, caso deseje trabalhar com interfaces 10GigabitEthernet, aplique o seguinte
comando:
router ospf
auto-cost reference-bandwidth 10000
O comando de interface ip ospf cost VALOR é útil para configurações customizadas ou casos
de enlaces virtuais, por exemplo:
11 Circuitos Frame-Relay que usam subinterfaces: nesse caso, como muitos circuitos
podem ser configurados em uma mesma interface, cada um com largura de banda dife-
rente, o comando ip ospf cost é utilizado para refletir manualmente o custo desejado em
cada subinterface;
A especificação do OSPF permite que, caso existam múltiplos caminhos do mesmo tipo
(tipos de rota OSPF serão explicadas na próxima sessão) e com o mesmo custo, o roteador
OSPF deve instalar todas as rotas de custo igual. A limitação da quantidade é definida pelo
fabricante ou pela implementação, e depende de recursos do Sistema Operacional.
No final do tópico a seguir, “Escolha de Caminhos pelo OSPF”, um exemplo prático será
apresentado sobre ECMP.
22 Rotas Externas: rotas redistribuídas pelo ASBR. Podem ser Externas ou NSSA,
Tipo 1 ou 2.
Foi apresentado até agora que o OSPF permite fazer o particionamento da rede em
diversas redes menores, chamadas de áreas, e que diversos tipos de área são possíveis:
Capítulo 3 - Engenharia de tráfego com OSPF
Área Backbone, Área Normal, Área Stub e Área Not-So-Stub – ou NSSA. Para diferenciar os
tipos de rotas, o OSPF cria os seguintes tipos de rotas:
11 Rotas Intra-Área: são aquelas geradas dentro da área da qual o roteador OSPF faz parte;
11 Rotas Inter-Área: aquelas geradas dentro de outra área OSPF e foi recebida do roteador ABR;
11 Rotas Externas: são redistribuídas no processo OSPF por algum roteador ASBR. Áreas
Externas podem ser do Tipo 1 ou do Tipo 2, Externas ou NSSA.
81
Os tipos de rota são levados em consideração pelo processo OSPF para decidir por qual
instalar. Observe a figura 3.4 (arquivo adr9-cap3-escolha_de_caminhos.imn).
R1 R2
Área Backbone
1
Área 1
100 2
R3
Figura 3.4
Escolha de
3.3.3.3/24 Caminhos.
Na topologia da figura 3.4, cada roteador possui uma interface loopback que faz parte do
processo OSPF. Nos roteadores R1 e R2, a interface loopback faz parte da Área Backbone, e no
roteador R3 faz parte da Área 1. Cada enlace possui um custo OSPF: R1-R2 tem custo 1; R1-R3
tem custo 100 e R2-R3 tem custo 2. Lembre-se de que quanto menor o custo, melhor é a rota.
router ospf
ospf router-id 1.1.1.1
network 1.1.1.1/24 area 0.0.0.0
network 10.1.2.0/24 area 0.0.0.0
network 10.1.3.0/24 area 0.0.0.1
R1# show ip route ospf
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, o - OSPF6, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route
O 1.1.1.0/24 [110/10] is directly connected, lo, 00:02:10
O>* 2.2.2.0/24 [110/11] via 10.1.2.2, eth1, 00:01:20
O>* 3.3.3.0/24 [110/110] via 10.1.3.3, eth0, 00:01:20
O 10.1.2.0/24 [110/1] is directly connected, eth1, 00:02:10
O 10.1.3.0/24 [110/100] is directly connected, eth0, 00:02:10
O>* 10.2.3.0/24 [110/102] via 10.1.3.3, eth0, 00:01:20
82
Observe o LSDB de R1 a seguir.
Observe que realçados em vermelho existem dois LSAs do Tipo Summary com a rota para
3.3.3.0/24: um que é gerado pelo roteador R1 (ADV Router 1.1.1.1) e enviado para a Área
Capítulo 3 - Engenharia de tráfego com OSPF
Backbone, e um que é gerado pelo roteador R2 (ADV Router 2.2.2.2) e também enviado para
a Área Backbone. Mas, para gerar um LSA Summary, conforme apresentado anteriormente,
é necessário que um LSA Router tenha sido recebido pelo roteador ABR com o mesmo
prefixo. Observe a seguir a confirmação:
83
R1# show ip ospf database route adv-router 3.3.3.3
OSPF Router with ID (1.1.1.1)
Router Link States (Area 0.0.0.1)
LS age: 1023
Options: 0x2 : *|-|-|-|-|-|E|*
LS Flags: 0x6
Flags: 0x0
LS Type: router-LSA
Link State ID: 3.3.3.3
Advertising Router: 3.3.3.3
LS Seq Number: 80000007
Checksum: 0x3126
Length: 60
Number of Links: 3
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.1.3.3
(Link Data) Router Interface address: 10.1.3.3
Number of TOS metrics: 0
TOS 0 Metric: 100
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.3.3
(Link Data) Router Interface address: 10.2.3.3
Number of TOS metrics: 0
TOS 0 Metric: 2
Link connected to: Stub Network
(Link ID) Net: 3.3.3.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metric: 10
Este comando exibe o LSDB da Área 1 (Area 0.0.0.1) com o LSA Router gerado pelo roteador
R3 (Advertising Router 3.3.3.3). Observe que existe um enlace do tipo Stub Network, com o
prefixo 3.3.3.0/24, além de custo 10.
Apesar de o Quagga não deixar explícito o motivo de ter escolhido a rota com custo maior
(110 contra 13), a razão está na RFC 2328 do OSPF: no processo de escolha de qual rota deve
ser instalada, rotas Intra-Área sempre terão preferência sob as rotas Inter-Áreas. No caso da
figura 3.4, mesmo que o enlace R1-R3 fosse apenas um enlace de backup, com baixa capaci-
dade, ainda assim ele seria preterido quando comparado com o LSA Summary recebido de R2.
Ou seja, o processo de escolha de rota do OSPF sempre terá a seguinte lista de prioridades:
1. Intra-Área.
2. Inter-Área.
84
11 Prioridades para o processo de escolha de rota q
22 Intra-Área
22 Inter-Área
É fácil entender que quanto mais informações se tem de uma rota, maior a chance de ela ser
escolhida pelo processo OSPF.
Caso exista mais de um caminho com a mesma prioridade; por exemplo, duas rotas Intra-Área
recebidas, a escolha se dará pelo custo total. Em caso de custo total ser semelhante, ambas as
rotas devem ser instaladas, usando a abordagem de Equal Cost Multi-Path (ECMP) apresentada
anteriormente. Observe a figura 3.5, disponível no arquivo adr9-cap-escolha-de-caminhos2.imn.
R1 R2
Área Backbone
4 2
R3
Figura 3.5
ECMP. 3.3.3.3/24
Como todos os enlaces fazem parte da mesma área, para R1 chegar à Loopback de R3,
existem duas opções com a mesma métrica. A saída a seguir do roteador R1 confirma o
ECMP instalado, onde é possível ver a mesma rota com dois roteadores como próximo salto.
A funcionalidade ECMP é muito útil para fazer balanceamento de carga e otimização do rote-
amento. Observe que o protocolo OSPF só suporta múltiplas rotas para o mesmo destino
caso as métricas sejam idênticas.
85
Controlando atualizações de roteamento
11 Sistemas Autônomos tendem a possuir diversas configurações e complexidades, q
envolvendo diversos tipos de enlaces e protocolos, múltiplos IGPs que requerem
configurações extras para garantir a otimização.
Conforme a configuração da rede fica mais complexa, com mais roteadores, outros IGPs,
diferentes tipos de enlaces e protocolos, mais ajustes finos são necessários para garantir
que os protocolos de roteamento funcionem da maneira mais otimizada possível. Esses
ajustes também se aplicam ao protocolo OSPF, e nesta sessão alguns ajustes serão apre-
sentados em detalhes. No início desta sessão, técnicas de sumarização e agregação foram
apresentas. Nesta sessão, as seguintes técnicas serão apresentadas:
11 Rotas Padrão;
11 Filtrando Prefixos.
Essas técnicas também serão utilizadas na próxima sessão, quando a interação com outros
protocolos de roteamento será detalhada.
11 Com o comando redistribute, as rotas geradas são tratadas como rotas Externas.
11 Interfaces configuradas como passivas não enviam mensagens Hello nem formam
adjacências OSPF.
Ao ativarmos OSPF no enlace, via comando network do processo OSPF, o prefixo IP da inter-
face é inserido no OSPF como Intra-Área e pode ser sumarizado para outras áreas, sendo
tratado como Inter-Área. Se for utilizada redistribuição via comando redistribute connected
do processo OSPF, o prefixo IP é inserido como um prefixo externo, tendo menos prioridade
no processo de escolha de caminhos, conforme apresentado anteriormente.
Caso o Engenheiro de Rede queira usar o comando network em vez de redistribute, esse
pode fazê-lo, mas essa abordagem pode trazer desvantagens. Observe a figura 3.6
(arquivo adr9-cap3-interfaces_passivas.imn).
OSPF Avançado
86
Área 2
R2
R4 R1
Área Backbone
eth1
Internet 10.0.0.0/24
eth0
R3
Área 1
Figura 3.6 Na topologia da figura 3.6, o roteador OSPF R1 está conectado à Área Backbone, e uma das
Interfaces Passivas. suas interfaces conecta usuários da empresa. Essa interface com usuários não possui
roteadores, somente dispositivos dos usuários, como computadores, tablets, smartphones,
impressoras, dispositivos Wi-Fi, entre outros. Esse segmento de rede precisa ser anunciado
por R1 para os demais roteadores OSPF; caso contrário, eles não serão alcançados. Até
então, a opção mais comum era redistribuir o endereço daquele segmento no processo
OSPF. Ao ser redistribuído, o prefixo seria tratado como um prefixo externo.
Caso o Engenheiro de Redes decida não redistribuir e habilite a interface no OSPF com o
comando network, esse segmento de rede passaria a receber mensagens Hello a cada
10 segundos de R1. Além disso, caso algum dos usuários deseje agir maliciosamente, ele
pode instalar um roteador OSPF no segmento, que poderia estabelecer adjacência com R1
e maliciosamente controlar e injetar prefixos que podem comprometer a instabilidade da
rede. Mesmo que o Engenheiro de redes habilite MD5, o usuário malicioso pode ficar ten-
tando quebrar a senha por tentativa e erro.
É para essas situações que o recurso de Interfaces Passivas, ou Passive Interfaces, existe.
Ao criar Interfaces Passivas, o roteador OSPF considera a interface como parte do OSPF, mas
não tenta criar adjacências. Dessa maneira, o Engenheiro de Rede passa a ter mais controle
e flexibilidade na administração da rede. Para fazer uso de Interfaces Passivas, os passos a
seguir são utilizados:
Capítulo 3 - Engenharia de tráfego com OSPF
router ospf
! Habilite a interface da maneira tradicional com comando network
network IP area Área
! Transforme em interface passiva
passive-interface Nome_Interface
87
Para transformar uma interface em passiva, basta utilizar o comando a seguir: q
router ospf
! Habilite a interface da maneira tradicional com comando network
network IP area Área
! Transforme em interface passiva
passive-interface Nome_Interface
router ospf
! Interface eth1 tem IP 11.0.0.1/24
network 11.0.0.0/24 area 0
! Transforma em interface passiva
passive-interface eth1
A partir desse comando, o prefixo IP da interface eth1 fará parte do LSDB e será visto
como Intra-Área pelos demais roteadores OSPF da Área Backbone. Porém, pacotes Hello
não serão enviados. Observe na saída a seguir do roteador R1, em vermelho, a informação
de interface passiva.
router ospf
! Transforma todas as interfaces em passivas
passive-interface default
! Transforma interface eth0 em ativa
no passive-interface eth0
network 0.0.0.0/0 area 0.0.0.0
Com o comando passive-interface default, todas as interfaces do roteador R1 que estão inclu-
ídas pelo comando network passam a fazer parte do processo OSPF; porém, apenas eth0
poderá formar adjacências com outros roteadores.
OSPF Avançado
88
É possível transformar todas as interfaces do roteador em passivas com um único comando. q
router ospf
! Transforma todas as interfaces em passivas
passive-interface default
! Transforma interface eth0 em ativa
no passive-interface eth0
network 0.0.0.0/0 area 0.0.0.0
Rotas padrão
11 Rota padrão ou default route é um recurso útil para economia de recursos q
dos roteadores.
22 LSA AS-External.
A rota padrão, ou default route, é um recurso extremamente útíl nas redes de computadores.
Através dessa rota, todos os destinos podem ser alcançados, economizando recursos dos
roteadores, mesmo que não seja a solução mais otimizada. Foram apresentadas situações
na sessão 2, onde roteadores ABR geravam rotas padrão dentro de Áreas Stub e NSSA,
quando o comando a seguir era inserido:
route ospf
area AREA stub no-summary
O comando no-summary, no ABR, serve para forçar o roteador ABR a filtrar mais LSAs do
tipo Summary, além dos LSAs externos já bloqueados por padrão na área Stub. Como os
roteadores internos não têm informação dos prefixos externos, o roteador ABR então gera
uma rota padrão e envia via LSA Summary para os roteadores internos. Alguns fabricantes
chamam esse tipo de área de Totally Stub ou Totally NSSA.
Porém, há casos onde a rota padrão deve ser gerada para as outras áreas, informando alter-
nativas de saída. Observe a figura 3.7 (arquivo adr9-cap3-rota_padrao.imn).
89
R2
R4 R1
Área Backbone
Internet 10.0.0.0/24
R3
R6 R5
Área 1 Stub
Figura 3.7
Rota Padrão.
No Sistema Autônomo da figura 3.7, o roteador R4 faz parte da Área Backbone e possui
BGP para acesso à internet. Nenhum outro roteador tem BGP configurado, apenas OSPF.
Observe a configuração do roteador R4:
11 O roteador R4 pode redistribuir prefixos BGP ou originar uma rota padrão para os
demais roteadores OSPF.
Através da figura 3.7 e das configurações do roteador R4, é possível confirmar que há apenas
um roteador BGP. Para que os usuários conectados aos roteadores R1, R2, R5 e R6 tenham
acesso à internet, o roteador R4 teria duas possibilidades:
Não é recomendado redistribuir prefixos BGP dentro do OSPF, pois, na maioria das vezes, a
quantidade de prefixos BGP é muito grande a ponto de comprometer o processo OSPF.
Atualmente, a tabela BGP global possui mais de 500 mil prefixos, e não é interessante que
estes sejam redistribuídos no processo OSPF. Então, a solução com rota padrão se mostra
mais interessante. O roteador pode originar uma rota padrão no processo OSPF com o
seguinte comando:
router ospf
default-information originate [always] [metric METRICA] [metric-type 1|2]
Com esse comando, o processo OSPF pode gerar um LSA AS-External com a rota padrão,
desde que esteja na sua tabela de rotas. No caso da topologia da figura 3.7, a rota padrão
em R4 foi recebida via BGP do Sistema Autônomo remoto. Observe a saída a seguir:
q
Capítulo 3 - Engenharia de tráfego com OSPF
91
Parâmetros opcionais: q
11 always: origina a rota padrão, mesmo que não exista uma no roteador;
11 metric-type: define o tipo de métrica para o LSA AS-External: tipo 1 ou 2. O tipo padrão
é 2;
Após receber esse LSA, o roteador R1 instala uma rota padrão e, partir desse momento,
todos os usuários conectados ao roteador R1 passam a ter acesso ao Sistema Autônomo
remoto, e mesmo à internet.
11 always: origina a rota padrão, mesmo que não exista uma no roteador;
11 metric-type: define o tipo de métrica para o LSA AS-External: tipo 1 ou 2. O tipo padrão é 2;
Filtrando prefixos
11 Filtragem de prefixos são necessárias para customizar a manipulação de prefixos na q
rede OSPF;
11 Engenheiro de redes pode decidir por não enviar prefixos entre áreas – ou mesmo
não instalar rotas de acordo com as necessidades locais;
22 Lista de Prefixos;
22 Lista de Distribuição;
22 Mapas de Rotas.
92
Filtragem de prefixos faz parte de qualquer protocolo de roteamento. Seja por questões de
segurança, isolamento ou escalabilidade, todos os protocolos de roteamento implementam
opções que permitem ao engenheiro de rede fazer ajustes finos. No curso Protocolos de
Roteamento IP, o conceito e exemplos de mapas de rotas foram apresentados com focos em
BGP. Nesta sessão, diversas abordagens de filtros, intra e inter-domínio serão apresentadas,
inclusive mapas de rotas. Porém, antes, uma introdução será feita sobre as ferramentas
disponíveis no Quagga.
11 Também servem para marcar prefixos antes da tomada de ação pelo roteador;
Listas de Controle de Acesso, ou ACLs, são utilizadas com grande frequência para filtragem
de pacotes de usuários nas interfaces. No âmbito do OSPF, ACL são utilizadas para especi-
ficar prefixos a serem selecionados. Possibilidades de configuração no Quagga:
Existem outras combinações possíveis; porém, para o OSPF, essas são as mais utilizadas.
ACLs não possuem a possibilidade de remover apenas uma entrada; logo, se uma entrada for
removida, toda a ACL será removida. A mesma limitação se aplica a ordenamento ou sequen-
ciamento: uma vez criada, a única possibilidade para mudar a sequência é recriando a ACL. Capítulo 3 - Engenharia de tráfego com OSPF
22 ip prefix-list NOME seq <NÚMERO> (deny|permit) A.B.C.D/M [ge <0-32>] [le <0-32>]
93
Lista de prefixos foi criada para facilitar a seleção de prefixos, uma vez que cada entrada
possui um número de sequência, além das extensões le (menor-igual) e ge (maior-igual),
muito úteis para seleções mais específicas.
ip prefix-list NOME seq <NÚMERO> (deny|permit) A.B.C.D/M [ge <0-32>] [le <0-32>]
Existem outras combinações possíveis; porém, no âmbito desse material, esses parâmetros
são suficientes.
Listas de Distribuição usam ACLs para filtrar os prefixos desejados. Os usos mais comuns são:
33 match ip address
33 match tag
33 set metric
OSPF Avançado
33 set tag
94
Mapa de Rota foi criado para utilizar ACL e Listas de Prefixos para não apenas filtrar prefixos,
mas também executar mudanças nos prefixos selecionados. A utilização foi apresentada
no curso Protocolos de Roteamento IP, porém os comandos mais comuns para se usar com
OSPF estão relacionados a seguir:
Figura 3.8
Filtragens de
Prefixos.
R7 R3
Área 1
R1
R8
R6
Área Backbone
Internet
10.0.0.0/24
Capítulo 3 - Engenharia de tráfego com OSPF
R9
R2
R5 R4
95
A topologia da figura 3.8 é composta por duas Áreas OSPF: Área Backbone e Área 1. A Área 1
foi criada para isolar a topologia do Datacenter, com diversos racks de servidores e um rote-
ador OSPF por rack. Os roteadores OSPF internos da Área 1 possuem várias conexões para
aumentar a performance. Dentro da Área 1 existem dois prefixos:
Como os roteadores OSPF internos (R3, R4, R5, R6 e R7) são responsáveis pelo roteamento
de ambos os prefixos, por padrão, todos os prefixos estão sendo divulgados pelos ABRs R1 e
R2 para a Área Backbone. Observe a tabela de rotas do roteador R8:
96
Mesmo com a instrução de que os prefixos da rede 11.1.0.0/16 não deveriam ser q
acessados fora da Área 1, roteador R8 possui rotas para tais prefixos.
Observe que, pela multiplicidade de conexões, vários prefixos podem ser acessados por
mais de um caminho usando ECMP.
Pela saída da tabela de rotas de R8, é possível ver que os sub-prefixos do prefixo 11.1.0.0/16
estão acessíveis, mas, segundo a definição anterior, esses prefixos não deveriam ser vistos
fora da Área 1. Nesse caso, como o padrão do OSPF é redistribuir os prefixos entre áreas, o
engenheiro de redes precisa agir para não permitir essa distribuição, mas ainda assim tendo
esse prefixo sendo roteado na Área 1.
No tópico Sumarização de Rotas, foi apresentado o comando range, que permite a criação
de agregação entre áreas. Além de agregar e anunciar, o mesmo comando permite que, em
vez de gerar o LSA do tipo Summary para fazer o anúncio, permite bloquear todos os pre-
fixos do range. Observe o comando a seguir:
router ospf
area 1 range 11.1.0.0/16 not-advertise
Com esse comando, os roteadores ABR R1 e R2 não vão criar os LSAs do tipo Summary para
nenhum prefixo incluso no range 11.1.0.0/16. Observe que na tabela de rotas do roteador R8
não há mais rotas para os prefixos 11.1.0.0/16.
Capítulo 3 - Engenharia de tráfego com OSPF
97
O>* 10.2.9.0/24 [110/20] via 10.8.9.9, eth1, 00:03:56
O>* 10.3.4.0/24 [110/30] via 10.1.8.1, eth0, 00:03:45
O>* 10.3.5.0/24 [110/30] via 10.1.8.1, eth0, 00:03:45
O>* 10.3.6.0/24 [110/30] via 10.1.8.1, eth0, 00:03:45
O>* 10.3.7.0/24 [110/30] via 10.1.8.1, eth0, 00:03:45
O>* 10.4.5.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
* via 10.8.9.9, eth1, 00:03:45
O>* 10.4.6.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
* via 10.8.9.9, eth1, 00:03:45
O>* 10.4.7.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
* via 10.8.9.9, eth1, 00:03:45
O 10.8.9.0/24 [110/10] is directly connected, eth1, 00:04:40
O>* 11.0.21.0/24 [110/30] via 10.1.8.1, eth0, 00:03:45
O>* 11.0.23.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
O>* 11.0.25.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
O>* 11.0.27.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
O>* 11.0.29.0/24 [110/40] via 10.1.8.1, eth0, 00:03:45
* via 10.8.9.9, eth1, 00:03:45
O comando range apresentado anteriormente possui uma opção que faz o inverso: em q
vez de criar um LSA Summary para o prefixo explicitado, passa a não gerar LSAs do tipo
Summary para os LSA Routers inclusos no prefixo explicitado.
router ospf
area 1 range 11.1.0.0/16 not-advertise
Outra possibilidade de fazer o mesmo bloqueio é possível com Listas de Prefixos. Vamos
remover o comando range de ambos R1 e R2.
router ospf
no area 0.0.0.1 range 11.1.0.0/16 not-advertise
Lista de Prefixos permite que apenas uma lista tenha diversos prefixos IP distintos,
evitando ter de aplicar múltiplos comandos range.
Agora, em ambos R1 e R2 vamos criar uma Lista de Prefixos que inclua todos os prefixos do
range 11.1.0.0/16:
Essa Lista de Prefixos, chamada Datacenter-11.1, possui duas regras: a primeira rejeita o
prefixo 11.1.0.0/16, incluindo prefixos menores até /32; a segunda regra permite todos os
outros prefixos.
98
Agora, aplique a Lista de Prefixos no processo OSPF:
router ospf
area 1 filter-list prefix Datacenter-11.1 out
O comando range e a Lista de Prefixos, após serem aplicados, criam LSAs do Tipo q
Summary solicitando a remoção do prefixo. Observe o LSDB de R8:
Todos os LSAs possuem Age 3600, que significa que devem ser removidos.
Observe que o campo “Age” foi configurado com MaxAge nos LSAs do tipo Summary,
forçando os demais roteadores OSPF a removerem os prefixos inclusos na Lista de
Prefixos dos seus LSDBs. Com a configuração atual, a Área Backbone não possui mais
rotas para a rede 11.1.0.0/16, conforme especificado no início do texto.
99
O>* 10.3.4.0/24 [110/20] via 10.1.3.3, eth0, 23:33:27
O>* 10.3.5.0/24 [110/20] via 10.1.3.3, eth0, 23:33:22
O>* 10.3.6.0/24 [110/20] via 10.1.3.3, eth0, 23:33:27
O>* 10.3.7.0/24 [110/20] via 10.1.3.3, eth0, 23:33:27
O>* 10.4.5.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 10.4.6.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 10.4.7.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 10.8.9.0/24 [110/20] via 10.1.8.8, eth2, 23:33:22
O>* 11.0.21.0/24 [110/20] via 10.1.3.3, eth0, 23:33:27
O>* 11.0.23.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 11.0.25.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 11.0.27.0/24 [110/30] via 10.1.3.3, eth0, 23:33:22
O>* 11.0.29.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 11.1.22.0/24 [110/20] via 10.1.3.3, eth0, 23:33:27
O>* 11.1.24.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 11.1.26.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
O>* 11.1.28.0/24 [110/30] via 10.1.3.3, eth0, 23:33:22
O>* 11.1.30.0/24 [110/30] via 10.1.3.3, eth0, 23:33:27
R1 e R2 nessa topologia não precisam saber desse prefixo, pois em caso de conexão nova
com R1 ou R2, os servidores da rede 11.1.0.0/16 seriam acessíveis. Para evitar esse tipo de
situação, bloqueios Intra-Área devem ser utilizados.
Uma maneira de impedir que R1 e R2 tenham rotas para os prefixos da rede 11.1.0.0/16 é
impedir que o processo OSPF instale rotas para o prefixo 11.1.0.0/16 na tabela de rotas.
No Quagga, a maneira mais simples de se implementar essa restrição é usando o comando
ip protocol a seguir, juntamente com Mapas de Rotas.
Essa Lista de Prefixos rejeita todos os prefixos da rede 11.1.0.0 dos prefixos /16 até prefixos /32.
Observe o que foi feito: o roteador OSPF vai criar adjacências com outros roteadores OSPF,
no caso, R1 e R2 criarão adjacências com R3 e R4, respectivamente. Ao receberem os
prefixos, estes serão instalados no LSDB, após todo o processo de sincronização apresen-
tado na sessão 1. Após a sincronização, o roteador vai verificar quais rotas OSPF devem ser
instaladas na tabela de rotas. Como há um Mapa de Rotas configurado, apenas os prefixos
OSPF Avançado
permitidos pela Lista de Prefixos serão aceitos. Observe a tabela de rotas do roteador R2:
R2# sh ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, o - OSPF6, I - IS-IS, B - BGP, A - Babel,
100
> - selected route, * - FIB route
O>* 8.8.8.8/32 [110/30] via 10.1.2.1, eth1, 1d00h15m
* via 10.2.9.9, eth2, 1d00h15m
O>* 9.9.9.9/32 [110/20] via 10.2.9.9, eth2, 1d00h15m
O 10.1.2.0/24 [110/10] is directly connected, eth1, 1d00h16m
C>* 10.1.2.0/24 is directly connected, eth1
O>* 10.1.3.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 10.1.8.0/24 [110/20] via 10.1.2.1, eth1, 1d00h15m
O 10.2.4.0/24 [110/10] is directly connected, eth0, 00:09:12
C>* 10.2.4.0/24 is directly connected, eth0
O 10.2.9.0/24 [110/10] is directly connected, eth2, 1d00h16m
C>* 10.2.9.0/24 is directly connected, eth2
O>* 10.3.4.0/24 [110/20] via 10.2.4.4, eth0, 00:09:03
O>* 10.3.5.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 10.3.6.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 10.3.7.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 10.4.5.0/24 [110/20] via 10.2.4.4, eth0, 00:09:03
O>* 10.4.6.0/24 [110/20] via 10.2.4.4, eth0, 00:09:03
O>* 10.4.7.0/24 [110/20] via 10.2.4.4, eth0, 00:09:03
O>* 10.8.9.0/24 [110/20] via 10.2.9.9, eth2, 1d00h15m
O>* 11.0.21.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 11.0.23.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 11.0.25.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 11.0.27.0/24 [110/30] via 10.2.4.4, eth0, 00:09:03
O>* 11.0.29.0/24 [110/20] via 10.2.4.4, eth0, 00:09:03
O 11.1.22.0/24 [110/30] via 10.2.4.4, eth0 inactive, 00:09:03
O 11.1.24.0/24 [110/30] via 10.2.4.4, eth0 inactive, 00:09:03
O 11.1.26.0/24 [110/30] via 10.2.4.4, eth0 inactive, 00:09:03
O 11.1.28.0/24 [110/30] via 10.2.4.4, eth0 inactive, 00:09:03
O 11.1.30.0/24 [110/20] via 10.2.4.4, eth0 inactive, 00:09:03
Observe que os prefixos da rede 11.1.0.0/16 estão inativos; logo, não são alcançáveis.
Observe no LSDB de R2 o LSA Router gerado por R4, por exemplo:
Capítulo 3 - Engenharia de tráfego com OSPF
101
Checksum: 0xe84c
Length: 108
Number of Links: 7
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.3.4.4
(Link Data) Router Interface address: 10.3.4.4
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.4.5.5
(Link Data) Router Interface address: 10.4.5.4
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.4.6.6
(Link Data) Router Interface address: 10.4.6.4
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.4.7.7
(Link Data) Router Interface address: 10.4.7.4
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.4.4
(Link Data) Router Interface address: 10.2.4.4
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: Stub Network
(Link ID) Net: 11.0.29.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metric: 10
Link connected to: Stub Network
(Link ID) Net: 11.1.30.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metric: 10
Observe que no último registro consta a rede 11.1.30.0/24. Lembre-se: o LSDB tem de ser o
mesmo em todos os roteadores OSPF da Área. Nesse caso, filtramos apenas a instalação da
rota na tabela de rotas, mas não a inserção do LSA no LSDB.
router ospf
OSPF Avançado
102
Executando Filtragem de Prefixos Intra-Área: q
1. Crie a Lista de Prefixo com o prefixo que não deve ser instalado:
192.168.0.0/24
R2
R5
19
2.1
192.168.1.0/24
68
.7.
0/
19
31
2.
16
R6 8.
7.
2/
31
ASBR
192.168.2.0/24
192.168
.7.4/31
R7
31
.7 .6/
.168
Capítulo 3 - Engenharia de tráfego com OSPF
192.168.3.0/24 192
1
/3
12
7.
8.
16
2.
19
(. . .)
R10
R3
192.168.6.0/24
103
Na topologia da figura 3.1, o ASBR possui interfaces conectadas aos roteadores remotos R4
até R10 e uma rota estática para cada rede interna, conforme abaixo:
router ospf
ospf router-id 10.1.2.1
redistribute connected
redistribute static
network 10.1.2.0/24 area 0.0.0.0
network 10.1.3.0/24 area 0.0.0.0
!
ip route 192.168.0.0/24 192.168.7.1
ip route 192.168.1.0/24 192.168.7.3
ip route 192.168.2.0/24 192.168.7.5
ip route 192.168.3.0/24 192.168.7.7
ip route 192.168.4.0/24 192.168.7.9
ip route 192.168.5.0/24 192.168.7.11
ip route 192.168.6.0/24 192.168.7.13
Observe que as interfaces com R4 até R10 e as rotas estáticas estão sendo redistribuídas
no OSPF. Para evitar que R2 e R3 criem 14 rotas apontando para o ASBR, podemos utilizar
Mapas de Rotas para fazer a agregação. Os seguintes passos devem ser executados:
Essa Lista de Prefixos diz para verificar os primeiros 16 bits do prefixo (192.168) e rejeitar
(deny) todos os prefixos com comprimento do prefixo maior ou igual a 24 (/24, /25, /26 etc.)
Esse Mapa de Rotas vai permitir tudo que está na Lista de Prefixo FILTRA_192.168-20, ou
seja, rejeitar prefixos com comprimento do prefixo maior que 24 e permitir o resto (any).
Passo 4: aplicar o Mapa de Rotas no processo OSPF, fazendo a redistribuição de rotas estáticas:
router ospf
redistribute static route-map AGREGACAO
OSPF Avançado
104
Passo 5: confirme o resultado nos demais roteadores da Área Backbone:
router ospf
Capítulo 3 - Engenharia de tráfego com OSPF
Nesta sessão, o aluno teve contato com algumas técnicas de engenharia de tráfego que per-
mitem a otimização do LSDB, aumenta a eficiência do processo de convergência e também
agrega segurança e isolamento nas implementações OSPF. Na sessão de aprendizagem 4,
o aluno terá a oportunidade de conhecer algumas técnicas e funcionalidades mais novas
desenvolvidas pelo IETF para o protocolo OSPF, que agregam mais valor e escalabilidade a
esse popular protocolo de roteamento dinâmico.
105
Comandos OSPF
A seguir, uma lista de comandos de configuração que foram apresentados na sessão de
aprendizagem 3. Em destaque estão as palavras-chave.
11 Gera LSAs do tipo Summary na Área Backbone. Not-advertise filtra o LSA do tipo
Summary:
passive-interface Nome_Interface
passive-interface default
11 Origina uma rota padrão em uma área Stub e filtra todos os LSAs do tipo Summary:
106
11 Cria uma ACL Extendida:
Ip prefix-list NOME seq NÚMERO [permit|deny] A.B.C.D/M [ge <0-32>] [le <0-32>]
11 Procura por prefixos específicados pela ACL (nome ou número) em uma Mapa de Rotas:
match ip address
107
OSPF Avançado
108
4
Otimização e tópicos avançados
objetivos
conceitos
Escalabilidade e Estabilidade: Incremental OSPF, Supressão de Prefixos, Graceful Restart;
Convergência: Bidirectional Forwarding Detection (BFD); Monitoramento: MIB 4750.
Introdução
Nas sessões anteriores, as RFCs 2328 e 3101 foram apresentadas e as configurações mais
comuns disponíveis do protocolo OSPF nos roteadores atuais foram detalhadas. Diversos exem-
plos e topologias foram apresentados, com informação suficiente para o aluno ter a capacidade
de configurar redes complexas e de grande escala. Porém, ao longo dos anos e com o advento
de novos protocolos e tecnologias, novas funcionalidades foram propostas e algumas viraram
padrões de fato via RFCs no IETF (Internet Engineering Task Force). Serviços como o transporte
de voz e vídeo utilizando redes IP se consolidaram e passaram a exigir tempos de convergência
menores, o que força uma detecção mais rápida de possíveis problemas de conectividade. Além
disso, com redes cada vez maiores e mais roteadores OSPFs, os LSDBs ficaram cada vez maiores,
consumindo mais recursos dos roteadores e comprometendo o tempo de convergência da rede.
Esta sessão apresenta as tecnologias e propostas mais novas relacionadas ao protocolo OSPF
e, sempre que possível, exemplos práticos serão apresentados para ajudar o aluno a conso-
Capítulo 4 - Otimização e tópicos avançados
lidar os novos tópicos. Algumas das funcionalidades a serem apresentadas são tão recentes
que muitos dos fornecedores ainda não as suportam, mas é importante os alunos saberem
que existem opções para resolver problemas específicos relacionados a grandes ambientes
de roteamento OSPF. Além disso, algumas tecnologias apresentadas são importantes para
ambientes que usam o OSPF, como por exemplo, redes MPLS e Engenharia de Tráfego.
Os principais assuntos a serem abordados nesta sessão estão relacionados às seguintes áreas:
109
Escalabilidade e Estabilidade do OSPF
11 Roteadores modernos possuem mais CPU e memória, porém as redes estão ficando q
cada vez maiores.
11 Provedores atuais possuem mais roteadores e mais enlaces entre eles, aumentando o
tamanho do LSDB.
A capacidade de suportar cada vez mais roteadores e prefixos de maneira estável determina
a escalabilidade de um protocolo de roteamento. O protocolo OSPF foi planejado para
suportar muitos roteadores e enlaces, porém, com a popularização das redes de computa-
dores e o crescimento destas, os LSBDs acabaram ficando muito grandes. Mesmo com os
roteadores mais novos possuindo mais capacidade de processamento e memória, algumas
funcionalidades foram propostas para otimizar e acelerar o processo de convergência, além
de aumentar a estabilidade da rede. As seguintes funcionalidades foram padronizadas para
extender as capacidades da RFC 2328 (OSPF v2) e serão detalhadas ao longo da sessão de
aprendizagem 4:
11 Incremental OSPF: permite que o OSPF reprocesse apenas parte do LSDB em casos q
específicos de alteração na topologia da área OSPF;
11 BFD para OSPF: permite que o processo OSPF detecte mais rapidamente a queda dos
roteadores vizinhos;
11 MIB para OSPF: permite o monitoramento dos objetos OSPF, facilitando a operação
da rede OSPF.
Incremental OSPF
11 Roteadores OSPF usam o algoritmo SPF para escolher o melhor caminho para cada q
destino.
Shortest Path Tree (SPT) com todos os destinos, avaliando os custos e caminhos disponibili-
zados pelos demais roteadores OSPF. Através da SPT, o roteador OSPF saberá como chegar
em cada uma das redes disponíveis. A fim de ilustrar esse procedimento, observe a topo-
logia da figura 4.1.
110
R1 Rede 3 R6
Rede 1 5 Rede 6
10
R3
10 5 5
10
Rede 2 15 10 Rede 7
15 10
R2 R5 R7
10 10
R8 R9 R10 R11
10 10
R4
Figura 4.1 É possível observar que essa rede possui diversos enlaces e roteadores. Assumindo os
Incremental OSPF. custos informados nos enlaces, o roteador R6 iria executar o processo SPF (Shortest Path
First) no seu LSDB para criar sua SPT (Shortest Path Tree) para alcançar todos os destinos.
A figura 4.2. apresenta a SPT do ponto de vista de R6.
11 A figura 4.2 mostra a SPT do ponto de vista de R6, utilizando as métricas (ou custos)
informadas; Observe que não há loops na SPT.
111
R6
R3 R5 R7
R1 R2 R10 R11
R4
Rede 1 Rede 2 Rede 10 Rede 11
R8 R9
Rede 8 Rede 9
Como era de se esperar, o roteador R6 calculou sua SPT sem loops, utilizando as métricas dos Figura 4.2
enlaces anunciados pelos demais roteadores. Suponha que as rotas sejam instaladas no rote- Roteader R6 e
sua SPT.
ador R6, e o enlace que liga o roteador R8 à Rede 8 mude de estado, de UP para DOWN. O rote-
ador R8 vai então gerar um LSA Network para informar que a Rede 8 está indisponível (com LSA
Age 3600 ou Métrica Infinita). Os demais roteadores OSPF vão repassar o LSA (via flooding) até
que todos os roteadores OSPF estejam com o mesmo LSDB. Após terem o LSDB sincronizado,
todos os roteadores vão executar o processo do SPF para recalcularem suas respectivas SPTs.
Como o SPF processa todos os registros do LSDB, a árvore SPT teve de ser inteiramente
recriada por causa de um prefixo IP que é uma folha da árvore SPT. Esse cálculo consome
recursos de processamento e memória do roteador, e se depender da quantidade de prefixos
e frequência com que esses prefixos oscilam, a CPU do roteador pode ficar bastante ocupada.
Vimos na sessão 2 que esse problema poderia ser evitado com áreas OSPF, mas considere que
a figura 4.2 já é uma Área OSPF de uma rede maior, pois muitas redes podem ter dezenas ou
centenas de roteadores, milhares de prefixos sendo roteados pelo OSPF por área.
11 Como a Rede 8 só tem ligação com R8, as SPTs vão permanecer as mesmas.
112
w Diante desse cenário, alguns fabricantes implementaram uma versão otimizada do algoritmo
Leia o artigo “ARPANET
Routing Algorithm SPF sugerida na época da ARPANET. À época, foi sugerida uma modificação no algoritmo do
Improvements”, em SFP, chamado Incremental SFP (ISPF), propondo mudanças que afetem apenas as folhas ou
http://www.dtic.mil/
pequenas sub-árvores da SPT, e não forçam o cálculo completo da SPT. Assim, economizam
dtic/tr/fulltext/u2/
a086340.pdf recursos computacionais dos roteadores.
11 Para evitar esse tipo de situação, uma mudança foi implementada no SPF: q
o Incremental SPF (ISPF);
11 O ISPF propõe que mudanças que afetem apenas as folhas ou pequenas sub-árvores
da SPT e não forcem o cálculo completo da SPT;
Propriedade 1
Se um roteador OSPF for adicionado ou removido da SPT e se caracterizar como um roteador
"folha" da árvore, a SPT só precisa ser alterada para adicionar ou remover tal roteador
"folha". O mesmo conceito se aplica às redes Não Trânsito, redes "terminais", ou Stub (como
apresentado na sessão de aprendizagem 1), como por exemplo a Rede 8 utilizada como
exemplo. A figura 4.3 possui um roteador (R12) e duas redes Stub adicionados.
11 Propriedade 1: q
11 Se um roteador OSPF for adicionado ou removido da SPT e este se caracterizar
como um roteador "folha" da árvore, a SPT só precisa ser alterada para adicionar ou
remover tal roteador "folha"
11 Mesma regra para redes terminais, stub ou não-trânsito, como a "Rede 8" da figura 4.2
11 O processo SPF apenas adicionaria o novo roteador (ou nova rede Stub) sem recriar a SPT
113
R6
R3 R5 R7
R1 R2 R10 R11
Rede 11B
R4
Rede 1 Rede 2 Rede 10 Rede 11
R8 R9 R12
Figura 4.3
Rede 8 Rede 9 Rede 12 ISPF e a
Propriedade 1.
Nesses casos, com o ISPF, o cálculo SPF seria feito apenas para adicionar o novo roteador
e as novas redes adicionadas, não recalculando toda a SPT. Como não há necessidade de
recalcular toda a SPT, o tempo de cálculo tende a ser menor. Para demonstrar os resultados,
o cenário da figura 4.1 foi criado no arquivo (adr9-cap4-ispf.zip). Primeiramente, a interface
Loopback do roteador 12 será desativada e o tempo de execução do recálculo da SPT em R6
será apresentado:
R12#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R12(config)#interface lo0
R12(config-if)#shutdown
R12(config-if)#
*Mar 1 00:34:46.835: %LINK-5-CHANGED: Interface Loopback0, changed state to
administratively down
*Mar 1 00:34:47.835: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0,
changed state to down
Como a Interface Loopback0 foi desativada, o roteador R12 gerou um LSA Network que foi
propagado pela rede OSPF. Observe a saída a seguir. Nessa saída, o comando show ip ospf
OSPF Avançado
statistics detail foi utilizado. A linha em negrito e em vermelho mostra o tempo total, em milise-
gundos, necessário para computar a mudança recebida do roteador R12 (em negrito e azul).
114
11 A saída a seguir mostra o tempo de execução do SPF caso a interface Loopback de q
R12 seja desativada
É possível observar que o roteador R6 levou 12 milisegundos para recriar a árvore SPT.
Vamos agora habilitar o ISPF em R6:
R6#configure terminal
Capítulo 4 - Otimização e tópicos avançados
R6#sh ip ospf
Routing Process "ospf 10" with ID 6.6.6.6
Start time: 00:04:02.648, Time elapsed: 00:34:07.856
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
115
Router is not originating router-LSAs with maximum metric
Initial SPF schedule delay 5000 msecs
Minimum hold time between two consecutive SPFs 10000 msecs
Maximum wait time between two consecutive SPFs 10000 msecs
Incremental-SPF enabled
Minimum LSA interval 5 secs
Minimum LSA arrival 1000 msecs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of opaque AS LSA 0. Checksum Sum 0x000000
Number of DCbitless external and opaque AS LSA 0
Como o Incremental SPF está habilitado (enabled), vamos habilitar a interface Loopback0 do
roteador 12 novamente e verificar o tempo necessário em R6:
R6#configure terminal
R6(config)#router ospf 10
R6(config-router)#ispf
0 0
LSIDs processed R:0 N:0 Stub:1 SN:0 SA:0 X7:0
Change record
LSIDs changed 1
Changed LSAs. Recorded is LS ID and LS type:
12.12.12.12(R)
116
Apenas a última execução do SPF executado foi mostrado (SPF 21). Nessa saída, é possível
ver algumas informações interessantes:
11 SPF type Incremental: o tipo de cálculo SPF foi o incremental, e não o completo (Full);
11 Total 4: o tempo total utilizado pelo SPF foi de 4 milisegundos, três vezes mais rápido que
o modo Full;
11 12.12.12.12(R): a mudança que forçou o SPF foi gerada pelo roteador R12 (Lo0: 12.12.12.12)
e foi um LSA do tipo Router (R).
Além disso, a saída mostra (Stub: 1). Como vimos na sessão 1, interfaces Loopback são
chamadas de redes Stub (não confunda com Área Stub!). É possível ver que o ISPF diminuiu
consideravelmente o tempo de processamento do SPF, de 12 para 4 milisegundos. Como é
uma funcionalidade local, o ISPF não precisa ser habilitado em todos os roteadores OSPF,
ou seja, é possível ter na mesma rede OSPF roteadores que suportam ISPF e roteadores que
não suportam ISPF.
Propriedade 2
A propriedade 2 é relacionada com a alteração do estado do enlace que não é parte da SPT.
Observe na figura 4.1 que há um enlace entre R2 e R4. Esse enlace não faz parte da SPT de
R6, logo, se esse enlace tiver seu estado alterado, com ISPF habilitado o roteador R6 não vai
precisar recalcular a SPT.
11 Propriedade 2 q
11 Relacionada com a alteração do estado do enlace que não é parte da SPT: se o enlace
que tem o estado alterado para DOWN não faz parte da SPT, não há necessidade de
recalculá-la
11 Observe o enlace entre R2 e R4 na figura 4.2. Como não faz parte da SPT de R6, R6
não precisa recalcular sua SPT
R2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#int f0/1
R2(config-if)# #Interface com R4
R2(config-if)# shutdown
*Mar 1 00:48:59.291: %OSPF-5-ADJCHG: Process 10, Nbr 4.4.4.4 on FastEthernet0/1
from FULL to DOWN, Neighbor Down: Interface down or detached
R2(config-if)#
Capítulo 4 - Otimização e tópicos avançados
q
R2-R4 alterado para DOWN. Tempo total do SPF com ISPF habilitado:
R6#sh ip ospf statistics detail
SPF 23 executed 00:00:16 ago, SPF type Incremental
SPF calculation time (in msec):
SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total
0 0 0 0 0 0 0 0
117
Tempo total com ISPF desabilitado: q
R6#sh ip ospf statistics detail
SPF 27 executed 00:00:36 ago, SPF type Full
SPF calculation time (in msec):
SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total
8 8 0 0 0 0 0 8
11 Enquanto que sem ISPF todos os LSAs foram reprocessados e levou 8 ms, com ISPF
apenas o LSA informado foi reprocessado, e como não faz parte da SPT, nem foi pro-
cessado (tempo 0ms).
11 Lembre-se de que a SPT é por roteador. O enlace R2-R4 pode fazer parte da SPT de
outro roteador e esse teve de calcular a SPT novamente.”.
Observe que, com o ISPF habilitado, não há nenhum processamento da SPT (tempo total é 0):
Fica evidente o benefício de usar ISPF nesse caso também, pois não há a necessidade de
recalcular a SPT de R6.
OSPF Avançado
Lembre-se de que a SPT é por roteador, ou seja, cada roteador tem sua própria SPT para
chegar aos demais destinos da rede. Logo, outros roteadores podem ter suas SPTs afe-
tadas por causa da alteração do estado do enlace entre R2 e R4. Nesses casos, a SPT teria
de ser recalculada.
118
Propriedade 3
Caso haja uma alteração em um enlace de trânsito que afete parte da SPT, apenas os
caminhos para chegar aos roteadores pós-enlace afetado precisam ser recalculados. Por
exemplo, considere que o enlace entre os roteadores R4 e R5 teve seu estado alterado para
DOWN, conforme a figura 4.4.
11 Propriedade 3: q
11 Caso haja uma alteração em um enlace de trânsito que afete parte da SPT, apenas os
caminhos para chegar nos roteadores pós-enlace afetado precisam ser recalculados
11 Observe figura 4.4, onde o enlace R4-R5 ficou indisponível, afetando uma sub-árvore
da SPT
R6
R3 R5 R7
R1 R2 R10 R11
Rede 11B
R8 R9 R12
ISPF Propriedade 3.
“Os roteadores R4, R8, R9 e R12, os enlaces R4-R5, R4-R8, R4-R9, R9-R12 e as redes "Rede
8", "Rede 9"e "Rede 12" foram os únicos afetados pela alteração do estado do enlace R4-R5.
Nesse caso, com ISPF, apenas esta sub-árvore precisaria ser reconstruída, e não toda a SPT.
119
R6#sh ip ospf statistics detail q
SPF 31 executed 00:00:11 ago, SPF type Full
SPF calculation time (in msec):
SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total
12 16 0 0 0 0 0 16
RIB manipulation time (in msec):
RIB Update RIB Delete
4 0
LSIDs processed R:12 N:15 Stub:12 SN:0 SA:0 X7:0
Change record
LSIDs changed 1
Changed LSAs. Recorded is LS ID and LS type:
4.4.4.4(R)
O tempo de processamento caiu pela metade (16 sem ISPF, 8 com ISPF) e a quantidade
de enlaces afetados saiu de 12 para 4, o que justifica o uso do ISPF.
11 Nesta situação, os roteadores R4, R8, R9 e R12, os enlaces R4-R5, R4-R8, R4-R9,
R9-R12 e as redes "Rede 8", "Rede 9"e "Rede 12" foram os únicos afetados pela alte-
ração do estado do enlace R4-R5
4 0
LSIDs processed R:12 N:15 Stub:12 SN:0 SA:0 X7:0
Change record
LSIDs changed 1
Changed LSAs. Recorded is LS ID and LS type:
4.4.4.4(R)
120
Observe o cálculo do SPF com o ISPF habilitado em R6: q
R6#sh ip ospf statistics detail
SPF 36 executed 00:00:13 ago, SPF type Incremental
SPF calculation time (in msec):
SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total
4 8 0 0 0 0 0 8
RIB manipulation time (in msec):
RIB Update RIB Delete
0 0
LSIDs processed R:4 N:4 Stub:4 SN:0 SA:0 X7:0
Change record
LSIDs changed 1
Changed LSAs. Recorded is LS ID and LS type:
4.4.4.4(R)
Outras situações que não cobertas pelas três propriedades anteriores exigem o cálculo FULL
do SPF, por exemplo:
11 Alteração de enlace em redes Full Mesh (todos os roteadores ligados a todos os outros
roteadores).
11 É fácil ver os benefícios de usar o ISPF, já que o tempo de execução pode ser conside- q
ravelmente menor.
11 Situações que diferem das três propriedades apresentadas exigem cálculo Full do SPF,
por exemplo:
Graceful Restart
11 No funcionamento padrão do OSPF, em caso de reiniciação do processo ou problemas q
no módulo de controle, as vizinhanças são desfeitas;
Capítulo 4 - Otimização e tópicos avançados
11 Plano de Controle;
11 Plano de Encaminhamento;
11 Plano de Gerência.
121
O Plano de Controle é o conjunto de processos responsáveis por negociar informações de
rotas entre roteadores, configuração de rotas estáticas, criação da árvore do protocolo
Spanning Tree etc. Todos esses processos são executados na CPU principal do roteador.
11 Plano de Controle: responsável por definir como o tráfego deve ser encaminhado; q
utiliza a CPU principal do equipamento;
No funcionamento padrão do OSPF, se o processo OSPF é reiniciado, cada vizinho OSPF vai
perceber a queda da adjacência após o Dead Interval e vai executar o processo SPF para
calcular novas rotas que não incluam o roteador que está indisponível. Após esse cálculo,
o tráfego pode ser roteado por outro caminho. Porém, como mencionado anteriormente,
alguns roteadores modernos permitem que o tráfego continue a ser encaminhado mesmo
em caso de reinicialização do módulo de gerência ou de um processo específico. Para que
esse encaminhamento continue a ocorrer, o IETF padronizou uma funcionalidade chamada
OSPF Graceful Restart. Essa funcionalidade está padronizada na RFC 3623.
A funcionalidade Graceful Restart permite que o roteador OSPF notifique seus vizinhos de que
o processo OSPF será reiniciado e que eles devem agir como se o roteador OSPF estivesse fun-
OSPF Avançado
cionando normalmente. Essa notificação é feita através de um LSA específico, chamado Grace
LSA, que contém na mensagem o motivo da reinicialização e o tempo de indisponibilidade
estimado (Grace Period). No processo do Graceful Restart, existem duas entidades:
122
11 Restarting Router: roteador que vai reiniciar o processo OSPF;
11 Helping Router: roteador vizinho do roteador que vai reiniciar (Restarting Router);
11 O Graceful Restart permite que o processo OSPF notifique seus vizinhos que o q
processo será reinicializado, mas que o encaminhamento do tráfego não será inter-
rompido enquanto isso acontece
22 Helping Router: roteador vizinho do roteador que irá reiniciar (Restarting Router)
Quando o Restarting Router deseja executar um Graceful Restart, ele envia um Grace LSA
para seus vizinhos. Após esse envio, existem duas possibilidades:
11 O roteador vizinho que suporta o Grace LSA (Helper Router) vai enviar um LSA ACK para
o Restarting Router. A partir desse momento, o Helper Router vai continuar anunciando
os LSAs do tipo Router recebidos anteriormente do Restarting Router para os demais
roteadores OSPF da área;
11 O roteador vizinho não suporta o Grace LSA. Nesse caso, o roteador OSPF ignora os Grace
LSAs. O Restarting Router, após algumas tentativas, mesmo que não tenha recebido o LSA
ACK, procede com a reinicialização. Para o vizinho que não suporta o Graceful Restart, o
processo de funcionamento continua o mesmo: após o Dead Interval, ele vai gerar LSAs
do tipo Router para os vizinhos OSPF informando que os enlaces com o Restarting Router
não estão mais disponíveis.
Após a reinicialização, o Restarting Router precisa seguir alguns passos para sair do estado
do Graceful Restart:
2. Durante o sincronismo do LSDB, o Restarting Router não gera nenhum LSA, apenas recebe
os LSAs dos vizinhos;
Capítulo 4 - Otimização e tópicos avançados
3. Após montar o LSDB com os LSAs recebidos, o Restarting Router executa o procedimento
SPF para calcular as rotas. Porém, as rotas não são instaladas; o Restarting Router as
utiliza para criar os Virtual Links pré-existentes;
4. Se nos pacotes Hello recebidos dos vizinhos constar que o Restarting Router é o DR do
segmento, o Restarting Router se promove a DR;
5. Se o Restarting Router não perceber inconsistências, como por exemplo, um pacote Hello
que não o tenha no campo de “Vizinhos Ativos”, ele sai do estado de Graceful Restart
enviando um novo Grace LSA com o tempo expirado (3.600 segundos).
123
11 Antes de voltar a operar novamente, o Restarting Router precisa: q
22 Reestabelecer as vizinhanças OSPF
22 Após receber os LSAs, executa o SPF mas não instala as rotas (usa para
os Virtual Links)
22 Se não houver inconsistências nos LSAs, envia um novo Grace LSA com o tempo
expirado (3600s)
Após sair do estado de Graceful Restart, o Restarting Router executa alguns procedimentos:
11 Já todos os LSAs do tipo Network são reoriginados nos segmentos onde o Restarting
Router é o DR;
11 LSAs do tipo 3, 4, 5 e 7 são reoriginados, caso o Restarting Router seja ABR ou ASBR;
11 Todas as entradas na tabela de rotas que não são mais válidas são removidas;
22 Todos os LSAs do tipo Network são reoriginados nos segmentos onde o Restarting
Router é o DR;
22 LSAs do tipo 3, 4, 5 e 7 são reoriginados, caso o Restarting Router seja ABR ou ASBR;
22 Todas as entradas na tabela de rotas que não são mais válidas são removidas;
Os roteadores que suportam o Graceful Restart e viraram Helping Routers podem deixar de
ser Helping Routers diante dos seguintes eventos:
11 Um Grace LSA com tempo expirado é recebido do Restarting Router. Nesse caso, o Helping
Router assume que não é mais necessário ficar nesse estado;
11 O Grace Period informado no Grace LSA expirou. Nesse caso, o Restarting Router não
retornou às atividades dentro da janela de tempo previsto. Logo, o Helping Router age
como se estivesse indisponível. A partir desse momento, o processo normal do OSPF de
indisponibilidade de vizinho é executado;
11 Uma mudança do LSDB indicando que a topologia da rede mudou. Nesse caso, o Helping
Router encerra seu papel no processo do Graceful Restart.
OSPF Avançado
124
11 Os roteadores Helping Routers podem deixar de ser Helping Router diante dos q
seguintes eventos:
11 O modo Helping Router já é habilitado por padrão em alguns fabricantes. Muitas vezes
com o nome IETF NSF helper (Non-Stop Forwarding).
Alguns fabricantes já ativam o modo Helping Router por padrão, facilitando a operação da
rede. Por exemplo, observe a saída a seguir:
R1#sh ip ospf
Routing Process "ospf 10" with ID 1.1.1.1
Start time: 00:01:08.196, Time elapsed: 00:09:44.664
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
Router is not originating router-LSAs with maximum metric
Initial SPF schedule delay 5000 msecs
Minimum hold time between two consecutive SPFs 10000 msecs
Maximum wait time between two consecutive SPFs 10000 msecs
Incremental-SPF disabled
Minimum LSA interval 5 secs
Minimum LSA arrival 1000 msecs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of opaque AS LSA 0. Checksum Sum 0x000000
Number of DCbitless external and opaque AS LSA 0
Number of DoNotAge external and opaque AS LSA 0
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Number of areas transit capable is 0
External flood list length 0
IETF NSF helper support enabled
Capítulo 4 - Otimização e tópicos avançados
É possível ver a linha IETF NSF, ou NonStop Forward, habilitada. Nesse caso, basta que o
vizinho OSPF envie um Grace LSA para que esse roteador passe para o modo Helping Router.
Para ativar o modo Restarting Router, basta inserir os seguintes comandos antes de reiniciar
o processo OSPF:
125
11 Para iniciar o Graceful Restart no Restarting Router basta configurar o processo OSPF: q
R1# (config)# router ospf 10
R1# (config-router)#nsf ietf restart-interval <0-1800>
Após aplicar esse comando, quando o operador reiniciar o processo OSPF, um Grace LSA
será enviado com o tempo informado no comando restart-interval.
l
O modo Restarting
BFD para OSPF Router, da funcionali-
dade Graceful Restart,
Na sessão 1, o processo de estabelecimento de uma vizinhança OSPF foi apresentado, bem só é suportado por
como o processo para detectar a queda dos vizinhos. Em particular, o Dead Interval, inter- equipamentos com
suporte ao encaminha-
valo de tempo em que o OSPF espera por pacotes Hello de um vizinho antes de declará-lo
mento de pacotes,
"morto" foi apresentado, com alguns exemplos. De acordo com a RFC 2328, o Dead Interval mesmo sem o módulo
padrão é especificado em 40 segundos. Esse tempo de 40 segundos é extremamente de gerência estar em
operação. Esse
elevado para as aplicações modernas e, principalmente, as aplicações interativas. Para
comportamento é
situações onde os roteadores estão diretamente conectados, a queda de interface OSPF comum em equipa-
ativa imediatamente o processo de convergência OSPF. Porém, alguns cenários apresentam mentos de chassis, que
são modulares.
desafios extras. Observe a topologia da figura 4.5. Equipamentos menores
Internet
s1/0 R3
s1/0
f0/0
R1
f0/0
2 2
SW2 SW1
1 1
3 f0/0
Rede de Transporte A
Figura 4.5
Bidirectional
Forwarding
OSPF Avançado
R2 Detection.
A rede da figura 4.5 possui três roteadores, R1, R2 e R3, e dois switches, SW1 e SW2.
Os dois switches fazem parte da "Rede de Transporte A", contratada para interconectar os
roteadores OSPF R1, R2 e R3. Além disso, há um enlace serial entre os roteadores R1 e R3.
Observe as configurações a seguir.
126
R1:
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
ip address 10.0.0.1 255.255.255.0
!
interface Serial1/0
ip address 10.1.3.1 255.255.255.0
!
router ospf 10
network 0.0.0.0 255.255.255.255 area 0
R2:
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
ip address 10.0.0.2 255.255.255.0
!
router ospf 10
network 0.0.0.0 255.255.255.255 area 0
R3:
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
ip address 10.0.0.3 255.255.255.0
!
interface Serial1/0
ip address 10.1.3.3 255.255.255.0
!
router ospf 10
network 0.0.0.0 255.255.255.255 area 0
É possível observar que todas as interfaces fazem parte da Área Backbone. A rede
10.0.0.0/24 conecta todos os roteadores via a "Rede de Transporte A", e a rede 10.1.3.0/24
conecta R1 e R3. Como a interface FastEthernet0/0 dos roteadores R1 e R3 tem melhor custo
que a interface Serial1/0, a interface Serial1/0 será utilizada apenas como uma interface de
Capítulo 4 - Otimização e tópicos avançados
11 A "Rede de Transporte A" conecta os três roteadores, criando uma rede Broadcast q
11 Uma rede ponto-a-ponto em um enlace serial conecta R1 e R3
127
3.3.3.3 1 FULL/DR 00:00:33 10.0.0.3 FastEthernet0/0 q
R2#sh ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/DROTHER 00:00:37 10.0.0.1 FastEthernet0/0
3.3.3.3 1 FULL/DR 00:00:35 10.0.0.3 FastEthernet0/0
R3#sh ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 0 FULL/ - 00:00:39 10.1.3.1 Serial1/0
1.1.1.1 1 FULL/DROTHER 00:00:36 10.0.0.1 FastEthernet0/0
2.2.2.2 1 FULL/BDR 00:00:36 10.0.0.2 FastEthernet0/0
Observe que entre R1 e R3 existem duas adjacências estabelecidas, uma via rede
Broadcast, outra via rede Ponto-a-Ponto.
R1 e R3 possuem 3 vizinhanças, sendo duas entre eles. Uma via interface Serial1/0, uma via
interface FastEthernet0/0. É possível ver que uma vizinhança é Ponto-a-Ponto (State: Full/-) e
outra é Broadcast (Full/DROTHER, BDR ou DR).
128
Algumas possibilidades de indisponibilidades e impacto na rede:
11 Enlace SW1-R3 indisponível: R3 cria um LSA Router para os vizinhos, nesse caso R1; q
R1 atualiza R2 para enviar os pacotes para R3 via R1. Convergência concluída;
11 Enlace SW2-R1 indisponível: R1 cria um LSA Router para os vizinhos; nesse caso, R3;
R3 atualiza R2 para enviar os pacotes para R1 via R3. Convergência concluída;
Em nenhum desses casos, o Dead Interval causou indisponibilidade extra. Outra possibi-
lidade seria:
É possível observar que nesses três casos listados, apesar do fato de o Dead Interval ser
relativamente alto, esse valor não trouxe impacto, pois a queda da interface é tratada ime-
diatamente pelos roteadores OSPF. Vamos ver o caso a seguir:
11 Interface 1 do SW1 e Interface 1 do SW2 tem seus estados alterados para DOWN
(problema no enlace): nesse caso, apesar de haver um problema na "Rede de Transporte A",
esse problema não afeta nenhuma interface dos roteadores OSPF. Então, os roteadores R1,
R2 e R3 vão esperar pelo Dead Interval para fazer a convergência da rede, ou seja, apesar de
o enlace entre R1 e R3 estar disponível, esse só será utilizado após o Dead Interval.
22 Enlace entre SW1 e SW2 desativado. As adjacências OSPF são removidas após
40 segundos. Observe o Dead Interval decrementando.
Após os alertas de Neighbor Down, R1 e R3 executam o SPF em seus LSDBs. Com isso, o
enlace serial entre R1 e R2 passa a ser utilizado, permitindo que todos os roteadores sejam
alcançáveis novamente.
129
from FULL to DOWN, Neighbor Down: Dead timer expired
R1#
*Jun 21 14:50:14.343: %OSPF-5-ADJCHG: Process 10, Nbr 2.2.2.2 on FastEthernet0/0
from FULL to DOWN, Neighbor Down: Dead timer expired
R3#
*Jun 21 14:50:03.607: %OSPF-5-ADJCHG: Process 10, Nbr 1.1.1.1 on FastEthernet0/0
from FULL to DOWN, Neighbor Down: Dead timer expired
Para permitir uma solução mais escalável e independente do tipo de protocolo de rotea-
mento, o IETF padronizou um protocolo chamado Bidirectional Forwarding Detection, ou
BFD, na RFC 5880. O BFD é um protocolo de teste de conectividade entre Planos de Enca-
minhamento. Por ser mais leve, o BFD permite que mais sessões sejam monitoradas, com
intervalos de monitoramento de 50 milisegundos. Além disso, o BFD é agnóstico ao pro-
tocolo de roteamento, podendo ser utilizado para rotas estáticas, OSPF, ISIS, entre outros.
Alguns equipamentos suportam centenas de sessões BFD ao mesmo tempo.
11 Independente de protocolo: funciona com OSPF, rota estática, ISIS, BGP, etc.
O BFD funciona como o protocolo Hello: uma mensagem é enviada por cada roteador a
cada intervalo definido pelo Engenheiro de Redes, e após uma quantidade de mensagens
perdidas (também definidas pelo Engenheiro de Redes), a sessão BFD é declarada DOWN.
Quando utilizado com o OSPF, o BFD também notifica o processo OSPF da queda da sessão,
logo o roteador OSPF atualiza seu LSDB removendo o vizinho indisponível. Nesse caso, o
Engenheiro de Redes pode inclusive aumentar o intervalo das mensagens Hello, desone-
rando o processo OSPF. Assim como o protocolo Hello, o BFD também suporta autenticação
das suas mensagens, inclusive com MD5.
Nas redes atuais, o protocolo BFD tem sido muito utilizado em casos onde a conexão entre
roteadores é feita através de redes Ethernet ou MPLS, que não geram circuitos fim-a-fim.
130
A configuração BFD é extremamente simples de ser feita:
configure terminal
interface fastEthernet0/0
bfd interval 50 min_rx 50 multiplier 3
Esse comando habilita o BFD na interface fastEthernet0/0, com intervalo entre mensagens
de 50 milisegundos, tempo mínimo para receber as mensagens de 50 milisegundos e a
quantidade de mensagens perdidas de 3. Ou seja, em caso de indisponibilidades, após
150 milisegundos (3x50), a sessão OSPF com o roteador inativo seria terminada e o processo
de convergência executado.
configure terminal
interface fastEthernet0/0
22 Mensagens que devem ser perdidas antes de considerar a sessão BFD indisponível: 3
configure terminal
interface fastEthernet 0/0
ip ospf bfd
configure terminal
router ospf 10
bfd all-interfaces
q
Capítulo 4 - Otimização e tópicos avançados
l
configure terminal
interface fastEthernet 0/0
Em alguns fabricantes, o ip ospf bfd
BFD só é ativado quando
a adjacência OSPF é *ou para todas as interfaces:
recriada; logo pode ser
necessário reiniciar o configure terminal
processo OSPF. router ospf 10
bfd all-interfaces
131
Para confirmar a ativação, execute o comando a seguir e observe a linha "BFD is enabled".
R1#show ip ospf
Routing Process "ospf 10" with ID 1.1.1.1
Start time: 00:00:35.700, Time elapsed: 00:06:41.904
Supports only single TOS(TOS0) routes
Supports opaque LSA
(...)
0 stub 0 nssa
Number of areas transit capable is 0
External flood list length 0
IETF NSF helper support enabled
Cisco NSF helper support enabled
BFD is enabled
(...)
l
Para verificar se as sessões estão criadas:
11 A partir do momento que a sessão BFD foi estabelecida, o processo BFD fará os testes q
no intervalo determinado, e ao detectar a queda, notificará o processo OSPF.
11 Ao ser notificado pelo BFD, o processo OSPF imediatamente desfaz a adjacência com
o vizinho indisponível e recria a SPT.
132
Supressão de Prefixos
Redes de provedores de serviços de internet (internet Service Providers: ISPs) contêm
milhares de rotas, principalmente se contarmos com a tabela BGP global (mais de 500 mil
prefixos IPv4 atualmente). E muitas dessas redes possuem diversos enlaces conectando
diversos roteadores, aumentando a capacidade de tráfego e a resiliência da rede. Em muitos
casos, as conexões são feitas entre pares de roteadores, seja através de circuitos seriais,
ópticos ou via VLANs específicas.
No tópico do Incremental SFP, foi apresentada uma abordagem para evitar a execução com-
pleta do SPF em casos de alteração de estados mais simples, como em roteadores folhas
ou enlaces que não fazem parte da SPT (Shortest Path Tree). Em redes que possuem muitos
enlaces que concentram apenas roteadores – enlaces chamados de Redes de Trânsito –,
além do ISPF, outro recurso está à disposição do Engenheiro de Redes para aumentar a
escalabilidade do processo OSPF: a Supressão de Prefixos. Esse recurso foi padronizado
na RFC 6860 com o objetivo de remover os prefixos desses enlaces de trânsito da tabela de
rotas. Essa funcionalidade se aplica tanto em enlaces ponto-a-ponto como enlaces do tipo
Broadcast. Observe o cenário da figura 4.6 (arquivo adr9-cap4-supressao.zip).
11 Redes altamente conectadas possuem em seus LSDBs muitos prefixos apenas para
trânsito, ou seja, desnecessários do ponto de vista dos usuários
R1 R2 R3
10.2.4.0/24 10.3.5.0/24
133
Para ilustrar algumas diferenças de funcionamento, o enlace R1-R2 ficou configurado no
modo Broadcast, enquanto os demais enlaces estão configurados como ponto-a-ponto.
A seguir está a configuração das interfaces do roteador R5:
interface FastEthernet0/0
ip address 10.4.5.5 255.255.255.0
ip ospf network point-to-point
!
interface GigabitEthernet1/0
ip address 10.3.5.5 255.255.255.0
ip ospf network point-to-point
Nessa tabela de rotas, é possível observar diversas rotas, incluindo as rotas que endereçam
conexões entre roteadores (redes de trânsito), como por exemplo os prefixos 10.1.2.0/24,
10.2.3.0/24 e 10.2.4.0/24. A rede de usuário 192.168.2.0/24 foi redistribuída no processo
OSPF pelo roteador R3 (por isso O E2 à frente da rota). Observe também que o ECMP está
OSPF Avançado
em uso, com alguns prefixos possuindo mais de um caminho – por exemplo, 10.0.0.2/32
pode ser alcançado via R4 (10.4.5.4) e R3 (10.3.5.3).
É muito comum em ISPs de médio e grande porte que as conexões entre roteadores sejam
criadas via enlaces ponto-a-ponto e utilizando prefixos /30 e/ou /31. Nesse caso, quanto maior
134
a quantidade de roteadores e enlaces entre estes, maior a quantidade de rotas associadas a
Redes de Trânsito. Porém, essas rotas têm pouco ou nenhuma importância na maioria dos
casos, e acabam consumindo recursos do LSDB e dos roteadores OSPF. A RFC 6860 propôs
justamente remover esses prefixos das tabelas de roteamento OSPF, diminuindo o LSBD, o
tempo de convergência, aumentando a escalabilidade e a segurança da rede.
Antes de apresentar o funcionamento da RFC 6860, uma revisão sobre os LSA Router e
Network será feita a seguir, utilizando a topologia da figura 4.6 como exemplo. A saída a
seguir mostra o LSDB da Área 0 coletado a partir de R5:
É possível ver que R1 está anunciando três enlaces no LSA Router (Link count). Observe-os
a seguir.
TOS 0 Metrics: 1
Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.0.0.1
(Link Data) Network Mask: 255.255.255.255
Number of MTID metrics: 0
TOS 0 Metrics: 1
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.1.2.1
(Link Data) Router Interface address: 10.1.2.1
Number of MTID metrics: 0
TOS 0 Metrics: 1
135
Nesta saída existem os seguintes tipos de enlace: dois do Tipo 3 (Stub Network) e um do Tipo 2
(Transit Network). O Tipo 2 é utilizado para informar em qual rede existe um Designated
Router. O Tipo 3 informa a rota que será instalada na tabela de rotas. Observe agora o LSA
Router originado por R2:
Observe que R2 anunciou 3 enlaces do Tipo 3 (Stub Network), 1 enlace do Tipo 2 (Transit
Network) e 2 enlaces do Tipo 1 (point-to-point). O Tipo 1 é utilizado para o cálculo do SPF e
está relacionado a enlaces ponto-a-ponto. Quando o Tipo 1 é utilizado, o campo “Link Data”
OSPF Avançado
informa o endereço IP da interface a ser utilizada para alcançar o vizinho OSPF. Quando o
Tipo 3 é utilizado, o campo “Link Data” informa a máscara de subrede da rede Stub. No caso
do Tipo 2, o campo “Link Data” informa o endereço IP da interface do originador do LSA. No
Tipo 2, o campo “Link ID” informa o endereço IP da interface do roteador DR. Em caso de
dúvidas, consulte a tabela 1.2, da sessão 1.
136
É possível notar que existem dois registros associados com o mesmo enlace entre o rote-
ador R2 e o roteador R3:
Nesses LSAs, existem LSAs do Tipo 1(Ponto-a-Ponto), do Tipo 2(Transit) e do Tipo 3(Stub.
137
Link connected to: a Transit Network q
(Link ID) Designated Router address: 10.1.2.1
(Link Data) Router Interface address: 10.1.2.2
O prefixo IP desse enlace não precisa ser acessado por usuários e seria mais seguro que
eles realmente não fossem alcançáveis de fora da rede. Então, bastaria ativar a supressão
de prefixos para remover esse e outros prefixos de trânsito do LSDB. A configuração para
remoção pode ser feita de duas maneiras:
configure terminal
interface fastEthernet 0/1
ip ospf prefix-suppression
Por roteador:
configure terminal
router ospf 10
prefix-suppression
q
configure terminal
interface fastEthernet 0/1
ip ospf prefix-suppression
11 Por roteador:
configure terminal
router ospf 10
prefix-suppresion
11 Uma vez inseridos os comandos, nenhuma rota associada a registros do Tipo 3 para
redes de trânsito é gerada.
138
11 Observe o LSBD com a Supressão de Prefixos habilitada: q
R5#sh ip ospf database
OSPF Router with ID (10.0.0.5) (Process ID 10)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
10.0.0.1 10.0.0.1 1579 0x80000004 0x004E17 3
10.0.0.2 10.0.0.2 73 0x80000007 0x00E09D 4
10.0.0.3 10.0.0.3 25 0x80000006 0x004261 3
10.0.0.4 10.0.0.4 32 0x80000007 0x008B93 4
10.0.0.5 10.0.0.5 12 0x80000007 0x00593D 3
11 Lembre-se que redes de usuários, interfaces passivas e loopbacks não são redes de
trânsito, logo continuam a ser anunciados via OSPF
Note pela coluna "Link count" que a quantidade de enlaces anunciados por R2, R3, R4
e R5 diminuiu dois valores comparando com a saída antes de aplicarmos o comando
prefix-suppresion. A seguir é possível ver o LSA Router gerado por R2:
139
É possível verificar que não existem mais enlaces do Tipo 3 (Stub) associados os enlaces
l
Só há supressão para
ponto-a-ponto. Enlaces associados a interfaces loopbacks ou interfaces passívas não são LSAs Router e Network.
suprimidos, pois não são considerados redes de trânsito.
q
11 É possível observar que não existem prefixos da rede 10.X.Y.N/24, somente prefixos
de usuários e interfaces Loopback.
Por essa saída é possível confirmar que as redes de trânsito não fazem mais parte da tabela
de rotas.
Nesse ponto, o aluno pode estar se perguntando: por que o prefixo 10.1.2.0/24 sumiu da
tabela de rotas se ele não era um registro do Tipo 3, e sim do Tipo 2?
11 É possível observar que o enlace 10.1.2.0/24 também não está na tabela de rotas de q
OSPF Avançado
11 Enlaces tipo 2(Transit) também são considerados redes de trânsito, por isso também
são suprimidos
11 RFC6860 define que a máscara de subrede do LSA Network seja alterada para /32.
140
Os enlaces do Tipo 2, apesar de não serem redes ponto-a-ponto, também são considerados
redes de trânsito, logo também não há necessidade de estarem na tabela de rotas. A RFC
6860 muda isso forçando que os roteadores que suportem supressão de prefixos anunciem
a máscara do segmento de rede como /32 (nesse caso, sem a supressão seria /24):
Verifique a Network Mask não está como /24, e sim como /32.
Com essa alteração, o roteador OSPF não cria uma rota para a rede de trânsito do Tipo 2.
Uma vez que não são mais divulgadas as redes de trânsito, qualquer teste com PING ou
TRACEROUTE gerado localmente no roteador não vai funcionar se a opção SOURCE não
for definida:
R1#ping 10.0.0.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.5, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Capítulo 4 - Otimização e tópicos avançados
Esse problema acontece porque o roteador usa o endereço da interface mais próxima do
destino, e como endereços de interfaces não são mais anunciados, os pacotes não têm
como voltar!
141
11 A princípal diferença, do ponto de vista da operação da rede, e o PING ou TRACEROUTE q
de dentro dos roteadores. Observe:
R1#ping 10.0.0.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.5, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
11 R1 tem rota para 10.0.0.5, mas não pinga. Ao fazer o PING ou TRACEROUTE de dentro do
roteador, o mesmo escolhe como IP de origem, o IP da interface mais próxima do destino.
11 Como o IP da interface mais próxima faz parte da rede de trânsito, R5 não tem rota para
enviar o pacote de volta.
Nesse ponto, o aluno pode estar novamente se questionando: qual o impacto para o iBGP
e para o monitoramento da rede se não consigo mais “pingar” o IP das interfaces? Dada as
múltiplas redundâncias disponíveis na rede, as melhores práticas do iBGP é que as sessões
iBGP sejam feitas entre interfaces loopbacks, haja vista que essas não ficam indisponíveis
com quedas de enlaces.
Quanto ao monitoramento via ping, esse realmente não é possível, mas via SNMP é possível
monitorá-las, além do Syslog. O IETF também criou a RFC 5837 para expandir o ICMP a fim
de ajudar nesse tipo de situação. Em breve as ferramentas de traceroute estarão disponí-
veis com suporte a RFC 5837, que permitirão o traceroute fornecer informações sobre as
interfaces envolvidas no caminho IP.
As alterações propostas na RFC 6860 permitem que em uma rede OSPF dispositivos que
suportem supressão de prefixo funcionem com dispositivos que não suportam tal funcionali-
dade. Nesse caso, o roteador que não suportar supressão de prefixos vai funcionar do modo
normal e, no caso de enlaces do Tipo 2, vai criar uma rota /32 apontando para o DR da rede.
Apesar de não ser parte do contexto desse material, supressão de prefixos tem sido muito
utilizado em redes MPLS. Nessas redes, quando se utiliza o protocolo LDP (Label Distribution
Protocol), um label MPLS é associado a cada prefixo do IGP. Quanto mais prefixos, mais labels
são utilizados, o que também consome recursos extras do roteador OSPF/MPLS.
constantemente.
142
11 Itens como utilização e erros das interfaces, CPU e memória, fontes, ventiladores e q
laser recebido nas interfaces são itens mínimos a serem monitorados.
11 Monitoramento OSPF via SNMP está definido na RFC 4750, que especifica a Management
Information Base (MIB) do OSPF.
11 Esses objetos podem ser monitorados por qualquer NMS (Network Management
System) disponível que use SNMP, como Nagios, Cacti e Zabbix etc.
Até esse ponto, diversas funcionalidades, técnicas e abordagens para configurar o protocolo
OSPF foram apresentadas para fazer a rede OSPF robusta, escalável e funcional. Porém, o
Engenheiro de Redes não pode apenas configurar os roteadores e esquecê-los. Todos os
ativos da rede precisam ser monitorados constantemente, para que quando houver algum
incidente, o Engenheiro de Redes tenha informação suficiente para identificar, isolar e res-
taurar a rede.
Para ajudar no entendimento, as seções que compõem a MIB do OSPF serão apresentadas,
bem como o OID da tabela e os principais objetos a serem explorados adiante.
143
Tabela OID Principais Objetos
144
l Conforme mencionado anteriormente, a MIB do OSPF foi criada para permitir o monitora-
Cada seção possui mento remoto dos objetos, tabelas e parâmetros que compõem a operação do OSPF em
diversos objetos, que um determinado roteador. Os resultados obtidos via SNMP também podem ser obtidos
podem ser do tipo
"somente leitura" pela linha de comando do equipamento; porém, em ambientes com muitos equipamentos,
(read-only) o ideal é automatizar a operação e monitoramento. Para ilustrar as saídas possíveis, vamos
ou "leitura e escrita"
utilizar a topologia da figura 4.7.
q
(read-write). É
importante o aluno ter
11 A MIB OSPF possui o OID 1.3.6.1.2.1.14
em mente que um
roteador mal-configu- 11 Cada tabela tem um OID - Object Identifier que a representa, através de um índice
rado pode criar riscos
especifico.
de segurança.
11 Exemplos:
R1 R2 Area 1 Stub R3
10
.0/
.2.
6.1
10.2.4.0/24
5.0
2.1
Senha Simples
/2
Custo 15
17
4-
M
D5
R4 Area 2 R5
11 Além da Área Backbone, há uma área Stub (Area 1) e uma Área Normal (Área 2);
11 Um servidor de gerência, com pacote SNMP instalado, foi instalado com o IP 172.16.1.2.
145
11 Todas as consultas SNMP serão feitas a partir de um servidor Linux com o pacote q
SNMP instalado.
configure terminal
O servidor Gerência possui o pacote SNMP instalado, o que lhe dá acesso às ferramentas
de consulta e modificação via SNMP. Nos exemplos a seguir, o comando snmpwalk será
utilizado, sempre com a community SNMP "public" e a versão 2 do SNMP (2c). A community
é equivalente a uma senha de acesso e deve ser configurada no roteador. Em ambientes
de produção, considere utilizar communities mais complexas e a versão 3 do SNMP, que
suporta autenticação.
Antes de iniciar as consultas SNMP, o seguinte comando deve ser aplicado em cada roteador:
configure terminal
snmp-server community public
No servidor de gerência, a MIB OSPF deve estar instalada. A configuração do SNMP e a ins-
talação da MIB OSPF serão apresentados como parte das atividades práticas da sessão de
aprendizagem 4.
146
OSPF-MIB::ospfRxNewLsas.0 = Counter32: 42 q
OSPF-MIB::ospfExtLsdbLimit.0 = INTEGER: -1
OSPF-MIB::ospfMulticastExtensions.0 = INTEGER: 0
OSPF-MIB::ospfExitOverflowInterval.0 = INTEGER: 0
OSPF-MIB::ospfDemandExtensions.0 = INTEGER: true(1)
147
OSPF-MIB::ospfRouterId.0 = IpAddress: 10.0.0.3
snmpwalk -v 2c -c public 10.0.0.4 ospfRouterId
OSPF-MIB::ospfRouterId.0 = IpAddress: 10.0.0.4
snmpwalk -v 2c -c public 10.0.0.5 ospfRouterId
OSPF-MIB::ospfRouterId.0 = IpAddress: 10.0.0.5
Nesse momento, podemos confirmar que todos os roteadores estão com o SNMP configurado
e todos têm suporte a MIB do OSPF. Vamos dar prosseguimento e explorar outras tabelas.
11 É possível ver que R2 é um ABR (possui duas áreas (0.0.0.0 e 0.0.0.1)), sem autenticação
(valor 0) por área.
Observe que o R2 possui duas áreas (Área 0 ou Backbone e Área 1) e que não há autenti-
cação para a área (valor 0 representa sem autenticação).
Observe a consulta feita ao roteador R4, que também possui duas áreas (Backbone e Área 2)
e não possui autenticação por área.
OSPF-MIB::ospfAuthType.0.0.0.2 = INTEGER: 0
148
Além disso, a ospfAreaTable possui os seguintes objetos que podem ser muito úteis: q
11 ospfSpfRuns: informa a quantidade de vezes que o SPF foi executado para uma área
específica. Quando há muitas modificações em um curto espaço de tempo, significa
que algum enlace ou roteador está oscilando;
11 Como esses objetos estão associados às áreas, a sintaxe de saída será sempre:
OSPF-MIB::OBJETO.ÁREA = Valor
11 Por exemplo:
Como esses objetos estão associados às áreas, a sintaxe de saída será sempre:
OSPF-MIB::OBJETO.ÁREA = Valor
Na topologia da figura 4.7, existem três ABRs na Área Backbone e um ABBR. Na Área 1, só
há um ABR e nenhum ASBR. Lembre-se de que essa consulta é feita por roteador. Logo, se
consultarmos R4, veremos informações também da Área 2:
OSPF-MIB::ospfAreaBdrRtrCount.0.0.0.2 = Gauge32: 2
snmpwalk -v 2c -c public 10.0.0.4 ospfAsBdrRtrCount
OSPF-MIB::ospfAsBdrRtrCount.0.0.0.0 = Gauge32: 1
OSPF-MIB::ospfAsBdrRtrCount.0.0.0.2 = Gauge32: 0
149
Explorando a tabela ospfStubAreaTable
11 A tabela ospfStubAreaTable só existe nos roteadores que possuem um Área Stub. q
11 Caso o roteador consultado não possua um Área Stub, esse erro será visto:
11 Além disso, é possível ver a métrica associada à rota padrão gerada pelo ABR:
A tabela ospfStubAreaTable só existe nos roteadores que possuem um Área Stub. Caso o
roteador consultado não possua um Área Stub, esse erro será visto:
Esse erro significa que a tabela não existe nesse roteador. Como o roteador R2 está conec-
tado à Área 1 que é Stub, essa tabela estará presente:
Outros objetos podem ser consultados, como o ospfStubMetric, que informa o custo asso-
ciado à rota padrão gerada pelo ABR:
Nesse caso, o custo foi de 1, como pode ser visto pela linha de comando em R3:
configure terminal
router ospf 10
OSPF Avançado
area 1 default-cost 5
150
Confirmando via linha de comando e via SNMP:
É possível observar que tanto via SNMP quanto via CLI é possível monitorar o custo da rota
padrão na Área Stub.
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.asExternalLink.192.168.1.0.10.0.0.1=IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.1.asExternalLink.192.168.1.0.10.0.0.1=IpAddress: 0.0.0.1
A tabela ospfLsdbTable apresenta o LSDB inteiro, de cada área. Nessa tabela podemos
observar quais são os LSAs existentes, número de sequência, Age, tipos etc. É possível
inclusive ver o LSA anunciado, em formato hexadecimal. Dessa tabela, o objeto mais impor-
tante é o ospfLsdbAreaId. Observe a saída a seguir de R2: a saída do comando snmpwalk foi
quebrada em blocos por tipo de LSA. A sintaxe tem a seguinte forma:
151
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.networkLink.10.2.4.2.10.0.0.2 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.0.0.3.10.0.0.2 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.0.0.4.10.0.0.4 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.0.0.4.10.0.0.5 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.0.0.5.10.0.0.4 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.0.0.5.10.0.0.5 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.2.3.0.10.0.0.2 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.4.5.0.10.0.0.4 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.10.4.5.0.10.0.0.5 = IpAddress: 0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.192.168.2.0.10.0.0.4 = IpAddress:
0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.192.168.2.1.10.0.0.5 = IpAddress:
0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.summaryLink.192.168.3.1.10.0.0.2 = IpAddress:
0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.0.asExternalLink.192.168.1.0.10.0.0.1=IpAddress:
0.0.0.0
OSPF-MIB::ospfLsdbAreaId.0.0.0.1.routerLink.10.0.0.2.10.0.0.2 = IpAddress: 0.0.0.1
OSPF-MIB::ospfLsdbAreaId.0.0.0.1.routerLink.10.0.0.3.10.0.0.3 = IpAddress: 0.0.0.1
OSPF-MIB::ospfLsdbAreaId.0.0.0.1.networkLink.10.2.3.2.10.0.0.2 = IpAddress: 0.0.0.1
OSPF-MIB::ospfLsdbAreaId.0.0.0.1.summaryLink.0.0.0.0.10.0.0.2 = IpAddress: 0.0.0.1
OSPF-MIB::ospfLsdbAreaId.0.0.0.1.asExternalLink.192.168.1.0.10.0.0.1=IpAddress:
0.0.0.1
O primeiro bloco está associado aos LSAs do tipo Router na Área Backbone (0.0.0.0).
É possível ver os roteadores R1, R2, R4 e R5.
O segundo bloco está associado aos LSAs do tipo Network na Área Backbone (0.0.0.0).
É possível ver os segmentos R1-R2 (10.1.2.0) e R2-R4 (10.2.4.0). Lembre-se de que o enlace
com R5 foi configurado como Ponto-a-Ponto, por isso não existe um LSA Network.
O terceiro bloco está associado aos LSAs do tipo Summary na Área Backbone (0.0.0.0).
O quarto bloco lista os LSAs do tipo AS-External. Na sequência, os mesmos tipos de LSA
para a Área 1 (0.0.0.1).
11 Exemplo:
OSPF-MIB::ospfHostMetric.192.168.3.1.0 = INTEGER: 1
OSPF-MIB::ospfHostAreaID.10.0.0.3.0 = IpAddress: 0.0.0.1
OSPF-MIB::ospfHostAreaID.192.168.3.1.0 = IpAddress: 0.0.0.1
$ snmpwalk -v 2c -c public 10.0.0.4 .1.3.6.1.2.1.14.6
OSPF-MIB::ospfHostMetric.10.0.0.4.0 = INTEGER: 1
152
OSPF-MIB::ospfHostMetric.192.168.2.1.0 = INTEGER: 1 q
OSPF-MIB::ospfHostAreaID.10.0.0.4.0 = IpAddress: 0.0.0.2
OSPF-MIB::ospfHostAreaID.192.168.2.1.0 = IpAddress: 0.0.0.2
Observe a seguir o snmpwalk. Os demais objetos foram omitidos para simplificar a visualização.
É possível ver o custo ou métrica da interface com valor 1 e a área à qual as interfaces
pertencem (0.0.0.1 – Área 1 e 0.0.0.2 – Área 2).
11 ospfIfAreaId: informa a área da qual a interface faz parte. Observe que a interface é
representada pelo IP que possui, e não pelo nome da interface. O formato está apresen-
tado a seguir:
153
11 ospfIfType: informa o tipo de rede da interface. Os tipos podem ser broadcast(1),
pointToPoint(3), nbma(2) e pointToMultipoint(4). Novamente, o endereço IP da interface é
utilizado ao invés do nome da interface;
154
OSPF-MIB::ospfIfAuthType.10.1.2.2.0 = INTEGER: 0
OSPF-MIB::ospfIfAuthType.10.2.3.2.0 = INTEGER: 0
OSPF-MIB::ospfIfAuthType.10.2.4.2.0 = INTEGER: 1
OSPF-MIB::ospfIfAuthType.10.2.5.2.0 = INTEGER: 2
snmpwalk -v 2c -c public 10.0.0.5 OSPF-MIB::ospfIfTable
OSPF-MIB::ospfIfAreaId.10.0.0.5.0 = IpAddress: 0.0.0.2
OSPF-MIB::ospfIfAreaId.10.2.5.5.0 = IpAddress: 0.0.0.0
OSPF-MIB::ospfIfAreaId.10.4.5.5.0 = IpAddress: 0.0.0.2
OSPF-MIB::ospfIfType.10.0.0.5.0 = INTEGER: pointToPoint(3)
OSPF-MIB::ospfIfType.10.2.5.5.0 = INTEGER: pointToPoint(3)
OSPF-MIB::ospfIfType.10.4.5.5.0 = INTEGER: broadcast(1)
OSPF-MIB::ospfIfRtrPriority.10.0.0.5.0 = INTEGER: 0
OSPF-MIB::ospfIfRtrPriority.10.2.5.5.0 = INTEGER: 0
OSPF-MIB::ospfIfRtrPriority.10.4.5.5.0 = INTEGER: 1
OSPF-MIB::ospfIfHelloInterval.10.0.0.5.0 = INTEGER: 10
OSPF-MIB::ospfIfHelloInterval.10.2.5.5.0 = INTEGER: 10
OSPF-MIB::ospfIfHelloInterval.10.4.5.5.0 = INTEGER: 10
OSPF-MIB::ospfIfRtrDeadInterval.10.0.0.5.0 = INTEGER: 40
OSPF-MIB::ospfIfRtrDeadInterval.10.2.5.5.0 = INTEGER: 40
OSPF-MIB::ospfIfRtrDeadInterval.10.4.5.5.0 = INTEGER: 40
OSPF-MIB::ospfIfState.10.0.0.5.0 = INTEGER: loopback(2)
OSPF-MIB::ospfIfState.10.2.5.5.0 = INTEGER: pointToPoint(4)
OSPF-MIB::ospfIfState.10.4.5.5.0 = INTEGER: designatedRouter(5)
OSPF-MIB::ospfIfDesignatedRouter.10.0.0.5.0 = IpAddress: 0.0.0.0
OSPF-MIB::ospfIfDesignatedRouter.10.2.5.5.0 = IpAddress: 0.0.0.0
OSPF-MIB::ospfIfDesignatedRouter.10.4.5.5.0 = IpAddress: 10.4.5.5
OSPF-MIB::ospfIfBackupDesignatedRouter.10.0.0.5.0 = IpAddress: 0.0.0.0
OSPF-MIB::ospfIfBackupDesignatedRouter.10.2.5.5.0 = IpAddress: 0.0.0.0
OSPF-MIB::ospfIfBackupDesignatedRouter.10.4.5.5.0 = IpAddress: 10.4.5.4
OSPF-MIB::ospfIfAuthType.10.0.0.5.0 = INTEGER: 0
OSPF-MIB::ospfIfAuthType.10.2.5.5.0 = INTEGER: 2
OSPF-MIB::ospfIfAuthType.10.4.5.5.0 = INTEGER: 0
Observe que a interface com IP 10.0.0.2, não possui autenticação (ofpfIfAuthType = 0)
155
Pelas saídas citadas, é possível identificar quais são as interfaces Loopback, Ponto a Ponto
e Broadcast, além de saber quais possuem autenticação. Apenas usando o SNMP, o Enge-
nheiro da Rede pode consultar todos os roteadores OSPF e validar se as configurações estão
corretas e de acordo com a Política de Segurança. Por exemplo, com um script de poucas
linhas de código é possível ver que existem interfaces que não têm autenticação, oferecendo
riscos à infraestrutura de rede.
É possível ver qual é a área de trânsito (ospfVirtIfAreaId) (Área 2 – 0.0.0.2), quem é o vizinho do
Virtual-Link (ospfVirtIfNeighbor) (R4 – 10.0.0.4), se há autenticação (ospfVirtIfAuthType)
(0 – não há) e valores de Hello (ospfVirtIfHelloInterval) e Dead Interval (ospfVirtIfRtrDeadInterval).
156
A tabela ospfNbrTable descreve as vizinhanças estabelecidas pelo roteador OSPF. Essa é uma
das tabelas mais importantes e que, se possível, deve ter seu monitoramento automatizado.
Os objetos a seguir são extremamente úteis:
11 ospfNbrState: indica o estado de sincronismo do LSDB. Os estados possíveis são: down (1),
attempt (2), init (3), twoWay (4), exchangeStart (5), exchange (6), loading (7) ou full (8).
Caso a vizinhança não esteja em "full", a menos que seja uma adjacência entre roteadores
DROthers, há um problema entre os dois roteadores.
Observe a seguir o snmpwalk de R5 e R2. Os demais objetos foram omitidos para simplificar
a visualização.
157
OSPF-MIB::ospfNbrRtrId.10.2.3.3.0 = IpAddress: 10.0.0.3 q
OSPF-MIB::ospfNbrRtrId.10.2.4.4.0 = IpAddress: 10.0.0.4
OSPF-MIB::ospfNbrRtrId.10.2.5.5.0 = IpAddress: 10.0.0.5
OSPF-MIB::ospfNbrPriority.10.1.2.1.0 = INTEGER: 1
OSPF-MIB::ospfNbrPriority.10.2.3.3.0 = INTEGER: 1
OSPF-MIB::ospfNbrPriority.10.2.4.4.0 = INTEGER: 1
OSPF-MIB::ospfNbrPriority.10.2.5.5.0 = INTEGER: 0
OSPF-MIB::ospfNbrState.10.1.2.1.0 = INTEGER: full(8)
OSPF-MIB::ospfNbrState.10.2.3.3.0 = INTEGER: full(8)
OSPF-MIB::ospfNbrState.10.2.4.4.0 = INTEGER: full(8)
OSPF-MIB::ospfNbrState.10.2.5.5.0 = INTEGER: full(8)
11 Principais objetos:
Na topologia da figura 4.7, R4 está fazendo sumarização via comando area range:
router ospf
area 2 range 192.168.2.0 255.255.255.0
Nesse caso, a tabela ospfAreaAggregateTable está sendo criada e tem como principais objetos:
158
A seguir, observe a saída do snmpwalk de R4. É possível ver o prefixo
192.168.2.0/255.255.255.0 sendo sumarizado.
Nesta última parte foram apresentados os objetos e as tabelas mais comumente utilizadas,
porém outros objetos estão documentados na RFC 4750. Além disso, a RFC 4750 especifica
como fazer configurações OSPF via SNMP, por isso a importância de configurações seguras.
11 Neste material, foram apresentados apenas os objetos principais. Mais objetos estão q
disponíveis na RFC 4750
11 Além disso, a RFC 4750 especifica como fazer configurações usando SNMP. É possível
adicionar uma interface ou criar uma área OSPF via SNMP.
11 Por isso, garanta que está usando uma community complexa, se possível usando
SNMPv3 e com Listas de Controle de Acesso filtrando os prefixos de origem.
Capítulo 4 - Otimização e tópicos avançados
11 É importante ter essas medições integradas com algum software de gerência de rede,
até para registrar o histórico das saídas.
Mas não basta apenas monitorar pontualmente: é importante que essas consultas sejam
integradas com algum sistema de gerência de rede, como Nagios, Cacti ou Zabbix, para que
sejam criados históricos. A configuração dessa integração está fora do escopo desse material,
uma vez que existe vasta documentação desses softwares.
Na sessão de Atividades Práticas, o aluno será instruído como preparar um ambiente e fazer
testes na linha de comando para obter as informações desejadas.
159
Conclusão
Nesta sessão, foram apresentados alguns tópicos que podem auxiliar o Engenheiro de Redes
na implantação de redes OSPF de larga escala. Tópicos de escalabilidade e convergência foram
apresentados; porém, alguns deles são relativamente novos e não são suportados por todos
os fabricantes. Mas, conforme foi apresentado, muitos deles são compatíveis com a versão
padrão do OSPF definida na RFC 2328, o que permite uma implementação gradual.
Comandos OSPF
A seguir, uma lista de comandos de configuração que têm relação com o tema da sessão 4.
Os comandos a seguir são aplicados na sessão de OSPF do roteador.
ispf
bfd all-interfaces
prefix-suppresion
ip ospf bfd
ip ospf prefix-suppression
160
Jerônimo Aguiar Bezerra é mestre
em Mecatrônica e Bacharel em Ciência
da Computação pela Universidade
Federal da Bahia, Jeronimo Aguiar
Bezerra tem vasta experiência com
redes de computadores, sistemas ope-
racionais, VoIP e GNU/Linux. Possuindo
algumas cer-tificações de mercado, como Cisco, Juniper e
Linux LPI, “Jab” – como é conhecido – trabalhou por 9 anos
na Universidade Federal da Bahia (UFBA), onde participou
ativamente de diver-sos projetos de larga escala, como a
implementação da Rede REMESSA e do Ponto de Troca de
Tráfego da Bahia. Jab esteve envolvido com redes acadêmi-
cas e comerciais pelos últimos 13 anos, com passagem pela
Rede Nacional de Ensino e Pesquisa (RNP) e tendo feito
parte de Grupos de Trabalho do IETF.
LIVRO DE APOIO AO CURSO
02 5
630025