Ospf and Is Is em Portugues
Ospf and Is Is em Portugues
Ospf and Is Is em Portugues
OSPF e IS-IS
Do roteamento de estado de link
Princípios para Tecnologias
OSPF e IS-IS
Do roteamento de estado de link
Princípios para Tecnologias
Rui Valadas
Aviso de marca comercial: nomes de produtos ou empresas podem ser marcas comerciais ou marcas
registradas e são usados apenas para identificação e explicação sem a intenção de infringir.
Imprensa CRC
Este livro contém informações obtidas de fontes autênticas e altamente conceituadas. Esforços razoáveis foram
feitos para publicar dados e informações confiáveis, mas o autor e o editor não podem assumir a responsabilidade
pela validade de todos os materiais ou pelas consequências de seu uso. Os autores e editores tentaram rastrear
os detentores dos direitos autorais de todo o material reproduzido nesta publicação e pedem desculpas aos
detentores dos direitos autorais se a permissão para publicar neste formulário não foi obtida. Se algum material
protegido por direitos autorais não tiver sido reconhecido, por favor, escreva-nos e informe-nos para que
possamos corrigi-lo em qualquer reimpressão futura.
Exceto conforme permitido pela Lei de Direitos Autorais dos EUA, nenhuma parte deste livro pode ser reimpressa,
reproduzida, transmitida ou utilizada de qualquer forma por qualquer meio eletrônico, mecânico ou outro, agora
conhecido ou inventado no futuro, incluindo fotocópia, microfilmagem e gravação, ou em qualquer sistema de
armazenamento ou recuperação de informações, sem permissão por escrito dos editores.
Para obter permissão para fotocopiar ou usar material eletronicamente deste trabalho, acesse www. copyright.com
(http://www.copyright.com/) ou contate o Copyright Clearance Center, Inc.
(CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. A CCC é uma organização sem fins lucrativos
que fornece licenças e registros para uma variedade de usuários. Para as organizações que obtiveram uma
licença de fotocópia do CCC, um sistema de pagamento separado foi providenciado.
à Matilde e à Teresa
viii Conteúdo
Conteúdo ix
. . . . . . . . . . . . . . . . . . . 145 .
4.4 Constantes arquitetônicas e parâmetros configuráveis. . . . 145 .
4.5 Objetivos e estrutura desta parte do livro. . . . . . . . 146
5 Estrutura LSDB de redes de área única OSPF e IS-IS 147 5.1 Elementos LSDB 148 5.2
Identificadores de roteador e link . . 149 5.2.1 Identificadores de roteador . . 149 5.2.2
Identificadores de links 5.3 Tipos de links 5.4.Estrutura
. . . . geral
. . .dos
. .elementos
. . . . .LSDB
. . .
. . . . . . . . . . . . . . . . . . .
151
. . . . . . . . . . 153 .
5.4.1 Cabeçalho LSA 155 155
5.4.2 Cabeçalho LSP 156
5.4.3 Registros IS-IS TLV 156
5.5 Informações topológicas e de endereçamento interno de domínio em
OSPFv2 157 5.5.1 Roteador-LSA 157 5.5.2 Rede-LSA 160 5.5.3 Fornecendo
informações topológicas e de endereçamento . . 160 5.6 Informações topológicas e
de endereçamento interno de domínio em SI
.
x Conteúdo
Conteúdo XI
. . . .Links
6.6.2.1 Enlaces ponto a ponto . . 225 6.6.2.2 . . .compartilhados
. . . . . ..
226 6.6.2.3 Lidando com LSPs. auto-criados
. . . . . . desatualizados
. . . . . . . . . .227
6.6.2.4 Exemplos . . 227 6.7 Origem e exclusão de informações de
roteamento. . 230 231 233. . . . . . . . . . . . . . . . . .
. . . . .
6.7.1 OSPF
6.7.2 IS-IS
xii Conteúdo
. . . . . . . . . . . . . . . . . . 322 .
10.1.6 Adjacências IS-IS . . . . . . . . . . . . . . . . . . . . 323 .
10.2 Eleição do roteador designado . . . . . . . . . . . . . . . . . . 324 .
327 10.2.1 OSPF ....................................... ......................... 327
Conteúdo xiii
Glossário 387
Referências 397
Índice 401
Prefácio
Link State Routing (LSR) é um tópico de rede que tem merecido muita atenção em artigos
científicos, padrões e livros didáticos. Existem livros volumosos dedicados a tecnologias LSR
específicas, como OSPF (Open Shortest Path First) e IS-IS (Intermediate System to Intermediate
System).
[11, 15, 31, 35, 37, 50]. Aprendemos muito com esses livros, mas eles são principalmente
direcionados à explicação de muitos detalhes tecnológicos de OSPF e IS-IS - certamente algo
que os gerentes de rede precisam estar cientes.
O assunto de LSR é frequentemente considerado complexo. No entanto, acreditamos que
é muito mais simples do que parece e que a chave para sua compreensão é a correta
segregação dos mecanismos fundamentais e estruturas de dados dos protocolos LSR, ou seja,
os princípios que norteiam o seu funcionamento. Uma vez que esses princípios são dominados,
é muito mais fácil compreender as tecnologias específicas e navegar em suas especificações
densas, bem como ser crítico sobre algumas das opções tomadas.
O livro visa ser uma referência completa sobre OSPF e IS-IS, do ponto de vista
metodológico. Fundamentamos a aprendizagem nos princípios do LSR, explicando os
mecanismos e estruturas de dados fundamentais ao seu funcionamento e comuns às várias
tecnologias. Em seguida, descrevemos OSPF e IS-IS em detalhes, abrangendo suas versões
IPv4 e IPv6.
O nível de detalhamento é suficiente para especialistas que precisam configurar, gerenciar e
planejar redes suportadas nessas tecnologias. Por fim, complementamos o livro com a
discussão de um grande conjunto de experimentos, ilustrando os vários recursos do OSPF e
do IS-IS. Nossos experimentos abrangem não apenas a visão estática das redes—enquanto
elas permanecem estáveis—, mas também sua dinâmica—enquanto convergem após alguma
perturbação (por exemplo, uma configuração de rede ou uma falha). No entanto, não somos
exaustivos em cobrir as muitas extensões de OSPF e IS-IS, uma vez que novas continuam
aparecendo rapidamente e não estão mudando a natureza fundamental das tecnologias.
xv
XVI Prefácio
(IETF), que define os padrões da Internet para protocolos de roteamento, decidiu fundir os
grupos de trabalho OSPF e IS-IS em um único grupo chamado Roteamento de estado de link.
Isso está muito de acordo com o espírito deste livro.
protocolos LSR, os roteadores trocam informações de roteamento para que cada roteador
construa e mantenha individualmente uma visão global da rede. Esta visão global inclui dois
aspectos: (i) a informação topológica (ou mapa da rede), ou seja, uma descrição dos
roteadores e links entre roteadores, e (ii) a informação de endereçamento, ou seja, os prefixos
de endereço (IPv4 ou IPv6) atribuídos ao roteadores e links. A visão global é obtida de forma
distribuída: cada roteador divulga para todos os outros informações sobre sua visão local da
rede, descrevendo a si mesmo e seus links (a informação topológica local), e os prefixos de
endereço atribuídos a ele e seus links (o informações de endereçamento local). Em seguida,
cada roteador reúne autonomamente as informações de roteamento recebidas de todos os
outros roteadores, bem como as suas próprias, para construir a visão global da rede, que
armazena em um banco de dados local chamado Link State Database (LSDB). As tabelas
de encaminhamento são obtidas dessa visão global executando, em cada roteador, um
algoritmo de caminho mais curto centralizado, geralmente o algoritmo de Dijkstra. Grande
parte do esforço nos protocolos LSR é garantir que a visão global permaneça a mesma em
todos os roteadores, para evitar inconsistências nas tabelas de proteção. Esta é a razão pela
qual esses protocolos são às vezes chamados de protocolos de banco de dados distribuídos
replicados [35], uma designação que certamente é perspicaz. Os mecanismos necessários
para manter a visão global consistente da rede são geralmente chamados de mecanismos de
sincronização.
Prefácio xvii
Estrutura do livro
O livro está estruturado em quatro partes: Introdução (Parte I), Princípios (Parte II),
Tecnologias (Parte III) e Estudos de Caso (Parte IV).
xviii Prefácio
Uma palavra é devida sobre nomenclatura. Uma das barreiras mais difíceis ao tentar
comparar OSPF e IS-IS são os nomes dados aos vários elementos do protocolo, que
raramente coincidem. Poderíamos ter adotado uma das terminologias ao discutir os
princípios do LSR. No entanto, decidimos criar uma terminologia própria, para evitar
o favorecimento de uma tecnologia em detrimento da outra e tornar a nomenclatura
o mais expressiva possível. Fornecemos as correspondências entre as várias
nomenclaturas ao longo do livro. Quando necessário, nossa nomenclatura será
chamada de genérica.
Público
O livro deve ser útil para professores, alunos e profissionais de redes de computadores.
Ele fornece um caminho para aprender e ensinar com eficiência o assunto de LSR, o
que chama a atenção para seus aspectos principais. Além disso, fornecemos uma
descrição abrangente de OSPF e IS-IS, principais tecnologias LSR, com detalhes
suficientes para apoiar os profissionais que precisam configurar, gerenciar e planejar
esse tipo de rede. O livro também inclui um grande conjunto de experimentos que (i)
podem ser facilmente reproduzidos usando um computador pessoal padrão e (ii)
podem apoiar o processo de aprendizado em sala de aula ou por alunos individuais
tentando dominar OSPF e IS-IS.
suplementos
Agradecimentos
Prefácio xix
Parte I
Introdução
1
Roteamento e Endereçamento
As informações trocadas entre os hosts são transportadas em pedaços de bits chamados pacotes.
Os pacotes são encaminhados da origem ao destino através da infraestrutura de rede, que é formada
por uma malha de equipamentos de comutação e meios físicos de comunicação. O equipamento de
comutação transfere pacotes das interfaces de entrada para as de saída de acordo com as tabelas de
encaminhamento e usando o modo de operação armazenar e encaminhar. A operação store-and-forward
significa que um pacote só começa a ser transmitido pela interface de saída, após ter sido totalmente
recebido pela interface de entrada. Os equipamentos de comutação geralmente são diferenciados com
base no tipo de informação de endereçamento usada para tomar decisões de encaminhamento. A
figura mostra dois tipos de equipamentos de comutação: roteadores IP e switches Ethernet.
4 1 Roteamento e Endereçamento
link E1
servidor
interruptor
Ethernet
Área de Trabalho
tábua
roteador IP
computador portátil
Nomes, espaços de nome e escopos de nome Uma entidade de rede é referenciada por meio
de um nome. Os nomes podem ser caracterizados por seu espaço e escopo. O espaço é o
conjunto de nomes de onde são retirados todos os nomes de uma determinada coleção de
entidades. O escopo é o conjunto de entidades às quais o nome se aplica.
Obtenção de um serviço de rede As entidades envolvidas na obtenção de um serviço
da rede são (i) serviços (ou aplicativos), (ii) nós (hosts ou equipamentos de comutação), (iii)
interfaces de rede (chamadas de pontos de conexão em [47]) e caminhos. Os nomes dados
às interfaces de rede são geralmente chamados de endereços, e manteremos essa
nomenclatura. Este processo será explicado com a ajuda da Figura 1.2.
• Um serviço pode ser executado em um ou mais nós e pode precisar se mover entre os
nós sem perder sua identidade como serviço. Deve haver alguma maneira de encontrar
o nó que executa o serviço. Isso pode ser fornecido por meio de um serviço de resolução
de nomes, vinculando o nome do serviço ao nome do nó.
• Finalmente, um par de interfaces de rede pode ser conectado por um ou mais caminhos,
e esses caminhos podem precisar mudar ao longo do tempo. Encontrar caminhos dentro
da rede é o papel da função de roteamento.
Day observou mais tarde que o nó deve ser pensado como uma entidade lógica, na
verdade o ponto final de todos os caminhos de todos os processos de aplicação, e que os
endereços de interface têm apenas significado local [10].
Função de roteamento O objetivo da função de roteamento é encontrar caminhos dentro da
rede. Um caminho é uma sequência de interfaces de nós (interfaces de hosts ou equipamentos
de comutação) que levam a algum nó. Observe que, devido à possibilidade de links paralelos
entre os nós, um caminho não é totalmente descrito pelos nomes dos nós; os endereços de
interface também são necessários. No entanto, os endereços de interface têm apenas
significado local, ou seja, eles precisam ser únicos dentro de um nó. O roteamento é
implementado localmente em cada nó usando tabelas de encaminhamento, que indicam a
próxima interface no caminho para cada destino (a interface do próximo salto).
6 1 Roteamento e Endereçamento
R2
i1 i3 i1
i3 i2
i2
i1 i1 i3 i1
i4 i3
i2 R4
R1
H1 i1 H2
i2
R3
e dois hospedeiros. Os nomes de hosts, roteadores e interfaces são obtidos de espaços de nome
separados, prefixados pelas letras “H”, “R” e “i”, respectivamente.
Existem dois enlaces paralelos entre R3 e R4. Suponha que H1 precise entrar em contato com um
serviço em execução em H2. Dado o nome do serviço, o nome do host (H2) e o nome da interface
(i1-H2) são encontrados usando um processo de resolução de nomes e o caminho é determinado
por meio da função de roteamento. O caminho de H1 a H2 indicado na figura é descrito como a
sequência i1-R1 ÿ i1-R2 ÿ i4-R3 ÿ i3-R4 ÿ i1-H2. As tabelas de encaminhamento indicam a próxima
interface no caminho para H2. Por exemplo, a tabela de encaminhamento de R3 indica que a
próxima interface no caminho para H2 é i3-R4.
Por mais simples que seja, esse modelo tem sido objeto de controvérsia e não está totalmente
implementado na atual arquitetura da Internet [10, 16, 47]. De fato, a Internet não possui nomes
de nós, e alguns autores até argumentam que ela possui apenas endereços de interface e
caminhos. Na verdade, as interfaces são nomeadas usando os endereços IP conhecidos (e às
vezes usando também endereços MAC).
Quais entidades de rede precisam ser nomeadas para fins de roteamento e quais tipos
de associações precisam ser estabelecidas entre esses nomes é uma questão importante
sujeita a controvérsia. Em princípio, os serviços, os nós (hosts ou equipamentos de
comutação) e as interfaces de rede devem ser nomeados; além disso, os caminhos são
sequências de interfaces que levam a algum nó. A função de roteamento determina os
caminhos dentro da rede e é implementada localmente em cada nó por meio de tabelas
de encaminhamento, que indicam a próxima interface no caminho para cada destino.
Distinção entre encaminhamento e roteamento É importante fazer uma distinção clara entre os
termos encaminhamento e roteamento: encaminhamento refere-se
A arquitetura de endereçamento da Internet também inclui o serviço DNS para mapear nomes
de host e URLs para endereços IP. O DNS define um banco de dados distribuído que armazena
esses mapeamentos em todo o mundo. Uma discussão abrangente sobre DNS pode ser
encontrada em [3].
Famílias de endereçamento IP Existem atualmente dois tipos de endereços IP: endereços IPv4 e
endereços IPv6. O comprimento dos endereços IPv4 é de 32 bits e o comprimento dos endereços
IPv6 é de 128 bits. Os endereços IPv6 foram introduzidos para substituir os endereços IPv4,
devido à escassez destes últimos. No entanto, a transição foi um processo lento e as duas famílias
de endereços coexistirão por muitos anos.
Representação de endereço A Figura 1.4 ilustra a representação de endereço usada em IPv4 e
IPv6. Os endereços IPv4 são representados em notação decimal com pontos, ou seja, usando
quatro números decimais separados por um ponto, onde cada número corresponde ao valor
decimal de um octeto, por exemplo, 128.10.2.30. Devido ao seu comprimento, os endereços IPv6
são representados em notação hexadecimal, com blocos de 16 bits separados por dois pontos,
por exemplo, 2001:0db8:000d:000a:0000:0000:0000:0003. Várias simplificações podem ser
adotadas para encurtar a representação do endereço, por exemplo, pular os zeros à esquerda em
um bloco de 16 bits e substituir um grupo de zeros consecutivos por dois pontos duplos. Com
essas duas simplificações, o endereço IPv6 anterior seria representado como 2001:db8:d:a::3
(consulte o Capítulo 3 de [14] para discussões adicionais).
8 1 Roteamento e Endereçamento
A Figura 1.5 ilustra como os endereços mais baixo e mais alto do bloco 123.4.8/21 podem
ser determinados. Esse processo é facilitado pelo uso de uma representação de endereço
misto, onde os octetos iniciais caracterizados por terem todos os bits no prefixo são
representados em notação decimal com pontos e os restantes em notação binária. Nesse
caso, os dois primeiros octetos (os dois octetos mais à esquerda), ou seja, 123,4, são
representados em notação decimal e os dois octetos restantes em notação binária. Por exemplo,
o valor mais alto do terceiro octeto pode ser determinado observando que, devido ao prefixo /
21, os cinco primeiros bits devem ser 00001, pois pertencem ao prefixo, e os três últimos devem
ser
123.4.8.0/21
PREFIXO SUFIXO
FIGURA 1.5: Determinando os endereços mais baixo e mais alto de um bloco de endereços.
111, pois pertencem ao sufixo do endereço mais alto de um bloco. Isso leva ao octeto 00001111,
que corresponde ao decimal 15.
No IPv4, o comprimento do prefixo às vezes é representado por uma palavra de 32 bits
expressa em notação decimal com ponto (como um endereço IPv4), onde para um prefixo com n
bits, os n bits de ordem mais alta da palavra são iguais a 1 e o os restantes são iguais a 0. Por
exemplo, no IPv4 os comprimentos de prefixo /24 e /21 também são representados como
255.255.255.0 e 255.255.248.0, respectivamente. Por motivos que ficarão claros em breve, essas
palavras binárias são chamadas de máscaras de sub-rede. Este tipo de representação não é
usado no IPv6.
Blocos de endereços reservados Tanto os espaços de endereços do IPv4 quanto os do IPv6
possuem blocos de endereços reservados para fins específicos. Esses blocos estão listados na
Figura 1.6 e serão descritos a seguir.
10 1 Roteamento e Endereçamento
precisa ser enviado para várias interfaces ao mesmo tempo. Isso é necessário em muitas
situações, por exemplo, em aplicativos que realizam comunicações em grupo (por exemplo,
videoconferência) e em várias funções de rede. O OSPF usa endereços IP multicast para a
comunicação entre roteadores vizinhos em links compartilhados.
Os endereços de broadcast têm escopo restrito: um endereço de broadcast pode ter como
alvo apenas interfaces dentro de um domínio de roteamento específico, caso contrário, toda a
Internet seria inundada com esse tipo de pacote. No IPv6 não há endereços de broadcast,
apenas multicast. A maioria dos endereços multicast também tem escopo restrito.
Independentemente do escopo, os pacotes multicast e broadcast podem ser proibidos de cruzar
os limites da rede por meio de configuração administrativa.
Os blocos de endereços reservados para multicast são 224/4 (os primeiros 4 bits são iguais
a 1110) em IPv4 e ff00::/8 em IPv6.
Endereços públicos versus privados Os endereços IP também podem ser classificados como
endereços públicos ou privados. Os endereços públicos são usados para comunicações em
toda a Internet; eles são globalmente visíveis, globalmente exclusivos e podem aparecer como
endereços de destino em qualquer pacote IP. Endereços privados são usados para
comunicações dentro de domínios específicos e só precisam ser únicos dentro deles. Os
endereços privados desempenham um papel importante no endereçamento IPv4 devido à
escassez de endereços públicos nesta família de endereçamento. Os blocos de endereço
reservados para endereçamento privado no IPv4 são 10/8, 172.16/12, 192.168/16 e 169.254/16.
O IPv6 chama esses endereços de endereços locais exclusivos e os reserva o bloco fc00::/7.
No entanto, ao contrário do IPv4, os endereços privados do IPv6 foram projetados para ter uma
alta probabilidade de serem globalmente exclusivos (consulte o Capítulo 3 de [14] para obter
detalhes adicionais).
Endereços globais e de link local IPv6 O IPv6 introduziu uma importante distinção entre dois
tipos de endereços unicast: endereços globais e de link local. Os endereços globais são
definidos pelo prefixo 2000::/3 e são usados para comunicações em toda a Internet, da mesma
forma que os endereços IPv4 públicos.
Endereços de link local são definidos pelo prefixo fe80::/10 e são usados para comunicações
dentro de um link. Os endereços link-local trouxeram um benefício importante em relação ao
IPv4: as interfaces podem criar esses endereços por conta própria e usá-los para se comunicar
em um link sem qualquer configuração prévia. A estrutura desses dois tipos de endereço será
discutida na Seção 1.4.2.
A Internet tem atualmente duas famílias de endereços IP: endereços IPv4 com 32 bits
e IPv6 com 128 bits. Cada uma dessas famílias contém blocos de endereços
reservados para fins especiais, por exemplo, para comunicações multicast e broadcast
e para comunicações privadas. IPv6 inclui endereços link-local, para serem usados
para comunicações dentro de links.
12 1 Roteamento e Endereçamento
mensagem
mensagem APP TP
transporte
rede mensagem APP TP NET
rede
Hospedar
As três camadas inferiores da pilha TCP/IP lidam com a comunicação entre os hosts e as duas
superiores com a comunicação entre os processos de aplicativos em execução nos hosts. Exemplos de
protocolos da camada de aplicação são HTTP, para navegação na Web, FTP e TFTP, para transferência
de arquivos e Skype para conferência multimídia. Com relação aos protocolos da camada de transporte, os
principais protocolos utilizados na Internet são o TCP e o UDP. Eles estabelecem canais virtuais entre os
processos de aplicação. O TCP fornece funções de endereçamento, detecção de erros, controle e controle
de congestionamento; O UDP fornece apenas cobertura de anúncios e detecção de erros. Na outra ponta da
pilha, a camada física trata dos problemas relacionados à transmissão de bits no meio físico de comunicação,
como conversão analógico-digital e digital-analógico, modulação e codificação, resiliência a ruídos e distorção,
e recuperação de clock.
A camada de rede (camada-3) e a camada de enlace (camada-2) são as mais relevantes para os problemas
de roteamento abordados neste livro e serão discutidas com mais detalhes a seguir.
Uma hierarquia de roteamento de dois níveis A Internet é formada hoje por muitas tecnologias de
comunicação diferentes, como cabos submarinos, links de satélite, redes celulares e redes locais fixas e
sem fio, variando em velocidade, tipo de meio de comunicação, abrangência geográfica, confiabilidade e
número de dispositivos suportados, entre outras propriedades. Para lidar com essa heterogeneidade, a
arquitetura em camadas do TCP/IP inclui duas camadas, a saber, a camada de rede e a camada de enlace,
que formam uma hierarquia de roteamento de dois níveis (consulte a Figura 1.8).
A camada de rede A camada de rede fornece comunicações de ponta a ponta entre hosts e abstrai as
especificidades das tecnologias de comunicação. Os equipamentos de comutação que operam nesta
camada são os roteadores.
Os roteadores encaminham pacotes com base nos endereços da camada 3, ou seja, os endereços IP. Como
aplicativo aplicativo
transporte transporte
rede rede rede rede
link link link link link
físico físico físico físico físico
endereços endereços
da camada 2 da camada 2
Como mostrado na Figura 1.8, os roteadores processam as três primeiras camadas da pilha TCP/IP.
Nesta camada, a rede é vista como uma rede de hosts e roteadores conectados por meio de links
lógicos, onde os links são representações abstratas de conexões reais. Os elementos de rede são
identificados nesta camada pelos endereços IP.
O protocolo IP O protocolo da camada de rede da Internet é o protocolo IP; é o protocolo que cola
a Internet, reunindo suas diversas tecnologias de comunicação! O protocolo IP define os endereços
usados nas comunicações ponta a ponta (os endereços IP) e fornece os mecanismos de adaptação
à heterogeneidade das tecnologias de comunicação. Um desses mecanismos é o processo de
fragmentação, por meio do qual a transmissão ponta a ponta dos pacotes se ajusta às tecnologias
de comunicação com diferentes restrições quanto ao comprimento máximo de pacotes que podem
suportar.
Atualmente existem duas versões do protocolo IP, uma para endereços IPv4 e outra para
endereços IPv6. O IPv6 foi introduzido para resolver a escassez de endereços IPv4: os endereços
IPv4 têm 32 bits e os endereços IPv6 têm 128. A implantação do IPv6 começou nos anos 2000,
mas, devido à sua complexidade, foi um processo lento. Espera-se que IPv4 e IPv6 coexistam por
muitos anos.
A camada de enlace Os enlaces lógicos entre hosts e roteadores são tratados pela camada de
enlace; às vezes, eles são chamados de links de camada 2. A camada de enlace fornece as
comunicações básicas em nível de pacote entre os dispositivos e delimita os pacotes dentro do fluxo
de bits que chegam a um dispositivo. Conforme destacado acima, esses links podem ter
características muito diferentes e, portanto, existem muitos protocolos de camada 2, cada um
adaptado às especificidades do link. Exemplos de
14 1 Roteamento e Endereçamento
protocolos de camada 2 são IEEE 802.3 (Ethernet), IEEE 802.5 (Token Ring) e IEEE 802.11 (WiFi).
Os enlaces da camada 2 podem ser enlaces ponto a ponto simples, por exemplo, enlaces E1
ou V.35, ou redes relativamente complexas, como uma rede de área local Ethernet comutada. Os
equipamentos de comutação que operam nesta camada são chamados de switches de camada 2,
ou simplesmente switches. Comuta os pacotes de encaminhamento de acordo com os endereços
da camada 2. Conforme mostrado na Figura 1.8, ao contrário dos roteadores, os switches processam
apenas as duas primeiras camadas da pilha TCP/IP. Na verdade, isso significa que um pacote
sendo transmitido por uma rede de camada 2, por exemplo, entre dois roteadores ou entre um
roteador e um host, não terá seu endereço IP analisado pelos switches de camada 2 que ele cruza.
As redes da camada 2 podem ser integradas na Internet global ou operadas isoladamente.
A função de roteamento está vinculada à camada de rede? Os protocolos de roteamento não estão
vinculados a uma camada específica da arquitetura TCP/IP, pois o roteamento é
necessário em várias camadas. É lamentável que vários livros didáticos ainda liguem a
função de roteamento à camada de rede, uma fonte comum de confusão entre os alunos. De
fato, o roteamento é necessário na camada 2 para encontrar caminhos dentro das redes de
switches da camada 2, e na camada 3 para encontrar caminhos dentro das redes de
roteadores e até mesmo na camada 5 para encontrar caminhos entre os servidores de
aplicativos. Exemplos de protocolos de roteamento operando em cada uma dessas camadas
são o spanning tree protocol na camada 2 (veja o Capítulo 3 de [41]), RIP, OSPF, IS-IS e
BGP na camada 3, e o roteamento entre o proxy SIP servidores na camada 5 (ver Capítulo 7 de [27] ou [22])
Curiosamente, o IS-IS foi modificado recentemente para se tornar o protocolo de roteamento
de camada 2 das redes de ponte de caminho mais curto 802.1aq [5]; assim, mesmo a mesma
tecnologia de roteamento é usada em diferentes camadas com modificações.
Como pode ser facilmente entendido, seria impossível na Internet de hoje ter destinos
individuais listados nas tabelas de encaminhamento dos roteadores. O tamanho das tabelas
de encaminhamento seria muito grande. Assim, os endereços IP devem ser agregados de
alguma forma.
Sub-redes Para responder a este problema, as redes IP são organizadas em sub-redes. Sub-
redes são redes lógicas que reúnem um bloco de endereços IP contíguos que compartilham
um prefixo comum, atribuídos a interfaces que podem se comunicar entre si sem a
intervenção de um roteador. Assim, a mesma sub-rede não pode abranger diferentes
interfaces de roteador, e todas as interfaces associadas à mesma sub-rede devem ter
endereços IP com o mesmo prefixo. Além disso, uma sub-rede pode ser totalmente
caracterizada por um prefixo de endereço.
Estrutura de endereço Para suportar a organização em sub-redes, os endereços IP são
estruturados hierarquicamente em dois níveis, onde o prefixo, às vezes chamado netid,
identifica a sub-rede e o sufixo, às vezes chamado hostid, identifica a interface do host nessa
sub-rede. As sub-redes são geralmente definidas por (i) o endereço IP mais baixo do bloco
de endereço, chamado endereço de sub-rede ou endereço de prefixo, e (ii) o comprimento
do prefixo ou máscara de sub-rede.
No IPv4, os endereços mais baixos e mais altos do bloco de endereços de sub-rede
16 1 Roteamento e Endereçamento
FIGURA 1.9: Estrutura de endereços IPv6 (a) link-local e (b) global unicast.
não pode ser atribuído a interfaces. O endereço mais baixo (juntamente com a máscara de sub-
rede) é reservado para identificar a sub-rede e o endereço mais alto é usado como endereço de
broadcast dentro da sub-rede. Este tipo de restrição não se aplica ao IPv6.
Endereços classful Nos primórdios da Internet, havia uma demarcação rígida entre o netid e o
hostid. Naquela época, havia três tipos de endereços unicast IPv4, identificados por seus bits
mais à esquerda: anúncios de classe A com hostid de 24 bits, endereços de classe B com
hostid de 16 bits e endereços de classe C com hostid de 8 bits. . Como o tipo de endereço era
determinado pelos bits mais à esquerda (“0” para classe A, “10” para classe B e “110” para
classe C), não havia necessidade de uma máscara de sub-rede. Mais tarde, a introdução de
máscaras de sub-rede permitiu sub-redes de comprimento variável, trazendo mais flexibilidade
para a estrutura da rede.
Estrutura de endereço IPv6 global e link-local A Figura 1.9 mostra a estrutura dos endereços
link-local e global. Ambos os tipos de endereços incluem o campo Interface ID, que identifica a
interface e corresponde à parte hostid do endereço. Endereços de link local devem ser usados
apenas dentro de um link de camada 2 e, portanto, não possuem netid. Em endereços globais,
a parte netid do endereço é dividida em duas partes: Global Routing Prefix e Subnet ID.
18 1 Roteamento e Endereçamento
192.168.0.2
R1 R2
192.168.0.0/30
222.0.0.1
192.168.0 222.0.0.2
H1
125.6.0.0/16
222.0.0.3
222.0.0.0/24
R4
9.0.0.254
H2
R3
H3 H4
sub-rede recebem endereços IP que compartilham um prefixo comum. Por exemplo, todas as
interfaces da sub-rede 222.0.0.0/24 recebem endereços IP começando com 222.0.0.
A tabela de encaminhamento do roteador R1 inclui cinco entradas, uma para cada sub-
rede. Cada entrada inclui o endereço IP da interface do próximo salto, o identificador da interface
de saída e o custo do caminho. Por exemplo, a entrada relativa à sub-rede 9.0.0.0/8 diz que um
pacote destinado a esta sub-rede deve ser transmitido através da interface i3 para a interface
com endereço IP 222.0.0.4, ou seja, interface i2-R3. A tabela de encaminhamento não lista os
endereços IP individuais das interfaces do host de destino, por exemplo, do laptop ou do tablet.
Um pacote sendo transmitido do roteador R1 para o tablet, ou seja, para o endereço IP 9.0.0.1,
é encaminhado de roteador para roteador com base no prefixo de sub-rede 9.0.0.0/8, que
abrange 9.0.0.1, até chegar ao roteador R4. É então responsabilidade de
20 1 Roteamento e Endereçamento
Protocolo de roteamento
entre domínios (BGP)
ASBR
ASBR
Autônomo
ASBR
Sistema
roteador
interno
Autônomo ASBR
Sistema
O leitor interessado deve consultar [52] e [18], dois excelentes livros-texto sobre o assunto.
roteador
interno
Área
ABR
Protocolo de roteamento
Área ABR
entre áreas
roteador
interno
roteador
interno
ABR Área
22 1 Roteamento e Endereçamento
executado em cada roteador para obter a tabela de encaminhamento. Como será visto no
Capítulo 7, os protocolos LSR, apesar de fundamentados na abordagem LSR, podem ser
combinados com um protocolo de vetor de distância para fornecer roteamento entre áreas; este
é precisamente o caso do OSPF e do IS-IS.
123.0.0.0/8
S1
123.4.0.0/16
123.4.5.0/24
S2
S3
uma família na outra. Os capítulos 10 e 11 de [14] fornecem uma discussão abrangente dessas
técnicas.
24 1 Roteamento e Endereçamento
Para dar um exemplo de cálculo de custo de caminho, considere o segundo caminho acima.
O custo do caminho é obtido somando os custos das interfaces i1-R1, i2-R2 e i2-R4, que são 10,
40 e 20, respectivamente, resultando em um custo de caminho de 70.
Essas são as interfaces que transmitiriam pacotes se o caminho fosse selecionado para
roteamento; o custo das interfaces receptoras não é contabilizado no cálculo do custo do caminho.
O caminho de menor custo, ou seja, o escolhido para roteamento, é o último da lista acima,
com custo 40. Isso pode ser confirmado na tabela de encaminhamento da Figura 1.10 . A primeira
entrada da tabela indica que o caminho para 9.0.0.0/8 é através da interface i3, tendo 222.0.0.4
tem o endereço IP da interface do próximo salto (ou seja, o endereço atribuído à interface i2-R3)
e um custo de 40.
Links conectados diretamente Há uma exceção ao uso de caminhos mais curtos no roteamento
da Internet, e isso ocorre quando o destino está em um link conectado diretamente ao roteador.
Nesse caso, a rota conectada diretamente prevalece sobre qualquer outro caminho, mesmo
que este apresente um custo menor. Considerar
novamente o exemplo da Figura 1.10 e o problema de determinar o caminho do roteador R1 para a sub-rede
125.6.0.0/16. O caminho mais curto é i3-R1 ÿ i1-R3 com um custo de 20. A rota conectada diretamente tem um
custo de 50 (o custo da interface i2-R1) mas, apesar de seu custo mais alto, ela é selecionada para roteamento.
A precedência de rotas conectadas diretamente é implementada localmente nos roteadores por meio de um
parâmetro chamado distância administrativa, que discutiremos a seguir.
Distâncias administrativas A distância administrativa fornece uma forma genérica de seleção entre caminhos
para o mesmo destino obtidos através de diferentes processos de roteamento. Além das rotas conectadas
diretamente, um roteador pode executar mais de um protocolo de roteamento ao mesmo tempo, por exemplo,
OSPF e IS-IS, cada um fornecendo um caminho diferente para o mesmo destino. A distância administrativa é
um valor atribuído a cada processo de roteamento que define sua precedência. Atualmente, a distância
administrativa é 0 para rotas conectadas diretamente, 110 para OSPF e 115 para IS-IS, e a convenção é que
valores menores têm precedência maior. Assim, as rotas conectadas diretamente são preferidas a quaisquer
outros caminhos e, se um roteador estiver executando OSPF e IS-IS, os caminhos OSPF serão preferidos aos
IS-IS.
Resolução de endereço Quando um pacote IP precisa ser transmitido por uma rede de camada 2, o endereço
de camada 2 associado ao endereço IP do próximo salto (ou seja, o ponto final da camada 3 da rede de
camada 2) pode ser desconhecido. No caso de pacotes unicast, esse problema é resolvido por meio de um
protocolo de resolução de endereço.
O IPv4 usa o Address Resolution Protocol (ARP) [43] e o IPv6 o Neighbor Discovery Protocol (NDP) [39].
Apesar de nomes diferentes, esses protocolos operam de maneira semelhante no que diz respeito à resolução
de endereços.
Tomando como exemplo o ARP, quando um dispositivo precisa determinar o endereço MAC associado a
um endereço IPv4 de sua sub-rede, ele questiona todas as
26 1 Roteamento e Endereçamento
1 2 3
roteador de roteador de
faces anexadas à sub-rede por meio de uma mensagem ARP REQUEST transmitida ao
endereço de broadcast MAC; o destinatário que possui o endereço IPv4 fornece as informações
solicitadas por meio de uma mensagem ARP REPLY (ver Seção 3.2.6 de [42]). O NDP usa o
mesmo processo, onde o equivalente de ARP REQUEST é a mensagem NEIGHBOR
SOLICITATION, e o equivalente de ARP REPLY é a mensagem NEIGHBOR ADVERTISEMENT
(ver Capítulo 5 de [14]). Para evitar a troca dessas mensagens sempre que um novo pacote
precisa ser transmitido em uma rede de camada 2, os dispositivos (hosts ou roteadores) que
descobrem uma associação entre os endereços IP e MAC o armazenam na memória por algum
tempo.
Do host de origem ao roteador de primeiro salto Na primeira etapa, pode haver vários roteadores
de primeiro salto possíveis para escolher, porque o host de origem é multi-homed e/ou está
conectado a um link compartilhado com vários roteadores conectados (ver Figura 1.15). O host
de origem poderia, em princípio, selecionar seu roteador de primeiro salto ouvindo passivamente
as mensagens de roteamento transmitidas pelos vários roteadores de primeiro salto; isso
permitiria determinar o melhor roteador de primeiro salto para cada destino individual. No
entanto, esta solução tem dois problemas: primeiro, porque os hosts podem fazer roaming em
redes que executam diferentes protocolos de roteamento, eles precisariam entender todos eles,
e há muitas possibilidades; em segundo lugar, as informações de roteamento fornecidas pelos
roteadores de primeiro salto executando diferentes protocolos de roteamento podem ser
incompatíveis, por exemplo, podem fornecer métricas de custo de caminho não comparáveis
para o mesmo destino. Assim, em vez de ter um roteador de primeiro salto adaptado para cada
destino individual, a solução usual é ter um único roteador de primeiro salto para cada interface
de link compartilhado,
roteador de
i1 primeiro salto
i2 roteador de
primeiro salto
host de
origem
gateway padrão
roteador de
primeiro salto
que é usado como primeiro salto para todo o tráfego transmitido pela interface; esse
roteador é chamado de gateway padrão. Observe que um endereço de gateway padrão
não é necessário para interfaces de link ponto a ponto.
O endereço do gateway padrão é o endereço IP do gateway padrão na interface
anexado ao link compartilhado. No caso do IPv6, o endereço de gateway padrão deve
ser um endereço de link local.
Os hosts multihomed têm um gateway padrão por interface de link compartilhado e
enfrentam o problema adicional de determinar qual interface usar para transmitir seu
tráfego. O tráfego pode ser distribuído entre as várias interfaces de acordo com algum
critério, mas a solução comum é enviar todo o tráfego pela interface de maior largura de
banda. Assim, nessa configuração, o host de origem seleciona primeiro a interface de
saída e depois envia todo o tráfego para o roteador de primeiro salto dessa interface,
que no caso de interfaces de link compartilhado é o gateway padrão.
28 1 Roteamento e Endereçamento
30 1 Roteamento e Endereçamento
223.2.3.18/24
DG=223.2.3.254 00:1d:70:d7:c4:c1
9.0.0.1
outros campos
223.2.3.254/24
pacote Ethernet
00:1d:70:d7:c4:c1
tabela de encaminhamento de camada 3
i1
destino próximo int
9.0.0.0/8 salto 125.6.2.2 i2
125.6.0.0/16 CC i2 R1
223.2.3.0/24 CC i1
i2
125.6.1.1/16
48:dd:a9:56:b3:47
i2 pacote Ethernet
125.6.2.2/16
10:d3:51:23:d5:38
tabela de encaminhamento de camada 3
i1
destino próximo int
9.0.0.0/8 i2
125.6.0.0/16 salto dc dc i1
R2
223.2.3.0/24 125.6.1.1 i1 i2
pacote IEEE
802.11
9.0.0.1/8
d0:15:a7:5b:11:20
O roteamento de ponta a ponta envolve três etapas, e cada etapa pode exigir a
intervenção de um protocolo de resolução de endereço para mapear endereços
IP em endereços MAC. Na primeira etapa, do host de origem ao roteador do
primeiro salto, o host de origem entrega o pacote a um roteador do primeiro
salto predefinido, chamado de gateway padrão. O endereço do gateway padrão
pode ser configurado manualmente no host ou obtido de um servidor DHCP ou
do próprio gateway padrão. A segunda etapa, entre o primeiro salto e o
roteador do último salto, é realizada por meio do protocolo de roteamento.
Nesta etapa, o pacote é roteado de acordo com as tabelas de encaminhamento
dos roteadores. Na última etapa, o roteador de último salto entrega o pacote ao
host de destino.
32 1 Roteamento e Endereçamento
uma rede ATM pode ser configurada para fornecer conectividade total ou parcial, usando uma malha
total ou parcial de PVC (Circuitos Virtuais Permanentes).
Um link compartilhado tem capacidade de broadcast se um pacote transmitido no link por um
dispositivo usando o endereço de destino de broadcast for recebido e lido por todos os outros
dispositivos conectados ao link. Assim, esta capacidade diz respeito à possibilidade de entregar
informações simultaneamente para todos os dispositivos conectados a um link usando apenas um
pacote. Está presente em redes Ethernet (comutadas e não comutadas), Token Ring e Wi-Fi, mas
não em redes X.25, Frame Relay e ATM. Observe que um link pode ser totalmente em malha, mas
não capaz de transmitir.
Links compartilhados de trânsito e stub Finalmente, pode-se distinguir entre links compartilhados de
trânsito e stub. Um link compartilhado stub tem apenas um roteador conectado e um link compartilhado
de trânsito tem dois ou mais roteadores conectados. Por exemplo, na rede da Figura 1.1, o link
wireless é um link compartilhado stub, e a Ethernet comutada conectando todos os quatro roteadores
é um link compartilhado de trânsito.
Observe que não precisa haver uma correspondência direta entre as tecnologias da camada 2
e os tipos de links abstratos usados para representá-los. Por exemplo, um link Ethernet é uma
tecnologia que pode conectar muitos roteadores e, portanto, é naturalmente representado como um
link compartilhado. No entanto, também pode ser representado como um link ponto a ponto se estiver
conectando apenas dois roteadores. Esta possibilidade é ilustrada na Seção 9.2.1.6.
Os links da camada 2 podem ser classificados como links ponto a ponto ou compartilhados.
Os links ponto a ponto conectam dois, e apenas dois, dispositivos de camada 3. Os links
compartilhados abstraem as redes da camada 2 e podem potencialmente conectar muitos
dispositivos da camada 3. Além disso, links compartilhados podem ser classificados como
full-meshed ou parcialmente mesh, como broadcast ou non-broadcast, e como trânsito ou
links stub.
Mapeando grafos para redes Ao estudar protocolos de roteamento de camada 3, a associação natural
entre elementos de rede e gráfico é ter nós representando roteadores e arcos representando as
conexões de camada 2 entre roteadores. Porém, em alguns casos, pode ser vantajoso adotar outros
mapeamentos entre os elementos da rede e do grafo. Os hosts não são incluídos no gráfico se não
participarem do protocolo de roteamento, que geralmente é o
caso.
R1 R2 R1 pseudonó
R2
R3 R4 R3 nó R4
(a) (b)
FIGURA 1.17: Conectividade fornecida por um link compartilhado com quatro roteadores
representados por (a) arcos conectando cada par de nós ou (b) um pseudonó.
34 1 Roteamento e Endereçamento
lp1
R1 R2
ls1 ls2
lp2
pseudonó (link
compartilhado de trânsito)
R3 R4
ls3
nó pseudonó (link
compartilhado stub)
ls1 representa a LAN Ethernet baseada em hub simples. O pseudonó ls2 representa a Ethernet
comutada composta por três switches arranjados em uma topologia triangular. Esses pseudonós
são links compartilhados de trânsito. O pseudonó ls3 representa a LAN sem fio e é um link
compartilhado de stub. Claro, há um problema de roteamento dentro da rede Ethernet comutada
representada pelo link compartilhado ls2. Este problema geralmente é tratado através do
protocolo spanning tree, e poderia ser estudado usando outro grafo, agora representando os
detalhes internos da Ethernet comutada. Entretanto, para o estudo do roteamento IP, a Ethernet
comutada pode ser convenientemente abstraída por meio de uma única entidade (no caso, o
link compartilhado), pois, nessa perspectiva, a Ethernet comutada é apenas uma provedora de
conectividade entre os roteadores IP.
As redes podem ser representadas por grafos, e essa representação abstrata facilita
o entendimento dos protocolos de roteamento. Um grafo é composto de nós e arcos.
Para estudar o roteamento da camada 3, um mapeamento natural entre os elementos
da rede e do grafo é ter nós representando roteadores e arcos as conexões da camada
2 entre os roteadores, que podem ser ponto a ponto ou links compartilhados. Para
simplificar a representação, a conectividade dentro de um link compartilhado totalmente
em malha pode ser resumida por meio de um único nó, chamado de pseudonó.
• Ser eficiente, ou seja, manter ao mínimo a carga introduzida pelas mensagens de controle, pois os
recursos disponíveis para transportar informações de controle são subtraídos dos de informações
de dados.
Detecção de erros A técnica usual de detecção de erros consiste em anexar à mensagem transmitida
um campo calculado sobre seu conteúdo e compará-lo, no destino, com o mesmo cálculo realizado
sobre o conteúdo da mensagem.
36 1 Roteamento e Endereçamento
• Se o remetente não receber a confirmação antes que o timer ACK expire, ele retransmite a
mensagem e ajusta novamente o timer para o valor de timeout; isso é repetido até que uma
confirmação seja finalmente recebida.
Observe que nessa interação tanto a mensagem inicial quanto o reconhecimento podem
ser corrompidos, mas as retransmissões só param quando ambas as mensagens são recebidas
corretamente.
A confirmação pode ser realizada por meio de uma mensagem de controle explícita,
geralmente chamada de ACK, ou pode estar implícita na resposta. Por exemplo, se o remetente
solicitar alguma informação, receber essa informação confirma que a solicitação foi recebida
corretamente. Iremos nos referir a transmissões protegidas desta forma como sendo protegidas
por ACK.
Um remetente pode ter que transmitir ao mesmo tempo várias mensagens que requerem
proteção ACK. Além disso, um receptor pode receber a mesma mensagem várias vezes, o que
pode acontecer quando os ACKs são perdidos. Assim, deve haver uma forma de distinguir entre
uma nova mensagem e uma cópia de uma anteriormente transmitida, e deve haver uma forma
de correlacionar cada mensagem transmitida com o reconhecimento correspondente. Isso
geralmente é obtido numerando as mensagens com números sequenciais exclusivos, geralmente
chamados apenas de Números de Sequência (SNs), e numerando os ACKs com os SNs das
mensagens que eles reconhecem.
5 5 5 5
WLPHRXW
WLPH WLPH
D E
usado no LSR, é o protocolo Stop-and-Wait (SW). Nesse caso, apenas uma mensagem pode
ser transmitida por vez, e o remetente só pode passar para a transmissão da próxima mensagem
após receber a confirmação de que a anterior foi recebida corretamente.
A Figura 1.19 ilustra a operação do protocolo SW. Na Figura 1.19.a, o roteador R1 envia
três mensagens DATA para o roteador R2. As mensagens DATA são numeradas
sequencialmente e cada ACK repete o SN do DATA que ele reconhece.
Não há erros de transmissão, mas uma mensagem DATA só pode ser transmitida após o
reconhecimento da anterior. Na Figura 1.19.b , o ACK enviado pelo roteador R2 em resposta à
primeira mensagem DATA é perdido. Assim, o timer definido pelo roteador (quando a mensagem
foi transmitida inicialmente) expira e, quando isso acontece, o roteador R1 retransmite a
mensagem DATA usando o mesmo SN. O roteador R2 descarta a segunda mensagem DATA,
pois reconhece, com base no SN, que já foi recebida. No entanto, ainda reconhece sua recepção.
Um procedimento semelhante é seguido no caso de perda de uma mensagem de DADOS.
38 1 Roteamento e Endereçamento
R1 R2
Sw1 Sw2
R3 R4
Sw3
R1 R2
Sw1 Sw2
R3 R4
Sw3
parte II
Princípios
2
Princípios do estado de link de área única
Roteamento
Link State Routing (LSR) é uma abordagem de roteamento em que cada roteador mantém uma visão
completa da rede, ou seja, onde cada roteador conhece a topologia de rede completa e a correspondência
entre prefixos disponíveis e elementos de rede (roteadores ou links). É com base nessa visão, que
chamaremos de informação de roteamento, que os roteadores constroem suas tabelas de encaminhamento.
Para garantir que os roteadores mantenham tabelas de encaminhamento globalmente consistentes, as
informações de roteamento devem ser as mesmas em todos os roteadores.
Neste capítulo, nos concentramos nas duas primeiras questões; a terceira questão é
relacionadas a redes multiárea e serão abordadas no capítulo 3.
Nos protocolos LSR, cada roteador constrói e mantém um Link State Database (LSDB) contendo as
informações de roteamento necessárias para construir sua tabela de encaminhamento. Existem três
tipos de informações de roteamento (consulte a Figura 2.1):
• Informações do link - Descreve os endereços usados para transportar pacotes no link entre roteadores
vizinhos. Essas informações têm natureza local e não precisam ser as mesmas nos LSDBs de todos
os roteadores.
43
O LSDB deve ser mantido atualizado e sincronizado em todos os roteadores, e para isso são
necessários três mecanismos (ver Figura 2.1):
• Processo de sincronização inicial do LSDB - Sincroniza os LSDBs dos roteadores que se tornam
vizinhos.
Os protocolos LSR constroem e mantêm um banco de dados, chamado Link State Database
(LSDB), contendo informações topológicas (o mapa da rede, representando a topologia da
rede), informações de endereçamento (os prefixos de endereço atribuídos a roteadores e
links) e informações de link (os endereços necessários para transportar pacotes entre
roteadores vizinhos). A consistência do LSDB é obtida por meio de três mecanismos de
sincronização distintos: protocolo Hello, procedimento de flooding confiável e processo de
sincronização inicial do LSDB.
O protocolo Hello é executado por link e, portanto, um roteador deve executar uma instância do
protocolo em cada uma de suas interfaces. O protocolo mantém uma lista com os identificadores dos
vizinhos atualmente ativos no enlace, chamada lista de vizinhos ativos.
O protocolo deve se comportar corretamente mesmo se a rede não for confiável, ou seja, em caso
de falha de roteador e link e perda de mensagens de controle. Nas próximas seções, discutimos primeiro
o protocolo Hello para redes confiáveis e, em seguida, introduzimos as modificações necessárias para
garantir a correção do protocolo no caso de redes não confiáveis. Também discutimos como o protocolo
é usado para verificar se as comunicações entre vizinhos são bidirecionais, quais requisitos ele impõe
na identificação de vizinhos, bem como alguns usos adicionais do protocolo.
• Quando um roteador entra no link, ele transmite uma mensagem HELLO contendo
seu identificador;
• Todo roteador que recebe uma mensagem HELLO responde com uma mensagem HELLO REPLY
contendo seu identificador;
• Quando um roteador deixa o link, ele transmite uma mensagem BYE contendo seu
identificador;
3 3 5 5
1 R1 1 R1 R1 7 R1
R1 R2 R1 R2 R2 R1 R2
R2 R3 R2 R3 R3 R3 R3
R1 R2 R1 R2
4 4 6
+(//2 +(//2
5(3/<5 +(//25 5(3/<5 %<(5
2
5 1 5 7
R1 R3 R3 R1 R1 R3
R2 (a) R2 R3 (b)
R3 R3
FIGURA 2.2: Protocolo Hello para redes confiáveis; (a) roteador R3 entrando no link, (b) roteador R2
saindo do link.
• Quando um roteador recebe uma mensagem HELLO ou HELLO REPLY, ele adiciona o
identificador contido na mensagem à sua lista de vizinhos ativos; inversamente, ao receber uma
mensagem BYE, remove o identificador contido na mensagem dessa lista.
Ilustramos a operação desse protocolo na Figura 2.2. Os números dentro de círculos indicam
as etapas do algoritmo, e abaixo de cada etapa mostramos a lista de vizinhos ativos de cada
roteador. Neste exemplo, o roteador R3 se junta ao link quando os roteadores R1 e R2 já estão lá
(Figura 2.2.a) e posteriormente o roteador R2 sai do link (Figura 2.2.b). Inicialmente, (passo 1) as
listas de vizinhos ativos dos roteadores R1 e R2 contêm R1 e R2, e a do roteador R3 contém apenas
R3. Quando o roteador R3 entra no link, ele transmite uma mensagem HELLO com seu identificador
(etapa 2). Ao receber esta mensagem, os roteadores R1 e R2 adicionam R3 às suas listas de
vizinhos ativos (etapa 3) e cada roteador responde transmitindo uma mensagem HELLO REPLY
contendo seu identificador (etapa 4). Quando essas mensagens são recebidas, o roteador R3
adiciona R1 e R2 à sua lista e o algoritmo termina (etapa 5). Posteriormente, quando o roteador R2
decide sair do enlace, ele transmite uma mensagem BYE contendo seu identificador e deleta sua
lista de vizinhos ativos (etapa 6). Ao receber esta mensagem, os roteadores R1 e R3 removem R2
de sua lista de vizinhos ativos e o algoritmo termina novamente (etapa 7).
• Se uma mensagem BYE for perdida, os vizinhos restantes continuarão acreditando que o roteador
de saída ainda está ativo;
OLÁ (R1,R2) 3
OLÁ (R1)
1
(a) R1 R2 R1 R2 (b)
2
OLÁ (R2) OLÁ (R1, R2)
vizinho reconhece a recepção das mensagens HELLO transmitidas pelo roteador. Isso pode ser
alcançado se as mensagens HELLO listarem não apenas o identificador do roteador de envio, mas
também os identificadores dos vizinhos ativos no link. O procedimento se aplica a links ponto a ponto
e compartilhados e é ilustrado na Figura 2.3.b. O roteador R1 envia uma mensagem OLÁ listando a
si mesmo (etapa 1). Na próxima mensagem HELLO enviada por R2, o roteador lista a si mesmo e
R1 (etapa 2), e quando R1 recebe esta mensagem, conclui que as comunicações para R2 estão
operacionais. Da mesma forma, na próxima mensagem HELLO enviada por R1, o roteador lista a si
mesmo e R2 (etapa 3), e quando R2 recebe esta mensagem, conclui que as comunicações para R1
estão operacionais. Nos protocolos LSR, dois roteadores só são considerados vizinhos se a
comunicação bidirecional entre eles for verificada.
• Os roteadores mantêm uma lista dos vizinhos ativos em um link, onde cada entrada
corresponde a um vizinho e tem uma idade e um tempo de vida;
• Quando um roteador recebe uma mensagem HELLO de um novo vizinho, ele instala uma nova
entrada na lista com o identificador daquele vizinho e idade zero; caso contrário, se o vizinho já
existir, ele simplesmente zera a idade da entrada correspondente;
O timer que regula a transmissão de pacotes HELLO é chamado de Hello timer, e aquele que é
usado para detectar se um vizinho ainda está ativo (ou seja, se o
R1 R1 R1
R2 R2 R2
R3 R3 R3
R1 R2 R1 R2
+(//2 +(//2
R1 R1
R2 R3 R2 R3
R3 R3
R1
R3 R1 R2
+(//2
+(//2
R1
R3
R3
conseguir isso, dependendo da tecnologia. OSPFv2 identifica cada interface usando endereços IPv4
e IS-IS usando endereços MAC; esses endereços são globalmente exclusivos. No OSPFv3, os
roteadores identificam suas interfaces concatenando o identificador do roteador (que é único em
um domínio de rede) com um número de interface atribuído localmente pelo roteador.
Para manter o mapa da rede atualizado, os roteadores precisam manter uma lista dos
vizinhos ativos em cada um de seus links. Isso é obtido pelo protocolo Hello. Nesse
protocolo, cada roteador transmite periodicamente em cada enlace mensagens HELLO
contendo sua lista de vizinhos ativos. Se um roteador deixa de enviar mensagens HELLO
por algum tempo, seus vizinhos assumem que ele foi removido do link. O protocolo Hello
também é usado para determinar se a comunicação entre dois roteadores é bidirecional.
e links. Esta seção discute os vários aspectos relacionados à estrutura do mapa de rede.
A representação da rede depende de uma abstração da rede física, que oculta seus detalhes
irrelevantes. Para obter essa representação, é preciso considerar três aspectos:
• Como é descrita a topologia da rede (ou seja, a conexão entre os elementos topológicos)?
Seguindo a Seção 1.7.2, reconhecemos três tipos de elementos topológicos: (i) roteadores,
(ii) links compartilhados e (iii) links ponto-a-ponto e assumimos que esses elementos são
identificados usando espaços de nomes separados. Para facilitar a leitura, vamos nos referir aos
nomes dos elementos topológicos como identificadores.
Além disso, para distinguir entre os tipos de elementos, prefixamos os identificadores do roteador
com R, os identificadores de link compartilhado com ls e os identificadores de link ponto a ponto
com lp.
Para construir o mapa da rede, cada roteador descreve sua visão local da topologia da rede
usando um NR. A NR inclui (i) o identificador do roteador, (ii) os identificadores dos links aos
quais o roteador está conectado e (iii) os custos atribuídos às interfaces do roteador
correspondentes. O NR montado por um roteador é disseminado para todos os outros e, para
construir o mapa completo da rede (para resolver o quebra-cabeça...), cada roteador junta os
NRs recebidos, assim como os seus próprios.
A Figura 2.5 mostra, para a rede da Figura 1.1, a visão local de cada roteador e as NRs
correspondentes. Para facilitar a análise, repetimos o gráfico da rede na parte superior da figura.
Por exemplo, o NR do roteador R2 informa que o roteador está conectado aos links lp1, lp2 e ls2,
com custos de 10, 20 e 30, respectivamente; e o NR do roteador R3 informa que o roteador está
conectado aos enlaces ls1 e ls2, com custos de 25 e 15, respectivamente. Em um cenário onde
todos os roteadores são ligados ao mesmo tempo (cold start), inicialmente cada roteador conhece
apenas seu próprio NR. Neste momento, a rede ainda é vista como quatro ilhas isoladas!
A Figura 2.6 mostra a construção passo a passo do mapa de rede no roteador R3; todos os
outros roteadores se comportam de maneira semelhante. Inicialmente (Figura 2.6.a), o roteador
R3 conhece apenas a si mesmo e os links aos quais está conectado, ou seja, ls1 e ls2; ele tem
apenas um NR - o seu próprio - em seu mapa de rede. Quando o roteador R2 dissemina seu NR
(Figura 2.6.b), R3 aprende sobre a existência de R2 e seus links, lp1, lp2 e ls2; R3 também
aprende que pode se comunicar diretamente com R2 por meio do link ls2.
No entanto, neste ponto, R3 ainda tem uma visão parcial da rede: não
40 lp1 10
R1 R2
30
5 50 20
ls1 ls2
lp2
25 15 5
5
R3 R4
10
ls3
R1
lp1: 40
ls1: 5
ls2: 50
lp1 10
R2
30
20
ls2
lp2
ls1 ls2
25
15
R3 ls2
lp2
5
R3 R4 5
ls1: 25
ls2: 15
lp2: 5 R4
ls2: 5
ls3: 10 10 ls3
FIGURA 2.5: Visualização da rede local de cada roteador e os correspondentes Net work Records
(NRs), na rede da Figura 1.1.
ls1 ls2
R3
ls1: 25
25 15
ls2: 15
R3
(a)
lp1 10 R2
R2
30
lp1: 10
20 lp2: 20
ls1 ls2 ls2: 30
lp2
R3
25
ls1: 25
15
ls2: 15
R3
(b)
R2
lp1 10 lp1: 10
R2 lp2: 20
30
20 ls2: 30
ls1 ls2 R3
lp2 ls1: 25
ls2: 15
25 15 5
5 R4
R3 R4 lp2: 5
ls2: 5
10
ls3 ls3: 10
(c)
R1
lp1: 40
40 lp1 10
R1 R2 ls1: 5
30 ls2: 50
5 50 20
ls1 ls2 R2
lp2 lp1: 10
lp2: 20
25 15 5 ls2: 30
5
R3 R4 R3
ls1: 25
10 ls2: 15
ls3
R4
(d)
lp2: 5
ls2: 5
ls3: 10
conheça os roteadores R1 e R4 e seus links. O mapa completo da rede só é obtido quando esses
dois roteadores transmitem seus NRs (Figura 2.6.ce Figura 2.6.d).
Observe que considera-se que dois roteadores estão conectados por meio de um link se seus
NRs compartilham o mesmo identificador de link. Por exemplo, sabemos que os roteadores R2 e R4
estão conectados através do link lp2 porque ambos os seus NRs incluem uma entrada referente a
esse link.
Os identificadores de roteadores e links devem ser configurados nos roteadores, pois apenas os
roteadores são equipamentos de camada 3 configuráveis. Os identificadores de roteador devem ser
configurados explicitamente pelo gerente de rede; dizemos que são identificadores estáticos.
Os identificadores de link também podem ser configurados estaticamente. No entanto, esta solução
é repetitiva e propensa a erros. Por exemplo, na rede da Figura 2.5, o gerente de rede teria que
configurar o mesmo identificador em todos os quatro roteadores conectados ao enlace ls2, sem
erros, para garantir a exatidão. Uma solução melhor é derivar os identificadores do link dos
identificadores do roteador, de forma que apenas o último precise ser configurado estaticamente.
Uma maneira de conseguir isso é construir o identificador do link com base nos identificadores
dos roteadores conectados ao link e contar com o protocolo Hello para disseminar os identificadores
do roteador dentro do link. Essa solução é mais flexível e evita a identificação de links por meio de
namespaces dedicados. Também traz um benefício adicional: devido ao envolvimento do protocolo
Hello, a presença ou ausência do identificador do link reflete diretamente no estado do link, como
operacional ou não operacional. Os identificadores configurados dessa forma são chamados de
identificadores dinâmicos.
Um enlace ponto a ponto pode ser identificado em um roteador através do identificador de seu
vizinho no enlace (ou seja, o roteador do outro lado), que se torna conhecido através do protocolo
Hello. No entanto, como pode haver vários links paralelos ponto a ponto entre dois roteadores, é
necessário um elemento adicional para garantir a exclusividade dos identificadores. Este elemento
pode ser uma tag atribuída localmente pelo
identificador
tipo de vizinho identificador
de link de interface
lp1=p|2|1
i1
lp1=p|1|3
R1 i5
i3
R2
lp2=p|2|5
i7
lp2=p|1|7
roteador, único entre os enlaces ponto a ponto que levam ao mesmo vizinho; a tag geralmente
é o identificador da interface do link. Assim, um link ponto-a-ponto pode ser identificado
exclusivamente em um roteador usando três elementos: (i) o tipo de link, (ii) o identificador do
roteador vizinho e (iii) o identificador da interface que conecta o roteador ao a ligação. Observe
que um link ponto a ponto é considerado um único link que fornece comunicações em ambas
as direções. Assim, de acordo com o critério de identificação de link acima, um link ponto-a-
ponto é nomeado de forma diferente por cada um de seus roteadores finais (sabemos que
isso parece estranho...).
As interfaces de enlace ponto a ponto também são consideradas bidirecionais, ou seja,
capazes de transmitir e receber tráfego. Além disso, usaremos o alias lpi para nos referirmos
ao link ponto-a-ponto i sempre que for conveniente, tendo em vista que o identificador possui
uma estrutura interna mais complexa. Isso é ilustrado na Figura 2.7.
Os roteadores R1 e R2 são conectados por meio de dois links ponto a ponto paralelos.
Os identificadores de interface são i1 e i5 em R1 e i3 e i7 em R2. O link ponto a ponto superior
é identificado no roteador R1 por p|2|1 e no roteador R2 por p|1|3; o link ponto a ponto inferior
é identificado no roteador R1 por p|2|5 e no roteador R2 por p|1|7.
Observe que pode não ser necessário anunciar todos os links paralelos entre roteadores.
Por exemplo, se o mapa de rede está sendo construído apenas para calcular os caminhos
mais curtos, apenas o link de menor custo precisa ser anunciado.
Os links ponto a ponto são identificados usando identificadores de vizinhos em OSPF e
IS-IS. IS-IS não tem como distinguir entre links paralelos, e apenas o link de menor custo é
anunciado. O OSPF distingue entre esses links usando o endereço IPv4 atribuído à interface,
em OSPFv2, e o identificador de interface, em OSPFv3.
identificador DR
RD tipo
identificador de
ls1=s|5|2 de link interface DR
i2 ls3=s|5|1
i1
R5
i3
ls2=s|5|3
Eleição de DR A eleição de DR pode ser baseada no protocolo Hello, pois ele divulga periodicamente (através
de mensagens HELLO) os identificadores de todos os roteadores conectados a um link compartilhado. Os
roteadores devem concordar com algum critério para decidir qual roteador é o DR. Um critério possível é
selecionar o primeiro roteador a se tornar ativo no link; outro critério é selecionar o roteador com o identificador
mais alto (ou mais baixo). OSPF usa o primeiro critério e IS-IS o segundo. Por exemplo, na rede da Figura 2.5,
o DR seria o roteador R1 em ambos os enlaces ls1 e ls2, se o critério for o identificador mais baixo primeiro,
ou o roteador R3 no enlace ls1 e o roteador R4 no enlace ls2, se o critério for o identificador mais alto primeiro.
Exclusividade da identificação do link O primeiro exemplo acima mostra que um roteador pode ser o DR em
mais de um link compartilhado. Assim, para garantir a unicidade na identificação de links compartilhados, é
necessário um elemento adicional. Este elemento pode ser um tag atribuído localmente pelo DR, único entre
os enlaces onde o roteador é o DR; a tag geralmente é o identificador da interface que conecta o DR ao link.
Assim, um link compartilhado é identificado dinamicamente por meio de três elementos: (i) o tipo de link, (ii) o
identificador do DR e (iii) o identificador da interface que conecta o DR ao link. Da mesma forma que os links
ponto-a-ponto, usaremos o alias lsi para nos referirmos ao link compartilhado i sempre que conveniente,
lembrando que o identificador possui uma estrutura interna mais complexa. A Figura 2.8 apresenta uma
ilustração. No exemplo, o roteador R5 é o DR em três links compartilhados; o identificador do link conectado
via interface i1 é s|5|1, o link conectado via interface i2 é s|5|2 e o link conectado via interface i3 é s|5|3.
Links compartilhados são identificados desta forma em IS-IS e OSPFv3. No OSPFv2, o identificador DR
não é usado e os links compartilhados são identificados por meio do endereço IPv4 atribuído à interface DR
anexada ao link.
Anunciando o identificador de link compartilhado Uma vez que o identificador de link compartilhado
é determinado pelo DR, ele deve ser anunciado a todos os roteadores conectados ao link. Sem
essa informação, os roteadores não conseguem finalizar a montagem de suas NRs. Por exemplo,
na rede da Figura 2.5, os roteadores R1 a R4 não podem concluir a construção de seus NRs sem
saber que ls2 é o identificador do link compartilhado ao qual estão conectados. Mesmo que os
roteadores possam determinar por conta própria qual roteador é o DR (porque todos eles
conhecem a regra de eleição), a tag identificadora é atribuída localmente pelo DR e apenas o DR
a conhece inicialmente. Uma solução simples para anunciar o identificador de link compartilhado
é usar o protocolo Hello. Como antes, os roteadores conectados a um link compartilhado primeiro
se tornam vizinhos (isto é, eles estabelecem comunicação bidirecional) e elegem o DR. Depois
que a eleição é concluída, o DR compõe o identificador do link compartilhado e o anuncia nas
mensagens HELLO subsequentes que ele transmite no link. Assim, um campo para anunciar o
identificador de link compartilhado deve ser adicionado às mensagens HELLO transmitidas em
links compartilhados.
As redes são altamente dinâmicas. Quando o estado de uma rede muda, o mapa da rede deve
ser atualizado o mais rápido possível para refletir a nova realidade. Isso significa que as NRs,
uma vez criadas e divulgadas, podem precisar ser substituídas por versões mais atualizadas
contendo informações mais recentes. Especificamente, se um roteador detecta uma alteração em
si mesmo ou nos links aos quais está conectado, ele deve disseminar um novo NR para informar
todos os outros e atualizar o mapa da rede. Assim, os NRs devem ter um atributo de atualização
para expressar o quão recentes eles são, de modo que os NRs mais recentes possam substituir
os mais antigos no mapa de rede. Iremos nos referir aos sucessivos NRs originados por um
roteador como instâncias NR. Na Seção 2.4.1, discutiremos como os atributos de frescor podem
ser compostos.
Três tipos de mudanças de rede precisam ser considerados:
Alterações nos custos da interface Quando o custo de uma interface é alterado em um roteador,
o roteador dissemina uma nova instância de NR com o novo custo, que substituirá a antiga.
Adições de roteadores e links Da mesma forma, quando um novo link é anexado a um roteador,
o roteador dissemina uma nova instância NR com uma nova entrada
Remoções de roteadores e links A remoção de roteadores e links é mais difícil de lidar. Dois tipos
de remoções podem ser identificados: remoções suaves, ou seja, remoções por meio de ações de
configuração, e remoções definitivas, ou seja, falhas. Uma remoção de link (soft ou hard) é detectada
pelos roteadores conectados ao link, por exemplo, por meio de mecanismos de hardware ou do
protocolo Hello. Quando um roteador detecta esse evento, ele dissemina uma nova instância de NR
sem a entrada associada ao link removido. Os links compartilhados podem falhar apenas
parcialmente, mantendo duas ou mais ilhas de conectividade separadas; discutiremos esse problema
na Seção 2.2.1.6.
O impacto das remoções do roteador no mapa de rede depende se a remoção é uma remoção
suave ou uma falha. Quando um roteador é removido temporariamente, ele tem a oportunidade de
excluir seu NR dos LSDBs dos roteadores restantes antes de ser removido (por exemplo, desligado).
Isso pode ser feito disseminando uma mensagem de exclusão por toda a rede; abordaremos essa
questão na Seção 2.4.6. No entanto, quando um roteador falha, ele não tem oportunidade de excluir
seu NR.
Isso mostra que o mapa da rede pode conter NRs desatualizados e, como será mostrado adiante,
esses NRs podem levar a conclusões errôneas sobre a conectividade da rede; este problema será
discutido na Seção 2.2.1.7.
O grafo de conectividade Para estudar o problema das NRs desatualizadas, recorremos a um grafo
que expressa a conectividade que deriva do mapa da rede; nós o chamamos de gráfico de
conectividade. Neste grafo, os roteadores são representados como nós e a conectividade entre os
roteadores como arcos. Haverá um arco entre dois nós somente se a comunicação entre os
roteadores correspondentes for bidirrecional, pois somente neste caso os dois roteadores podem
ser considerados vizinhos (ver Seção 2.1).
Conforme discutido na Seção 1.8.2, links compartilhados podem ser particionados em duas ou mais
ilhas de conectividade; neste caso, a rede deve continuar utilizando as partes resultantes para fins
de roteamento, se possível. Felizmente, o mecanismo para atribuir identificadores dinâmicos de links
compartilhados lida corretamente com esse problema. Quando um link particiona, o protocolo Hello
identifica os subgrupos de roteadores que ainda podem se comunicar entre si e elege um DR para
cada subgrupo, exceto o subgrupo do DR anterior. Então, novo link
40
lp1 10
R1 R2 5
30 lp2
50
10
ls1 R5
15
5 lp3
15
R3 R4 25
R1 R2 R3 R4 R5
lp1: 40 lp1: 10 ls1: 15 lp3: 25 lp2: 10 (a)
ls1: 50 lp2: 5 ls1: 5 lp3: 15
ls1: 30
R1 R2
R5 (b)
R3 R4
são obtidos identificadores (com base nos novos DRs), e os roteadores conectados
aos links onde o identificador do link foi alterado divulgam novas instâncias de NR com
as informações atualizadas.
Isso é ilustrado na Figura 2.10. O roteador R2 é inicialmente o DR do link
compartilhado e o identificador do link compartilhado é ls1=s|2; não incluímos o número
da interface nos identificadores de links compartilhados, pois, nesta rede de exemplo,
não é necessário identificar exclusivamente os links. Quando o link é particionado, os
roteadores R1 e R3 param de receber mensagens HELLO dos roteadores R2 e R4 e
vice-versa. Assim, dois subgrupos são formados, cada um contendo apenas os
roteadores que se reconhecem como vizinhos através do protocolo Hello. O subgrupo
de roteadores R1 e R3 elege um novo DR, que neste exemplo é o roteador R3, e o
DR define o identificador do novo link como ls2=s|3. Este identificador é comunicado
ao roteador R1 através do protocolo Hello, e tanto R1 quanto R3 disseminam uma
nova instância NR contendo o novo identificador de enlace. No subgrupo de roteadores
R2 e R4 não há eleição de DR (o roteador R2 continua sendo o DR) e o identificador
do link permanece o mesmo. A Figura 2.10.a mostra
40 lp1 10
R1 R2 5
30 lp2
50
10
DR (ls1)
ls2=s|3 R5
ls1=s|2
15
5 lp3
15
R3 R4 25
DR (ls2)
R1 R2 R3 R4 R5
lp1: 40 lp1: 10 ls2: 15 lp3: 25 lp2: 10 (a)
ls2: 50 lp2: 5 ls1: 5 lp3: 15
ls1: 30
R1 R2
R5 (b)
R3 R4
FIGURA 2.10: Particionamento de link compartilhado; (a) mapa da rede após o particionamento e (b)
grafo de conectividade correspondente.
Um roteador que falha não pode excluir seu NR do mapa de rede. Porém, em geral, a falha de um
roteador pode ser inferida a partir das informações veiculadas por seus vizinhos, o que permite
atualizar corretamente as tabelas de encaminhamento. Especificamente, quando um roteador falha,
seus vizinhos detectam o evento através do protocolo Hello e disseminam novas instâncias de NR
onde o link com o roteador que falhou não está mais listado. Então, na maioria dos cenários de falha,
o roteador com falha fica isolado no mapa de rede e, quando outros roteadores reconstroem suas
tabelas de encaminhamento, as novas rotas não cruzarão mais o roteador com falha.
40 lp1 10
R1 R2 5
30 lp2
50
10
ls1 R5
15
5 lp3
15
R3 R4 25
R1 R2
R5 (b)
R3 R4
FIGURA 2.11: Falha de roteador conectado com vizinhos através de enlaces ponto a ponto
(caso 1); (a) mapa da rede após a falha e (b) grafo de conectividade correspondente.
Infelizmente, existem alguns cenários de falha em que o roteador com falha não fica isolado
no mapa de redes.
Três casos devem ser considerados em relação ao vizinho que detecta uma falha:
2. O vizinho está conectado ao roteador com falha por meio de um link compartilhado
e o roteador que falhou foi o link DR;
3. O vizinho está conectado ao roteador com falha por meio de um link compartilhado
e o roteador com falha não era o link DR.
Caso 1 O primeiro caso é ilustrado na Figura 2.11. O roteador R5 está conectado aos
roteadores R2 e R4 por meio de links ponto a ponto. Quando o roteador R5 falha, os
roteadores R2 e R4 detectam a falha através do protocolo Hello e ambos divulgam novas
instâncias de NR onde seu link com o roteador R5 não está mais listado. A Figura 2.11.a
mostra que o NR do roteador R5 permanece no mapa da rede após o
40
lp1 10
R1 R2 5
30 lp2
50
10
ls1=s|2
ls2=s|3
antigo DR
R5
15
5 lp3
15
R3 R4 25
novo DR
(a)
5 ls2: 50 5 lp1: 5 ls2: 15 5 lp3: 5 lp3: 15
10 25 ls2: 5
lp2: 5 ls1: 30
R1 R2
R5 (b)
R3 R4
FIGURA 2.12: Falha de roteador conectado com vizinhos através de um link compartilhado onde é o
DR (caso 2); (a) mapa da rede após a falha e (b) grafo de conectividade correspondente.
falha. Porém, conforme visto no gráfico de conectividade da Figura 2.11.b, o roteador R5 fica isolado
e, portanto, não será mais utilizado para fins de roteamento.
Caso 2 O segundo caso é ilustrado na Figura 2.12. Nesse caso, o roteador R2 é o DR no link
compartilhado e falha. A falha é detectada por seus vizinhos no link compartilhado (e em seus links
ponto-a-ponto), através do protocolo Hello. Uma vez detectada a falha, os demais roteadores
conectados ao link compartilhado elegem um novo DR e definem um novo identificador para o link;
isso é novamente realizado por meio do protocolo Hello. Assumimos que o identificador do enlace
era inicialmente ls1=s|2 e, após a falha, mudou para ls2=s|3. Como o identificador do link foi
alterado, os roteadores conectados ao link compartilhado disseminam uma nova instância de NR,
onde o identificador do link antigo é substituído pelo novo. Além disso, os links ponto a ponto que
levam ao roteador R2 são suprimidos dos NRs dos roteadores R1 e R5. A Figura 2.12.a mostra o
mapa da rede após a falha do roteador R2, e a Figura 2.12.b mostra o gráfico de conectividade
correspondente. Como no exemplo anterior, o NR do roteador que falhou fica no
40 lp1 10
R1 R2 5
50 30 lp2
10
RD
ls1=s|2 R5
15
5 lp3
15
R3 R4 25
R1 R2
R5 (b)
R3 R4
cenários. O problema não existiria se um identificador de link diferente fosse assinado para cada
par de roteadores se comunicando por um link compartilhado. No entanto, essa solução não
escalaria, conforme discutido na Seção 1.7.1.
Soluções alternativas para o problema do caso 3 Uma solução para este problema é impor uma
mudança no identificador do enlace sempre que for detectada a falha de um roteador não DR. Isso
pode ser implementado facilmente: o DR apenas modifica a tag que, juntamente com o identificador
do DR, compõe o identificador do link compartilhado. A desvantagem dessa solução é que, em caso
de falha, todos os roteadores devem disseminar uma nova instância de NR, contendo o novo
identificador do enlace.
Outra solução para este problema é criar um novo tipo de NR, descrevendo links compartilhados
e seus roteadores conectados. Esta é a solução adotada em OSPF e IS-IS, e a discutiremos na
próxima seção.
A falha de um roteador não DR conectado a um link compartilhado não é refletida no mapa da rede,
pois o identificador do link não muda em reação à falha. Uma maneira de lidar com esse problema é
introduzir um novo tipo de NR para representar enlaces compartilhados de trânsito e seus roteadores
conectados. Esta NR inclui (i) o identificador do link e (ii) os identificadores de todos os roteadores
conectados ao link. Dessa forma, falhas de roteadores conectados a links compartilhados, DR ou
não-DR, tornam-se imediatamente visíveis no mapa da rede. Este NR será chamado de NR de link
compartilhado (slink-NR para abreviar) e, para evitar confusão, chamaremos de NR de roteador o
NR introduzido anteriormente para representar um roteador e seus links. Os links compartilhados
stub não precisam ser representados por slink-NRs, pois esses links possuem apenas um roteador
conectado.
Uma questão imediata é qual roteador deve ser responsável por originar slink-NRs. A escolha
natural é o DR do enlace compartilhado, pois este roteador já é eleito dentre os roteadores atrelados
ao enlace para efeito de definição do identificador do enlace.
Exemplo com router-NRs e slink-NRs A Figura 2.14 mostra o mapa da rede da Figura 1.1, estruturada
com router-NRs e slink-NRs.
Os roteadores-NRs descrevem os roteadores e seus links, e são exatamente como antes.
Mas o mapa de rede agora inclui dois slink-NRs, cada um representando um dos enlaces
compartilhados de trânsito, ou seja, enlaces ls1 e ls2. Por exemplo, o slink-NR do link ls2 lista todos
os quatro roteadores conectados ao link. Observe que as informações topológicas coletadas dos
slink-NRs podem ser completamente inferidas dos roteadores-NRs. Assim, deste ponto de vista,
slink-NRs não adicionam nenhuma informação.
No entanto, conforme discutido acima, eles fornecem uma maneira de lidar com falhas do roteador.
Como os slink-NRs resolvem o problema de falhas não DR em links compartilhados? O uso de slink-
NRs permite verificar duplamente a conectividade da rede.
Em particular, dois roteadores só são considerados conectados entre si por meio de um link
compartilhado de trânsito se (i) seus roteadores NRs se referirem ao link (através do identificador do
link) e (ii) o slink-NR que descreve o link se referir ao dois roteadores
40 lp1 10
R1 R2
30
5 50 20
ls1 ls2
lp2
25 15 5
5
R3 R4
10
ls3
R2 ls1
R1 lp1: lp1: 10 R1
40 lp2: 20 R3
ls1: 5 ls2: 50 ls2: 30
ls2
R3 R4 R1
ls1: 25 lp2: 5 R2
ls2: 15 ls2: 5 R3
ls3: 10 R4
router-NRs NRs de links compartilhados
FIGURA 2.14: Mapa da rede da Figura 1.1 estruturada com router-NRs e slink-NRs.
40 lp1 10
R1 R2 5
50 30 lp2
10
ls1=s|2 RD R5
15
5 lp3
15
R3 R4 25
R1 R2 R3 ls1
lp1: 40 lp1: 10 ls1: 15 R1
ls1: 50 lp2: 5 R2 (a)
R5
ls1: 30 R3
R4 lp2: 10 R4
lp3: 25 lp3: 15
ls1: 5
router-NRs link-compartilhado-NR
R1 R2 R3 ls1
lp1: 40 lp2: 5 ls1: 15 R2
ls1: 50 ls1: 30 R3 (b)
R5
R4
R4 lp2: 10
ls1: 5 lp3: 15
lp3: 25
router-NRs link-compartilhado-NR
R1 R2
R5 (c)
R3 R4
FIGURA 2.15: Falha de roteador conectado com vizinhos através de um link compartilhado onde não
é o DR. Mapa de rede com roteador-NRs e slink-NRs (a) antes da falha, (b) após a falha e (c) grafo
de conectividade correspondente.
40 lp1 10
R1 R2 5
30 lp2
50
10
ls1=s|2
ls2=s|3
antigo DR R5
15
5 lp3
15
R3 R4 25
novo DR
R1 R2 R3 ls1
lp1: 40 lp1: 10 ls1: 15 R1
ls1: 50 lp2: 5 R2 (a)
R5
ls1: 30 R3
R4 lp2: 10 R4
lp3: 25 lp3: 15
ls1: 5
router-NRs link-compartilhado-NR
R1 R2 R3 ls1 ls2
ls2: 50 lp1: 10 ls2: 15 R1 R1
R2 R3 (b)
R4 lp2: 5 R5
ls1: 30 R3 R4
lp3: 25 lp3: 15 R4
ls2: 5
router-NRs link-compartilhado-NR
R1 R2
R5 (c)
R3 R4
define ls2=s|3 como o novo identificador de link. Ele então dissemina um novo slink-NR que não
inclui mais o roteador R2. O slink-NR anterior, listando os roteadores R1 a R4 como sendo anexados
ao link ls1, permanece no LSDB, pois R2 não pôde excluí-lo (devido à falha). Assim, como visto na
Figura 2.16.b, existem agora dois slink-NRs, um novo (referente ao link ls2) e um desatualizado
(referente ao link ls1). O roteador-NR do roteador R2 também permanece no mapa de rede. Os dois
NRs desatualizados indicam que o roteador R2 pode estar conectado ao link ls1.
No entanto, nenhum outro roteador está conectado a este link, pois os roteadores-NRs de R1, R3 e
R4 foram atualizados para listar ls2 (em vez de ls1). Assim, como mostra o gráfico de conectividade
da Figura 2.16.c, o roteador R2 fica isolado no mapa da rede.
O mapa de rede deve ser mantido atualizado quando os custos de interface mudam,
quando roteadores ou links são adicionados ou removidos e quando links compartilhados
são particionados. Para lidar com o problema de falhas de roteadores, é necessária uma
nova NR descrevendo os links compartilhados e seus roteadores conectados. É chamado
de NR de link compartilhado (slink-NR) e, para evitar confusão, o NR que descreve os
roteadores e seus links agora é chamado de NR de roteador. O slink-NR é originado pelo
DR do link compartilhado que ele representa.
eles só precisam ser únicos dentro de um domínio de roteamento e não precisam estar presentes
nas tabelas de encaminhamento. Por outro lado, os prefixos roteáveis representam os destinos
finais da informação: eles devem estar presentes nas tabelas de encaminhamento e, para
comunicações em toda a Internet, devem estar preparados para identificar inequivocamente o
conjunto das interfaces da Internet. Assim, o espaço de nomes dos prefixos roteáveis precisa ser
muito maior em tamanho e escopo do que os identificadores topológicos. Uma sobrecarga
significativa é incorrida se alguém usar endereços roteáveis para identificar roteadores e links,
especialmente em uma época em que o número de hosts está aumentando muito rapidamente,
pressionando pela implantação rápida do endereçamento IPv6.
Assim como os identificadores de roteadores, links ponto a ponto e links compartilhados são
precedidos pelas palavras-chave R, lp, ls, respectivamente, os prefixos de endereços roteáveis
serão precedidos pela palavra-chave ap.
Divulgação O segundo aspecto mencionado acima diz respeito à divulgação de informações
topológicas e de endereçamento. Esses dois tipos de informação podem ser divulgados em
conjunto ou separadamente, mas há boas razões para divulgá-los separadamente. Primeiro, os
prefixos atribuídos a roteadores ou links específicos podem mudar com o tempo e podem mudar
com mais frequência do que a topologia da rede. Em segundo lugar, novos esquemas de
endereçamento podem ser introduzidos ao longo do tempo, e foi exatamente isso que aconteceu
com a evolução do IPv4 para o IPv6.
2.2.2.2 A área-prefixo-interno-NR
Existem três questões importantes que precisam ser abordadas em relação aos NRs de aip: (i)
como os prefixos estão relacionados aos elementos topológicos aos quais foram atribuídos, (ii) qual
roteador origina um NR de aip e (iii) quantos prefixos anunciar em cada aip-NR.
Como os prefixos estão relacionados aos elementos topológicos? Prefixos de endereço (ou mesmo
endereços individuais) podem ser atribuídos aos três tipos de elementos topológicos — roteadores,
links ponto a ponto e links compartilhados — para fornecer pontos de conexão para hosts ou para
fins de gerenciamento. Uma forma simples de relacionar prefixos a elementos topológicos é através
dos identificadores topológicos, ou seja, estabelecer uma correspondência entre os prefixos e os
identificadores dos roteadores ou enlaces aos quais estavam associados. Assim, um aip-NR deve
incluir (i) o prefixo que está sendo anunciado e (ii) o identificador do elemento topológico ao qual o
prefixo foi associado (ou seja, o ponteiro para o elemento topológico).
Quantos prefixos anunciar em cada aip-NR? Outra questão que precisa ser enfrentada
é quantos prefixos de endereços anunciar em cada aip-NR. De fato, um roteador pode
ser responsável por anunciar diversos prefixos, por exemplo, atribuídos a ele mesmo,
aos seus enlaces ponto a ponto, ou aos enlaces compartilhados onde ele é o DR.
Esses prefixos podem ser todos anunciados no mesmo aip-NR ou em diferentes. No
entanto, se um dos prefixos originados por um roteador for alterado, ele deve
FIGURA 2.18: Os originadores e ponteiros para elementos topológicos de aip-NRs em OSPF e IS-IS.
possível atualizar o LSDB sem ter que disseminar novamente todas as informações de endereçamento
originadas por aquele roteador. Assim, é preferível anunciar apenas um prefixo de endereço em
cada aip-NR, e assumiremos essa opção a seguir.
Como os prefixos são anunciados em OSPFv3 e IS-IS? No OSPFv3 e IS-IS, os prefixos atribuídos a
roteadores, links ponto a ponto e links compartilhados stub são anunciados da mesma maneira, mas
os prefixos atribuídos a links compartilhados de trânsito são anunciados de maneira diferente
(consulte a Figura 2.18) .
• Enlaces ponto a ponto - Um prefixo atribuído a um enlace ponto a ponto é associado ao enlace
(através do identificador do enlace) e é anunciado por dois aip-NRs, cada um originado por um
dos roteadores finais do enlace.
40 lp1ÿap2 10
R1 R2
30
5 50 20
ls1
lp2
ls2ÿap1
25 15 5
5
R3 R4
10
R3ÿap4 ls3ÿap3
Exemplo de IS-IS A Figura 2.20 repete o caso da Figura 2.19, mas para IS-IS.
A única diferença é que o prefixo ap1, atribuído ao link compartilhado de trânsito,
40 lp1ÿap2 10
R1 R2
30
5 50 20
ls1
lp2
ls2ÿap1
25 15 5
5
R3 R4
10
R3ÿap4 ls3ÿap3
área-interna-prefixo-NRs
FIGURA 2.20: LSDB da rede da Figura 1.1, com informações topológicas e de endereçamento
separadas: o caso IS-IS.
é anunciado por quatro aip-NRs, cada um originado por um dos roteadores conectados ao link. Tem
muita informação repetida!
Destacamos aqui que nem todos os elementos topológicos precisam receber endereços
roteáveis. Este é um equívoco comum, provavelmente estimulado pelas tecnologias que misturam
informações topológicas e de endereçamento. Somente os elementos topológicos que devem ser
acessíveis (por exemplo, para fins de gerenciamento ou porque possuem hosts anexados) precisam
receber endereços. Por exemplo, um link compartilhado que é usado apenas como um link de
trânsito entre roteadores e não possui hosts conectados, não precisa! Ilustraremos esta possibilidade
através de um experimento descrito na Seção 9.2.1.3.
40 lp1ÿap2 10
R1 R2
30
5 50 20
ls1
lp2
ls2ÿap1
25 15 5
5
R3 R4
10
R3ÿap4 ls3ÿap3
R1 R2 ls1
lp1/pl2: 40 lp1/pl2: 10 R1
ls1: 5 lp2: 20 R3
ls2: 50 ls2: 30
ls2/pl1
R3 R4 R1
ls1: 25 lp2: 5 R2
ls2: 15 ls2: 5 R3
ap4 ap3: 10 R4
router-NRs NRs de links compartilhados
FIGURA 2.21: LSDB da rede da Figura 1.1 com informações topológicas e de endereçamento
mistas: o caso OSPFv2.
Já introduzimos três tipos de NR: o router-NR, o slink-NR e o aip-NR. As duas primeiras descrevem
a topologia da rede e a terceira divulga os prefixos de endereços disponíveis na rede e sua
associação com elementos topológicos. A partir dessas informações, um roteador pode calcular os
caminhos mais curtos de si mesmo para cada prefixo na rede. O caminho determina, localmente em
um roteador, a interface de saída e, exceto para o roteador do último salto, o roteador do próximo
salto que leva ao prefixo. No entanto, quando um roteador precisa encaminhar um pacote através
de uma rede de camada 2 para um roteador de próximo salto, ele ainda precisa encontrar o endereço
de camada 2 da interface do roteador de próximo salto que deve receber o pacote. Por exemplo, se
um roteador precisa enviar um pacote por uma LAN Ethernet para outro roteador, o pacote deve ser
encapsulado em um quadro Ethernet contendo o endereço MAC da interface do roteador de destino.
Camada
2 endereços não são necessários no caso de links ponto a ponto, mas são necessários para
links compartilhados, pois mais de um roteador de próximo salto pode estar disponível.
Chamaremos o endereço do link de endereço da camada 2 ou um endereço que pode
ser resolvido em um endereço da camada 2 no qual o roteador do próximo salto pode ser
alcançado no link. Os endereços de link não precisam ser endereços de camada 2, se houver
algum mecanismo de resolução de endereço para resolver o endereço de link no endereço
de camada 2 correspondente. Por exemplo, o roteador do próximo salto pode fornecer um
endereço IPv4, a ser resolvido em um endereço MAC usando ARP.
As tabelas de encaminhamento devem incluir, em cada entrada, o endereço do link da
interface do próximo salto que leva ao destino correspondente. Nas tabelas de
encaminhamento de roteadores comerciais, os endereços de link do próximo salto são
endereços de camada 3 (IPv4 ou IPv6) e estão incluídos em todas as entradas relativas a
links não conectados diretamente, mesmo em entradas relativas a links ponto a ponto , onde
não são necessários; também adotaremos essa abordagem. Para distinguir os endereços de
link de outros tipos de identificadores, vamos prefixá-los por la.
Para fornecer informações sobre endereços de link, introduzimos o link-address-NR (la-
NR para abreviar). Um la-NR inclui (i) o endereço do link, (ii) o identificador topológico do
roteador de origem e (iii) o identificador topológico do link onde o endereço será usado. Um
roteador origina um la-NR por link conectado e cada la-NR anuncia o endereço do link no
qual o roteador pode ser alcançado em um link. Os la-NRs precisam ser enviados apenas
para roteadores vizinhos em um determinado link, ou seja, os la-NRs precisam apenas ter
escopo de inundação de link.
Notamos que as informações do enlace são de natureza local, pois precisam ser
conhecidas apenas dentro de um enlace: um roteador só precisa conhecer os endereços da
camada 2 de seus vizinhos em cada um de seus enlaces. Assim, ao contrário das informações
topológicas e de endereçamento, as informações de enlace não são disseminadas por toda
a rede e, portanto, não são as mesmas nos LSDBs de todos os roteadores.
OSPFv3 é a única tecnologia que fornece informações de endereçamento de link por
meio de la-NRs. No OSPFv2, essas informações são fornecidas por meio do equivalente a
router-NRs, e no IS-IS são fornecidas por meio do protocolo Hello.
A Figura 2.22 mostra a rede da Figura 1.1, incluindo os endereços de enlace de todas as
interfaces e os la-NRs dos enlaces ls1 e ls2. Assim, este é o LSDB completo do roteador R3.
Por exemplo, o roteador R3 aprende com os la-NRs presentes em seu LSDB que pode usar
o endereço de link la6 para se comunicar com o roteador R1 por meio do link ls2 e o endereço
de link la8 para se comunicar com o mesmo roteador por meio do link ls1. A figura também
ilustra que os endereços de link podem ser os mesmos em links diferentes. Por exemplo, o
roteador R3 fornece o endereço de link la2 para seus vizinhos nos links ls1 e ls2.
40 lp1ÿap2 10
R1 la1 la2 R2
50
5 la8 30 20 la2 la1
la6
ls1 lp2
ls2ÿap1
la2 25 5 la1
15 5
la3
la2
R3 R4
10
r3ÿap4 ls3ÿap3
la6
R1, ls2 la8
R1, ls1
la1
R2, ls2 la2
R3, ls1
la2
link-endereço-
R3, ls2 NRs (link ls1)
la3
R4, ls2
link-endereço-NRs
(link ls2)
FIGURA 2.22: LSDB do roteador R3 na rede da Figura 1.1, com informações topológicas, de
endereçamento e de link separadas.
domínio b
D
roteador
interno DBR
DBR
DBR domínio c
DBR
DBR
domínio a
DBR
protocolo de
atributos. Por exemplo, em BGP [46], um dos atributos externos mais importantes é o AS PATH,
que descreve a sequência de ASes no caminho até o prefixo externo associado. Assim, um roteador
BGP pode executar decisões de roteamento conhecendo a identidade de todos os ASes nos
caminhos candidatos a um destino e, dessa forma, pode evitar ASes indesejados. As informações
que reúnem os prefixos externos com seus atributos são algumas vezes chamadas de informações
de acessibilidade externa.
Exportar informações de endereçamento é uma tarefa simples. Os DBRs fazem parte do domínio
de roteamento e, portanto, conhecem todas as informações de endereçamento de seu domínio,
obtidas por meio do protocolo de roteamento intradomínio. Assim, eles podem facilmente injetar
essas informações no protocolo de roteamento entre domínios e entregá-las aos seus DBRs vizinhos
externos.
A questão da importação pode ser mais complexa e depende se o domínio de roteamento
possui um único ou vários DBRs (consulte a Figura 2.24). Se o domínio tiver
domínio b domínio b
domínio a domínio a
FIGURA 2.24: Domínios de roteamento (a) com um DBR ou (b) vários DBRs.
• Permitir que os roteadores internos decidam qual DBR usar sem considerar as
informações de acessibilidade externa. Nesse caso, um critério de seleção pode ser
usar o DBR mais próximo.
2.2.4.2 O domínio-externo-prefixo-NR
Considere o exemplo da Figura 2.25, onde omitimos as NRs topológicas; o exemplo refere-se à
segunda alternativa descrita acima, onde o domínio de roteamento é um AS conectado à Internet
através de dois ASBRs (roteadores R1 e R2), e os ASBRs se comunicam entre si e com ASBRs
externos usando BGP. Suponha que ambos os ASBRs recebam informações de acessibilidade
referentes aos prefixos externos ap1 e ap2 (etapa 1) e que cada prefixo venha com um atributo AS
PATH indicando o número de saltos (ASes) no caminho que leva a ele. Suponha que os roteadores
R1 e R2 tenham permissão para trocar esse atributo (etapa 2) e sejam programados para selecionar
o ASBR que fornece o menor número de saltos. Neste caso, o roteador R1 verifica se é o melhor
ASBR para alcançar ap2 e o roteador R2 verifica se é o melhor para alcançar ap1.
Assim, o roteador R1 inunda internamente o dep-NR anunciando ap2, e o roteador R2 inunda aquele
anunciando ap1 (etapa 3).
2.2.5 Identificadores NR
Os NRs devem ser identificados exclusivamente dentro do LSDB para evitar confusão na construção
do mapa da rede. Pode-se considerar a possibilidade de identificar NRs através dos identificadores
dos elementos que representam, por exemplo
Internet
R1 R2
ap1, saltos=3, via
R2 ap2, saltos=8, via R2
dep-NR dep-NR
ap2, R1 ap1, R2
3 R3 3
ap1 ap2
R2 R1
domínio-externo-prefixo-NRs
FIGURA 2.26: NRs que formam o LSDB de uma rede LSR de área única, seu papel e roteador de
origem.
• la-NR - O la-NR fornece informações de link. É originado por um roteador em cada um de seus links
para anunciar o endereço do link no qual o roteador pode ser alcançado no link.
Seção 1.4.2, a tabela de encaminhamento de um roteador tem uma entrada por prefixo de
destino e cada entrada contém informações sobre o caminho para o prefixo, que inclui a
interface de saída, o endereço do link da interface do próximo salto e o custo do caminho.
Como configurar o grafo da rede O grafo no qual o algoritmo de Dijkstra será usado para
encontrar os caminhos mais curtos ponta a ponta é montado com base no mapa da rede
(router-NRs e slink-NRs). No entanto, uma decisão deve ser tomada sobre quais elementos
da rede são representados pelos nós do grafo. Naturalmente, os roteadores são
representados por nós. Em relação aos links, a decisão depende da associação entre
prefixos e links, conforme definido nos aip-NRs. Lembre-se de que um prefixo atribuído a um
link pode estar associado a um roteador conectado ao link (através do identificador do
roteador) e não diretamente ao link. Algumas orientações gerais são:
• Os links compartilhados stub não são representados por nós, pois não fazem parte do mapa de rede.
• Em geral, os links compartilhados de trânsito são representados por nós, pois isso simplifica a
estrutura do grafo e facilita o cálculo dos caminhos mais curtos. Uma possível exceção é quando
o link está conectando apenas alguns roteadores (por exemplo, dois roteadores).
• Enlaces ponto a ponto podem ou não ser representados por nós. Não vale a pena fazer isso se, na
estrutura LSDB, um prefixo atribuído a um link ponto a ponto não estiver diretamente associado
ao link.
Neste grafo, os arcos de saída dos nós que representam os roteadores correspondem às suas
interfaces de saída e são rotulados com os custos de interface correspondentes. Os arcos de saída
dos nós que representam os links são rotulados com custo zero, uma vez que os links não são
equipamentos de comutação da camada 3.
Associação entre prefixos e nodos Uma vez configurado o grafo, os prefixos podem ser associados
aos nodos do grafo, utilizando as informações contidas nos aip-NRs e dep-NRs. No caso de um
prefixo atribuído a um link que não seja representado por um nó do grafo, o prefixo deve ser
associado a cada nó que representa um roteador conectado ao link e deve incluir o custo do roteador
ao prefixo.
Exemplo A Figura 2.28 mostra o grafo da rede da Figura 2.22 onde, além dos roteadores, apenas
os enlaces compartilhados de trânsito são representados pelos nós do grafo. Os nós n1 a n4
representam os roteadores R1 a R4, e os nós n5 e n6 representam os links compartilhados de
trânsito ls1 e ls2. Para simplificar a apresentação gráfica, usamos arcos não direcionados e
colocamos os rótulos próximos aos nós dos arcos de saída correspondentes. No entanto, o cálculo
dos caminhos mais curtos é realizado sobre o grafo direcionado. Por exemplo, o rótulo 40 colocado
próximo ao nó n1 é o rótulo do arco de saída de n1 a n5, e o rótulo 5 colocado próximo ao mesmo
nó é o rótulo do arco de saída de n1 a n7. Observe que os rótulos dos arcos de saída dos nós que
representam links são todos zero.
Em relação à associação entre prefixos e nós, o prefixo ap1 é atribuído ao link compartilhado
de trânsito ls2 representado pelo nó n6. O prefixo ap2 é atribuído ao link ponto a ponto entre R1 e
R2; como este enlace não é representado por um nó do grafo, ele deve ser associado aos nós que
representam os roteadores finais do enlace, ou seja, está associado ao nó n1 com um custo de 40
e ao nó n2 com um custo de 10. Prefixo ap3 é atribuído ao link compartilhado stub; está associado
ao nó n4, representando o roteador do link, com um custo de 10. Finalmente, o prefixo ap4 é
atribuído ao roteador R3 representado pelo nó n3.
Observe que na estrutura LSDB da Figura 2.22, (i) os enlaces ponto a ponto são representados
no mapa da rede e (ii) os prefixos publicitários aip-NRs atribuídos a esses enlaces associam os
prefixos diretamente aos enlaces, por meio da identificadores de links. Nesse caso, o grafo poderia
incluir nodos representando enlaces ponto a ponto e, como será visto na Seção 2.3.3, estes
facilitariam
40 10
n1 n2 ÿ
50 30
ÿ
5 20
ÿ
0 ÿ ÿ
0 0
n5 n6 ÿ
0 0 ÿ
ÿ
0 ÿ
ÿ
ÿ
25 5
15 5
n3 n4 n4 ÿ
a determinação dos caminhos mais curtos para os prefixos. Essa solução não seria
possível na estrutura LSDB da Figura 2.20, pois os aip-NRs associam os prefixos
atribuídos aos enlaces ponto a ponto com os roteadores finais do enlace.
mais próximo da fonte, ou seja, aquele com rótulo mais baixo. Este nó agora é considerado
permanentemente rotulado e colocado em S; vamos nos referir a ele como nó k. A segunda etapa
(etapa 2 da Figura 2.29) atualiza os rótulos de todos os nós que ainda não estão em S. Nesse ponto,
o algoritmo precisa apenas examinar os caminhos em que o nó k é o penúltimo nó. Sempre que um
rótulo de nó é atualizado, ou seja, a estimativa de custo diminui, seu nó pai é definido como nó k.
Então, o algoritmo retorna ao primeiro passo e procede a partir daí, até que todos os nós tenham
sido incluídos em S.
Quando o algoritmo termina, todos os nós são rotulados com o verdadeiro custo do caminho mais
curto do nó de origem até eles mesmos.
A Figura 2.30 ilustra a transição do passo 1 para o passo 2. O nó k acaba de receber um rótulo
permanente e foi incluído em S. Nesse ponto, o algoritmo atualiza os rótulos dos vizinhos do nó k
que não estão em S, ou seja, os nós a e B. Os nós que não estão em S e que não são vizinhos de
k, ou seja, os nós c e d, não precisam ser considerados neste estágio. Após esta operação de
reetiquetagem, o algoritmo seleciona entre todos os nós que não estão em S, ou seja, os nós de a a
d, aquele com o rótulo mais baixo.
Ilustramos a operação passo a passo do algoritmo de Dijkstra na Figura 2.31, usando um grafo
de rede mais simples que o da Figura 2.28. Na verdade, o grafo deste exemplo é uma representação
da rede da Figura 1.1 onde apenas roteadores e links compartilhados com mais de duas conexões
são representados como nós. Mostramos como a árvore de caminho mais curto enraizada no nó n2
é determinada.
Em cada gráfico da Figura 2.31, os nós representados com uma linha tracejada são nós ainda não
rotulados permanentemente. A figura também mostra, a cada iteração, a tabela de caminhos mais
curtos do nó n2, que inclui uma entrada para cada destino (dest), indicando o nó do próximo salto
(nh) e o custo do caminho mais curto até o destino (cost). O algoritmo itera da seguinte forma:
Ca
definir S (nós rotulados
permanentemente) a
Cb
b
k
s
Cc
c
Cd
d
• 2º passo - Em seguida, o algoritmo passa para uma nova iteração onde o nó n3 recebe
um rótulo permanente, levando a S = {1, 2, 3} (Figura 2.31.c). Assim, o caminho mais
curto de n2 a n3 (e seu custo) foi encontrado. O nó do próximo salto é determinado
retrocedendo de n3 para n2. O pai de n3 é n1 e o pai de n1 é n2; assim, o nó do
próximo salto é n1. Neste ponto, nenhuma reetiquetagem ocorre e o algoritmo
prossegue para a próxima iteração.
Prefixo atribuído ao link ou roteador além do link de conexão direta No segundo caso, é
necessário determinar o caminho mais curto do roteador de origem ao prefixo, usando os
resultados da execução do algoritmo de Dijkstra sobre o
40 lp1ÿap2 10
R1 i3
i2 la1 la2
i1
i2
R2
i1
50
5 la8 i3 30 20 la2 la1
la6
ls1 lp2
ls2ÿap1
la2 25 5 la1
15 i2 5
i1 la3 i1
la2 i2
R3 R4
i3
10
R3ÿap4 ls3ÿap3
destino ap1la2 i1
ap2 ap3 ap4 5 la1 i1 15
Roteador R1 Roteador R2
gráfico de rede. O caminho mais curto é definido localmente em um roteador por meio da interface
de saída e do endereço de link da interface do próximo salto.
Dado um caminho no gráfico de rede, o primeiro nó do caminho (o nó de origem) representa um
roteador, mas o segundo nó pode representar um link ou um roteador. O roteador do próximo salto
corresponde ao nó que representa o próximo roteador no caminho e pode ser o segundo ou o
terceiro nó.
A interface de saída é a interface com o segundo nó do caminho. O endereço do link (ou seja, as
informações do link) é fornecido pelo la-NR originado pelo roteador do próximo salto no link
correspondente ou algum meio equivalente (consulte a discussão na Seção 2.2.3).
Calculando caminhos mais curtos para prefixos atribuídos a elementos de rede representados por
nós do grafo O cálculo do caminho mais curto (final) para um prefixo depende da associação entre
prefixos e nós. O algoritmo de Dijkstra determina os caminhos mais curtos entre a fonte
então é preciso determinar os caminhos mais curtos para o prefixo por meio de cada nó proxy, e o
caminho mais curto real é o de menor custo.
Novamente, na rede da Figura 2.32, considere o caminho do roteador R4 ao prefixo ap2,
atribuído ao link ponto a ponto. No gráfico de rede da Figura 2.28, R4 está associado a n4 e ap2
está associado a dois nós proxy: n1 com custo 40 e n2 com custo 10. É preciso determinar primeiro
os custos do caminho mais curto de n4 para ap2 via n1 e n2. O caminho mais curto de n4 para n1 é
n4 ÿ n1 com custo 5 e, portanto, o custo do caminho mais curto para ap2 via n1 é 5+40=45. Além
disso, existem dois caminhos mais curtos de custo igual de n4 a n2, n4 ÿ n2 e n4 ÿ n6 ÿ n2 ambos
com custo 5; portanto, o custo do caminho mais curto para ap2 via n2 é 5+10=15. Por fim, ao
comparar os custos do caminho via n1 e n2, concluímos que o caminho mais curto é via n2 com
custo de 15.
Isso significa que existem dois caminhos mais curtos de custo igual de R4 a ap2. Nesse caso, a
prática usual é incluir ambos na tabela de encaminhamento. A análise do gráfico de rede mostra que
um caminho é através do link ls2 de trânsito compartilhado e o outro é através do link ponto a ponto
lp2. Assim, os endereços de enlace a serem utilizados em cada caminho são os fornecidos por R2
nesses enlaces, ou seja, la1 para o caminho via enlace compartilhado de trânsito e la2 para o
caminho via enlace ponto a ponto.
As tabelas de encaminhamento podem conter uma entrada a ser usada quando o prefixo de destino
de um pacote recebido não corresponde a nenhuma outra entrada. Conforme discutido na Seção
2.2.4.1, essa entrada, denominada rota padrão ou gateway de último recurso, é útil em domínios de
roteamento com apenas um DBR, ou seja, onde há um único ponto de saída para outros domínios
de roteamento. Nesse caso, não há necessidade de disseminar informações de endereçamento
externo dentro do domínio, e todo o tráfego destinado a prefixos externos pode seguir internamente
a rota padrão.
Damos um exemplo na Figura 2.33. Um domínio está conectado à Internet por meio do roteador
R1. Neste exemplo, há apenas um prefixo de endereço interno: ap1 atribuído ao link ls1. Assumimos
que os custos de interface são todos 10. Ao analisar o LSDB, o roteador R2 aprende, através do
roteador-NR de R1, que R1 é um DBR (o roteador-NR inclui um sinalizador para indicar se o roteador
de origem é um DBR) . Em seguida, ele instala uma rota padrão em sua tabela de encaminhamento
correspondente ao caminho mais curto de si mesmo para o DBR, ou seja, tendo i1 como interface
de saída, la1 como o endereço do link da interface do próximo salto no link lp2 e um custo de
caminho de 10 A entrada de rota padrão é a última a ser verificada para qualquer pacote recebido.
Por exemplo, se um pacote chega ao roteador R2 e tem como destino ap1, ele será encaminhado
para R3 via interface i2; no entanto, se for destinado a qualquer outro prefixo de endereço (por
exemplo, um prefixo externo ao domínio), não corresponderá à primeira entrada da tabela de
encaminhamento e será enviado para o DBR via interface i1.
Internet
R1 (DBR)
lp1: 10 R1
lp2: 10 lp2
la1
R2
lp2: 10 i1
lp3: 10
lp1
i2 R2
R3 la2
lp1: 10 lp3
lp3: 10 R3
router-NRs
ap1
R3: 10
área-prefixo ls1 ap1
interno-NR
SN inicial ab SN final
SN
substituindo informações antigas por novas. São necessários três tipos de operações: (i) instalar uma
nova NR, (ii) atualizar uma NR existente e (iii) excluir uma NR existente. Essas questões serão discutidas
nas próximas seções.
2.4.1 Frescura NR
Os NRs têm um atributo de atualização para refletir o quão recentes eles são, de modo que
as instâncias NR mais recentes possam substituir as mais antigas. Números de sequência
linear (SNs) são geralmente usados para essa finalidade.
Um NR pode ter várias instâncias, cada uma com um valor de atualização diferente. Assim, as instâncias
de NR devem ser identificadas exclusivamente por dois elementos: o identificador de NR e a atualização
de NR. Conforme discutido na Seção 2.2.5, o identificador NR inclui (i) o identificador do roteador que
origina o NR, (ii) o indicador de tipo de NR e (iii) uma tag atribuída localmente para distinguir entre NRs
do mesmo tipo originados pelo mesmo roteador. Como veremos adiante, existem circunstâncias em
que apenas o identificador NR é necessário, mas outras em que é necessário o identificador de instância
NR mais completo.
• Qualquer roteador que recebe a mensagem em uma interface a retransmite em todas as outras
interfaces (isto é, a mensagem é retransmitida em todas as interfaces, exceto aquela em que foi
recebida).
A solução para essa falta de controle é fazer com que os roteadores lembrem se já transmitiram
uma mensagem que está sendo inundada. Para atingir esse objetivo, as mensagens precisam ser
rotuladas com identificadores exclusivos e esses identificadores devem ser armazenados nos
roteadores quando as mensagens são recebidas. Os identificadores exclusivos de mensagem podem
ser obtidos usando dois elementos: o identificador do roteador de origem (ID) e um número exclusivo
gerado localmente pelo roteador de origem.
Um exemplo de números únicos são os números de sequência (SNs) introduzidos na Seção 2.4.1.
Com esses ingredientes, o procedimento de inundação controlada funciona da seguinte forma:
• O roteador de origem atribui a cada mensagem a ser inundada um identificador único composto por
dois elementos, ou seja, o par (ID, SN), e transmite a mensagem por todas as suas interfaces.
• Quando uma mensagem é recebida em um roteador, o roteador verifica se o par recebido (ID, SN)
já está armazenado na memória. Se sim, a mensagem é descartada; caso contrário, o par é
armazenado e a mensagem é transmitida por todas as interfaces, exceto aquela onde a mensagem
foi recebida.
Observe que todos os pares (ID, SN) devem ficar armazenados nos roteadores, a menos que,
além de números únicos, os SNs também expressem o frescor da mensagem, de modo que as
mensagens mais antigas fiquem desatualizadas e não precisem mais ser inundadas. Este é
justamente o caso dos protocolos LSR, que serão detalhados na Seção 2.4.5.
A disseminação de NRs pode ser baseada no processo de inundação controlado e confiável descrito
nas duas seções anteriores. Conforme explicado na Seção 2.4.3, as mensagens a serem divulgadas
devem ser rotuladas com identificadores únicos. Nos protocolos LSR, (i) as mensagens são as
instâncias NR, (ii) as instâncias NR são identificadas exclusivamente usando o identificador NR e a
atualização NR, e (iii) a atualização NR é expressa usando SNs. Além disso, quando uma nova
instância de NR é criada, todas as outras instâncias do mesmo NR (que devem ter um SN inferior)
tornam-se desatualizadas e irrelevantes para o processo de roteamento. Assim, uma instância NR
que chega a um roteador com SN inferior a uma instância existente está desatualizada e não precisa
ser retransmitida, mesmo que esteja chegando ao roteador pela primeira vez.
R2 R2
R1 R1
mensagem
ID=5 ID=5
(a) R5 SN=1 (b) R5 SN=1
ID=5 ID=5
SN=1 SN=1
ID=5 ID=5
SN=1 SN=1
R2 R2
R1 R1
ID=5 ID=5
(c) R5 SN=1 (d) R5 SN=1
• Se houver uma instância armazenada com um SN menor, substitua-a pela instância de entrada e
retransmita a instância de entrada em todas as interfaces, exceto aquela em que foi recebida;
identificador NR identificador NR
frescura NR frescura NR
FIGURA 2.36: Mensagens UPDATE, ACK (UPDATE), DELETE e ACK (DELETE) e seus conteúdos.
NRs podem ser excluídos pela divulgação de uma indicação de exclusão usando um
procedimento de flooding controlado e confiável. A indicação precisa conter apenas o
identificador da NR da NR que está sendo deletada. Deve haver um tempo de guarda
entre inundar uma indicação para deletar uma NR e inundar uma nova NR com o mesmo
identificador da deletada anteriormente.
SN inicial ab SN final
SN
envolver em torno
DELETE) para cada vizinho individual no link: uma única transmissão de mensagem é suficiente se
enviada para um broadcast ou um endereço multicast conhecido por todos os vizinhos. Todos os
roteadores que recebem uma instância NR (ou indicação de exclusão de NR) devem reconhecer
seu recebimento. Ao contrário do caso das mensagens UPDATE e DELETE, não há benefício em
transmitir mensagens ACK usando endereços broadcast ou multicast.
Quando um roteador falha, os NRs que ele originou devem ser excluídos do
LSDB, para evitar o desperdício de recursos de memória. Uma alternativa é
deletar os NRs originados pelos roteadores que ficaram isolados no mapa da
rede. Outra alternativa é usar um mecanismo age-lifetime, em que os NRs
recebem uma idade e são excluídos do LSDB quando sua idade atinge um
tempo de vida predefinido. Nesse caso, para evitar a exclusão de NRs
legítimas em operação estável, novas instâncias de NRs com idade zero
devem ser divulgadas periodicamente.
tornam vizinhos (através do protocolo Hello), eles podem precisar sincronizar seus LSDBs. Os dois
roteadores, mesmo que estejam conectados à rede há muito tempo, podem não prever se o conteúdo
de seus LSDBs é o mesmo. Além disso, quando um roteador se conecta a uma rede, pode fazê-lo
conectando vários vizinhos. Se a rede estiver em condição estável, todos esses vizinhos devem ter
o mesmo LSDB. A questão é então se o roteador que está entrando precisa sincronizar seu LSDB
com todos os vizinhos contatados ou se basta sincronizar com um único.
Em qualquer caso, um protocolo deve ser criado para a sincronização LSDB entre dois vizinhos.
Como o tamanho do LSDB pode ser grande, o protocolo deve tentar minimizar a quantidade de
informações trocadas.
O processo de sincronização do LSDB deve ser acoplado ao procedimento de inundação. Um
roteador que sincroniza seu LSDB com um vizinho pode obter novos NRs ou instâncias mais
recentes de NRs existentes do vizinho. Neste caso, o roteador deve disseminar a nova informação
pela rede, utilizando o procedimento da Seção 2.4.5.
• um único vizinho;
• vários vizinhos localizados em diferentes partes da rede (ou seja, com diferentes LSDBs), por meio
de links ponto a ponto;
• vários vizinhos localizados em diferentes partes da rede, por meio de um link compartilhado.
Conectando a rede por meio de um único vizinho No primeiro (e mais simples) cenário, o roteador
de entrada conecta-se à rede por meio de um único vizinho (Figura 2.38.a). Nesse caso, os dois
roteadores devem trocar seus LSDBs. Observe que mesmo um roteador que acabou de ser ligado
já terá um LSDB, consistindo pelo menos em seu roteador-NR auto-originado. Na Figura 2.38.a, o
roteador R1 envia LSDB1 para o roteador R2 e o roteador R2 envia LSDB2 para o roteador R1.
Então, cada roteador mescla o LSDB recebido do vizinho com o seu próprio LSDB, e ambos chegam
ao mesmo LSDB, ou seja, ficam sincronizados. Este exemplo mostra que a sincronização LSDB
inicial entre
/6'% /6'%
R2 R2 R3
R1 R1
/6'% /6'%
(a) (b)
R2 R3 R2 R3
/6'% /6'%
/6'%
/6'% /6'% / /6'% /
6'% 6'%
R1 R1
/6'% /6'%
(c) (d)
/6'% /6'%
R1 R2
/6'% /
/6'% 6'% /
6'% /
/6'% /6'% 6'%
R3 R4
/6'% /6'%
(e)
dois roteadores devem ser sempre bidirecionais, ou seja, um roteador deve enviar para o outro uma
cópia de seu LSDB, por mais simples que seja.
Conectando a rede por meio de vários vizinhos localizados na mesma rede No segundo cenário, o
roteador de entrada conecta-se à rede por meio de vários vizinhos localizados na mesma rede
(Figura 2.38.b).
Nesse caso, pode-se perguntar se basta sincronizar o LSDB com apenas um vizinho. Os vizinhos
contatados podem ter exatamente o mesmo LSDB se a rede estiver em um estado estável, mas
também podem ter diferentes LSDBs, nenhum deles totalmente atualizado, se a rede estiver em um
estado variável. O LSDB de um roteador não é totalmente atualizado no período entre a origem das
informações de roteamento que irão alterar o LSDB (por exemplo, inserção de um novo NR ou
exclusão de um existente) e a chegada dessas informações ao roteador. Porém, se o LSDB de um
vizinho contatado não estiver totalmente atualizado, esse vizinho certamente receberá posteriormente
as informações que faltam, e então terá a oportunidade de entregá-las ao roteador de entrada
através do procedimento de flooding. Assim, de acordo com este cenário, um roteador de entrada
só precisa entrar em contato com um vizinho.
Conectando a rede por meio de vários vizinhos localizados em diferentes partes da rede, por meio
de links ponto-a-ponto links de ponto. Dizemos que o roteador associado está resolvendo um
problema de partição de rede. Nesse cenário, se o roteador sincronizar apenas com um vizinho, ele
obterá apenas o LSDB de uma parte da rede e não poderá se comunicar com as outras partes ou
fornecer conectividade entre as várias partes desconectadas. Na Figura 2.38.c, o roteador R1 entra
na rede, torna-se vizinho de R2 e R3, mas sincroniza apenas com R2. Nesse caso, o roteador não
conseguirá se comunicar com a parte de rede do roteador R3 e a rede permanecerá particionada.
Observe que o procedimento de inundação não ajuda neste caso. Como o roteador R1 obtém
LSDB2 do roteador R2, que é uma nova informação, ele deve disseminá-la para o roteador R3.
Assim, R3 obtém LSDB2; no entanto, nem R1 nem R2 obtêm LSDB3. Conforme mostrado na Figura
2.38.d, a solução para esse problema é ter R1 sincronizando com R2 e R3. Neste caso, R1 pode
injetar em cada lado o LSDB recebido do outro, de forma que os LSDBs se unam.
Uma vez que um roteador que se junta inicialmente não tem informações sobre se dois vizinhos
pertencem à mesma parte da rede, este cenário mostra que um roteador que se junta deve
sincronizar o LSDB com todos os seus vizinhos.
Conectando a rede através de vários vizinhos localizados em diferentes partes da rede, através de
links compartilhados O procedimento definido acima pode ser relaxado no caso de vizinhos
conectados ao mesmo link compartilhado. Esses vizinhos estão diretamente conectados entre si e,
em condições estáveis, pertencem necessariamente à mesma parte da rede e possuem o mesmo
LSDB. Portanto, basta sincronizar com um único vizinho em um link compartilhado. Esse vizinho
geralmente é o link DR. Quando os roteadores conectados a um link compartilhado são todos ligados
ao mesmo tempo (inicialização a frio), alcançando a sincronização LSDB completa
RD
R3
link ponto a ponto R4 R5 R6
SINCRONIZAR
R2 SINCRONIZAR
link compartilhado
SINCRONIZAR
R1
juntando-se ao roteador
FIGURA 2.39: Vizinhos que devem sincronizar com um roteador de entrada durante o
processo inicial de sincronização do LSDB.
várias instâncias NR iguais. Nesse caso, a troca dos LSDBs completos torna-se ineficiente, pois
informações duplicadas são recuperadas desnecessariamente. Uma maneira de lidar com esse
problema é introduzir uma fase preliminar no processo de sincronização em que os roteadores
recuperam não o conteúdo completo do LSDB, mas um resumo do LSDB. O resumo LSDB deve
conter a quantidade mínima de informações necessárias para determinar se as instâncias NR
armazenadas em um vizinho são mais recentes do que aquelas armazenadas localmente. Esta
informação é apenas o identificador da instância do NR, ou seja, o identificador do NR e os atributos
de atualização do NR; por exemplo, o identificador de instância NR de um roteador-NR não inclui a
lista de links aos quais o roteador está conectado e os custos de interface correspondentes. Assim,
a introdução da fase preliminar pode levar a uma economia significativa na quantidade de
informações trocadas.
Com base nas observações acima, um possível protocolo para sincronização inicial do LSDB
é o seguinte (consulte a Figura 2.40):
• Um roteador que recebe uma LSDB SUMMARY REQUEST responde com uma mensagem LSDB
SUMMARY, incluindo os identificadores de instância NR de todos os NRs contidos em seu LSDB.
• Ao receber um LSDB SUMMARY, um roteador compara o conteúdo de seu próprio LSDB com os
identificadores de instância NR recebidos do vizinho.
Ele pode então enviar ao vizinho uma mensagem PARTIAL LSDB REQUEST solicitando o
conteúdo completo de todos os NRs que estão faltando ou para os quais o vizinho possui uma
instância mais recente. Essa solicitação é feita usando os identificadores de instância NR.
• Finalmente, um roteador que recebe um PARTIAL LSDB REQUEST responde com o conteúdo
completo dos NRs solicitados, transportados em uma mensagem UPDATE.
R1 R2
Olá protocolo
ou SNs superiores, já que os NRs criados pelo roteador renascido teriam SN=1. Se
nenhuma medida for tomada, a inundação será evitada até que os SNs das novas
instâncias NR excedam os que estão sendo usados imediatamente antes do desligamento
do roteador.
A Figura 2.41 ilustra esse problema, usando uma rede com três roteadores.
Neste exemplo, assumimos que (i) todos os custos de interface são inicialmente 10, (ii)
o roteador-NR de R1 tem inicialmente um grande SN, digamos 50, e (iii) o link lp3 é
muito mais lento que os outros dois ( Figura 2.41.a). Quando o roteador R1 é desligado,
os roteadores R2 e R3 detectam a falha através do protocolo Hello e disseminam novos
roteadores-NRs onde os links lp1 e lp2 não estão mais listados (Figura 2.41.b). Neste
ponto, e antes de cada roteador receber o roteador-NR enviado pelo outro, R2 e R3
ainda acreditam que o roteador R1 está ativo e acessível. Por exemplo, o gráfico de
conectividade do roteador R2 (Figura 2.41.c) mostra que o roteador R1 pode ser
alcançado por meio de R3. A chegada dos dois roteadores NRs forneceria informações
para R2 e R3 de que o roteador R1 ficou isolado na rede, o que poderia desencadear a
exclusão de seu roteador NR do LSDB.
Porém, suponha que antes que isso aconteça, (i) o roteador R1 seja ligado
novamente, (ii) divulgue um novo roteador-NR (que deve ter SN=1) com custos de
interface diferentes e, como o link lp3 é muito mais lento que o outros dois enlaces, (iii)
esse roteador-NR chega aos roteadores R2 e R3 antes daqueles enviados anteriormente
por esses roteadores entre si (Figura 2.41.d). Neste caso, o antigo roteador-NR de R1
(com SN=50) ainda está no LSDB dos roteadores R2 e R3 quando o novo roteador-NR
(com SN=1) chega, e o novo roteador-NR será descartado , pois tem um SN menor.
Assim, informações desatualizadas sobre
R1 (SN=50)
lp1: 10
R3 lp2: 10
R2 (SN=6)
(a) lp2 lp3 lp1: 10
lp3: 10
R3 (SN=2)
R1 R2 lp2: 10
lp1 lp3: 10
LSDB (todos os roteadores)
R1 (SN=50)
R3 R3 (SN=3)
lp1: 10
lp2: 10
lp3: 10
(b) R2 (SN=7)
lp2
lp3: 10
R2 (SN=7)
lp3: 10 lp3 R3 (SN=2)
R1 R2 lp2: 10
lp1 lp3: 10
LSDB de R2
R1 (SN=50)
R3 lp1: 10
lp2: 10
(c) R2 (SN=7)
lp3: 10
R1 R2 R3 (SN=2)
lp2: 10
lp3: 10
LSDB de r2
R1 (SN=50)
R1 (SN=1) lp1: 10
lp1: 5 R3 lp2: 10
lp2: 5
(d)
lp3
lp2
R1 (SN=50)
lp1
R1 R2 lp1: 10
lp2: 10
R1 (SN=1)
lp1: 5
lp2: 5
FIGURA 2.41: Desligando e ligando novamente um roteador, antes que seus NRs originados sejam
deletados do LSDB dos vizinhos.
R1 R2
Olá protocolo
FIGURA 2.43: Mensagens de controle dos protocolos LSR, seu papel e conteúdo.
OSPF e IS-IS dão nomes diferentes para suas mensagens de controle (com exceção
de HELLO), e os nomes também são diferentes dos apresentados neste capítulo. No
entanto, os papéis desempenhados pelas mensagens são os mesmos nos três casos. Na
Figura 6.1, fornecemos uma correspondência detalhada entre as mensagens de controle do
OSPF, IS-IS e do nosso próprio protocolo (chamado de genérico na figura).
3
Princípios do estado de link multiárea
Roteamento
Os protocolos LSR requerem o armazenamento de uma instância completa do LSDB em cada roteador.
No entanto, quando a rede é grande, contendo muitos roteadores e links, o LSDB também se torna
grande e alguns roteadores podem não ter recursos de memória para armazená-lo completamente.
Uma forma de contornar esse problema é estruturar a rede em áreas menores, de forma que os
roteadores só precisem manter o mapa da rede da área a que pertencem. Economias significativas de
memória podem ser alcançadas dessa maneira.
As áreas são delimitadas por roteadores especiais chamados Area Border Routers (ABRs).
Cada área constrói e mantém seu próprio LSDB, chamado de área LSDB. O LSDB contém o mapa de
rede da área, que precisa ser conhecido apenas dentro da área, e os prefixos internos à área. No
entanto, para se comunicar com outras áreas, uma área ainda precisa conhecer os prefixos disponíveis
fora de seus limites e os caminhos que devem ser usados para alcançá-los. Essas informações são
trocadas entre as áreas por meio de um protocolo de roteamento entre áreas executado entre os ABRs.
Existem várias abordagens possíveis disponíveis para o roteamento entre áreas.
Como no caso do Capítulo 2, queremos manter a discussão neste capítulo mais centrada em
conceitos do que em tecnologias. Como será visto no Capítulo 7, OSPF e IS-IS restringem a topologia
de rede entre áreas a uma estrutura hierárquica de dois níveis e usam uma abordagem de vetor de
distância em seu protocolo de roteamento entre áreas. Nesta seção, consideraremos topologias
arbitrárias entre áreas e as abordagens de vetor de distância e estado de enlace para roteamento
entre áreas.
Estrutura do capítulo A Seção 3.1 apresenta os principais aspectos relacionados à estrutura de rede
multiárea e ao protocolo de roteamento interárea. A Seção 3.2 apresenta as abordagens de vetor de
distância e estado de enlace para roteamento entre áreas.
A Seção 3.3 discute as consequências de restringir as informações de roteamento disponíveis nas
áreas. Finalmente, a Seção 3.4 apresenta alternativas para anunciar informações de endereçamento
externo de domínio em todas as áreas.
115
$UHD $UHD
/6'% /6'%
$%5
LQWHUQDO F
URXWHU
$%5 $%5
$%5
D G
E
$UHD $UHD
/6'% /6'%
$%5
$%5
H
EU
LQWHUQDO
URXWHU
$UHD /
6'%
S
endereços domínio externo
endereços externos de área endereços
internos de área
área A
que (ii) conexões (diretas) entre ABRs só podem existir entre duas interfaces da mesma
área. Cada conexão torna-se então associada a uma área.
As conexões entre os ABRs são realizadas através do mecanismo de inundação
fornecido pelo protocolo LSR intra-área. Os ABRs conectados à mesma área são
chamados de ABRs vizinhos. As conexões entre os ABRs vizinhos formam uma malha
completa dentro de cada área. Por exemplo, na rede da Figura 3.1, os ABRs a, b e e
são vizinhos na área 3, e estão interligados nesta área através de uma malha completa;
o mesmo vale para os ABRs b, d e f na área 4. Observe que dois ABRs vizinhos podem
não estar conectados diretamente por meio de um link de camada 2, pois pode haver
vários roteadores internos interpostos no caminho entre eles.
A área LSDB Em uma rede multi-área, cada área constrói e mantém seu próprio LSDB.
Os roteadores internos a uma área mantêm apenas um LSDB, enquanto os ABRs
mantêm tantos LSDBs quanto as áreas às quais se conectam diretamente. Por exemplo,
a rede da Figura 3.1 tem cinco LSDBs diferentes e o ABR b mantém os LSDBs das
áreas 1, 3 e 4.
Um roteador não tem conhecimento da topologia de rede além de sua área. Assim,
as informações topológicas contidas na área LSDB são restritas à área.
Relativamente à informação de endereçamento, dentro de uma área já se podem
distinguir três tipos de prefixos: area-internal (prefixos internos à área), area-external
(prefixos externos à área mas internos ao domínio de encaminhamento) e domain-
externo (prefixos externos ao domínio). Iremos nos referir às informações que são
externas à área ou externas ao domínio simplesmente como informações de
endereçamento externo. A Figura 3.2 mostra os vários tipos de endereços do ponto de
vista do roteador S.
Os destinos externos à área que precisam ser conhecidos dentro de uma área
geralmente são prefixos de endereço, mas, em algumas circunstâncias especiais,
também podem ser roteadores. Isso não é necessário, mas algumas tecnologias o
fazem. Por exemplo, no OSPF, os identificadores dos DBRs são anunciados nas áreas
por meio do protocolo de roteamento entre áreas. Discutiremos esse recurso na Seção 3.4.
O protocolo de roteamento entre áreas Os prefixos de endereços externos e os
caminhos para alcançá-los são aprendidos por meio do protocolo de roteamento entre
áreas executado na sobreposição ABR. O papel do protocolo de roteamento entre áreas é então
determinar caminhos que suportam as comunicações com destinos externos a uma área. O
protocolo de roteamento entre áreas deve ser projetado para atingir o roteamento ótimo
globalmente, ou seja, de modo que os caminhos selecionados entre dois roteadores sejam
sempre os mais curtos. No entanto, tanto o OSPF quanto o IS-IS incluem restrições na forma
como as informações de roteamento são disseminadas, o que impede essa possibilidade em
alguns casos.
Abordagens de roteamento entre áreas As principais abordagens de roteamento entre áreas são
o estado do enlace e o vetor de distância; discutiremos essas alternativas na Seção 3.2. Também
poderíamos ter considerado a abordagem do vetor caminho (ver Capítulo 3 de [33]). No entanto,
esta abordagem parece mais adaptada ao roteamento entre domínios e compartilha muitos
aspectos comuns com a abordagem do vetor de distância. Observe que, em nosso caso, o
protocolo de roteamento intra-área é considerado do tipo LSR, independentemente da abordagem
de roteamento inter-área.
Comparação com o roteamento entre domínios O roteamento entre áreas é, em muitos aspectos,
semelhante ao roteamento entre domínios (que discutimos na Seção 2.2.4).
Do ponto de vista de uma área ou de um domínio, o problema em ambos os casos é aprender
os prefixos externos e determinar qual ABR ou DBR deve ser usado para alcançar esses prefixos.
Em ambos os casos, o protocolo de roteamento que obtém essas informações é executado em
alguma sobreposição de roteamento. No roteamento entre áreas é a sobreposição de ABRs e
no roteamento entre domínios é a sobreposição de DBRs. A principal diferença entre esses dois
tipos de roteamento são as métricas de caminho. No roteamento entre áreas, as métricas de
caminho de diferentes áreas são comparáveis, o que permite calcular os caminhos mais curtos
ponta a ponta entre roteadores localizados em áreas diferentes.
No roteamento entre domínios, as métricas de caminho de diferentes domínios geralmente não
são comparáveis, e as decisões de roteamento geralmente envolvem atributos de roteamento
de vários tipos (por exemplo, a preferência de um domínio sobre os outros e a contagem de saltos).
Um domínio de roteamento pode ser estruturado em várias áreas. Cada área constrói
e mantém um LSDB contendo o mapa de rede da área e três tipos de informações de
endereçamento: área interna, área externa (externa à área, mas interna ao domínio
de roteamento) e domínio externo (externo ao domínio). Os roteadores não têm
conhecimento do mapa de rede de outras áreas. A troca de informações de roteamento
entre áreas é realizada por meio de um protocolo de roteamento inter-área executado
entre os roteadores localizados na fronteira entre as áreas, denominados Area Border
Routers (ABRs).
ABR
2
custo de divulgação
ABR ABR 3
e atualização
ABR
1
ap1 S
sobreposição ABR
precisa aprender que o prefixo existe e precisa determinar um caminho (espero que seja
um caminho mais curto) para ele. Conforme destacado na Seção 1.4.3, as informações de
roteamento começam a ser anunciadas pelo destino e fluem do destino para a origem.
Existem três etapas nesse processo, que representamos na Figura 3.3.
Coletar Primeiro, o ABR da área de destino coleta informações relativas ao prefixo ap1 e
injeta essas informações no protocolo de roteamento entre áreas.
Esta informação tem dois elementos: o prefixo e o custo do caminho mais curto do ABR ao
prefixo; vamos nos referir a ele como o par (prefixo, custo). Os ABRs obtêm essas
informações do LSDB da área de destino.
informações entre ABRs vizinhos. Como será discutido mais tarde, na abordagem de
roteamento de estado de link, as informações de roteamento entre áreas usam o procedimento
de inundação com escopo de inundação de domínio, para garantir que a informação seja
entregue sem modificações para todos os ABRs. Ao contrário, a abordagem de roteamento
do vetor de distância usa o procedimento de inundação com escopo de inundação de área,
de modo que as informações de roteamento entre áreas sejam comunicadas apenas entre
os ABRs vizinhos e não cruzem as bordas da área sem serem atualizadas.
Injetar Na terceira e última etapa, os ABRs injetam as informações de roteamento recebidas
por meio do protocolo de roteamento entre áreas na área de origem, para que cheguem ao
roteador S.
Esta última etapa não é obrigatória, pois os roteadores internos não precisam conhecer
os prefixos externos disponíveis: eles podem simplesmente encaminhar pacotes para um dos
ABRs da área e deixar que os ABRs cuidem das decisões de roteamento subseqüentes. Se
a área for stub, ou seja, uma área com um único ABR, nem mesmo é recomendável injetar
informações de roteamento externo na área, pois desperdiça recursos de memória e largura
de banda desnecessariamente; isso é semelhante à injeção de informações de
endereçamento externo de domínio em domínios stub, discutido na Seção 2.2.4.
Caso contrário, se a área tiver mais de um ABR, é necessário injetar informações de
roteamento para obter o roteamento ideal globalmente. Discutiremos mais essa questão na
Seção 3.3.
A Figura 3.4 ilustra o ponto de vista do roteador de origem. Um caminho de ponta a ponta
tem dois subcaminhos, um interno e outro externo à área. O subcaminho interno é do roteador
de origem (roteador S) para um ABR, e o subcaminho externo é desse ABR para o prefixo
de destino (prefixo ap1). O roteador de origem conhece sua área em detalhes: com base nas
informações topológicas presentes em seu LSDB, ele sabe quais roteadores são ABRs e
como calcular o custo do caminho de si para cada um dos ABRs. Seja cSi o custo do roteador
S para ABR i, ou seja, o custo de um subcaminho interno. Os custos dos subcaminhos
externos são fornecidos pelos ABRs. Os ABRs obtêm essas informações por meio do
protocolo de roteamento entre áreas e as disseminam dentro das áreas às quais estão
diretamente vinculados. Seja CiD o custo de ABR i até o destino D, ou seja, o custo de um
subcaminho externo.
Um sutiã
Cafajeste
cSa
cSb CDb
S ABR b ap1
cSc CcD
PEATE c
fonte rede
área restante
NRs agora são inundados apenas dentro das áreas, já que as informações topológicas
não interessam fora das áreas; dizemos que essas NRs estão inundadas com escopo de
inundação de área. Além disso, um roteador-NR de uma área descreve apenas as
interfaces do roteador representado que pertencem a essa área. Assim, um ABR terá
suas interfaces descritas em diferentes roteadores-NRs, pertencentes a diferentes LSDBs.
A informação de endereçamento interno a uma área, ou seja, os prefixos atribuídos
aos elementos da rede de área, é fornecida pelos aip-NRs, como no caso das redes de
área única.
O prefixo de área externa NR Para representar informações de endereçamento de área
externa dentro da área LSDB, introduzimos o prefixo de área externa NR (aep NR para
abreviar). Essas NRs são originadas pelos ABRs e disseminadas dentro das áreas às
quais estão diretamente vinculadas, para cumprir a terceira etapa da Figura 3.3. Assim,
o aep-NR inclui (i) o identificador do ABR de origem e (ii) os pares (prefixo, custo) obtidos
através do protocolo de roteamento interárea. Como roteador-NRs e slink-NRs, aep-NRs
são apenas disseminados dentro de uma área, ou seja, eles são inundados com escopo
de inundação de área.
Acréscimos ao domínio-externo-prefixo-NR As informações de anúncio domínio-externo
também precisam ser disseminadas dentro das áreas. Na Seção 2.2.4.2, introduzimos o
dep-NR para esse fim. Em redes de área única, o dep-NR é originado por um DBR e inclui
(i) o prefixo externo do domínio anunciado, (ii) o identificador do DBR de origem e (iii) um
atributo de custo externo do domínio (relativo ao sub -path externo ao roteamento do
main). Em redes multiárea, um roteador tentando se comunicar com um prefixo externo
de domínio pode estar localizado fora da área do DBR que o injetou no domínio de
roteamento. Assim, as informações de endereçamento externo do domínio devem ser
divulgadas em todas as áreas. Para isso, damos aos dep-NRs um papel semelhante aos
aep-NRs: os dep-NRs são injetados dentro de áreas pelos ABRs para anunciar prefixos
externos ao domínio e o custo do caminho mais curto do ABR ao DBR que injetou o
prefixo no domínio (esse custo é obtido através do protocolo de roteamento entre áreas).
Assim, dep-NRs devem ser adicionados com um atributo de custo (domínio interno) que
expressa esse valor de custo de caminho. No entanto, queremos manter o papel inicial
dos dep-NRs. Assim, como no caso de redes de área única, os dep-NRs podem ser
injetados no domínio de roteamento pelos DBRs para anunciar os prefixos externos ao
domínio (que eles obtêm por meio do protocolo de roteamento interdomínio); neste caso,
o custo interno do domínio é definido como zero.
Resumindo, os dep-NRs podem ser originados por ABRs ou DBRs e incluem (i) o prefixo
externo do domínio anunciado, (ii) o identificador do roteador de origem, (iii) um atributo
de custo externo do domínio e (iv ) um atributo de custo interno do domínio correspondente
ao custo do caminho mais curto do roteador de origem até o DBR que injeta o prefixo no
domínio.
Resumo de NRs adicionais necessários em redes multiárea A Figura 3.5 lista os NRs que
precisam ser introduzidos ou modificados para o suporte de redes multiárea. O dbr-NR
será apresentado na Seção 3.4.
FIGURA 3.5: NRs introduzidas ou modificadas para suporte a redes multiárea, seu
papel e roteador de origem.
R2 R3 R4
1 5
3 Área 3
Área 2 R5 1
1
2
R6 R7
lp3
lp1 1 Área 4
1
lp2
R9
R8 ÿ ap4 4 R9 ÿ ap3
R8
LSDB da área 1
LSDB da área 4
R1 R2 ls1
lp1: 1 lp1: 1 R1
ls1: 7 R3 R6 R7 ap3
R4 R9
R4 lp1: 1 lp3: 1
R3 ls1: 7
ls1: 7 NRs de links compartilhados R8 R9 área-prefixo
lp1: 1 lp3: 1 interno-NRs
router-NRs
lp2: 4 lp2: 4
ap1 ap2 router-NRs
R1 ls1
ap1 ap1 ap4
área-interna-prefixo-NRs
R6: 4 R7: 3 R8
int. custo: 0
ap3 ap3 ap3 ap2 ap2
R2: 3 R3: 4 R4: 2 ext. custo: 0
R6: 11 R7: 8
domínio-externo
área-externa-prefixo-NRs área-externa-prefixo-NRs -prefixo-NRs
domínio-externo-prefixo-NRs
FIGURA 3.6: Rede multiárea com quatro áreas e os LSDBs de área das áreas 1 e 4.
Área 1 8
R2 R3 R4
4
1 4 2
3 Área 2 1
Área 3
R5 3
2 1
R6 R7
(ap3,5) (ap3,1)
(ap4,1,0) 6 (ap4,5,0) Área 4
O overlay LSDB A representação da topologia overlay ABR e dos prefixos roteáveis é feita pelo
overlay LSDB, contendo três novos tipos de NRs: (i) os overlay-router-NRs (ououter-NRs para
abreviar) para as informações topológicas, (ii) overlay-domain-internal-prefix-NRs (odip-NRs para
abreviar) para as informações sobre prefixos internos ao domínio de roteamento, e (iii) overlay-
domain-external-prefix-NRs (odep-NRs para short) para informações sobre prefixos externos ao
domínio. O orouter-NR inclui o identificador do ABR originário e de seus ABRs vizinhos, e os
custos dos caminhos mais curtos intra-área até eles. O odip-NR inclui (i) o prefixo interno do
domínio sendo anunciado, (ii) o identificador do ABR de origem e (iii) o custo do caminho mais
curto intra-área do ABR ao prefixo. O odep-NR inclui (i) o prefixo externo do domínio sendo
anunciado, (ii) o identificador do ABR de origem, (iii) o custo do caminho mais curto intra-área do
ABR ao DBR que injetou o prefixo em o domínio e (iv) o custo externo do domínio associado ao
prefixo.
O LSDB de sobreposição precisa apenas ser armazenado nos ABRs; ele pode ser ignorado
pelos roteadores internos da área. As NRs overlay podem ser trocadas entre ABRs usando o
procedimento flooding (ver Seção 2.4), mas com escopo de domínio, uma vez que as NRs devem
ser comunicadas como originadas, ou seja, não modificadas, para todos os ABRs.
A sobreposição LSDB correspondente à rede da Figura 3.6 é mostrada na Figura 3.8.
Como os ABRs calculam os caminhos mais curtos e comunicam essas informações aos roteadores
internos da área? Através da sobreposição LSDB, cada ABR pode construir o gráfico da
sobreposição ABR e calcular os caminhos mais curtos de
R2 R3 R4 R5 R6 R7
R3: 8 R2: 8 R2: 8 R2: 1 R2: 3 R3: 3
R4: 8 R4: 4 R3: 4 R3: 4 R5: 2 R4: 1
R5: 1 R5: 4 R5: 2 R4: 2 R7: 6 R5: 1
R6: 3 R7: 3 R7: 1 R6: 2 R6: 6
R7: 1
overlay-router-NRs (orouter-NRs)
overlay-domain-internal-prefix-NRs (odip-NRs)
ap4 ap4
R6 R7
int. custo: 1 int. custo: 5
ramal custo: 0 ramal custo: 0
overlay-domain-external-prefix-NRs (odep-NRs)
a cada prefixo interno de domínio ou DBR, usando o algoritmo de Dijkstra. Os ABRs então
precisam injetar essas informações nas áreas às quais se conectam diretamente (terceira
etapa da Figura 3.3). Eles fazem isso usando os aep-NRs e os dep-NRs introduzidos na
Seção 3.1.3, ambos inundados com escopo de inundação de área. Lembre-se de que tanto
os aep-NRs quanto os dep-NRs são originados por ABRs para anunciar os prefixos de área
externa e de domínio externo e os custos de caminho mais curto (intradomínio) para alcançá-
los.
Para ilustrar como os caminhos mais curtos são computados através do gráfico de
sobreposição, considere a determinação do caminho mais curto do roteador R2 para ap3
usando o gráfico de sobreposição da Figura 3.7. Existem vários caminhos candidatos, por exemplo:
Especificamente, os aep-NRs anunciam que R2 pode fornecer um caminho para ap3 com um custo de 3.
Observe que, nesse tipo de abordagem, dois tipos de escopo de inundação são usados: os NRs de
sobreposição, ou seja, os orouter-NRs, os odip-NRs e os odep-NRs, são inundados com escopo de domínio,
enquanto todos os outros NRs são inundados com abrangência de área.
Na abordagem LSR para roteamento entre áreas, os ABRs constroem e mantêm o gráfico da
sobreposição ABR. Cada ABR inunda todos os outros ABRs com sua visão local da topologia de
sobreposição, usando overlay-router-NRs (ououter-NRs) e informações sobre os prefixos
disponíveis dentro das áreas às quais ele se conecta diretamente, usando overlay-domain-internal-
prefix- NRs (odip-NRs) para prefixos internos ao domínio, e overlay-domain external-prefix-NRs
(odep-NRs) para prefixos externos ao domínio.
descrever em detalhes a abordagem do Roteamento de Vetor de Distância (DVR) para o roteamento entre
áreas, revisamos aqui seus princípios básicos (consulte também a Seção 5.2 de [6]). O DVR é baseado na
versão distribuída e assíncrona do algoritmo de Bellman Ford. Nesse algoritmo, cada roteador envia a
todos os seus vizinhos sua estimativa do custo do caminho mais curto para cada destino de rede. Um
roteador atualiza sua estimativa do custo do caminho mais curto para um destino por meio de um vizinho
específico adicionando dois componentes de custo: (i) a estimativa de custo recebida desse vizinho e (ii) o
custo do link dele mesmo para o vizinho. Em seguida, ele seleciona o vizinho que fornece o custo de
caminho mais curto (ou seja, o roteador do próximo salto). Quando um vizinho é removido (por exemplo,
devido a uma falha), o custo desse vizinho deve ser definido como ÿ. As mensagens transmitidas aos
vizinhos são chamadas de vetores de distância, e cada elemento do vetor é um par (destino, custo). Os
vetores de distância precisam ser enviados na inicialização e quando a estimativa de custo para um destino
muda.
Quais informações armazenar nos roteadores Para cada destino, os roteadores podem armazenar as
melhores informações recebidas de cada vizinho ou simplesmente as informações recebidas do melhor
vizinho (o roteador do próximo salto); a informação armazenada é o identificador do vizinho e o custo do
caminho mais curto que ele fornece.
A segunda abordagem é utilizada pelo protocolo RIP [30], e é também a utilizada em OSPF e IS-IS. Nesse
caso, ao receber um vetor de distância de um de seus vizinhos, um roteador atualiza o custo do caminho
mais curto armazenado e a estimativa do próximo salto de acordo com as seguintes regras:
• Se algum vizinho fornecer um custo para um destino inferior ao atualmente armazenado, o custo
armazenado é atualizado para o menor e o roteador do próximo salto é definido para o vizinho
que fornece esse custo.
Transmissão confiável de vetores de distância A operação correta dos protocolos DVR requer (i)
que os vetores de distância sejam transmitidos de maneira confiável e (ii) que os roteadores
saibam quem são seus vizinhos. O último requisito garante que os roteadores possam detectar
novos vizinhos e falhas de vizinhos. Os dois requisitos podem ser atendidos pela transmissão
periódica de vetores de distância entre roteadores vizinhos, que é justamente a solução adotada
no RIP (os vetores de distância são enviados a cada 30 segundos). No protocolo EIGRP [4, 13],
os relacionamentos de vizinhança são estabelecidos por meio de um protocolo Hello, como no
LSR, e a confiabilidade das transmissões de mensagens é garantida por meio de proteção ACK.
Observe que nos protocolos DVR, os roteadores precisam apenas conhecer seus vizinhos e não o
mapa de rede completo, como no LSR.
Uma maneira de superar esse problema é “redefinir o infinito”; por exemplo, em RIP, infinito é
definido como 16. No entanto, esta solução impõe uma restrição topológica na rede. Na verdade,
as redes que executam o RIP não podem ter caminhos com mais de 15 saltos. Além dessa solução,
outras técnicas podem ser utilizadas para reduzir o impacto da contagem até o infinito, como
atualizações disparadas e split horizon. A técnica DUAL [13], utilizada no protocolo EIGRP, elimina
completamente este problema.
R1 R2 R3 R4
1 1 1
abordagem de vetor de distância para roteamento entre áreas, os ABRs executam um protocolo
DVR entre si. Os roteadores internos de área não participam desse processo, exceto como
intermediários na comunicação entre os ABRs. Observe que, nessa abordagem, os ABRs não têm
conhecimento da sobreposição ABR completa; eles só conhecem os ABRs de seus vizinhos. Cada
ABR transmite vetores de distância para todos os ABRs vizinhos, contendo pares (prefixo, custo).
Quando um ABR recebe um vetor de distância de um ABR vizinho em relação a algum prefixo,
ele atualiza sua estimativa do custo do caminho mais curto e ABR do próximo salto em direção a
esse prefixo usando as regras usuais do DVR, que revisamos na seção anterior. Para isso, ele
precisa calcular o caminho mais curto de si para o vizinho ABR, o que pode ser feito através da
análise do LSDB que ele tem em comum com o vizinho. Assim como na abordagem LSR inter-
área, cada ABR é responsável por originar informações relativas aos prefixos disponíveis dentro
de suas áreas conectadas diretamente, que aprende com os LSDBs correspondentes; esta
informação corresponde aos rótulos ABR do gráfico de sobreposição.
Área 1
8
(ap1,1) (ap1,7)
(ap2,8) (ap2,7)
8 7
R2 R3 R4
4
4 2
1
1
3 Área 2 3 Área 3
R5
2 1
R6 R7
(ap3,5) (ap3,1)
(ap4,1,0) 6 (ap4,5,0) Área 4
para. Deixe, para cada roteador, Di denotar sua estimativa na etapa i da distância (custo) para
alcançar o prefixo ap3.
• Passo 1 - Inicialmente, o roteador R6 anuncia para todos os vizinhos uma distância de 5 para
ap3; esse custo foi obtido através da análise do LSDB da área 4.
• Etapa 3 - Nesta etapa, o roteador R7 anuncia uma distância de 1 para ap3 e, com base
nessas informações, os roteadores R3, R4 e R5 aprendem seus custos de caminho mais
curto corretos para ap3, que são 4, 2 e 2, respectivamente ; eles também aprendem o
roteador de próximo salto para ap3, que é R7 para todos eles. Novamente, os custos do
caminho mais curto são obtidos através da análise de um LSDB, o LSDB da área 3 neste caso.
• Etapa 4 - Finalmente, o roteador R5 anuncia uma distância de 2 para ap3 e, com base nesta
informação, o roteador R2 atualiza sua distância para 3 e o próximo salto para R5. Após
esta etapa, todos os ABRs aprenderam o custo correto do caminho mais curto e o ABR do
próximo salto para ap3. Qualquer outra sequência de etapas levaria ao mesmo resultado.
• Como as informações de roteamento computadas pelos ABRs são comunicadas aos roteadores
internos da área?
Processo de comunicação A comunicação (i) entre ABRs vizinhos e (ii) entre ABRs e roteadores
internos de área usa o procedimento de inundação com escopo de inundação de área (ver Seção
2.4). Lembre-se de que o protocolo de roteamento intra-área é do tipo LSR, mesmo na abordagem
DVR inter-área.
A comunicação entre ABRs contrasta com a abordagem inter-área LSR, onde os NRs overlay
(orouter-NR, odip-NR e odep-NR) são comunicados entre ABRs com escopo de inundação de
domínio (consulte a Seção 3.2.1) .
Além disso, como o mecanismo de inundação é confiável, as mensagens de controle são
transmitidas sem perda ou corrupção. Assim, ao contrário do RIP, onde não há mecanismo de
proteção explícito para a transmissão de vetores de distância, nesta abordagem, os vetores de
distância não precisam ser repetidos periodicamente.
Observe também que o protocolo LSR intra-área subjacente é o que estabelece implicitamente
as relações de vizinhança entre ABRs anexados à mesma área. É através do LSDB de área
mantido pelo protocolo LSR intra-área que um ABR sabe quem são seus ABRs vizinhos ativos
naquela área, e é através deste LSDB que ele pode detectar eventuais falhas de ABR. Podemos
dizer que o protocolo LSR intra-área desempenha o papel do protocolo Hello na sobreposição ABR.
Mensagens de controle Como no caso da abordagem LSR entre áreas, os aep NRs e os dep-NRs
introduzidos na Seção 3.1.3 são usados para comunicar as informações de roteamento computadas
pelos ABRs aos roteadores internos da área.
Além disso, como esses NRs têm a semântica (prefixo, custo) exigida pelos vetores de distância,
eles também podem ser usados para comunicar informações de roteamento entre ABRs vizinhos.
Lembre-se da Seção 3.1.3 que aep-NRs e dep-NRs são originados por ABRs para anunciar (i) um
prefixo (um prefixo externo de área, no caso de aep-NRs, e um prefixo externo de domínio, no
caso de dep-NRs) e (ii) o custo do caminho do ABR de origem até o prefixo (no caso de aep-NRs)
ou até o DBR que injetou o prefixo no domínio de roteamento (no caso de dep-NRs) .
Observe que dois tipos diferentes de mensagens de controle poderiam ter sido usados para
realizar as duas funções descritas acima, mas isso não é necessário neste caso. De fato, inundar
um vetor de distância dentro de uma área serve a dois propósitos simultaneamente, e esta é uma
propriedade importante. Primeiro, ele comunica informações de roteamento entre os ABRs (a
segunda etapa da Figura 3.3). Em segundo lugar, é
ABRs míopes O segundo caso é mais complexo. Isso acontece quando os ABRs não têm
noção da sobreposição de ABR e apenas resumem “o que eles veem” em uma área para
as outras áreas às quais estão anexados. Nós os chamamos de ABRs míopes. Considere
o exemplo da Figura 3.12.a. A origem e o destino estão em áreas diferentes, cada uma
com seu próprio LSDB. Fica claro na figura que o caminho mais curto de S para D é S ÿ
ABR 3 ÿ ABR 2 ÿ ABR 1 ÿ D com um custo de 4. Suponha que os ABRs injetem informações
na área 2 com base apenas nas informações contidas no LSDB da área 1; observe que o
link entre ABR 1 e ABR 2 não está incluído neste LSDB, pois não faz parte da área 1.
Nesse caso, ABR 1 anuncia um custo para D de 1, ABR 2 anuncia um custo de 4 e ABR 3
um custo 5. Com base nessas informações, o roteador S decide que o melhor caminho é S
ÿ ABR 1 ÿ D com um custo de 5, o que não é ótimo.
$UHD
$%5 $%5
'
6
$UHD
Esse problema aconteceu porque os ABRs lidam isoladamente com cada área.
Para ver como o problema poderia ser resolvido, a Figura 3.12.b mostra o gráfico da sobreposição
ABR. O gráfico indica os caminhos mais curtos entre todos os pares de ABRs em cada área, e
os rótulos ABR relacionados ao destino, determinados pelo LSDB da área 1. Um rótulo
corresponde ao custo do caminho intra-área mais curto do ABR ao destino; os rótulos são 1 para
ABR 1, 4 para ABR 2 e 5 para ABR 3. A partir dessas informações, ABR 3 pode determinar que
o caminho mais curto de si mesmo para D segue o caminho ABR 3 ÿ ABR 2 ÿ ABR 1 com um
custo de 3; ABR 3 pode então injetar esta informação na área 2, permitindo que S determine que
o caminho mais curto para D é S ÿ ABR 3 ÿ ABR 2 ÿ ABR 1 ÿ D com um custo de 4.
Área 1
D
1 5
4
1
ABR 1 ABR 2 ABR 3
4
4 1
S
Área 2
Área 1 6
5
Área 2
FIGURA 3.12: ABRs míopes; (a) exemplo de rede, (b) gráfico da sobreposição ABR.
A Figura 3.13.a ilustra a abordagem do DVR descrita acima. A zona “outras áreas”
representa as diversas áreas que podem existir entre as áreas de origem e destino; os
arcos representam os caminhos mais curtos entre os roteadores e os rótulos dos arcos
representam os custos correspondentes do caminho mais curto. O prefixo externo do
domínio ap1 é injetado no domínio por DBR 1 através de um dep-NR carregando um custo
interno de zero. Quando o ABR 2 recebe este dep-NR, ele o injeta no protocolo de
roteamento interárea com um custo interno de 5, que corresponde ao custo do caminho
mais curto dele para o DBR 1. Da mesma forma, quando o dep-NR atinge ABR 1, ABR 1
calcula o caminho mais curto para ap1, que é 8, e injeta essa informação na área de
origem. O roteador S, ao receber o dep-NR, determina que o custo para ap1 é 10 via saída
dep-NR
ap1
dep-NR int. custo: 5 dep-NR
2 5
S outras áreas DBR 1
ap1
fonte destino
área área
dep-NR
ap1
dep-NR DBR 1 dep-NR
2 5
DBR 1
S int. custo: 5
DBR 1
DBR 1 dbr-NR
FIGURA 3.13: Alternativas para divulgar informações externas do domínio em todas as áreas; (a)
apenas com dep-NRs, (b) com dep-NRs e dbr-NRs.
e, desta forma, não carrega nenhuma informação sobre como rotear para o DBR de
origem. Essas informações devem ser fornecidas por um novo tipo de NR, disseminado
por meio do protocolo de roteamento entre áreas. Diferentes tipos de NR devem ser
usados nas abordagens de roteamento entre áreas DVR e LSR. Vamos nos concentrar
no primeiro, pois é a solução adotada no OSPF. O tipo NR da abordagem DVR é chamado
de domínio-border-router-NR (dbr-NR para abreviar), é originado pelos ABRs e disseminado
como um vetor de distância, e contém (i) o identificador DBR e (ii) o menor custo de
caminho do ABR de origem para o DBR.
Nesta solução, o dep-NR deve incluir o identificador de seu DBR de origem, de forma que
os dois tipos de NR possam ser relacionados entre si.
Uma vantagem dessa solução é que os dbr-NRs atuam como elementos de reunião
de todos os prefixos externos ao domínio originados pelo mesmo DBR. Assim, caso um
DBR seja removido, a exclusão de todos os seus prefixos externos ao domínio originados
pode ser feita por meio de uma única indicação de exclusão, ou seja, a indicação para
excluir o dbr-NR correspondente.
Damos um exemplo na Figura 3.13.b. Nesse caso, o prefixo externo do domínio ap1
é anunciado por meio de um dep-NR que é disseminado usando o escopo de inundação
de domínio e inclui o identificador de DBR 1; o dep-NR não inclui informações de custos
internos. Ao mesmo tempo, ABR 2 injeta no protocolo de roteamento entre áreas um dbr-
NR descrevendo DBR 1 e o custo do caminho mais curto dele para DBR 1, que é 5.
Quando o dbr-NR atinge ABR 1, ABR 1 atualiza o custo para 8 e o injeta na área de
origem. Combinando as informações recebidas no dep-NR e no dbr-NR, o roteador S
conclui que pode atingir o DBR que injetou ap1 usando o ABR 2 como ABR de saída, com
um custo de 10.
Parte III
tecnologias
4
Visão geral de OSPF e IS-IS
141
Área 0 R5
(espinha dorsal) R4
R2 R3 R6
R1 R7
Área 1
Área 2
(a)
Área 2 R5
(subdomínio L2)
adjacência L2
R4 adjacência L2
adjacência L2 adjacência L2
R2 R3 R6
adjacência L1
adjacência L1 adjacência L1
R1 R7
Área 1
Área 3
(b)
áreas de nível inferior é forçada a passar pelo nível superior. A área de nível superior é
chamada de backbone em OSPF e subdomínio L2 em IS-IS; usaremos principalmente a
designação OSPF. Devido a essas restrições topológicas, as redes OSPF e IS-IS
estruturadas em várias áreas são geralmente chamadas de redes hierárquicas, e não de
redes multiárea. Adotaremos a última designação a seguir.
Uma proposta para uma extensão OSPF suportando topologias multiárea arbitrárias pode
ser encontrada em [51].
Tanto no OSPF hierárquico quanto no IS-IS, cada área mantém um LSDB separado. As
áreas trocam informações de roteamento entre si usando um protocolo de roteamento entre
áreas que, em ambos os casos, é um protocolo de vetor de distância. Os protocolos de vetor
de distância sofrem de problemas de convergência bem conhecidos, que provavelmente foram
a causa raiz para limitar a topologia entre áreas a uma (menos flexível) estrutura hierárquica
de dois níveis. No entanto, conforme discutido no Capítulo 3, existem soluções técnicas para
estruturar redes multiárea com topologias interáreas arbitrárias.
4.3.1 OSPF
No OSPF, cada roteador dentro de um domínio de roteamento pertence a um dos três tipos
(ver Figura 4.1.a): (i) Autonomous System Border Router (ASBR), que estabelece a conexão
com outros domínios de roteamento, (ii) Area Border Router (ABR), que interliga o backbone
com uma ou mais áreas de nível inferior, e (iii) roteadores internos às áreas. O ASBR pode
estar localizado em qualquer área, e não apenas no backbone. Infelizmente, a designação
“ASBR” é enganosa, pois o ASBR pode interconectar dois domínios de roteamento localizados
no mesmo AS (por exemplo, pode interconectar um domínio de roteamento executando outro
protocolo de roteamento intradomínio, como RIP ou EIGRP).
No OSPF, cada interface do roteador é atribuída a uma área. Assim, os ABRs têm uma
interface atribuída à área de backbone e uma ou mais interfaces assinadas para áreas de
nível inferior. Isso também significa que os ABRs não pertencem a uma única área (podemos
dizer que pertencem ao backbone e a todas as áreas de nível inferior às quais se ligam
diretamente).
4.3.2 IS-IS
No IS-IS, a estrutura hierárquica é baseada em dois tipos de LSDB, chamados L1 LSDB e L2
LSDB. Esses LSDBs são independentes e cada LSDB é construído e mantido usando pacotes
de controle específicos (pacotes de controle L1 e L2). Para tanto, as interfaces do roteador
podem estabelecer dois tipos de relacionamentos, chamados de adjacências L1 e L2. Além
disso, as interfaces podem ser configuradas em três tipos: (i) somente L1, (ii) somente L2 e (iii)
L1/L2. O tipo de interface determina o tipo de informações de roteamento e pacotes de controle
que a interface pode trocar: interfaces somente L1 podem apenas trocar informações relativas
ao L1 LSDB (isto é, elas podem estabelecer apenas adjacências L1), interfaces somente L2
podem apenas trocar informações relativas ao L2 LSDB (ou seja, eles só podem estabelecer
adjacências L2), e as interfaces L1/L2 podem trocar informações relativas a ambos
LSDBs (ou seja, eles podem estabelecer ambos os tipos de adjacências, usando diferentes tipos de
pacotes de controle).
Os roteadores IS-IS são então classificados de acordo com os tipos de interface que suportam:
(i) roteadores L1 possuem apenas interfaces somente L1, (ii) roteadores L2 possuem apenas interfaces
somente L2 e (iii) roteadores L1/L2 podem ter os três tipos de interfaces. No IS-IS, as áreas não são
atribuídas a interfaces de roteador como no OSPF, mas são atribuídas a roteadores.
Assim como no OSPF, um domínio de roteamento IS-IS estruturado em áreas possui um LSDB
distinto para cada área. Os LSDBs das áreas de nível inferior devem ser do tipo L1 e os LSDB da área
de backbone (subdomínio L2) devem ser do tipo L2.
A troca de informações de roteamento entre o backbone e uma área de nível inferior ou, dizendo de
outra forma, entre o L2 LSDB e um L1 LSDB, é feita em um roteador L1/L2. Assim, os roteadores L1/
L2 são os ABRs do IS-IS. Como um roteador é atribuído a uma área específica, os roteadores L1/L2
devem ser atribuídos a áreas de nível inferior. Assim, as áreas de nível inferior são formadas pelos
roteadores L1 e os roteadores L1/L2 que se interligam com o backbone (que estabelecem adjacências
L1 entre si para a construção do L1 LSDB), e o backbone é formado pelos roteadores L2 (que
estabelecem adjacências L2 entre si para a construção do L2 LSDB). Superficialmente, isso parece
muito diferente da estrutura de domínio de roteamento OSPF, mas, como será discutido no Capítulo 7,
não é!
que foram fixados pela especificação e não podem ser alterados pelo gestor da rede.
Eles estão listados no Apêndice B da RFC 2328 [36] e na Seção 7.5 da ISO/IEC 10589
[1]. Os parâmetros configuráveis do OSPFv2 estão listados no Apêndice C do RFC
2328, e os do OSPFv3 no Apêndice C do RFC 5340 [8]. Por exemplo, tanto no OSPF
quanto no IS-IS, o tempo de vida dos elementos LSDB é uma constante arquitetônica
e a periodicidade das transmissões HELLO é um parâmetro configurável. Neste livro,
vamos nos referir às constantes arquitetônicas anexando
“*” aos seus nomes.
5
Estrutura LSDB de OSPF e IS-IS
Redes de área única
Com exceção das informações de enlace, que possuem natureza local, as informações de
roteamento devem ser as mesmas nos LSDBs de todos os roteadores localizados na mesma
área. Os mecanismos necessários para garantir essa sincronização serão discutidos no Capítulo
6.
147
FIGURA 5.1: Correspondência entre os elementos LSDB do protocolo genérico, OSPF e IS-
IS.
e os elementos LSDB de OSPF e IS-IS. Esses elementos serão discutidos nas próximas seções.
AFI
1 byte
Distinção entre links paralelos Além disso, para distinguir entre links paralelos em um
roteador, o OSPFv2 concatena o RID do vizinho com o endereço IPv4 da interface que
conecta o roteador ao link, e o OSPFv3 o concatena com o identificador da interface.
IS-IS não tem provisão para distinguir entre links paralelos.
R1
ID do pseudonó = 1 (IS-IS) ID do pseudonó = 2 (IS-IS)
Endereço IP = 8.8.3.1 (OSPFv2) Endereço IP = 8.8.5.9 (OSPFv2)
ID da interface = 7 (OSPFv3) ID da interface = 3 (OSPFv3)
Os roteadores são identificados por números de 32 bits expressos como endereços IPv4,
tanto no OSPFv2 quanto no OSPFv3, e por endereços NSAP no IS-IS.
Os links são identificados dinamicamente usando o protocolo Hello. Os links ponto a
ponto são identificados através do RID do roteador vizinho no link que, no caso do OSPF,
é concatenado com um endereço IPv4 (OSPFv2) ou uma tag gerada localmente
(OSPFv3), para distinguir entre links paralelos. Os links compartilhados são identificados
pelo endereço IPv4 da interface DR anexada ao link (OSPFv2) ou pelo RID do DR
concatenado com uma tag gerada localmente (OSPFv3 e IS-IS) para distinguir entre os
roteadores designados em mais de um link compartilhado .
e diferem ligeiramente entre eles. A Figura 5.6 mostra a correspondência entre os tipos
de link do protocolo genérico, OSPF e IS-IS.
Tipos de link IS-IS O IS-IS considera apenas dois tipos de link, chamados de sub-rede
de topologia geral e sub-rede de broadcast. Os últimos são equivalentes a links
compartilhados de transmissão ampla e os primeiros agregam os tipos de link restantes,
incluindo links compartilhados ponto a ponto e sem transmissão. As sub-redes de
topologia geral são representadas como uma coleção de links ponto a ponto. As sub-
redes de broadcast são representadas no LSDB pelo equivalente a um slink-NR.
Tipos de link OSPF O OSPF considera cinco tipos de link: links ponto-a-ponto, links
virtuais, links broadcast (o equivalente a links compartilhados broadcast) e dois tipos
de links compartilhados não broadcast chamados ponto-a-multiponto e Non-Broadcast
Multi -Acesso (NBMA). Um enlace ponto a multiponto é representado por meio de uma
coleção de enlaces ponto a ponto, como no IS-IS. Um link NBMA é representado pelo
equivalente a um slink-NR, como em links de transmissão OSPF e sub-redes de
transmissão IS IS. A representação NBMA aplica-se apenas a links compartilhados
totalmente em malha. Como os links NBMA não têm capacidade de transmissão, os
pacotes de controle enviados por um roteador devem ser transmitidos individualmente
para todos os outros roteadores conectados ao link. O OSPF inclui diversas adaptações
para minimizar a quantidade de tráfego de controle trocado neste tipo de links. Links
virtuais são links lógicos usados em OSPF hierárquico para superar as restrições
topológicas desses tipos de redes. Devido à sua preponderância nas redes atuais,
vamos nos concentrar em links compartilhados ponto-a-ponto e broadcast, deixando
de lado os detalhes de links compartilhados não broadcast e links virtuais.
Com exceção dos links virtuais, a especificação OSPFv2 [36] refere-se aos links
como redes, onde as redes são entendidas como sub-redes e não como links. De fato,
ao contrário do OSPFv3, no OSPFv2 não há distinção entre links e sub-redes, e todo
o processamento é por sub-rede. Lembre-se da discussão na Seção 1.4.2 de que
várias sub-redes podem ser atribuídas a um único link.
Os formatos de OSPFv2 e OSPFv3 LSAs, e de IS-IS LSPs, são mostrados nas Figuras
5.9, 5.12 e 5.15, respectivamente. Nas figuras, incluímos todos os campos de LSAs e
LSPs definidos nas especificações, exceto os campos não utilizados. No entanto,
descreveremos apenas os campos que são fundamentais para a operação dos
protocolos LSR. As figuras também indicam o comprimento de cada campo (em
octetos); av indica que o comprimento é variável. Campos ou grupos de campos que
podem se repetir várias vezes são encapsulados em um retângulo mais escuro. Neste
capítulo, vamos nos concentrar nos LSAs e LSPs necessários para descrever uma rede de área únic
Como NRs, LSAs e LSPs são estruturados em duas partes: um cabeçalho e um corpo.
O cabeçalho contém o equivalente ao identificador NR (consulte a Seção 2.2.5) e aos
atributos de atualização do NR (consulte a Seção 2.4.1); esses campos são resumidos
na Figura 5.7.
FIGURA 5.7: Campos que identificam LSAs e LSPs e descrevem sua atualização.
Como os LSAs, todos os tipos de LSP compartilham um cabeçalho comum (consulte a Figura
5.12). Os LSPs podem ser do tipo L1 ou L2, conforme indicado no campo Tipo. Eles são
identificados exclusivamente pelo Source ID, que identifica o roteador de origem, e pelo
Pseudonode ID, que distingue entre diferentes LSPs originados pelo mesmo roteador.
Conforme mencionado acima, o Pseudonode ID deve ser zero para LSPs que descrevem
roteadores e um valor diferente de zero para LSPs que descrevem links compartilhados de trânsito.
Em redes IP, o campo Source ID é igual ao SID. A atualização dos LSPs é definida pelo SN
(Sequence Number), a idade (Remaining Lifetime) e a soma de verificação (Checksum).
O corpo dos LSPs compreende um número variável de registros TLV. A estrutura dos IS-IS
TLVs é mostrada na Figura 5.8.a. O campo Tipo indica o tipo de TLV, o campo Comprimento
indica o comprimento do campo Valor e o campo Valor é o conteúdo real do TLV, que varia
de acordo com seu tipo. O conteúdo de um TLV é limitado a 255 octetos.
TLVs estendidos A estrutura dos TLVs foi posteriormente estendida para permitir a organização
do conteúdo TLV em sub-TLVs (Figura 5.8.b) [29]. Nesse caso, o conteúdo de um TLV pode
incluir um número variável de sub-TLVs, permitindo uma organização em dois níveis das
informações de roteamento. A estrutura dos sub TLVs é semelhante à dos TLVs: cada sub-
TLV tem um campo Tipo de um octeto, um campo Comprimento de um octeto e um campo
Valor com zero ou mais octetos. Esses TLVs às vezes são chamados de TLVs estendidos. A
principal motivação para esta extensão foi o suporte de funções de engenharia de tráfego. No
entanto, como veremos mais adiante, os TLVs estendidos têm um uso mais amplo atualmente.
Tipo 1
1 Comprimento 1
Tipo
Tipo de sub-TLV 1
Comprimento do sub-TLV 1
Valor de sub-TLV v
FIGURA 5.8: Estrutura de IS-IS TLVs; (a) TLVs regulares, (b) TLVs organizados em
sub-TLVs (TLVs estendidos)
5.5.1 Roteador-LSA
O Roteador-LSA descreve um roteador, suas interfaces de saída e os endereços IPv4
atribuídos a ele e suas interfaces.
Roteador de origem O roteador que origina o LSA é identificado no campo Advertising
Router, utilizando seu RID.
Cabeçalho LSA
Rede-LSA
Como as descrições de links são usadas? A Figura 5.10 mostra o conteúdo dos campos de
descrição do link para cada tipo de elemento que está sendo descrito. Esses elementos são:
(i) um endereço IPv4 atribuído a um roteador, (ii) uma interface para um link ponto-a-ponto,
(iii) uma interface para um link compartilhado de trânsito e (iv) uma interface para um stub
compartilhado link.
• Interface para link ponto a ponto - Uma interface para um link ponto a ponto
é caracterizado por dois tipos de descrição de link: uma descrição de tipo 1 para
transmitir informações topológicas e uma descrição de tipo 3 para transmitir informações
de endereçamento.
Curiosamente, o OSPFv2 acomoda links ponto a ponto não numerados, ou seja, links
ponto a ponto sem prefixo atribuído. Nesse caso, o link é caracterizado por uma única
descrição do tipo 1, onde Link Data é o número da interface anexada ao link. A
exigência de links ponto a ponto não numerados vem de uma época em que as sub-
redes eram classful e assinar um prefixo para um link ponto a ponto implicava no
desperdício de, pelo menos, um espaço de endereço classe C (256 endereços). No
entanto, a existência desse recurso é um reconhecimento implícito de que as
informações topológicas e de endereçamento podem realmente ser separadas.
• Interface para link compartilhado de trânsito - Uma interface para um link compartilhado de trânsito
• Interface para stub de link compartilhado - Finalmente, uma interface para um stub de
link compartilhado é caracterizada por uma descrição do tipo 3, que inclui o endereço
IPv4 da sub-rede (Link ID) e a máscara de sub-rede (Link Data) que definem o prefixo e
o custo da interface do roteador com o link (Métrica). Os links compartilhados do stub
não possuem representação topológica, pois não são identificados no mapa da rede.
5.5.2 Rede-LSA
• Um link ponto a ponto é descrito por meio de dois Roteadores-LSAs, cada um originado
por um roteador final de link e descrevendo uma direção de link. Em particular, a
interface de link ponto a ponto é caracterizada por uma descrição de link tipo 1,
a estrutura desses LSDBs é idêntica. Ambos os LSDBs são formados por LSPs, e os
LSPs são estruturados com o mesmo conjunto de campos independente do tipo de
LSDB. A distinção entre LSPs da L1 LSDB e LSPs da L2 LSDB é feita através do valor
do campo IS Type (2 bits), que faz parte do cabeçalho LSP; este campo é igual a 1 no
primeiro caso e igual a 3 no segundo.
Observe que os TLVs estão contidos dentro dos LSPs e, portanto, herdam seu tipo
LSDB. A seguir, não faremos distinção entre L1 e L2 LSPs, pois sua estrutura é idêntica.
Comprimento do ID
1 0 I/E Métrica padrão 1 Métrica 3
2
Comprimento da PDU
IS vizinhos TLV Acessibilidade IS estendida
TLV
Vida útil restante 2 1
Tipo = 128
Tipo = 236 1
ID da fonte 6 1
Comprimento
Comprimento
1
ID do pseudonó 1 U/D I/E Métrica Padrão 1
Métrica 4
Número LSP 1 SR 1
Métrica de atraso
U/D x S Reservado 1
Número sequencial 4 SR 1
Métrica de despesas
Comprimento do prefixo 1
soma de verificação 2 SR Métrica de erro 1
Prefixo v
O É
P ATT 1 Endereço de IP 4
eu Tipo
Comprimento dos sub-TLVs 1
cabeçalho LSP máscara de sub-rede 4
Tipo de sub-TLV 1
Tipo = 135 1
Acessibilidade interna de IP 1
Comprimento do sub-TLV
Informação TLV
Comprimento
1
1 Valor de sub-TLV v
Tipo = 130
Métrica 4
Comprimento
1 Acessibilidade IPv6 TLV
SU/D Comprimento do prefixo 1
U/D I/E Métrica padrão 1
Prefixo v
SR Métrica de atraso 1
Comprimento dos sub-TLVs 1
Métrica de Despesas SR 1
Tipo de sub-TLV 1
SR Métrica de erro 1
Comprimento do sub-TLV 1
Endereço de IP 4
Valor de sub-TLV v
máscara de sub-rede 4
Acessibilidade estendida de IP
TLV Acessibilidade externa de IP
Informação TLV
O Extended IS Reachability TLV eliminou a maioria dos campos métricos que existem
no IS Neighbours TLV, ou seja, a métrica de atraso, a métrica de despesa e a métrica de
erro. A filosofia por trás do projeto do Ex tented IS Reachability TLV foi manter apenas a
métrica padrão e permitir a inclusão de métricas adicionais somente quando necessário,
usando sub-TLVs.
Descrevendo enlaces paralelos ponto a ponto Um vizinho em um enlace ponto a ponto é
identificado por meio de seu SID e um Pseudonode ID igual a zero. Assim, IS IS não tem
nenhuma maneira explícita de diferenciar entre links ponto-a-ponto paralelos (isto é, links
que levam ao mesmo vizinho). Apesar disso, links paralelos podem ser descritos
individualmente em TLVs usando diferentes estruturas vizinhas com o mesmo identificador
de vizinho. Entretanto, nas implementações atuais, apenas um link é descrito, na verdade
aquele com menor custo de interface. Esta falta de informação topológica não é
problemática, uma vez que apenas a interface de menor custo é relevante para o cálculo
dos custos de caminho mais curto.
Como os prefixos são descritos? Os prefixos são descritos dentro de um TLV usando uma
estrutura formada por um conjunto de campos (a estrutura do prefixo), que se repete para
cada prefixo individual. O prefixo é identificado por meio dos campos Endereço IP e
Máscara de sub-rede (em TLVs de informações de acessibilidade interna de IP) e por meio
dos campos Prefixo e Comprimento do prefixo (em TLVs de acessibilidade de IP estendida
e TLVs de acessibilidade de IPv6).
• Um roteador é identificado por meio de seu SID (incluído no campo Source ID de seu
Nonpseudonode-LSP).
roteadores. Os links ponto a ponto são identificados usando o SID do roteador vizinho
concatenado com um Pseudonode ID zero.
Comprimento
1 Comprimento
1
1
Endereços de área TLV
Tipo = 232
Comprimento
1 Tipo = 129 1
1
Endereço da interface Comprimento
1
6
3
Opções
Prioridade do roteador 1 $6([WHUQDO/6$
Tipo 1
Opções 3 Opções 3
Métrica 2
Link-Local Interface Endereço 16 roteador conectado 4
ID da interface 4
Número de prefixos 4 1HWZRUN/6$
ID da interface do vizinho 4
Comprimento do prefixo 1
ID do roteador vizinho 4
Opções de prefixo 1
/LQN/6$
5.7.1 Roteador-LSA
O Router-LSA descreve um roteador e suas interfaces de saída e é o equivalente ao
roteador-NR. Ao contrário do OSPFv2, ele não inclui informações de endereçamento.
bor (ID do roteador vizinho). Conforme discutido nas Seções 2.2.1.3 e 2.2.1.4, os
identificadores de interface são necessários para garantir a unicidade na identificação do link.
O que é um vizinho nas descrições de link depende do tipo de interface: em interfaces de
link ponto a ponto, o vizinho é o roteador do outro lado do link e, em interfaces de link
compartilhado em trânsito, o vizinho é o link DR.
Assim, em interfaces de link compartilhado em trânsito, o Neighbor Router ID é o RID do
DR e o Neighbor Interface ID é o identificador da interface DR anexada ao link. Observe
que o conteúdo desses dois campos coincide com o identificador do link compartilhado,
conforme definido para OSPFv3 (consulte a Seção 5.2.2).
Como no caso do OSPFv2, o campo Link State ID não é necessário para identificar
exclusivamente o roteador-LSAs; geralmente é definido como 0.
A Figura 5.16 mostra o conteúdo dos campos de descrição do link, para cada tipo de
interface que está sendo anunciado. Exceto para links virtuais, agora existem apenas
duas possibilidades: (i) interface para um link ponto-a-ponto (tipo 1) e (ii) interface para um
link compartilhado de trânsito (tipo 2). Assim como no OSPFv2, os links compartilhados
stub não possuem representação topológica. A consequência no OSPFv3 é que o Router-
LSAs não tem referência a este tipo de link.
5.7.2 Rede-LSA
5.7.3 Intra-Área-Prefixo-LSA
Como os prefixos são descritos? Os prefixos IPv6 são descritos pelo endereço IPv6 (prefixo
de endereço) e comprimento do prefixo (tamanho do prefixo). O LSA inclui um campo Métrico
para descrever os custos da interface, mas, conforme discutido na Seção 2.2.2.2, essa
informação só é relevante quando o LSA está anunciando prefixos atribuídos a links
compartilhados stub.
A associação entre prefixos e elementos de rede A associação entre prefixos e elementos
topológicos é feita relacionando cada Intra-Area-Prefix-LSA com um LSA topológico (Router-
LSA ou Network-LSA) usando três campos: o Referenced LS Type, o Roteador de publicidade
referenciado e o ID do estado do link referenciado. Esses três campos formam um ponteiro
ligando as informações de endereçamento e topológicas. O conteúdo de Referenced LS Type,
Referenced Advertising Router e Referenced Link State ID é igual ao conteúdo de LS Type,
Advertising Router e Link State ID do LSA topológico referenciado, respectivamente. O tipo
LS de roteador-LSAs e rede-LSAs são 0 × 2001 e 0 × 2002, respectivamente.
Os prefixos podem ser atribuídos a quatro tipos de elementos: (i) roteadores, (ii) ponto
links to-point, (iii) links compartilhados de trânsito e (iv) links compartilhados stub.
• Prefixos atribuídos a links ponto a ponto - Como em OSPFv2 e IS-IS, um prefixo atribuído a
um link ponto a ponto é anunciado pelos dois roteadores finais do link. No OSPFv3, cada
roteador origina um Intra-Area-Prefix-LSA descrevendo o prefixo, apontando para o Router-
LSA que descreve o roteador e incluindo o custo da interface com o link. A informação de
custo da interface é duplicada, pois já está presente no Roteador-LSAs correspondente.
Quantos prefixos um LSA pode anunciar? Um LSA pode anunciar mais de um prefixo, cujo
número é definido pelo campo Number of Prefixes. No entanto, esses prefixos devem se
referir ao mesmo LSA topológico, pois
Roteador-LSA
Nonpseudonode-LSP
descrição do
link tipo 3
Acessibilidade interna de IP
Informações TLV ou IPv6
Acessibilidade TLV Rede-LSA
ID do estado do link e
máscara de rede
Referenciado
Tipo LS
Tipo LS
Referenciado
ID do estado do link
ID do estado do link
Referenciado
Roteador de Publicidade
Roteador de Publicidade
Intra-Área-Prefixo-LSA
FIGURA 5.17: Associação entre endereçamento e informações topológicas em (a) IS-IS, (b)
OSPFv2 e (c) OSPFv3.
5.8.1 OSPF
AS-External-LSA Tanto no OSPFv2 quanto no OSPFv3, os prefixos de domínio externo são
anunciados por meio do AS-External-LSA originado por um ASBR (consulte as Figuras 5.9 e
5.15). Este LSA é o equivalente ao dep-NR introduzido na Seção 2.2.4.
Injetando rotas padrão O AS-External-LSA também pode ser usado para anunciar rotas padrão
(0.0.0.0/0) dentro de um AS, injetadas pelo ASBR.
Um comentário sobre as designações OSPF Como já mencionado na Seção 4.3.1, as
designações usadas pelo OSPF em relação às informações de endereçamento externo do
domínio são enganosas. O roteador de borda de domínio é chamado de ASBR, mesmo que
esteja interconectando domínios de roteamento pertencentes ao mesmo AS. Além disso, a
designação “AS-External-LSA” esconde o facto de este tipo de LSA poder ser utilizado para
anunciar prefixos externos pertencentes ao AS onde o LSA está a ser divulgado.
Nas Seções 9.2.2, 9.2.3.1 e 9.2.5 mostramos experimentos que destacam as características
da estrutura OSPFv2 LSDB com informações de endereçamento externo ao domínio, vindo ou
não do mesmo AS e incluindo ou não rotas padrão.
5.8.2 IS-IS
TLVs de acessibilidade externa de IP No IS-IS, os prefixos externos de domínio IPv4 são
anunciados por meio do TLV de informações de acessibilidade externa de IP (tipo 130) ou TLV
de acessibilidade de IP estendido (tipo 135) e os prefixos externos de domínio IPv6 por meio
do TLV de acessibilidade de IPv6 (tipo 236). Esses TLVs são equivalentes ao dep-NR introduzido
na Seção 2.2.4 e estão incluídos nos Nonpseudonode-LSPs originados pelos roteadores de
borda. os dois últimos
Os TLVs (tipo 135 e tipo 236) também são usados para anunciar prefixos internos de
domínio, conforme discutido na Seção 5.6.2.
Como os prefixos são descritos? O prefixo é identificado por meio dos campos Endereço
IP e Máscara de sub-rede (em TLVs de informações de acessibilidade externa de IP) e
por meio dos campos Prefixo e Comprimento do prefixo (em TLVs de acessibilidade de
IP estendida e TLVs de acessibilidade de IPv6).
No IPv6 Reachability TLV, o sinalizador X indica se o prefixo anunciado é interno
ou externo ao domínio. O Extended IP Reachability TLV não faz distinção entre esses
dois tipos de prefixos.
Injetando rotas padrão Esses TLVs também podem ser usados para anunciar rotas
padrão (0.0.0.0/0) dentro de um AS, injetadas pelo roteador de borda.
Nas Seções 9.2.2.1 e 9.2.3.1 , mostramos experimentos que destacam os recursos
da estrutura IS-IS LSDB com informações de endereçamento externo ao domínio e
com rotas padrão.
As informações do link são trocadas dentro do link para fornecer a cada roteador os
endereços da camada de link necessários para transportar pacotes para o roteador do próximo salto.
Esta questão foi discutida na Seção 2.2.3. Diferentes tecnologias lidam com esse problema
de maneira diferente.
OSPFv2 No OSPFv2, o Roteador-LSA anuncia os endereços IPv4 das interfaces do roteador
no campo Link ID das descrições de link tipo 1 e tipo 2.
Assim, um Roteador-LSA originado por um roteador fornece aos seus roteadores vizinhos
os endereços IPv4 que devem ser usados como endereços de próximo salto da camada 3;
os endereços correspondentes da camada de enlace são obtidos por meio do protocolo ARP.
O Link-LSAs do OSPFv3 O OSPFv3 inclui o Link-LSA para auxiliar nesse processo, que é o
equivalente ao la-NR apresentado na Seção 2.2.3. É a única tecnologia para fazê-lo. O Link-
LSA é inundado apenas dentro do link, ou seja, tem escopo de inundação de link. O formato
do Link-LSA é mostrado na Figura 5.15. Cada LSA anuncia o endereço de link local IPv6
atribuído à interface, no campo Link-Local Interface Address. Lembre-se de que, no IPv6, o
endereço do próximo salto da camada 3 é precisamente o endereço local do link IPv6, e o
endereço da camada 2 é obtido por meio do processo de descoberta de vizinhos (consulte
o Capítulo 4 de [17]). Ao contrário do la-NR introduzido na Seção 2.2.3, o Link-LSA não inclui
o identificador do link onde os endereços serão usados. Em vez disso, inclui, no campo Link
State ID, o identificador da interface de origem, que deve ser correlacionado com o
identificador de interface incluído em Router-LSAs (Interface ID) e Network-LSAs (Link State
ID) para identificar o link.
Essa interface comunica as informações de prefixo ao DR por meio do Link-LSA que ele
divulga no link (e o DR então anuncia o prefixo para a rede restante por meio de um Intra-
Area-Prefix-LSA).
Esta característica será ilustrada no experimento da Seção 9.2.1.3.
IS-IS No IS-IS, as informações do link são transmitidas por meio de pacotes HELLO, usando
o endereço de interface IP TLV (em IPv4 IS-IS) ou o anúncio de interface IPv6
vestido TLV (em IPv6 IS-IS). O endereço de interface IP TLV carrega o endereço IPv4
atribuído à interface que envia o OLÁ, e o endereço de interface IPv6 TLV carrega o
endereço local de link IPv6. No entanto, os pacotes HELLO, apesar de terem um enlace
de escopo local, não são o melhor veículo para este tipo de informação. Esses pacotes
são transmitidos periodicamente, usando períodos curtos para permitir uma manutenção
granular das relações de vizinhança. Eles só precisam incluir identificadores topológicos
e não o endereçamento mais pesado na formação, que é transmitido com muito mais
frequência do que o necessário. É exatamente por isso que o OSPFv3 manteve o uso
de endereços IPv4 (na verdade, seus identificadores topológicos) em pacotes HELLO.
Os endereços dos links são fornecidos pelo Link-LSA no OSPFv3, sendo esta
a única tecnologia a divulgar essas informações em uma NR separada; é o
equivalente a la-NR. No OSPFv2, os endereços dos links são obtidos dos
Roteadores-LSAs, e no IS-IS eles são transmitidos periodicamente pelos
roteadores vizinhos em pacotes HELLO.
6
Sincronização OSPF e IS-IS
Mecanismos
179
M
Comprimento do pacote 2 Opções 1 0 0 0 0 0 IM 1
S
LS ATUALIZAÇÃO
No entanto, tanto o OSPF quanto o IS-IS usam um único pacote para executar essas duas
funções, chamado LS UPDATE no OSPF e LINK STATE PDU no IS-IS.
Confusão entre “pacotes LSP” e “registros LSP” Ao contrário do OSPF, onde há uma distinção
clara entre os LSAs e os pacotes que os transportam de roteador para roteador (ou seja, os
LS UPDATEs), no IS-IS não há essa distinção: ambos são chamados de PDUs de estado de
link e abreviados como LSPs. Isso ocorre porque um “pacote LSP” só pode transportar um
“registro LSP” e a estrutura de “pacotes LSP” e “registros LSP” é a mesma. Para evitar
confusão, nos referiremos aos “pacotes LSP” como LINK STATE PDUs (usando letras
maiúsculas), sempre que necessário.
O É
Endereços de área máxima 1 P ATT 1
eu Tipo LAN OLÁ PDU
TLVs v
cabeçalho da mensagem IS-IS O circuito
Reservado 1
Tipo
LINK ESTADO PDU
Comprimento da PDU 2 ID da fonte 6
Tipo = 9 Comprimento 1 1
1 Tipo = 6
soma de verificação
2 Ponto a ponto de três vias
Adjacência TLV
LSP Entradas TLV
M
Comprimento do pacote 2 Opções 3 0 0 0 0 0 IM 1
S
OLÁ 4
Número de LSAs 2 Roteador de Publicidade
LS ATUALIZAÇÃO LS RECONHECIMENTO
do IS-IS que carrega uma nova instância LSP, todos os outros pacotes de controle carregam
apenas informações resumidas sobre LSAs e LSPs.
• No IS-IS, os PSNPs e CSNPs carregam apenas resumos LSP descritos através do LSP
Entries TLV, que inclui os campos LSP ID, Sequence Number e Remaining Lifetime.
Lidando com resumos LSDB grandes Um diferencial dos CSNPs é que eles estão preparados
para lidar com LSDBs de grande porte, cujo sumário não cabe em um único CSNP. Nesse
caso, o resumo do LSDB é fragmentado e cada fragmento é transportado em um CSNP
diferente. O controle desse processo é feito através dos campos Start LSP ID e End LSP ID
dos CSNPs. Especificamente, se vários CSNPs forem necessários para transportar o LSDB
completo
resumo:
• para todos os outros CSNPs, o Start LSP ID e o End LSP ID são definidos como o LSP ID
do primeiro e do último LSPs contidos no CSNP (e descritos nas LSP Entries TLV
correspondentes).
Observe que, se o LSDB caber em um único CSNP, o Start LSP ID e o End LSP ID serão
definidos como 0000.0000.0000.00-00 e ffff.ffff.ffff.ff-ff, respectivamente. No OSPF, esse
problema é tratado enviando vários pacotes DB DE SCRIPTION, cada um com um
fragmento do resumo LSDB, durante o processo inicial de sincronização do LSDB (consulte
a Seção 6.6).
6.1.2 Encapsulamento Os
Para que um pacote seja aceito em uma interface, diversas condições devem ser satisfeitas,
além daquelas que devem ser observadas nas camadas inferiores.
Por exemplo, em relação à aceitação em camadas inferiores, um pacote IPv4 só pode ser
entregue a um processo OSPFv2 se (i) o endereço IPv4 de destino for o endereço IPv4 da
interface receptora ou um dos dois endereços multicast IPv4 atribuídos ao protocolo
(AllSPFRouters ou AllDRouters), (ii) o número do protocolo IP é 89 e (iii) a soma de
verificação do IP está correta.
As regras de aceitação dependem dos parâmetros específicos associados a uma
interface. Por exemplo, no OSPF cada interface é atribuída a uma área e no IS-IS cada
interface é atribuída a um tipo (somente L1, somente L2 ou L1/L2), e essas configurações
determinam se um pacote pode ser aceito ou não . As regras de aceitação podem ser
genéricas, ou seja, podem ser aplicadas a qualquer tipo de pacote, ou podem ser aplicadas
apenas a tipos de pacotes específicos.
OSPFv2 No OSPFv2, um pacote só pode ser aceito em uma interface se (i) o número da
versão do protocolo fornecido pelo campo Versão for 2, (ii) o campo Area ID corresponder
ao Area ID configurado para a interface, (iii) o IP endereço multicast de destino está de
acordo com o estado da interface (roteadores não DR/BDR não podem aceitar pacotes
destinados ao endereço AllDRouters), (iv) o OSPF
a soma de verificação está correta e (v) o pacote está autenticado (caso a autenticação
seja necessária). As regras acima são válidas para todos os tipos de pacotes. Além
disso, pacotes HELLO só são aceitos se Network Mask, HelloInterval e RouterDeadInterval
corresponderem aos valores configurados para a interface. A verificação da máscara de
rede não é necessária no caso de links ponto a ponto.
OSPFv3 As condições de aceitação do OSPFv3 possuem algumas diferenças em relação
ao OSPFv2. O número da versão (que agora deve ser 3), o ID da área, o endereço
multicast de destino IP e a soma de verificação também devem ser verificados. Além
disso, o campo Instance ID deve corresponder a um dos Instance IDs configurados para
a interface. A autenticação não é mais feita pelo protocolo OSPF; O OSPFv3 depende
dos recursos de autenticação do protocolo IPv6, por exemplo, através do cabeçalho de
autenticação IP (consulte o Capítulo 5 de [17]). Além dessas condições, pacotes HELLO
só são aceitos se HelloInterval e RouterDeadInterval corresponderem aos valores
configurados para a interface, como em OSPFv2. Ao contrário do OSPFv2, OSPFv3
HELLOs não carregam uma máscara de rede.
IS-IS No IS-IS, um pacote só pode ser aceito em uma interface se (i) o checksum do IS-
IS estiver correto e (ii) o pacote for autenticado (caso a autenticação seja necessária). A
aceitação também depende do tipo de interface: as interfaces somente L1 aceitam
apenas pacotes L1 e as interfaces somente L2 aceitam apenas pacotes L2.
As regras acima são válidas para todos os tipos de pacotes. Além disso, os PSNPs
transmitidos em links compartilhados são aceitos apenas pelo link DIS e devem ser
rejeitados por todos os roteadores não DIS conectados ao link. Observe que, ao contrário
do OSPF, as interfaces IS-IS não são atribuídas a áreas específicas, pois os identificadores
de área são atribuídos a roteadores e não a interfaces. Assim, os roteadores IS-IS não
restringem a aceitação de pacotes em interfaces com base nas informações de área.
Qual o proximo? Quando pacotes HELLO são aceitos em uma interface baseada nas
regras descritas acima, eles devem ser entregues ao processo roteador que lida com o
protocolo Hello (ver Seção 6.2). Outros tipos de pacotes de controle são processados
apenas se a interface receptora já estiver adjacente à interface que enviou o pacote. As
condições para duas interfaces se tornarem adjacentes serão explicadas na Seção 6.2.3.
Conforme referido na Secção 6.1, o OSPF utiliza um único tipo de pacote HELLO, e o
IS-IS utiliza dois tipos ligeiramente diferentes, um para ligações ponto-a-ponto (POINT
TO-POINT IS-IS HELLO) e outro para ligações LAN (LAN É-É OLÁ).
O formato desses pacotes é mostrado nas Figuras 6.2, 6.3 e 6.4. Além disso, IS-IS
HELLOs são diferenciados de acordo com o tipo de interface (L1 ou L2), utilizando o
campo PDU Type no caso de LAN IS-IS HELLOs e o campo Circuit Type no caso de
POINT-TO-POINT IS- É OLÁ. L1 LAN IS-IS HELLOs têm um tipo de PDU de 15 e L2
LAN IS-IS HELLOs têm um tipo de PDU de 16. Em POINT-TO-POINT IS-IS HELLOs, o
campo Circuit Type indica o tipo de interface que transmite o pacote : 1 significa apenas
L1, 2 significa apenas L2 e 3 significa L1/L2.
6.2.3 Adjacências
Uma das funções do protocolo Hello é determinar se dois vizinhos podem se tornar
adjacentes. Somente se dois vizinhos forem adjacentes, a conexão entre eles
poderá fazer parte do mapa de rede. Existem duas condições básicas para se tornar
adjacente: (i) os pacotes Hello trocados entre os vizinhos devem obedecer às regras
de aceitação de interface descritas na Seção 6.1.4; (ii) a comunicação entre os
vizinhos deve ser bidirecional. No entanto, condições adicionais podem ser
necessárias. Além disso, tanto o OSPF quanto o IS-IS suportam diferentes tipos de
adjacências. Essas questões serão discutidas nas próximas seções. A Figura 6.5
resume as condições, relacionadas ao tipo de interface e à informação de área, que
os vizinhos devem observar para se tornarem adjacentes.
Deve se tornar
Abaixo Iniciar 2 maneiras
totalmente adjacente?
ExStart
FIGURA 6.6: Máquina de estados Hello do OSPF: evolução dos estados ao estabelecer com
sucesso um relacionamento bidirecional.
R1 R2
Abaixo Abaixo
Iniciar
2 maneiras
2 maneiras
tempo
FIGURA 6.8: Máquina de estado IS-IS Hello: evolução dos estados ao estabelecer
com sucesso uma relação bidirecional.
R1 R2
Abaixo Abaixo
Inicializando
Acima
Acima
tempo
R1 R2
Abaixo Abaixo
Inicializando
Acima
Acima
tempo
FIGURA 6.9: Estabelecendo comunicação bidirecional em IS-IS (a) links ponto a ponto e (b)
links compartilhados.
OSPF No OSPF, HELLOs imediatos não fazem parte da especificação, mas são
discutidos em um rascunho da Internet [26]. No entanto, as implementações enviam
HELLOs imediatos quando um roteador recebe um HELLO de um vizinho e o estado de
seu relacionamento com o vizinho é menor que 2-Way, ou seja, o HELLO recebido ainda
não reconhece o roteador como vizinho. Esses HELLOs imediatos são transmitidos em
unicast para o vizinho e não em multicast como nos HELLOs periódicos. Além disso, ao
contrário do IS-IS, o temporizador Hello só é redefinido como resultado da expiração do temporizador.
O rascunho da Internet refere outras circunstâncias em que HELLOs imediatos podem
ser enviados, mas apenas o descrito acima parece ser implementado.
RD
Algoritmo
Abaixo Esperando Cópia de segurança
eleitoral
DROoutro
Essas tags não desempenham nenhum papel na escolha do roteador designado, mas são geradas
e comunicadas a todos os vizinhos assim que um roteador é designado.
O processo de eleição do OSPF é definido por meio da máquina de estado da interface, descrita na
Seção 9 da especificação do OSPF [36]. A Figura 6.10 mostra a parte da máquina de estado de
interface relacionada com a eleição do DR e do BDR. Esta máquina de estados define o estado de
uma interface como sendo DR (se a interface for o link DR), Backup (se a interface for o link BDR)
ou DR other (se a interface não for nem o link DR nem o link BDR) . Este estado deve ser
determinado inicialmente, assim que a interface for ligada, ou quando ocorrer uma alteração no link
(por exemplo, devido a uma falha do DR ou BDR atual).
Uma interface desligada está no estado Down. Quando a interface é ligada (evento InterfaceUp),
ela é colocada no estado Waiting, onde tenta determinar quem são o DR e o BDR. Neste estado, a
interface escuta os pacotes HELLO, mas não pode eleger um BDR ou um DR; além disso, é
deve anunciar endereços DR e BDR de 0.0.0.0 nos pacotes HELLO que envia. A
interface abandona esse estado em dois eventos: (i) após um período de timeout,
denominado Wait Timer (evento WaitTimer), ou (ii) quando, após estabelecer
comunicação bidirecional com um vizinho, esse vizinho se declara como sendo o DR
ou o BDR (evento BackupSeen). O Wait Timer é igual a RouterDeadInterval e, portanto,
tem um valor padrão de 40 segundos. Quando a interface abandona o estado Waiting,
ela deve executar o algoritmo de eleição.
O algoritmo de eleição também deve ser executado quando ocorrer uma alteração
no link, disparada pelo evento NeighborChange, que ocorre quando: (i) um novo vizinho
se conecta ao link, (ii) um vizinho existente abandona o link, (iii) um vizinho se declara
recentemente como DR ou BDR, (iv) um vizinho não se declara mais como DR e BDR,
ou (v) um vizinho muda sua prioridade de roteador.
ÿ
ÿ
colocado no estado DR (se foi eleito DR), no estado Backup (se foi eleito
BDR) ou no estado DR Other (caso contrário).
Partida a frio Quando todas as interfaces são ligadas ao mesmo tempo (ou seja, um
cenário de inicialização a frio), a interface com a maior prioridade de roteador, ou RID
mais alto em caso de empate, torna-se o link DR e aquela com o segundo roteador
mais alto A prioridade, ou RID mais alto em caso de empate, passa a ser o link BDR.
Nesse caso, as interfaces entram no estado Waiting aproximadamente ao mesmo
tempo e permanecem lá por 40 segundos (valor padrão do Wait Timer). Durante esse
período, eles continuam recebendo pacotes HELLO de seus vizinhos e aprendem sobre
a prioridade do roteador e o RID de cada um. As interfaces abandonam o estado
Waiting aproximadamente ao mesmo tempo e executam imediatamente o algoritmo de
eleição. Quando isso acontece, nenhuma interface ainda se declarou como
BDR é o roteador que, dentre os demais, tem a maior prioridade de roteador, ou maior
RID em caso de empate.
Quando o antigo BDR detecta a falha, ele executa o algoritmo de eleição. No
passo 2, ele se confirma como BDR, e no passo 3, elege-se como DR, pois o DR
falhou. Agora, como sua função mudou de BDR para DR, ele deve executar uma
segunda passagem pelo algoritmo. No passo 2, o roteador deve se retirar do cálculo,
pois agora é o DR. Assim, apenas os demais roteadores são considerados nesta
etapa, sendo eleito BDR aquele com maior Prioridade de Roteador. Na etapa 3, o
roteador é confirmado como DR. Assim, o antigo BDR chega à conclusão correta
quando executa o algoritmo pela primeira vez após a falha do DR.
Sob condições estáveis, o processo de eleição é executado em uma interface toda vez
que um pacote HELLO é recebido. Os candidatos à eleição são (i) a interface que realiza
a eleição e (ii) seus vizinhos adjacentes. Como mencionado acima, entre esses
candidatos, vence aquele com maior prioridade e, em caso de empate, vence aquele
com maior endereço MAC.
O tempo de espera Quando uma interface é ligada, o processo de seleção só pode
começar após um período de espera de 2 × iSISHelloTimer (padrão de 20 segundos).
No entanto, as implementações IS-IS que analisamos usam um período mais curto. O
período de espera é o equivalente ao estado de espera do OSPF.
O campo LAN ID O DIS atual é identificado no campo LAN ID dos pacotes HELLO por
meio de seu SID. O LAN ID também inclui o Pseudonode ID, ou seja, a marca local
gerada pelo DIS para identificar exclusivamente o link. Durante o período de espera, o
campo LAN ID carrega o SID do roteador remetente e um tag local gerado pelo roteador
(que se tornará o Pseudonode ID caso este roteador seja eleito DIS). Após a eleição do
DIS, o campo LAN ID dos roteadores não DIS é copiado daquele transmitido pelo DIS.
Pelo menos algumas implementações usam HELLOs imediatos durante o período de
espera; no entanto, como no caso do OSPF, esse recurso não faz parte do padrão.
Mudando o DIS Configurar um novo DIS é uma tarefa simples no IS-IS: uma interface
pode se tornar o DIS em um link compartilhado aumentando sua prioridade para um
valor maior do que as prioridades das demais interfaces. Feita esta configuração, a
interface imediatamente se elege como DIS e transmite um pacote HELLO (i) indicando
no campo LAN ID que agora é o DIS e (ii) anunciando o novo valor de prioridade.
Detectando uma falha de DIS Quando o DIS falha, os roteadores restantes elegem um
novo DIS assim que detectam a falha. O DIS normalmente usa um Hold Timer menor
do que os roteadores restantes. Assim, detectar uma falha DIS é mais rápido do que
detectar a falha de qualquer outro roteador.
As seções 10.2.2.1, 10.2.2.2 e 10.2.2.3 ilustram, por meio de experimentos, o
comportamento do processo de eleição do DIS durante a inicialização a frio, quando um
novo DIS é configurado e quando o DIS falha.
Como no caso do OSPF, quando um novo DIS é eleito, o identificador do link muda.
Assim, o DIS deve originar um novo Pseudonode-LSP, e os roteadores conectados ao
enlace devem originar novas instâncias de seus Nonpseudonode-LSPs.
O identificador de link compartilhado é o SID do DIS concatenado com o Pseudon ode
ID atribuído pelo DIS. Ele está incluído nos TLVs topológicos que descrevem os
vizinhos de um roteador (o IS Neighbours TLV ou o Extended IS Reachability TLV).
inado pelo DIS anterior, ele deve excluí-lo. Explicamos o processo de exclusão de LSPs na Seção
6.5.3. Esse comportamento não é permitido no OSPF, pois apenas o roteador de origem pode
excluir seus LSAs originados. Além disso, quando um DIS entende que deve renunciar (por
exemplo, porque um vizinho anunciou uma Prioridade mais alta), ele também deve iniciar a
exclusão de seu Pseudonode-LSP.
• Quando um roteador recebe em uma interface um novo LSA/LSP (ou seja, ainda não contido em
seu LSDB) ou uma instância mais recente (ou seja, mais recente) de um LSA/LSP armazenado,
ele retransmite o LSA/LSP em todas as outras interfaces; ele não retransmite o LSA/LSP na
interface de entrada.
• Quando um roteador recebe um LSA/LSP para o qual existe uma instância armazenada
com frescor igual ou superior, o LSA/LSP é descartado.
• Um roteador que recebe um LSA/LSP em uma interface confirma sua recepção ao roteador que
o transmitiu. A confirmação deve ser feita mesmo que o LSA/LSP deva ser descartado.
A noção de frescor em OSPF e IS-IS será discutida nas Seções 6.5.1 e 6.5.2. Estas seções
apresentam os atributos de atualização e explicam como esses atributos são usados para
classificar a atualização de LSAs/LSPs.
Além das ações enumeradas acima, a chegada de LSAs/LSPs aos roteadores aciona eventos
adicionais, que serão discutidos na Seção 6.5.4. Vamos nos concentrar agora no procedimento
de inundação.
OSPF e IS-IS diferem ligeiramente do procedimento descrito acima em relação à inundação
em links compartilhados. As características específicas do OSPF e do IS-IS serão detalhadas nas
próximas seções.
• Se o LSA for enviado pelo DR ou pelo BDR, todos os outros roteadores o ouvirão (porque
foi transmitido usando o endereço AllSPFRouters) e confirmarão seu recebimento.
• Se o LSA for enviado por um roteador não DR/BDR, apenas o DR e o BDR o ouvirão, pois
foi enviado para o endereço AllDRouters. Nesse caso, o DR retransmite o LSA no link.
A reação a esta transmissão é conforme o caso anterior, exceto que o roteador não DR/
BDR que originou o LSA não precisa reconhecer o pacote.
Três exemplos Na Figura 6.13, damos três exemplos de inundação em links compartilhados.
Na Figura 6.13.a, o LSA a ser inundado chega a um roteador não DR/BDR.
Nesse caso, o roteador encapsula o LSA em um pacote LS UPDATE e o transmite no link
usando o endereço multicast AllDRouters (etapa 1). Este pacote é lido apenas pelo DR e
BDR, mas esses roteadores não reconhecem a recepção do LSA. O DR retransmite o LSA
usando o endereço AllSPFRouters para que chegue a todos os outros roteadores (etapa
2), e cada um desses roteadores, exceto o roteador que inicialmente enviou o LSA,
confirma o recebimento usando um LS ACKNOWLEDGMENT (etapa 3); o roteador inicial
considera o LSA enviado pelo DR como uma confirmação implícita. Na Figura 6.13.b, o
LSA chega ao BDR, e o BDR o envia imediatamente para todos os outros roteadores
usando o endereço multicast AllSPFRouters (etapa 1); cada um desses roteadores,
3 Ack
TodosDesignados
Ack 3
Todos os roteadores
RD BDR
Atualizar
Todos os roteadores
2 Atualizar 1
TodosDesignados
(a)
2 Ack
Atualizar TodosDesignados
Atualizar 1
Todos os roteadores
RD BDR Atualizar
Ack
Todos os roteadores
2 Ack 2
2 Ack TodosDesignados
TodosDesignados
Ack 2 (b)
Todos os roteadores
Atualizar RD BDR
Atualizar
Todos os roteadores
1 Ack 2
TodosDesignados
(c)
Enlaces ponto a ponto O IS-IS usa diferentes mecanismos em enlaces ponto a ponto e
compartilhados para proteger a transmissão de LSPs. Em enlaces ponto a ponto, o
mecanismo é semelhante ao OSPF: usa proteção ACK onde os reconhecimentos são
transportados em PSNPs. O tempo limite de retransmissão é chamado de
MinimumLSPTransmissionInterval e tem um valor padrão de 5 segundos. IS IS inclui uma
otimização relativa ao OSPF: se um roteador recebe um LSP para o qual possui uma
instância mais recente, o roteador responde imediatamente com essa instância LSP (em vez
do PSNP) e este LSP reconhece implicitamente a recepção do inicial.
CSNP
$OO/.6V
',6
LSP
$OO/.6V PSNP
$OO/.6V
Tanto no OSPF quanto no IS-IS, as indicações de exclusão são fornecidas por meio de
tipos especiais de LSAs/LSPs, em vez de pacotes de controle DELETE explícitos (como
sugerido na Seção 2.4.6). Assim, as informações de roteamento que são disseminadas nas
redes OSPF e IS-IS consistem apenas em LSAs/LSPs.
Os LSAs/LSPs possuem um atributo de atualização e um período de validade, que são
usados para determinar as ações executadas em um roteador após sua recepção ou
expiração de validade. As ações também dependem se o roteador que executa a ação é o
originador do LSA/LSP.
Essas questões serão discutidas nas próximas seções.
A idade A idade expressa a idade de uma instância LSA/LSP, em relação ao seu tempo de
criação. A idade tem um valor máximo, chamado MaxAge* tanto no OSPF quanto no IS-IS.
O valor máximo é o tempo de vida do LSA/LSP. A idade conta no OSPF, de zero até
MaxAge*, mas faz uma contagem regressiva no IS-IS, de MaxAge* até zero. O MaxAge* é 1
hora (3600 segundos) em OSPF e 20 minutos (1200 segundos) em IS-IS. Os campos de
idade dos LSAs/LSPs têm comprimento de dois octetos e são contados em segundos. A
necessidade de usar a idade como atributo de frescor é discutível. Como os LSAs/LSPs são
antigos, sua idade precisa ser atualizada antes que o valor máximo seja atingido. Esta
questão será abordada na Seção
6.5.5.
A idade dos LSAs/LSPs é atualizada enquanto eles permanecem nos roteadores, usando
os relógios locais dos roteadores, mas também enquanto eles estão sendo inundados, para
contabilizar os atrasos de processamento e transmissão. O valor de atualização pode ser
específico da interface, pois diferentes velocidades de interface levam a diferentes atrasos
de transmissão. A especificação IS-IS diz que a idade de um LSP deve ser diminuída em
pelo menos 1 segundo sempre que o LSP for transmitido por meio de uma interface. O OSPF
apenas diz que deve ser incrementado por um valor maior que zero.
O checksum Tanto no OSPF quanto no IS-IS, o checksum é calculado sobre o conteúdo
completo do LSA/LSP, com exceção dos campos de idade (LS Age no OSPF e Remaining
Lifetime no IS-IS). A soma de verificação é essencialmente usada para verificar se duas
instâncias LSA/LSP com o mesmo SN têm de fato o mesmo conteúdo. No entanto, no OSPF,
a soma de verificação também é usada para classificar a atualização.
OSPF No OSPF, uma instância LSA com um SN maior é sempre considerada mais
recente. A soma de verificação é usada como desempate quando duas instâncias LSA
têm o mesmo SN e a soma de verificação mais alta vence. A idade é usada como desempate
quando duas instâncias LSA têm o mesmo SN e checksum. Nesse caso, se apenas uma instância tiver uma
idade de 1 hora (MaxAge*), essa instância será considerada mais recente. Caso contrário, se as idades
diferirem em mais de 15 minutos (MaxAgeDiff*), o LSA com menor idade é considerado mais fresco. Por fim,
se as idades diferirem em 15 minutos ou menos, as instâncias são consideradas igualmente novas.
IS-IS No IS-IS, a atualização de um LSP é determinada principalmente pelo SN e pela idade (Remaining
Lifetime). A soma de verificação é usada para verificar se dois LSPs com o mesmo SN têm o mesmo conteúdo
e, ao contrário do OSPF, não é usada para classificar o frescor. Uma instância com um SN maior é sempre
considerada mais recente. Se duas instâncias tiverem o mesmo SN, o IS-IS usa a soma de verificação para
verificar se seus conteúdos são iguais. Se as somas de verificação forem as mesmas e uma das instâncias
tiver idade zero, essa instância será considerada mais recente. Caso contrário, se as duas instâncias tiverem
o mesmo SN, mesma soma de verificação e ambas tiverem idade diferente de zero ou ambas tiverem idade
zero, elas serão consideradas igualmente novas. Finalmente, quando duas instâncias têm o mesmo SN, mas
somas de verificação diferentes, uma condição de erro é gerada; as ações tomadas neste caso serão
discutidas na Seção 6.5.4.
Uma instância LSA/LSP com SN mais alto é sempre considerada mais recente.
No OSPF, o checksum é usado como desempate se duas instâncias LSA tiverem
o mesmo SN (maior soma de verificação vence), e a idade é usada como
desempate se duas instâncias tiverem o mesmo SN e checksum (menor idade
vence, exceto se a idade igual ao valor final). No IS-IS, o checksum é usado para
verificar se duas instâncias LSP com o mesmo SN possuem o mesmo conteúdo.
Tanto no OSPF quanto no IS-IS, se duas instâncias tiverem o mesmo SN e
checksum, mas uma tiver uma idade igual ao valor final, essa instância será
considerada mais recente. Este recurso é usado na exclusão de LSAs/LSPs.
Observe que o LSA/LSP recebido pode ser uma indicação para excluir o armazenado, mas, mesmo
nesse caso, a ação é substituir e inundar; a indicação para excluir tem idade igual ao valor final e,
por isso, é imediatamente excluída após ser armazenada.
Ações 2 e 3 Quando o frescor do LSA/LSP entrante for igual ou menor que o armazenado, então o
LSA/LSP entrante deve ser descartado, pois não é novo e, portanto, seu flooding deve ser
interrompido. O IS-IS realiza uma ação adicional quando o frescor do LSA/LSP de entrada é menor
do que o armazenado: ele transmite o LSP armazenado através da interface onde o LSP de entrada
foi recebido, para garantir que o vizinho de envio seja atualizado corretamente.
Ação 4 Conforme mencionado na Seção 6.5.2, no IS-IS, quando dois LSPs possuem o mesmo SN
mas checksums diferentes, uma condição de erro é gerada, pois os LSPs possuem o mesmo SN
mas conteúdos diferentes. Quando isso acontece, o roteador define a idade do LSP como zero,
fazendo com que ele expire, e inunda a instância expirada (ou seja, uma indicação de exclusão)
para remover o LSP do domínio de roteamento.
O OSPF não executa uma ação específica neste caso, simplesmente usando a soma de verificação
para classificar o frescor do LSA.
Observe que um roteador que recebe um LSA/LSP autogerado pode não estar mais interessado
nele. Por exemplo, isso acontece no OSPF quando um roteador recebe um Network-LSA auto-
originado e não é mais o DR do link correspondente. Este Network-LSA, se ainda estiver
armazenado no roteador, está envelhecendo e aguardando para ser removido.
Ações 5 e 6 Se o frescor do LSA/LSP recebido for maior que o armazenado, e o roteador ainda
estiver interessado no LSA/LSP, ele deve inundar uma nova instância com o SN incrementado em
um em relação ao SN recebido . Esse comportamento é o mesmo em OSPF e IS-IS e garante que
as encarnações anteriores de LSAs/LSPs originados sejam substituídas pelas instâncias mais
atualizadas desses LSAs/LSPs. O IS-IS também executa a mesma ação quando o
os LSPs recebidos e armazenados têm os mesmos SNs, mas somas de verificação diferentes (ou
seja, conteúdos diferentes).
Ação 7 Se o frescor do LSA/LSP de entrada for igual ou inferior ao armazenado, e o roteador ainda
estiver interessado no LSA/LSP, nenhuma ação deve ser tomada e o LSA/LSP deve ser descartado,
pois o LSA/LSP não é novo. Esse comportamento é o mesmo em OSPF e IS-IS e também é
semelhante às ações 3 e 4.
Ação 8 Também pode acontecer que o roteador de recebimento não esteja mais interessado no LSA/
LSP de entrada ou que o LSA/LSP de entrada não esteja mais armazenado no roteador. A ação a ser
tomada é definir a idade do LSA/LSP de entrada para o valor final e inundar a instância expirada (ou
seja, uma indicação de exclusão) para remover o LSA/LSP da rede.
atributo de idade e ficam envelhecidos, a idade precisa ser atualizada (ou seja, redefinida para o valor
inicial) antes de atingir seu valor final. Caso contrário, em condições estáveis (ou seja, se não houver
alterações na rede), os LSAs/LSPs atingiriam (suavemente) sua vida útil e seriam eliminados do
LSDB, causando mau funcionamento da rede. A atualização da idade é realizada gerando, em algum
momento, novas instâncias LSA/LSP com o SN incrementado em um, e a idade é redefinida para o
valor inicial. O intervalo de atualização precisa ser menor que o tempo de vida das instâncias LSA/
LSP. No OSPF, o intervalo de atualização é de 30 minutos (chamado LSRefreshTime*) e no IS-IS é
de 15 minutos (chamado maximumLSPGenerationInterval*).
instância LSA/LSP armazenada em um LSDB expira, ou seja, quando sua idade atinge o
valor final (seu tempo de vida), alguma ação precisa ser executada. A ação depende se
o roteador é o originador do LSA/LSP. A Figura 6.19 resume essas ações.
OSPF No OSPF, quando um LSA expira em seu roteador de origem, o roteador inunda
uma indicação de exclusão para remover o LSA do LSBD de todos os outros roteadores
e, subseqüentemente, limpa o LSA de seu próprio LSDB. Quando o LSA expira em um
roteador não originário, o roteador simplesmente limpa o LSA de seu LSDB.
IS-IS O processo no IS-IS é semelhante com duas exceções. Primeiro, quando um LSP
expira, ele permanece um minuto adicional no LSDB antes de ser purgado (esse
parâmetro é chamado de ZeroAgeLifetime*). Em segundo lugar, qualquer roteador, e não
apenas o originador do LSP, deve inundar as instâncias LSP expiradas. À primeira vista,
esse procedimento parece levar a uma inundação de LSPs. No entanto, os LSPs tendem
a expirar aproximadamente ao mesmo tempo. Portanto, é altamente provável que um
LSP expirado sendo inundado encontre instâncias armazenadas recentemente com igual atualização
(mesmo SN e idade zero), caso em que será descartado, diminuindo as chances de uma
enchente. No entanto, esses recursos adicionais usados pelo IS-IS parecem desnecessários.
FIGURA 6.20: Evolução dos estados durante uma sincronização inicial LSDB bem-
sucedida no OSPF.
6.6.1 OSPF
No OSPF, o processo de sincronização LSDB é definido por meio de uma máquina de
estado detalhada, que faz parte da máquina de estado vizinha, e é descrita na Seção
10 da especificação OSPF [36]. A evolução dos estados durante um processo de
sincronização bem-sucedido é mostrada na Figura 6.20. Um roteador mantém uma
máquina de estado separada para cada instância de sincronização que estabelece.
As sincronizações são por interface de vizinho, e não apenas por vizinho.
Por exemplo, dois roteadores conectados por dois links paralelos ponto a ponto devem
sincronizar em ambos os links.
Suporte a pacotes O processo de sincronização LSDB do OSPF é suportado em quatro
tipos de pacotes de controle: (i) pacotes DB DESCRIPTION anunciam o resumo LSDB,
(ii) pacotes LS REQUEST solicitam LSAs específicos, (iii) pacotes LS UP DATE
transportam LSAs completos e (iv) pacotes LS ACKNOWLEDGMENT reconhecem a
recepção de LSAs completos.
Estado Exchange A transição do estado ExStart para o estado Exchange ocorre quando
um roteador descobre que é o escravo (ou seja, recebe um pacote com os três bits de
controle definidos e o RID vizinho é maior que o seu) ou quando recebe a confirmação de
que é o mestre (ou seja, recebe um pacote com o bit I e o bit MS limpos e o RID vizinho é
menor que o seu próprio).
Quando um roteador entra no estado Exchange, ele coloca todos os seus cabeçalhos LSA
em uma lista chamada lista de resumo do banco de dados e transmite esses cabeçalhos
para o vizinho em pacotes DB DESCRIPTION. Observe que vários pacotes podem ser
necessários para transmitir todos os cabeçalhos LSA contidos na lista de resumo do banco
de dados. Os cabeçalhos LSA são removidos da lista quando sua recepção é confirmada
pelo vizinho.
Uso do M-bit O padrão OSPF [36] não é muito claro sobre como um roteador abandona o
estado Exchange e, em particular, sobre o manuseio do M-bit.
O padrão parece implicar que o bit M é limpo assim que o último cabeçalho LSA é transmitido
pela primeira vez (essa também é a interpretação dada na Figura 6.7 de [11]). Especificamente,
em sua Seção A.3.3 (página 196), a especificação diz em relação ao bit M: “Quando definido
como 1, indica que mais pacotes de descrição do banco de dados devem seguir”. No entanto,
analisando o comportamento das implementações existentes (ver Seção 10.5.1) concluímos
o seguinte:
• O bit M só é limpo quando a lista de resumo do banco de dados fica vazia, ou seja, quando
a recepção de todos os cabeçalhos LSA foi confirmada;
• Ambos os roteadores devem sinalizar ao vizinho que a lista de resumo do banco de dados
foi esvaziada, ou seja, um roteador deve enviar pelo menos um pacote DB DESCRIPTION
com o bit M limpo;
Solicitando LSAs Quando um roteador recebe cabeçalhos LSA (durante o estado Exchange),
ele compara as informações recebidas com as armazenadas em seu LSDB.
Se o roteador verificar que o vizinho tem instâncias mais recentes de LSAs ou LSAs
existentes, o roteador está ausente, ele coloca os IDs de LSA correspondentes em uma lista
chamada Lista de solicitação de estado de link e transmite esses IDs para o vizinho em
pacotes LS REQUEST. Observe que, ao contrário dos pacotes DB DESCRIPTION, os
pacotes LS REQUEST não carregam cabeçalhos LSA completos, mas apenas LSA IDs, ou
seja, os três campos que identificam um LSA. Ao receber um LS REQUEST, o vizinho
responde inundando os LSAs completos em um pacote LS UPDATE.
Os IDs LSA são removidos da lista de solicitação de estado de link quando os LSAs
correspondentes forem recebidos (em pacotes LS UPDATE). Um roteador pode começar a
enviar pacotes LS REQUEST mesmo antes do término do processo de descrição do banco
de dados.
Proteção de solicitações LSA A transmissão de cabeçalhos LSA contidos em pacotes LS
REQUEST é protegida por ACK usando RxmtInterval como período de tempo limite: se um
LSA solicitado não for recebido dentro desse intervalo, a solicitação será
retransmitido. Além disso, pode haver apenas um pacote LS REQUEST de cada vez.
• A nova instância tem um checksum maior que a instância antiga - Nesse caso, a
nova instância é considerada mais recente. O vizinho solicitará a instância como
parte do processo de sincronização LSDB (usando um pacote LS REQUEST) e a
inundará por toda a rede. Assim, a rede LSDB acabará sendo atualizada com as
informações mais recentes.
• A nova instância tem um checksum menor do que a instância antiga - Nesse caso, a
instância antiga é considerada mais recente. Assim, de acordo com a regra acima
(ação 5 da Seção 6.5.4), o roteador inundará uma nova instância do LSA com o SN
incrementado em um. Novamente, a rede LSDB acabará sendo atualizada com as
informações mais recentes.
• As instâncias novas e antigas têm checksum igual - Neste caso nada acontecerá, e
as informações desatualizadas permanecem na rede até que a próxima instância
do LSA seja gerada, o que pode levar até 30 minutos (LSRefreshTime*). No entanto,
a probabilidade de ter a mesma soma de verificação, mas conteúdos diferentes, é
muito baixa.
6.6.1.4 Exemplo
R1 R2
ExStart ExStart
Intercâmbio 3
DESCRIÇÃO DO BD, ddSN = 8966, I=0,M=1,MS=0
6
DESCRIÇÃO DO BD, ddSN = 8968, I=0,M=0,MS=1
LS PEDIDO
9
LSA ID do roteador-LSA, R1, SN=5
LSA ID do roteador-LSA, R2, SN=7 10
LSA ID do roteador-LSA, R3, SN=2
LS ATUALIZAÇÃO
LS ATUALIZAÇÃO
tempo
ter um novo ddSN (ddSN = 8966) e o bit MS definido, pois agora é certo ser o
mestre.
3. Ao receber o pacote de R2, R1 passa para o estado Exchange e envia, em outro
pacote DB DESCRIÇÃO, o cabeçalho de seu único e recém-criado LSA, um
Roteador-LSA com SN=1. Nesse pacote, R1 limpa o bit I, pois abandonou o
estado ExStart. Ele também limpa o bit MS e usa o ddSN do anteriormente
pacote recebido (ddSN = 8966), pois agora ele sabe que é o escravo.
7. Quando R1 recebe este pacote, ele entra no estado Loading, já que sua lista de
requisições Link state não está vazia, significando que R1 ainda precisa receber
LSAs completos de R2. R1 também responde com um pacote DB DESCRIPTION
com o mesmo ddSN (ddSN = 8968).
8. Ao receber este pacote, R2 entra no estado Full, pois sua lista de requisições de
Link state está vazia. Nesse ponto, R2 conclui o processo de descrição do banco
de dados.
9. R1 solicita o conteúdo completo dos LSAs contidos em sua lista de solicitação de
estado de link usando um pacote LS REQUEST unicast para R2. Essa etapa
poderia ter ocorrido antes, assim que R1 determinou que precisava solicitar
LSAs completos do vizinho.
10. Ao receber os pacotes LS REQUEST, R2 responde enviando o conteúdo completo
dos LSAs solicitados em um pacote LS UPDATE, unicast para R1.
11. Quando R1 recebe o pacote LS UPDATE, ele entra no estado Full, pois concluiu
o recebimento dos LSAs solicitados. Agora, como R1 recebeu uma instância de
um Router-LSA autogerado com um SN maior (com SN=5), ele cria uma nova
instância desse LSA (com SN=6) e a inunda por toda a rede.
6.6.2 IS-IS
O IS-IS usa um processo ligeiramente diferente do OSPF para a sincronização inicial do
LSDB. Os roteadores não estabelecem um relacionamento mestre-escravo antes de trocar
os cabeçalhos LSP. Além disso, o processo de sincronização difere substancialmente em
links ponto a ponto e compartilhados.
Suporte a pacotes A sincronização LSDB inicial é suportada em três tipos de pacotes de
controle:
• Os CSNPs fornecem o resumo LSDB do roteador de envio. Eles são usados em links
ponto-a-ponto e compartilhados e carregam apenas resumos LSP (através de LSP
Entries TLVs). Os CSNPs são equivalentes aos pacotes DB DESCRIPTION do OSPF.
Quando dois roteadores se tornam adjacentes em um link ponto a ponto, eles imediatamente
enviam um ao outro seus Nonpseudonode-LSPs auto-originados. Cada roteador também
envia ao vizinho um CSNP contendo seu resumo LSDB, para fornecer informações resumidas
sobre os LSPs atualmente armazenados em seu LSDB. Se, com base nessas informações, o
vizinho detectar que o roteador está faltando alguns LSPs ou possui instâncias desatualizadas de
LSPs existentes, o vizinho envia ao roteador os LSPs completos. Observe que, diferentemente do
caso de links compartilhados, cada roteador transmite apenas um CSNP em links ponto a ponto.
O CSNP não é protegido por ACK e, portanto, pode não ser recebido pelo vizinho. No entanto,
inicialmente, o roteador também agenda a transmissão de todos os seus LSPs completos para um
momento posterior. Este atraso, se suficiente, permite receber o CSNP do vizinho e cancelar a
transmissão dos LSPs completos para os quais o vizinho já possui a instância mais recente.
A transmissão de LSPs completos é protegida por ACK usando os PSNPs como confirmações.
Assim, ambos os vizinhos são inicialmente sincronizados mesmo se os CSNPs forem perdidos.
Podemos dizer que durante a sincronização inicial do LSDB em links ponto-a-ponto, o IS-IS atrasa
a transmissão de todos os seus LSPs completos para um vizinho, esperando receber mais cedo,
via CSNP, informações resumidas sobre os LSPs que o vizinho realmente precisa receber.
Além disso, um roteador não DIS também toma a iniciativa de enviar um LSP para o DIS se
verificar, com base nos CSNPs recebidos, que o LSP é desconhecido do DIS ou que o DIS possui
uma instância mais antiga do LSP. A recepção correta de LSPs não é explicitamente reconhecida
usando PSNPs, como é o caso de links ponto-a-ponto. Em vez disso, a transmissão periódica de
CSNPs atua como um reconhecimento implícito; se um roteador não DIS não vir o LSP transmitido
listado no próximo CSNP transmitido pelo DIS, ele retransmite esse LSP no link. Observe que os
pacotes IS-IS são transmitidos em links compartilhados usando endereços multicast de camada 2
direcionados a todos os roteadores IS-IS. Assim, quando um roteador não-DIS enviar um LSP e
houver vários outros vizinhos interessados neste LSP, todos irão recebê-lo (se o LSP não for
perdido) e, portanto, não precisarão mais solicitá-lo ao DIS.
6.6.2.4 Exemplos
Enlaces ponto a ponto Considere o exemplo da Figura 6.22. Da mesma forma que no
exemplo OSPF, R1 é desligado e ligado novamente, antes da expiração de seu
Nonpseudonode-LSP auto-originado em R2. Além disso, R2 contém um Nonpseudonode-
LSP do roteador R3. Na figura, os LSPs são identificados por meio de seus IDs de
LSP. Inicialmente, R1 e R2 enviam um ao outro seus dados completos
R1 R2
CSNP
3
PSPN
7
Resumo LSP, R2.00-00, SN=4
Resumo LSP, R3.00-00, SN=9
PSPN
8
tempo
FIGURA 6.22: Exemplo de sincronização LSDB inicial (enlaces ponto a ponto IS-IS).
Com base no CSNP enviado por R1 (na etapa 3), R2 descobre que R1 está perdendo
o Nonpseudonode-LSP de R3 e decide enviá-lo (etapa 5). Além disso, com base
no CSNP enviado por R2 (no passo 4), R1 descobre que R2 tem uma instância de seu
Nonpseudonode-LSP, e decide inundar uma nova instância deste LSP com o SN incrementado
em um (passo 6). As transmissões de LSPs são confirmadas usando PSNPs. Na etapa 7, R1
confirma a recepção de R2.00-00 (com SN=4) e R3.00-00 (com SN=9); no passo 8, R2 confirma
a recepção de R1.00-00 (com SN=8).
Ao receber este LSP, R1 transmite no enlace uma nova instância do LSP, com o SN incrementado
em um em relação ao SN recebido (R1.00-00 com SN=5) (passo 5). O próximo pacote visto no
exemplo (passo 6) é o CSNP transmitido por R2 (já que é o link DIS). Neste pacote, R2 anuncia
R1.00-00 com SN=5, R2.00-00 com SN=8, R2.01-00 com SN=1 e R3.00-00 com SN=7. Com
base nessas informações, R1 descobre que ainda está faltando o Nonpseudonode-LSP de R3.
Ele solicita esse LSP usando um PSNP (etapa 7) e R2 responde com o LSP completo (etapa 8).
R1 R2 (DIS)
CSNP
6
Cabeçalho LSP, R1.00-00, SN=5
Cabeçalho LSP, R2.00-00, SN=8
Cabeçalho LSP, R2.01-00, SN=1
Cabeçalho LSP, R3.00-00, SN=7
PSPN
7
tempo
Conforme explicado na Seção 6.5.5, novas instâncias LSA/LSP devem ser criadas antes de
sua expiração (ou seja, antes que sua idade atinja o tempo de vida). Especificamente, uma
nova instância LSA deve ser criada quando a idade da instância anterior atingir 30 minutos
(LSRefreshTime*) e uma nova instância LSP deve ser criada quando a idade da instância
anterior atingir 15 minutos (máximo LSPGenerationInterval*).
Expiração de LSAs e LSPs Outro mecanismo comum a OSPF e IS-IS é a expiração de LSAs/
LSPs. Conforme explicado na Seção 6.5.7, quando um LSA/LSP expira em seu roteador de
origem, o roteador deve originar uma indicação de exclusão para que o LSA/LSP seja removido
do LSDB de outros roteadores. No IS-IS, esse comportamento também é seguido por roteadores
não originários.
Nas próximas seções, detalhamos os procedimentos utilizados pelo OSPF e IS-IS para originar
novas instâncias LSA/LSP (e possivelmente excluí-las).
6.7.1 OSPF
Tanto no OSPFv2 quanto no OSPFv3, os roteadores originam Router-LSAs, Network-LSAs e
AS-External-LSAs. Os roteadores OSPFv3 também originam Link-LSAs e Intra Area-Prefix-
LSAs. Isso é verdade para redes de área única. Como será visto no Capítulo 7, em redes OSPF
hierárquicas os roteadores originam outros tipos de LSAs.
De acordo com a especificação OSPF [36], em geral, o conteúdo de um LSA pode mudar
quando (i) o estado de uma interface muda, (ii) o DR muda, ou (iii) o relacionamento com um
roteador vizinho muda para/ do estado Pleno. Ressaltamos que, quando a máquina de estados
vizinha está envolvida, é a entrada ou saída do estado Full que dita a origem dos LSAs/LSPs.
descrição do link (link to transit network) ao seu Roteador-LSA e remove a descrição do link 3
quando (i) for o link DR e ficar totalmente adjacente a pelo menos um outro roteador ou quando
(ii) não for o link DR e torna-se totalmente adjacente ao DR. O roteador substitui a descrição
do link 2 pela descrição do link 3 se essas condições cessarem e remove a descrição do link
se a interface for desligada. É possível que um roteador conectado a um link compartilhado de
trânsito anuncie primeiro um Roteador-LSA com uma descrição de link tipo 3 caracterizando a
interface e, quando o DR for eleito, substitua essa descrição por uma descrição tipo 2
(originando então um novo Roteador instância -LSA); lembramos que, em um cenário de
partida a frio, a eleição do DR leva aproximadamente 40 segundos.
Link-LSAs (OSPFv3) Um roteador origina um Link-LSA para cada link ao qual está conectado,
se houver pelo menos um outro roteador conectado ao link. Este LSA anuncia o endereço local
de link IPv6 e os prefixos de endereço IPv6 atribuídos a uma interface de link (consulte a
Seção 5.9). Assim, quando um desses endereços é alterado, uma nova instância de Link-LSA
é originada. O Link-LSA deve ser deletado quando o roteador deixar de ter vizinhos no link.
6.7.2 IS-IS
Os roteadores IS-IS originam apenas dois tipos de LSPs: Nonpseudonode-LSPs e
Pseudonode-LSPs. A especificação IS-IS [1] não é tão detalhada quanto a do OSPF
em relação à origem dos LSPs. O IS-IS não possui um estado equivalente ao estado
Full do OSPF. Em eventos de originação que envolvem relacionamentos de
vizinhança, o que dita a originação de um LSP é a criação ou destruição de uma
adjacência.
De acordo com a especificação IS-IS, os eventos que acionam a origem de um
LSP são: (i) uma adjacência subindo/descendo, (ii) mudança de status do circuito
(somente L1, somente L2, L1/L2), (iii) alteração do DIS, (iv) alteração do SID, (v)
alteração do custo da interface e (vi) inserção/remoção de um endereço.
7
Redes Hierárquicas OSPF e IS-IS
As estruturas multiárea de OSPF e IS-IS são restritas a uma hierarquia de dois níveis, com apenas
uma área permitida no nível superior. As áreas de nível inferior devem se conectar diretamente à
superior, de modo que todo o tráfego entre as áreas de nível inferior seja forçado a cruzar a superior.
Isso é ilustrado na Figura 7.1.
A estrutura de redes hierárquicas OSPF e IS-IS já foi apresentada no capítulo de visão geral
(consulte a Seção 4.3 e a Figura 4.1). Tanto o OSPF quanto o IS-IS usam a abordagem de
roteamento de vetor de distância (DVR) para o roteamento entre áreas discutido na Seção 3.2.3.
As áreas são identificadas por meio de um identificador de área, conhecido como Area ID ou
AID. Tanto no OSPFv2 quanto no OSPFv3, o Area ID é um número de 32 bits, exclusivo dentro do
domínio de roteamento e expresso na notação decimal com ponto usada para endereços IPv4. O
Area ID do backbone é sempre 0.0.0.0, por isso o backbone também é chamado de área 0. No IS-
IS, o Area ID faz parte do identificador completo do roteador, ou seja, a NET, conforme discutido na
Seção 5.2 . 1. Ao contrário do OSPF, não há um ID de área específico reservado para o backbone.
Conforme explicado na Seção 4.3, no OSPF cada interface do roteador deve ter um ID de área
assinado e todas as interfaces conectadas ao mesmo link devem pertencer
ABR ABR
FIGURA 7.1: Comunicação entre áreas de nível inferior em redes hierárquicas OSPF e IS-IS.
235
para a mesma área. Os ABRs têm uma interface conectada ao backbone, com um ID de área
atribuído de 0.0.0.0, e uma ou mais interfaces conectadas a áreas de nível inferior, cada uma
atribuída a um ID de área diferente de 0.0.0.0. Lembre-se da discussão na Seção 6.2.3.2 de que,
no OSPF, as interfaces do roteador são impedidas de estabelecer relacionamentos de vizinhança
se não pertencerem à mesma área.
No IS-IS, os Area IDs são atribuídos a todo o roteador e não a interfaces individuais. No
entanto, mais de um ID de área pode ser configurado em um roteador.
Para oferecer suporte ao roteamento hierárquico, o IS-IS usa dois tipos de LSDB (os LSDBs L1 e
L2) e dois tipos de adjacências (as adjacências L1 e L2). As adjacências L1 e L2 trocam apenas
informações de roteamento relativas aos LSDBs L1 e L2, respectivamente. Os roteadores são
classificados de acordo com o tipo de adjacências que suportam: roteadores L1 suportam apenas
adjacências L1, roteadores L2 suportam apenas adjacências L2 e roteadores L1/L2 suportam
ambos os tipos de adjacências.
Além disso, uma adjacência L1 só pode ser estabelecida com dois roteadores se eles tiverem pelo
menos uma área em comum; As adjacências L2 não são restritas pelas áreas configuradas.
Consequentemente, uma rede IS-IS hierárquica pode ser configurada da seguinte maneira
(consulte a Figura 4.1):
• Os roteadores de borda de área são roteadores L1/L2, pois devem suportar adjacências L1 e L2.
Além disso, como os roteadores devem receber um ID de área, os roteadores L1/L2 devem ser
configurados com um ID de área de nível inferior;
Tanto o OSPF quanto o IS-IS restringem suas redes multiárea a uma hierarquia de
dois níveis, onde as áreas de nível inferior só podem se comunicar por meio da
superior. Além disso, ambos usam uma abordagem DVR em seu protocolo de
roteamento entre áreas. Os roteadores de borda de área são chamados de ABRs
em OSPF e roteadores L1/L2 em IS-IS. Tanto no OSPF quanto no IS-IS, cada
interface de roteador de borda de área está associada a uma área e os roteadores
de borda mantêm tantos LSDBs quantas áreas às quais eles se conectam diretamente.
Nesta seção, damos um exemplo de DVR no contexto de redes hierárquicas, que se aplica
a OSPF e IS-IS. Essa questão já foi abordada na Seção 3.2.3, no cenário mais geral de
redes multiárea.
Considere a rede da Figura 7.2. Inclui duas áreas de nível inferior (áreas 1 e 2) e o
backbone, com um total de quatro ABRs: R2 e R3 interligam o backbone com a área 1, e
R4 e R5 interligam o backbone com a área 2. Considere o problema de determinar como o
roteador R1 aprende sobre o prefixo ap1 e calcula o caminho mais curto para esse prefixo;
na verdade, R1 só poderá determinar o subcaminho da área 1, de si mesmo para o ABR de
saída. A figura inclui perto de cada interface os custos de interface relevantes para esta
discussão.
R7
Espinha dorsal
30 10
10
R6
10 (ap1,30)
(ap1,10)
10 10
R2 R3 R4 5 25 R5
(ap1,50) (ap1,30)
R8
10 40 5
R1 ap1
Área 1 Área 2
Rede-Resumo-LSA Inter-Area-Prefixo-LSA
OSPFv2 OSPFv3
AS-Externo-LSA AS-Externo-LSA
domínio-externo-NR
(dep-NR) IPv4 IS-IS IPv6 IS-IS
Acessibilidade interna de IP
Informações TLV ou IP Estendido Acessibilidade IPv6 TLV
Acessibilidade TLV
OSPFv2 OSPFv3
domínio-border-router-NR (dbr-
NR) Inter-Area-Router-LSA
ASBR-Resumo-LSA
FIGURA 7.3: Correspondência entre os elementos LSDB necessários para disseminar informações
de roteamento entre áreas do protocolo genérico, OSPF e IS-IS, de uma perspectiva de
informações de roteamento.
7.3.1 OSPF
Informações de roteamento interno de área O OSPF mantém os LSAs de redes de área única
para descrever as informações de roteamento internas a uma área. No OSPFv2, as informações
topológicas e de endereçamento interno da área são fornecidas pelo roteador-LSAs e pela rede-
LSAs. No OSPFv3, as informações topológicas são fornecidas por Router-LSAs e Network-LSAs
e as informações de endereçamento interno de área por Intra-Area-Prefix-LSAs. Dado que a
informação topológica se restringe a descrever uma única área, os ABRs originam tantos Router-
LSAs quantas as áreas a que estão diretamente ligados, mas um Router-LSA injetado numa área
descreve apenas as interfaces pertencentes a essa área. Os Router-LSAs também incluem
informações sobre se o roteador de origem é um ABR ou um ASBR, usando os sinalizadores B-bit
e E-bit: o bit B é definido quando o roteador de origem é um ABR e o E-Bit é definido quando o
roteador de origem é um ASBR.
Opções de prefixo 1
Rede-Resumo-LSA
Prefixo de endereço em
Métrica 3
Inter-Area-Prefixo-LSA
ASBR-Resumo-LSA
Opções 3
Métrica 3
ID do roteador de destino 4
Inter-Area-Router-LSA
Área-Prefixo-LSA em OSPFv3 (consulte a Figura 7.4). Esses LSAs são inundados com escopo
de área e, conforme mencionado na Seção 3.2.3, atingem dois objetivos simultaneamente:
eles comunicam os prefixos área-externa entre os ABRs e, ao mesmo tempo, disseminam os
prefixos dentro das áreas, para que se tornem conhecidos por roteadores internos.
Originação e exclusão de LSAs Os vetores de distância (ou seja, os Summary LSAs do OSPFv2
e os Inter-Area LSAs do OSPFv3) são originados pelos ABRs sempre que novos destinos (prefixos
ou ASBRs) são adicionados ou as informações de custo relativas a um destino já anunciado são
alteradas . Os anúncios devem respeitar as restrições descritas na Seção 7.4. Além disso,
quando um destino anteriormente anunciado torna-se inacessível, ou quando seu anúncio se torna
proibido devido às restrições da Seção 7.4, o LSA correspondente deve ser excluído.
7.3.2 IS-IS
IS-IS não introduz novos elementos LSDBs para suportar roteamento hierárquico.
Área 2
R4 (L2)
30 10
R2 (L1/L2) R3 (L1/L2)
10 20
R1(L1)
Área 1
através do RFC 2966 [28], que especificava que os oito bits do campo Default Metric
nos TLVs de informações de acessibilidade IP interno e externo, não utilizados até
então, deveriam ser usados para distinguir entre os dois tipos de prefixos. O bit é
chamado de bit Up/Down (U/D) e é definido quando o prefixo correspondente é
injetado por um roteador L1/L2 em uma área de nível inferior, ou seja, quando é um
prefixo de área externa. Este bit também foi incluído no IPv6 Reachability TLV. A
injeção de informações de endereçamento L2 em áreas L1 às vezes é chamada de
vazamento de rota.
Acessibilidade IP TLV e Acessibilidade IPv6 TLV). O IPv6 Reachability TLV também é usado para
anunciar prefixos internos de domínio; o sinalizador X faz a distinção entre prefixos internos e
externos ao domínio. Observe que a especificação inicial do IS-IS não suportava a presença de
ASBRs em áreas L1, uma vez que o IP External Reachability Information TLV não foi definido para
L1 LSPs; esta situação seria corrigida pelo RFC 2966 [28].
No IS-IS, os prefixos externos ao domínio são divulgados entre as áreas por meio do IP
External Reachability Information TLV ou Extended IP Reachability TLV, no IPv4 IS-IS, e
do IPv6 Reachability TLV, no IPv6 IS-IS. Esses TLVs são originados por DBRs e ABRs e
disseminados como vetores de distância entre os roteadores L1/L2.
Originação e exclusão de TLVs O IS-IS segue regras semelhantes ao OSPF para origem e exclusão
de vetores de distância, que neste caso são os TLVs de acessibilidade IP. Assim, um novo IP
Acessibilidade TLV deve ser originado quando um novo prefixo é adicionado ou o custo do caminho
para um prefixo existente é alterado, sujeito às restrições descritas na Seção 7.4. Além disso, um IP
Reach TLV com habilidade deve ser excluído quando o prefixo correspondente for removido, ou
quando seu anúncio for proibido devido às restrições da Seção 7.4. Lembre-se de que a origem e
exclusão de TLVs implica na criação de novas instâncias dos LSPs aos quais eles pertencem.
Tomando a rede da Figura 7.6 como exemplo, a primeira restrição mencionada acima proíbe
R3 de anunciar na área 1 o custo do caminho R3 ÿ R4 ÿ R2 ÿ R1 ÿ ap1 mesmo que os caminhos intra-
área R3 ÿ R1 ÿ ap1 ou R3 ÿ R2 ÿ R1 ÿ ap1 tem custo mais alto. A segunda restrição proíbe R3 de
anunciar na área 1 o custo do caminho R3 ÿ R2 ÿ R4 ÿ ap2 mesmo que o caminho R3 ÿ R4 ÿ ap2
tenha custo maior. Conforme discutido na Seção 3.3, a primeira restrição implica que o caminho
selecionado entre um roteador e um destino localizado na mesma área pode não ser o mais curto.
ap2
Área 2
R4
R2 R3
R1
Área 1
ap1
Outra característica que restringe o processo de seleção de rotas é a preferência dada aos
caminhos intra-área sobre os caminhos inter-áreas ao construir a tabela de encaminhamento.
Tomando novamente a rede da Figura 7.6 como exemplo, esta regra força R3 a selecionar o
caminho intra-área R3 ÿ R4 ÿ ap2 mesmo que o caminho inter-área R3 ÿ R2 ÿ R4 ÿ ap2 tenha
custo menor.
Na Seção 11.2, apresentamos experimentos que ilustram as restrições no processo de
seleção do caminho mais curto de redes hierárquicas OSPF e IS-IS.
OSPF e IS-IS proíbem a injeção de vetores de distância em uma área quando eles
anunciam caminhos para prefixos internos de área ou caminhos para prefixos externos
de área que cruzam a área. Além disso, ao computar sua tabela de encaminhamento,
um roteador deve dar preferência aos caminhos intra-área sobre os caminhos inter-área.
Essas restrições podem impedir que o roteamento ideal globalmente seja alcançado.
Parte IV
Estudos de caso
8
Ferramentas e configurações
Estrutura desta parte do livro Este capítulo apresenta os principais recursos do GNS3,
Cisco IOS e Wireshark e explica as configurações básicas do roteador. Os próximos
capítulos discutem vários tipos de experimentos. O Capítulo 9 aborda a estrutura das
tabelas de encaminhamento, o processo de seleção de rota e a estrutura LSDB de redes
de área única. O Capítulo 10 discute os mecanismos de sincronização. Finalmente, o
Capítulo 11 aborda as extensões necessárias para suportar redes hierárquicas.
249
Portanto, esteja sempre preparado para uma sequência diferente de eventos ao tentar
reproduzir os experimentos desta parte do livro.
O que é uma rede convergente? Iremos nos referir muitas vezes a redes convergentes.
Uma rede convergente é uma rede em um estado estável. No contexto dos protocolos de
roteamento, isso significa que as informações de roteamento usadas para construir as
tabelas de encaminhamento não mudam e são consistentes em todos os roteadores.
Após um evento como falha de roteador ou inicialização a frio, geralmente há um período
transitório em que a rede está se adaptando às novas condições e as informações de
roteamento são alteradas; no entanto, se o protocolo estiver correto, as informações de
roteamento tornam-se estáveis depois de um tempo. Assim, a convergência da rede é
sempre o ponto final dos experimentos LSR que perturbam a estabilidade da rede.
Uma maneira de determinar se uma rede convergiu em experimentos LSR é observar
os pacotes de controle transmitidos pelos roteadores, por exemplo, usando o Wireshark.
As condições diferem ligeiramente em OSPF e IS-IS. No OSPF, uma rede convergente
é uma rede em que apenas os pacotes HELLO com informações corretas são trocados
entre os roteadores. A informação transmitida por um pacote HELLO está correta se listar
todos os vizinhos do roteador de envio e, em links compartilhados, se listar também os
DR e BDR corretos. As condições IS-IS são as mesmas, exceto em links compartilhados,
onde, além dos pacotes HELLO transmitidos por todos os roteadores, o DIS também
transmite CSNPs periódicos. Nesse caso, a convergência de rede é alcançada quando
os roteadores transmitem apenas pacotes HELLO corretos, e os DISes, além de pacotes
HELLO corretos, também transmitem CSNPs anunciando um resumo LSDB totalmente
atualizado.
os switches, e no último (Adicionar um link) os links. Esses são os elementos de rede necessários
para quase todos os experimentos deste livro.
Painel superior O painel superior inclui botões para as principais ações executadas em uma
rede. Por exemplo, para iniciar todos os dispositivos ao mesmo tempo, clique em Iniciar/Reiniciar
todos os nós e, para interrompê-los, clique em Parar todos os nós. O botão Console conectar a
todos os nós também é muito útil e abre os consoles de todos os dispositivos ao mesmo tempo.
Executando ações em dispositivos individuais Há muitas ações que podem ser executadas em
dispositivos individuais. Para isso, você deve clicar com o botão direito do mouse no dispositivo.
A Figura 8.1 mostra a janela que se abre ao clicar com o botão direito do mouse no roteador R3.
Você pode, por exemplo, Iniciar, Parar ou Recarregar apenas este roteador, pode abrir seu
console (botão Console), configurar o roteador (botão Configurar) ou editar seu arquivo de
configuração de inicialização (botão Editar configuração). Além disso, para executar uma captura
do Wireshark em um link, clique com o botão direito do mouse no link e selecione Iniciar captura.
Estas são apenas as principais características do GNS3; tente explorar outros recursos por conta
própria. Divirta-se!
pacotes OSPF. Em nossos experimentos, usaremos filtros ospf ou isis. O Wireshark nos permite ser
mais específicos em relação a um protocolo. Por exemplo, para ver apenas pacotes OSPF HELLO,
você pode usar o filtro ospf.hello.
Painel da lista de pacotes Imediatamente abaixo da barra de ferramentas do filtro, você encontra o
painel da lista de pacotes. Este painel possui uma linha por pacote observado e exibe as informações
mais importantes sobre cada pacote. Tem sete colunas: (i) No. é o número do pacote, (ii) Time é o
tempo de captura, (iii) Source é o endereço de origem, (iv) Destination é o endereço de destino, (v)
Protocol é o mais alto protocolo de camada decodificado por Wireshark, (vi) Length é o comprimento
do pacote e (vii) Info inclui informações adicionais, como o tipo de pacote.
O número do pacote e o tempo de captura do pacote são relativos ao primeiro pacote observado.
O primeiro pacote observado recebe um número de 1 e um tempo de captura de 0. Os endereços de
origem e destino são os endereços IP, a menos que o pacote não tenha camada IP (que é o caso
dos pacotes IS-IS); neste caso, os endereços MAC de origem e destino (se existirem) são exibidos.
Painel de detalhes do pacote Abaixo do painel da lista de pacotes, você encontra o painel de detalhes
do pacote. Este painel mostra todos os campos do pacote selecionado no painel de lista de pacotes.
Na figura, o pacote selecionado é o pacote 42 (um pacote LS UPDATE) e o painel de detalhes do
pacote mostra seus cabeçalhos Ethernet e IPv4 (não expandidos) e mostra que o pacote OSPF
contém um roteador-LSA com um LS Age de 1 segundo (a maior parte do conteúdo não é mostrada
por falta de espaço).
Como as capturas do Wireshark serão mostradas neste livro Neste livro, mostraremos os resultados
de muitas capturas do Wireshark. No entanto, não os apresentaremos como na Figura 8.2, ou seja,
como instantâneos do Wireshark, porque queremos economizar espaço e adicionar informações
importantes não exibidas no painel de lista de pacotes. O que fazemos é (i) exportar cada captura
para um arquivo Excel, (ii) remover as colunas indesejadas (sempre removeremos a coluna
Comprimento) e (iii) editar a coluna Informações para que inclua as informações mais relevantes para
a explicação do experimento, que extraímos do conteúdo do pacote.
executa um sistema operacional para gerenciar seus recursos de hardware e software e fornecer
seus serviços. As funções são semelhantes aos sistemas operacionais de nossos computadores
pessoais. O sistema operacional dos roteadores Cisco é chamado de IOS (Internetwork Operating
System). O Cisco IOS pode ser configurado por meio de comandos para executar diferentes tarefas.
Em nossos experimentos, usamos a versão 12.4(25d) de uma imagem Cisco IOS c3725.
Níveis de acesso do Cisco IOS Há dois níveis de acesso aos comandos do Cisco IOS (também
chamados de modos de usuário): o nível EXEC do usuário e o nível EXEC privilegiado
nível. No nível EXEC do usuário, você só tem acesso a alguns comandos, os inócuos
(por exemplo, connect, login, ping e show). No nível EXEC privilegiado, você tem acesso
a todos os comandos, incluindo os mais poderosos e potencialmente destrutivos (por
exemplo, configurar, depurar, apagar e configurar).
Um administrador de rede geralmente trabalha no nível EXEC privilegiado.
O prompt “>”” indica que você está configurando no nível EXEC do usuário e o prompt
“#” indica que você está configurando no nível EXEC privilegiado. Para ir do nível EXEC
do usuário para o nível EXEC privilegiado, você deve inserir o comando enable e uma
senha pode ser solicitada. No GNS3, os roteadores são iniciados no nível EXEC
privilegiado.
Métodos de configuração A configuração de um roteador pode ser (i) entregue via
download de rede, (ii) copiada de uma imagem armazenada na memória do roteador ou
(iii) digitada a partir do terminal. O terceiro método será usado em nossos experimentos,
e o comando configure terminal indica ao Cisco IOS que esse método será usado.
Modos de configuração O Cisco IOS possui vários modos de configuração, que indicam
o elemento do roteador (por exemplo, interface ou protocolo) que está sendo configurado.
O modo de configuração global é o nível de entrada para as configurações do roteador;
os comandos inseridos neste modo afetam todo o roteador. Modos de configuração
importantes no contexto dos experimentos deste livro são o modo interface, onde as
interfaces são configuradas, e o modo roteador, onde os protocolos de roteamento IP
são configurados.
Arquivos de configuração Todo roteador tem dois arquivos de configuração: o arquivo
de configuração em execução e o arquivo de configuração de inicialização. O arquivo
startup-config contém os comandos que são carregados quando um roteador é ligado. O
arquivo running-config está na RAM e contém os comandos inseridos durante uma
sessão de configuração. O comando write salva o conteúdo running-config no arquivo
startup-config. Use a gravação com frequência se não quiser perder seu trabalho.
Nomes de roteador e interface Os roteadores e as interfaces têm nomes pelos quais são
conhecidos para fins de configuração. Nesse caso, o nome do roteador é R1 e os nomes
das interfaces são FastEthernet0/0 e Serial0/0.
Felizmente, os nomes das interfaces podem ser abreviados, neste caso para f0/0 e s0/0,
respectivamente. O nome de um roteador pode ser alterado usando o nome do host
comando no modo de configuração global, mas você não precisará fazer isso nos experimentos
deste livro.
Endereços e interfaces IPv4 A Figura 8.4.a mostra a sequência de comandos do Cisco IOS que
devem ser inseridos ao configurar as duas interfaces.
O comando configure terminal coloca o Cisco IOS no modo de configuração global; uma sessão
de configuração do roteador sempre começa com este comando.
O comando interface f0/0 coloca o IOS no modo interface, para configurar a interface f0/0. O
comando ip address configura o endereço IPv4 (222.222.10.1) e a máscara de sub-rede
(255.255.0.0) da interface, e o comando no shutdown liga a interface. Os comandos 5 a 7
repetem as ações dos comandos 2 a 4, mas para a interface s0/0. Observe que não há diferença
nas configurações básicas de interface Fast Ethernet e interfaces seriais.
O comando end força o IOS a sair do modo de configuração global e o comando write salva a
configuração no arquivo startup-config.
Endereços e interfaces IPv6 A configuração dos endereços IPv6 é mostrada na Figura 8.4.b. É
exatamente igual aos endereços IPv4, com uma exceção: o comando que configura os
endereços IPv6 é o endereço ipv6, e o comprimento do prefixo deve ser inserido em notação de
barra. Veremos mais adiante que, em alguns casos, não há necessidade de configurar endereços
IPv6 nas interfaces.
Sugestões muito úteis sobre como atribuir endereços IP Ao fazer experimentos, ou mesmo na
vida real de um gerente de rede, é mais útil atribuir endereços IP com alguma lógica que permita
associar facilmente um endereço IP ao roteador ao qual pertence. Isso nos poupará muito tempo
na configuração e depuração de nossos experimentos! Neste livro, usaremos as seguintes
regras:
• Exceto ao usar endereços privados ou endereços externos ao domínio, nossos endereços IPv4
terão o formato 222.222.XY/24 onde, conforme explicado acima, Y é igual ao número do
roteador e X identifica a sub-rede real o endereço
FIGURA 8.4: Configuração de interfaces e endereços IP no caso de (a) IPv4 e (b) IPv6.
Vendo o conteúdo dos arquivos running-config e startup-config Você pode ver o conteúdo dos
arquivos running-config e startup-config usando os comandos show running-config e show
startup-config. Um bom exercício é inserir os comandos da Figura 8.4 e tentar identificá-los nos
arquivos running-config e startup-config usando os comandos show correspondentes.
Editando o arquivo startup-config Às vezes é mais fácil fazer alterações diretamente nos
arquivos startup-config. Você pode editar esses arquivos dentro do GNS3. Basta clicar com o
botão direito do mouse em um roteador e selecionar Editar configuração; uma janela onde
você pode editar o conteúdo do arquivo startup-config será aberta.
Inserindo os comandos em lote Você achará este recurso muito útil!
Em vez de inserir os comandos um a um no console, você pode escrever um grupo de comandos
em um processador de texto e copiá-los e colá-los no console, tudo ao mesmo tempo. A ordem
dos comandos deve ser a mesma como se os comandos fossem digitados um a um. Por
exemplo, para configurar o roteador R1 como na Figura 8.4.a, escreva os comandos em um
processador de texto (como na Figura 8.5) e copie e cole todos os comandos ao mesmo tempo
no console. A primeira linha é um comentário. Esse recurso nos poupará muito tempo!
O comando debug IOS inclui um comando debug que ajuda a rastrear a evolução dos
eventos relacionados aos diferentes protocolos implementados no IOS.
Por exemplo, você pode usar o comando debug ip ospf para rastrear os eventos relacionados ao
OSPF e o comando debug isis para rastrear os eventos relacionados ao IS-IS. Ambos os
comandos têm várias opções de filtragem. Por exemplo, para ver apenas os eventos relacionados
ao protocolo Hello do OSPF, você deve inserir o comando debug ip ospf hello.
8.4.1 OSPFv2
A Figura 8.8.a mostra a configuração de roteamento básica do OSPFv2. O comando
router ospf 1 cria o processo de roteamento OSPFv2 e coloca o IOS no modo de
configuração do roteador. Que o modo de configuração atual é o modo roteador pode ser
reconhecido pela palavra-chave config-router nos prompts. Nesse modo, você pode
configurar o RID e os prefixos anunciados. O comando router-id 1.1.1.1 configura o RID
como sendo 1.1.1.1; observe que a configuração RID não é obrigatória no OSPFv2. O
comando network define os prefixos anunciados pelo roteador e a área a que pertencem.
Como neste exemplo existem duas interfaces com endereços IPv4 222.222.10.1/24 e
222.222.20.1/24, respectivamente (ver Seção 8.3.2), é necessário configurar os prefixos
222.222.10.0/24 e 222.222.10.0/ 24. Observe que a máscara de sub-rede é inserida
como complemento da máscara usual. Por exemplo, na configuração atual a máscara é
255.255.255.0 e você deve inserir 0.0.0.255.
8.4.2 OSPFv3
A Figura 8.8.b mostra a configuração de roteamento básica do OSPFv3. A lógica é um
pouco diferente da do OSPFv2. A primeira configuração, ou seja, o comando ipv6 unicast-
routing, habilita o roteamento IPv6. Isso não é necessário no roteamento IPv4, mas é
obrigatório no roteamento IPv6; você também verá este comando na configuração IPv6
IS-IS. Em seguida, o comando ipv6 router ospf 1 cria o processo OSPFv3 e coloca o IOS
no modo de configuração do roteador.
A única configuração necessária neste modo é o RID, que é feito exatamente como no
OSPFv2, ou seja, com o comando router-id. Em seguida, o OSPFv3 deve ser configurado
em cada interface, usando o comando ipv6 ospf 1 área 0. Isso informa ao IOS que o
OSPFv3 deve ser habilitado na interface e que a interface pertence à área 0. O roteador
anunciará automaticamente o prefixo associado à interface endereço (ver Seção 8.3.2);
ao contrário do OSPFv2, não há necessidade de declarar esses prefixos no modo de
configuração do roteador.
FIGURA 8.8: Configurações básicas de roteamento de (a) OSPFv2, (b) OSPFv3, (c)
IPv4 IS-IS, e (d) IPv6 IS-IS.
três octetos, o SID os próximos seis octetos e o SEL o último octeto. A parte SEL é
sempre zero. O primeiro octeto do identificador de área (0×49) é o AFI. As partes
restantes indicam que o roteador pertence à área 1 e tem um SID de 1. O próximo
comando, is-type level-1, configura o roteador para ser um roteador L1. Por fim, assim
como o OSPFv3, o IS-IS deve ser habilitado em cada interface, e essa é a função do
comando router isis, inserido nos modos de configuração de interface f0/0 e s0/0.
Conforme explicado na Seção 4.3.2, existem três tipos de roteadores IS-IS: roteadores
L1, roteadores L2 e roteadores L1/L2. Nos roteadores L1, as interfaces são todas do tipo
somente L1; em roteadores L2, as interfaces são todas do tipo somente L2; e em
roteadores L1/L2, as interfaces podem ser de qualquer tipo, ou seja, somente L1,
somente L2 ou L1/L2. A configuração padrão do IOS é considerar os roteadores como
roteadores L1/L2 e as interfaces do tipo L1/L2. Qualquer desvio dessa configuração
padrão deve ser configurado explicitamente. Conforme mencionado acima, para
transformar um roteador em um roteador L1, o comando is-type level-1 deve ser inserido
no modo roteador. Da mesma forma, para transformar um roteador em um roteador L2,
insira o comando is-type level-2-only no mesmo modo. Além disso, para transformar uma
interface em uma interface somente L1 ou somente L2, digite os comandos isis circuit-
type level-1 ou isis circuit-type level-2-only no modo de interface.
9
Experimentos em tabelas de encaminhamento e
LSDB
Montagem experimental Esta questão será ilustrada com a ajuda da rede da Figura 9.1. A rede
tem três roteadores, dois links seriais, um link compartilhado de trânsito e um host. Selecionamos
essa topologia para garantir a existência de caminhos alternativos de cada roteador para cada
sub-rede. O host está incluído para tornar nossos experimentos de traceroute mais claros. Os
roteadores precisam ser configurados com a configuração de roteamento básico (consulte a
Seção 8.4.3 para a configuração IPv4 IS-IS, a Seção 8.4.1 para a configuração OSPFv2 e a
Seção 8.4.2 para a configuração OSPFv3). O host usa o elemento VPCS do GNS3.
As tabelas de encaminhamento IPv4 podem ser visualizadas com o comando show ip route
e as IPv6 com o comando show ipv6 route. A forma como as tabelas de encaminhamento são
exibidas pelo Cisco IOS varia de acordo com a família de endereços e o protocolo de roteamento,
sem muita lógica entre eles. É principalmente um
267
FIGURA 9.2: Tabela de encaminhamento IPv4 obtida com IPv4 IS-IS no roteador R1.
Cálculo do custo do caminho Para entender o valor do custo do caminho, lembre-se que o
custo do caminho é obtido somando os custos das interfaces transmissoras pertencentes ao
caminho; lembre-se também que os custos de interface padrão do IS-IS são 10,
independentemente do tipo de interface. Um pacote enviado do roteador R1 para 222.222.30/24
é transmitido por duas interfaces, independentemente do caminho percorrido. Se for via R2, é
transmitido pela interface s0/0 de R1 (que custa 10) e pela interface f0/0 de R2 (que também
custa 10). Assim, o custo desse caminho é 10 + 10 = 20. O mesmo raciocínio se aplica ao
outro caminho. Observe que os custos das interfaces de recebimento não são incluídos no
cálculo do custo do caminho. Assim, neste exemplo, o custo da interface s0/0 de R2 e de
FIGURA 9.3: Tabela de encaminhamento IPv4 obtida com IPv4 IS-IS - Resultado do
traceroute de R1 para host.
a interface s0/0 de R3, que recebe pacotes de R1, não é incluída nos cálculos dos custos de
caminho de R1 a 222.222.30.0/24.
Dividindo o tráfego entre caminhos de custo igual Quando há vários caminhos mais curtos
levando ao mesmo destino, o tráfego é igualmente dividido entre esses caminhos. No nosso
caso, como existem dois caminhos que levam a 222.222.30.0/34, 50% do tráfego passa
pelo primeiro caminho (via R2) e os outros 50% passam pelo segundo (via R3). Isso pode
ser verificado usando o comando traceroute. A Figura 9.3 mostra o resultado da sonda
traceroute 222.222.30.100 6 executada em R1; a última parte (sonda 6) instrui o Cisco IOS
a repetir o traceroute seis vezes antes de prosseguir para o próximo roteador no caminho
(ou seja, ele envia seis solicitações de eco ICMP com um determinado valor de TTL). A
figura mostra que o traceroute alterna entre passar por R3 (o primeiro) e passar por R2 (o
segundo).
!!"!#$$%&$%
'$%'&#(')$%'& #() !$%#(!)$%# () (*+ *)+)
,-.
$
(-
)))/)))/)0/01)2(01 )))/)))/0/01)2(01
$)))/)))/30/01)2401526+)))/ )))/)0/30007 0
301 401526+)))/)))/0/)00073010
FIGURA 9.4: Tabela de encaminhamento IPv4 obtida com OSPFv2 no roteador R1.
hora de fazer o seu trabalho! Nesse ínterim, enquanto um protocolo está convergindo, a tabela
de encaminhamento pode ter informações ausentes ou mesmo erradas. Para observar isso,
reinicie todos os roteadores ao mesmo tempo (uma situação de inicialização a frio) e continue
exibindo a tabela do roteador R2 inserindo sucessivamente o comando show ip route. Os
resultados desse experimento são mostrados na Figura 9.5. Sabemos qual deve ser o
resultado final em relação ao caminho de R2 para 222.222.20.0/24: deve ser via roteador R3,
pois o custo do caminho via esse roteador é 74, e o do roteador R1 é 128 (porque inclui dois
interfaces de link serial, cada uma com custo 64). No entanto, a tabela de encaminhamento
inicial (consulte a Figura 9.5.a) indica que o caminho é via R1 (o endereço do próximo salto é
222.222.10.1 e a interface de encaminhamento é s0/0) e o custo do caminho é 128. Assim, o
caminho ainda não é o mais curto. Se você continuar digitando show ip route, notará que leva
aproximadamente 40 segundos até que essa entrada OSPF seja substituída pela correta. A
tabela de encaminhamento correspondente é mostrada na Figura 9.5.b; indica que o caminho
de R2 para 222.222.20.0/24 passa pelo roteador R3 (o endereço do próximo salto é
222.222.30.3 e a interface de encaminhamento é f0/0) e tem um custo de 74. Na verdade,
isso acontece porque, no OSPF , a convergência em links ponto a ponto é muito mais rápida
do que em links compartilhados. Em links compartilhados, os roteadores devem eleger o DR
e o BDR antes de estabelecer adjacências entre si, e isso leva aproximadamente 40 segundos.
FIGURA 9.6: Tabela de encaminhamento IPv6 obtida com OSPFv3 no roteador R1.
e, portanto, o custo do caminho é 30. Porém, a tabela de encaminhamento da Figura 9.7 indica
que o caminho para 222.222.20.0/24 é o direto, através da interface s0/1, que tem custo 40.
ção. Em seguida, ligue os roteadores ao mesmo tempo e aguarde até que a rede
converja. Os resultados desses experimentos são discutidos nas próximas seções.
9.2.1.1 OSPFv2
Um resumo das informações do OSPFv2 LSDB é mostrado na Figura 9.9. Pode ser
visualizado com o comando show ip ospf database. A estrutura do OSPFv2 LSDB foi
discutida na Seção 5.5.
Resumo do OSPFv2 LSDB O resumo do LSDB exibido pelo Cisco IOS inclui, para cada
LSA, informações sobre Link State ID (coluna Link ID), Advertising Router (coluna ADV
Router), LS Age (coluna Age), LS Sequence Number (Seq# coluna) e campos LS
Checksum (coluna Checksum); todos esses campos pertencem ao cabeçalho LSA
(consulte a Figura 5.9). No caso de Router-LSAs, inclui também o campo Number of
Links (coluna Contagem de links).
necessário para identificar exclusivamente o LSA no LSDB e acaba tendo o mesmo valor do
Advertising Router.
Observe que, nos Roteadores-LSAs de R2 e R3, o Número de Links (Link Count) é um
mais o número de interfaces que esses roteadores possuem. Isso se deve aos links ponto a
ponto, que exigem duas descrições de link por interface. Abordaremos esse recurso a seguir.
Roteador-LSAs Os três Roteadores-LSAs são mostrados na Figura 9.10. Eles podem ser
exibidos por meio do comando show ip ospf database router.
Roteador-LSA de R2 O Roteador-LSA de R2 inclui todos os tipos de interfaces: para links
ponto-a-ponto, para trânsito de links compartilhados e para stub de links compartilhados. O
LSA tem quatro descrições de link. Os dois primeiros referem-se à interface de enlace ponto
a ponto. A primeira descrição (Link conectado a: outro Roteador) é uma descrição do tipo 1,
que fornece informações topológicas, e a segunda (Link conectado a: uma Rede Stub) é uma
descrição do tipo 3, que fornece informações de anúncio. O Cisco IOS nomeia as descrições
de link de forma diferente da especificação, o que pode ser confuso. Da primeira descrição,
aprendemos que este link ponto a ponto conecta o roteador R2 ao roteador R3 (já que o Link
ID é 3.3.3.3) usando uma interface com endereço IPv4 222.222.30.2 (Link Data), que tem um
custo de 64 (métrica). A partir da segunda descrição, aprendemos que o link ponto a ponto
é atribuído ao prefixo 222.222.30.0/24 (Link ID e Link Data). A informação de custos incluída
nesta descrição do tipo 3 é irrelevante, uma vez que já foi fornecida na descrição do tipo 1.
Sabemos que as duas primeiras descrições estão associadas uma à outra (ou seja, que o
prefixo 222.222.30.0/24 da segunda descrição é atribuído ao link ponto a ponto da primeira
descrição), pois o endereço da interface do roteador da primeira descrição ção (222.222.30.2)
está contida no intervalo de prefixo definido por 222.222.30.0/24.
Observe que o mesmo não é verdadeiro para o intervalo de prefixo da descrição do terceiro
link (222.222.20.0/24).
Rede-LSA A Figura 9.11 mostra a Rede-LSA que descreve o link compartilhado. Pode ser
obtido através do comando show ip ospf database net work. Este LSA fornece
informações topológicas e de endereçamento. No campo Link State ID, aprendemos que
o identificador do link é 222.222.10.2, e nos campos Attached Router, aprendemos que
os roteadores R1 (1.1.1.1) e R2 (2.2.2.2) estão conectados ao link; esta é uma informação
topológica. O prefixo atribuído ao link, ou seja, a informação de endereçamento, é obtido
aplicando-se o campo Network Mask (/24) ao endereço IP contido no campo Link State
ID, que resulta em 222.222.10.0/24.
9.2.1.2 OSPFv3
Resumo do OSPFv3 LSDB A Figura 9.12 mostra um resumo das informações do OSPFv3
LSDB. Pode ser visualizado com o comando show ipv6 ospf database. A estrutura do
OSPFv3 LSDB foi discutida nas Seções 5.7 e 5.9.
Em relação ao OSPFv2 (consulte a Figura 9.9), agora existem muito mais LSAs.
A exibição tem quatro partes, uma para cada tipo de LSA: Estados de link do roteador
para LSAs de roteador, Estados de link de rede para LSAs de rede, Estados de link de
link (tipo 8) para LSA de link e Estados de prefixo de área intra para Intra- Prefixo de
área-LSAs. As informações exibidas pelo Cisco IOS variam de acordo com o tipo de LSA,
mas sempre incluem o Advertising Router (ADV Router col
FIGURA 9.13: LSDB sem informações de endereçamento externo ao domínio - OSPFv3 Router-
LSAs.
O roteador R1 possui apenas uma interface, que conecta o link compartilhado de trânsito.
Assim, seu Roteador-LSA possui apenas uma descrição de link, do tipo 2 (Link conectado a: uma
Rede de Trânsito), semelhante à segunda descrição de link do Roteador-LSA de R2. Os campos
Neighbor Router ID e Neighbor Interface ID carregam novamente o identificador do link (2.2.2.2
concatenado com 4). Aprendemos também que o roteador se conecta ao link por meio de sua
interface número 4 (local interface id) e o custo da interface é 10 (métrica).
O roteador R3 apenas faz a interface do link ponto a ponto. Assim, seu Roteador-LSA possui
FIGURA 9.14: LSDB sem informações de endereçamento externo ao domínio - Rede OSPFv3-
LSA.
apenas uma descrição de link, do tipo 1 (Link conectado a: outro Roteador), semelhante à
primeira descrição de link do Roteador-LSA de R2. Ele informa que o vizinho do outro lado do
link é R2 (Neighbor Router ID é 2.2.2.2) e se conecta ao link por meio de sua interface número
6 (Neighbor Interface ID é 6) e que R3 se conecta ao link por meio de seu interface número 6
(o ID da interface local é 6), com um custo de 64 (a métrica é 64). É apenas uma coincidência
que as interfaces local e vizinha tenham o mesmo número.
Observe que não há endereços IPv6 nesses LSAs. Conforme referido anteriormente,
OSPFv3 Router-LSAs apenas transmitem informação topológica, sendo que esta informação
recorre apenas a identificadores topológicos, que neste caso são endereços IPv4. O campo
Link State ID recebe valor zero, pois, como no caso do OSPFv2, ele não tem papel no Router-
LSAs.
Rede-LSA Na Figura 9.14, mostramos a Rede-LSA que descreve o link compartilhado de
trânsito. Esta informação pode ser visualizada usando o comando show ipv6 ospf database
network. Esse LSA é muito semelhante ao OSPFv2 (consulte a Figura 9.11). O LSA é originado
pelo roteador R2 (Advertising Router), pois R2 é o link DR. O identificador do link é definido
pelos campos Advertising Router e Link State ID. Assim, aprendemos que o identificador do link
é 2.2.2.2 concatenado com 4. A associação entre este LSA e as interfaces anexadas ao link
que ele representa é feita através do identificador do link. Conforme referido anteriormente, o
identificador do link está incluído no Router LSA de R2, nomeadamente na descrição do link
tipo 2 que caracteriza a interface do link partilhado. Dos campos Attached Router, aprendemos
que os roteadores conectados ao link são R1 (1.1.1.1) e R2 (2.2.2.2).
Como no caso do Router-LSAs, não há endereços IPv6 neste LSA, pois ele apenas
transmite informações topológicas. É também por isso que, em relação ao OSPFv2 Network-
LSA, a máscara de rede foi suprimida.
Intra-Area-Prefix-LSA A Figura 9.15 mostra os Intra-Area-Prefix-LSAs. Esta informação pode ser
visualizada usando o comando show ipv6 ospf database prefix. O roteador R2 origina dois LSAs
desse tipo e o roteador R3 origina
FIGURA 9.16: LSDB sem informações de endereçamento externo ao domínio - OSPFv3 Link-
LSAs do roteador R2.
sem prefixo atribuído agora deve incluir o comando ipv6 enable, para que a interface continue
gerando um endereço link-local. A Figura 9.18 mostra a configuração dos três roteadores
para este experimento.
Tabela de encaminhamento de R3 Mostramos primeiro a tabela de encaminhamento IPv6
de R3 (Figura 9.19). Todos os três prefixos estão presentes na tabela de roteamento,
incluindo os dois prefixos sobrepostos no link compartilhado do stub, mesmo que nenhum prefixo seja
atribuído ao link serial. O endereço do próximo salto de todas as entradas é o endereço link-
local da interface s0/0 de R2, ou seja, fe80::c002:39ff:fe18:0. Isso mostra que, no OSPFv3,
os caminhos podem ser completamente determinados a partir das informações topológicas
fornecidas pelos Router-LSAs e Network-LSAs, e os endereços locais de link fornecidos
pelos Link-LSAs; lembre-se que esses endereços podem ser gerados automaticamente sem
a intervenção do gerente de rede. Não
prefixos roteáveis são necessários para esta finalidade. Precisamos apenas saber quais são os
destinos em nossa rede, ou seja, quais prefixos roteáveis foram atribuídos à rede e a quais
elementos de rede. Esta é precisamente a informação fornecida pelo Intra-Area-Prefix-LSAs.
Portanto, os prefixos roteáveis foram desacoplados da topologia da rede, o que é ótimo!
#)
-
!"#$#$#$# %&'() # *+' 1, !"#$#$#$# %&'()
##) *+' ,22
, --
+!# +! +!# # +!-
+!!"#$#$#$#
+!!"#$#$#$# &'(# !!# # ,-./
&.0+ !!# # ,-./ &'(
&.0+ !!# ,-./
&.0+
prefixo roteável, já que nenhum foi configurado na interface. Portanto, os prefixos roteáveis
foram desacoplados das interfaces do roteador, o que é realmente ótimo!
Resumo do IPv4 IS-IS LSDB Um resumo das informações do IPv4 IS-IS LSDB é mostrado na
Figura 9.22. Pode ser visualizado com o comando show isis database. A estrutura do IS-IS
LSDB foi discutida na Seção 5.6.
As informações exibidas pelo Cisco IOS incluem o LSP ID (coluna LSPID), o número de
sequência (coluna LSP Seq Num), a soma de verificação (coluna LSP Checksum), os campos
Remaining Lifetime (coluna LSP Holdtime) e o conteúdo dos bits ATT , P e OL (coluna ATT/P/
OL).
Primeiro, observe que o Cisco IOS associa o SID do roteador ao nome do roteador, devido
à presença do Dynamic Hostname TLV (consulte a Seção 5.6.4).
Por exemplo, o LSP ID do Nonpseudonode-LSP originado por R1 é exibido como R1.00-00 e
não como 000000000001.00-00.
O LSDB inclui quatro LSPs. Existem três LSPs Nonpseudonode (R1.00-00, R2.00-00,
R3.00-00), cada um descrevendo um roteador, e um Pseudonode-LSP (R2.01-00), descrevendo
o link compartilhado de trânsito. Os Pseudonode-LSPs são caracterizados por terem um
Pseudonode ID diferente de zero, o que
é o penúltimo octeto do LSP ID. A partir dessas informações, também aprendemos que
o DIS do link compartilhado de trânsito é o roteador R2, pois o SID do Pseudonode-
LSP (R2.01-00) é precisamente R2. Observe que o link compartilhado do stub não é
representado por um Pseudonode-LSP, da mesma forma que o OSPF, onde não é
representado por um Network-LSA.
IPv4 IS-IS LSDB detalhado A Figura 9.23 mostra informações detalhadas do IPv4 IS-IS
LSDB. Pode ser visualizado com o comando show isis database detail. A informação
não é fácil de ler, pois algumas linhas correspondem a um TLV completo e outras a
parte de um TLV. A primeira linha relacionada a cada LSP (mostrada em negrito) inclui
o mesmo conteúdo das informações resumidas da Figura 9.22 (ou seja, LSPID, LSP
Seq Num, LSP Checksum, LSP Holdtime e ATT/P/OL).
indica que o protocolo da camada de rede associado ao LSP é IPv4, pois o NLPID
(Network Layer Protocol Identifier) é igual a 0×cc. A quarta linha refere-se ao Dynamic
Hostname TLV, que associa o SID do roteador de origem ao seu nome; o nome colocado
neste TLV é o nome dado pelo Cisco IOS ao roteador, que é R2. A quinta linha refere-se
ao endereço IP da interface TLV e inclui o endereço IPv4 atribuído a uma das interfaces
do roteador.
IPv6 IS-IS LSDB detalhado As informações detalhadas do IPv6 IS-IS LSDB são
mostradas na Figura 9.24. Pode ser visualizado com o comando show isis database
detail, como no caso do IPv4 IS-IS. A estrutura do IPv6 IS-IS LSDB foi discutida na
Seção 5.6.
Este LSDB é quase igual ao IP4 IS-IS LSDB (consulte a Figura 9.23).
O código dos Protocolos Suportados TLV (NLPID) mudou para 0 × 8e, já que o
protocolo da camada de rede agora é IPv6. Os LSPs agora incluem um endereço
de interface IPv6 TLV, que tem a mesma função do endereço de interface IP TLV:
ele anuncia um endereço IPv6 atribuído ao roteador (que não pode ser um
endereço local de link IPv6). A informação topológica, que é fornecida pelos IS
Neighbors TLVs, é exatamente a mesma, pois a topologia da rede não foi alterada.
A mudança mais significativa está nas informações de endereçamento.
Os prefixos agora são descritos por IPv6 Reachability TLVs, usando os campos
Prefix e Prefix Length, e são identificados no display do Cisco IOS pela palavra-
chave “IPv6”. Esses TLVs também incluem as informações de custo na métrica
FIGURA 9.25: Adjacências ponto a ponto em links compartilhados - Resumo do IPv4 IS-
IS LSDB quando os roteadores de conexão Fast Ethernet R1 e R2 são configurados
como um link ponto a ponto.
campo. Observe que o critério para anunciar prefixos é o mesmo do IPv4 IS-IS. Em
particular, um prefixo atribuído a um link (ponto-a-ponto ou compartilhado) é anunciado
por todos os roteadores conectados ao link por meio de seus LSPs Nonpseudonode. Por
exemplo, o roteador R1 anuncia 2001:a:a:10::/64 apesar de não ser o link DIS.
Resumo do IPv4 IS-IS LSDB A Figura 9.25 mostra as informações resumidas do IPv4
LSDB. Pode-se ver que o LSDB inclui apenas Nonpseudonode-LSPs, e o Pseudonode-
LSP R2.01-00 que antes representava o link compartilhado de trânsito (consulte a Figura
9.22) não está mais presente.
Nesta seção, analisamos em detalhes como links paralelos ponto a ponto e links
compartilhados de trânsito com o mesmo DR são descritos no LSDB. Iremos nos
concentrar em OSPFv3 e IPv4 IS-IS, uma vez que essas tecnologias utilizam tags
geradas localmente para identificar links de forma única. No OSPFv2, esse problema é
menos complexo, pois os links são sempre identificados usando endereços IPv4. IPv6 IS-IS tem
uma estrutura semelhante ao IPv4 IS-IS a esse respeito; portanto, não vale a pena repetir
o experimento.
A topologia de rede para este experimento é mostrada na Figura 9.26. Inclui apenas
dois roteadores, mas quatro enlaces entre eles: dois enlaces ponto a ponto e dois enlaces
compartilhados de trânsito (Fast Ethernets). Os roteadores devem ser configurados com
a configuração básica do roteador. Além disso, como queremos nos concentrar nos
aspectos topológicos, não há necessidade de configurar endereços roteáveis na rede
OSPFv3. Finalmente, para facilitar a análise do experimento IS-IS, é importante que os
custos de interface dos enlaces ponto a ponto sejam diferentes. O custo padrão da
interface é 10, e configuraremos um custo de 50 nas interfaces s0/0. Para fazer isso,
insira o comando isis metric 50 no modo de interface s0/0 de ambos os roteadores.
FIGURA 9.27: Utilização de tags locais para identificação de links - OSPFv3 Router-LSA de R1.
são descrições do tipo 1 que caracterizam os dois enlaces ponto a ponto. Os links são
identificados pelo RID do vizinho (colocado no Neighbor Router ID) e o número da interface
que conecta o roteador com o link (colocado no campo Local Interface ID). Como o vizinho é o
mesmo para ambos os links (2.2.2.2), os identificadores são diferenciados pelo número da
interface local, que é 7 no primeiro link e 6 no segundo.
IPv4 IS-IS O IPv4 IS-IS LSDB detalhado é mostrado na Figura 9.28. Existem dois
Nonpseudonode-LSPs representando os dois roteadores (R1.00-00 e R2.00-00) e dois
Pseudonode-LSPs representando os dois links compartilhados de trânsito (R2.01-00 e
R2.02-00). Como o DIS é o mesmo nos dois enlaces compartilhados, os identificadores dos
enlaces são diferenciados pelo valor do Pseudonode ID, que é 1 no primeiro enlace e 2 no
segundo. Nos Nonpseudonode-LSPs, a informação topológica é dada pelo IS Neighbors TLV.
Observe que, em ambos os LSPs, existem apenas três TLVs desse tipo (apesar de possuírem
quatro links). Dois desses TLVs indicam a vizinhança com os links compartilhados de trânsito
(R2.01-00 e R2.02-00). Em relação aos enlaces ponto a ponto, apenas um é representado,
aquele com custo de interface 10. Isso mostra que, no IS-IS, os enlaces ponto a ponto paralelos
são representados – topologicamente – por meio de um único IS Neighbours TLV que anuncia
tica o link com o menor custo de interface. Na verdade, isso é tudo o que é necessário para
calcular os caminhos mais curtos. No entanto, os custos de interface estão incluídos nos TLVs
de acessibilidade que descrevem os prefixos atribuídos aos links (identificados pela palavra-
chave “IP”). Observe que os TLVs de acessibilidade que descrevem o prefixo 222.222.10.0/24
incluem uma métrica de 50.
FIGURA 9.28: Uso de tags locais para identificar links - Detalhado IPv4 IS-IS LSDB.
9.2.2.1 OSPFv2
A comunicação é por BGP, e não por OSPF (que é um protocolo de roteamento intra-
domínio).
Para configurar o BGP, precisamos criar um processo de roteamento, assim como
no caso do OSPF. Isso é feito através dos comandos roteador bgp 200 em R2 e
roteador bgp 100 em R3. O número nesses comandos é o número AS do AS onde o
roteador está localizado. O segundo comando na configuração do BGP configura a
conexão com o vizinho BGP (localizado no outro AS).
No roteador R2, o comando é vizinho 10.0.0.3 remoto como 200, e no roteador R3 é
vizinho 10.0.0.2 remoto como 100. Este comando indica o endereço IPv4 da interface
do vizinho BGP e o número AS do vizinho BGP. As próximas configurações são
diferentes em R2 e R3. Em R3, o comando network 150.150.0.0 diz ao roteador para
exportar este prefixo para seu vizinho BGP. Em R2, o comando redistribute ospf 1 diz
ao roteador para exportar para seu vizinho os prefixos que aprendeu internamente do
OSPFv2. Finalmente, a configuração OSPFv2 do R2 precisa de um comando instruindo
o roteador a disseminar através do OSPFv2 o que aprendeu com o BGP; esta é a
função do comando redistribuir bgp 200. É este comando que solicita R2 para originar
o AS-External-LSA que anuncia 150.150.0.0/16 dentro do AS 200.
Os roteadores podem ser iniciados assim que essas configurações forem concluídas.
!"#$%&'(
3#$%&'(
&(
#$)* '*+!" ',%-. 01 $"/
04 1
567'%0#$%
!",2%#%' #%,8
6&35%769*( #%56'%0#$
#$%)*&03:$3"/9( ',!"
#%%-3"/91 $ "/08* #, 3:$;$ ;56&#,$6 ( 5%
&9(
;
:'
0!"5,
&(
FIGURA 9.31: Estrutura LSDB quando conectado a outro AS - (a) Resumo do OSPFv2 LSDB,
(b) OSPFv2 AS-Externo-LSA, e (c) tabela de encaminhamento de R1.
ure 9,32 para todos os três roteadores. Primeiro, R1 e R2 são configurados como roteadores L2.
Em segundo lugar, o comando metric-style wide é inserido no modo isis do roteador.
Este comando solicita o uso dos TLVs estendidos, ou seja, o TLV de alcance de IS estendido
(tipo 22) e o TLV de alcance de IP estendido (tipo 135). Isso é necessário ao se conectar a ASes
externos, pelo menos em implementações da Cisco. A designação de estilo métrico largo vem
do fato de que o comprimento da métrica nesses TLVs é muito maior do que o de seus
predecessores (o IS Neighbors TLV, o IP Internal Reachability Information TLV e o IP External
Reachability Information TLV) (consulte Figura 5.12).
FIGURA 9.32: Estrutura LSDB quando conectado a outro roteador AS - IPv4 IS-IS
configurações.
o comando redistribute isis level-2 deve ser inserido, ao invés de redistribuir ospf 1.
Além disso, o comando redistribute connected também deve ser inserido. O primeiro
comando instrui o roteador a exportar todos os prefixos aprendidos através do IS-IS
de nível 2, e o segundo instrui a exportar os prefixos atribuídos aos links aos quais o
roteador está diretamente conectado (na verdade, apenas o último comando é
necessário, pois o AS 200 tem apenas um prefixo, e esse prefixo é atribuído ao link
compartilhado de trânsito, diretamente anexado ao R2).
LSDB e tabela de encaminhamento O IPv4 IS-IS LSDB não é muito diferente do LSDB
da Seção 9.2.1.4. O LSDB (consulte a Figura 9.33.a) agora é um LSDB L2, mas sua
estrutura é a mesma do LSDB L1. O LSDB não possui mais um Nonpseudonode-LSP
do roteador R3, pois R3 não pertence ao AS 200. Em relação aos TLVs, há duas
diferenças. Uma delas é a presença do Extended IS Reachability TLV (tipo 22) ao
invés do IS Neighbors TLV (tipo 2), que é identificado através da palavra-chave “IS
Extended”. Conforme explicado acima, essa alteração ocorreu devido ao comando
largo de estilo métrico. O segundo
FIGURA 9.33: Estrutura LSDB quando conectado a outro AS - (a) IPv4 IS-IS LSDB
detalhado, e (b) tabela de encaminhamento de R1.
é a presença do Extended IP Reachability TLV (tipo 135) que anuncia o prefixo externo do
domínio 150.150.0.0/16; este TLV é destacado em negrito na figura. Por causa desse TLV,
a tabela de encaminhamento de R1 (consulte a Figura 9.33.b) agora inclui uma entrada
para 150.150.0.0/16. A palavra-chave “i L2” indica que a entrada foi criada a partir do IS-IS
L2 LSDB.
FIGURA 9.34: Estrutura LSDB com rotas default - (a) OSPFv2 AS-External LSA e
(b) tabela de encaminhamento de R1 obtida com OSPFv2.
9.2.3.1 OSPFv2
FIGURA 9.37: Métricas OSPF tipo E - Configurações dos roteadores R1, R3 e R5.
FIGURA 9.38: Métricas OSPF tipo E (caso 1) - (a) Resumo de OSPFv2 LSDB, (b)
tabela de encaminhamento de R1 e (c) traceroute de R1 para 150.150.5.5.
FIGURA 9.39: Métrica OSPF tipo E (caso 2) - (a) Tabela de encaminhamento de R1 e (b)
traceroute de R1 para 150.150.5.5.
o ASBR de saída preferido é mantido quando o subcaminho interno muda, agora vamos
aumentar o custo OSPF da interface f0/0 de R1 para 40. Podemos fazer isso inserindo o
comando ip ospf cost 40 no modo interface f0/0 .
A tabela de encaminhamento de R1 (Figura 9.40.a) mostra que há novamente apenas
uma entrada para 150.150.0.0/16, mas o roteador do próximo salto agora é R2 (o
endereço do próximo salto é 222.222.30.2). O traceroute (Figura 9.40.b) mostra que o
caminho para R5 agora é R1ÿR2ÿR3ÿR5. Assim, R3 ainda é o ASBR de saída, pois seu
custo externo é menor que o de R4. Além disso, o custo do subcaminho interno R1ÿR2ÿR3
é 20. No entanto, o custo do caminho indicado no 150.150.0.0/16 ainda é o custo externo
(ainda 1), pois o tipo de métrica é E2.
Caso 4 Vamos agora forçar o caminho mais curto de R1 a R3 para cruzar R4.
Uma possibilidade de implementação dessa solução de roteamento é aumentar o custo
da interface s0/0 do roteador R1 para 30. Feito isso, o caminho mais curto de R1 para R3
passa a ser R1ÿR4ÿR2ÿR3, com um custo de 30. A Figura 9.41.a mostra que o próximo
salto para 150.150.0.0/16 mudou para R4 (o endereço do próximo salto agora é
222.222.20.4). Porém, de acordo com o traceroute (Figura 9.41.b) os pacotes saem do
AS 200 por R4 (e não por R3). Embora a intenção do R1 seja que os pacotes saiam do
AS pelo R3 (pois o AS-External LSA originado pelo R3 tem um custo externo menor), o
fato é que o R4 desvia os pacotes diretamente para o R5. De fato, sob o paradigma de
roteamento do próximo salto do roteamento da Internet, os roteadores não têm controle
sobre os caminhos completos; eles controlam apenas o caminho para o próximo salto.
Isso pode ser verificado através da tabela de encaminhamento do R4 (Figura 9.41.c).
Conforme a tabela, os pacotes que chegam a este roteador e são destinados a 150.150.5.5
são encaminhados através de sua última entrada, que foi aprendida por BGP e tem como
próximo salto R5 (o endereço do próximo salto é 10.0.4.5). Observe que o roteador R4
também contém em seu LSDB o AS-External
FIGURA 9.41: Métrica OSPF tipo E (caso 4) - (a) Tabela de encaminhamento de R1,
(b) traceroute de R1 para 150.150.5.5 e (c) tabela de encaminhamento de R4.
LSA originado por R3 (podemos verificar isso através do comando show ip ospf
database external). Assim, R4 sabe que existe um caminho para 150.150.0.0/16 por
meio de R3. No entanto, ao decidir qual caminho usar, R4 prefere o caminho
FIGURA 9.42: Métrica OSPF tipo E (caso 5) - (a) Tabela de encaminhamento de R1 e (b)
traceroute de R1 para 150.150.5.5.
aprendeu diretamente com seu par BGP, porque o BGP externo tem uma distância
administrativa menor que o OSPF: o OSPF tem 110 e o BGP externo tem 20.
Essas distâncias administrativas também são exibidas na tabela de encaminhamento.
Caso 5 Vamos agora alterar o tipo de métrica para E1 e retornar todos os custos de
interface para 10. Para alterar o tipo de métrica, insira o comando redistribute bgp 200
metric-type 1 metric 1 no modo roteador ospf de R3 e R4. O resultado líquido é o mesmo
do caso 1. Na tabela de encaminhamento de R1 (Figura 9.42.a) há novamente duas
entradas para 150.150.0.0/16, e o traceroute (Figura 9.42.b) confirma que os caminhos
alternam entre passando por R3 e R4. No entanto, as entradas indicam que a métrica
agora é do tipo E1 (palavra-chave “O E1”). Além disso, o custo agora é 11, que
corresponde à soma do custo do caminho mais curto de R1 ao ASBR com o custo externo
configurado no ASBR.
Caso 6 Para alterar o ASBR de saída, podemos alterar o custo do subcaminho interno ou
o custo externo. Começamos com a segunda opção. Aumentaremos o custo externo
configurado em R4 para 10 (usando o comando redistribute bgp 200 metric-type 1 metric
10). A tabela de encaminhamento de R1 (Figura 9.43.a) e o traceroute (Figura 9.43.b)
mostram que o caminho agora passa por R3 e tem um custo ponta a ponta de 11.
Caso 7 Vamos agora alterar novamente o ASBR de saída, mas através da manipulação
do subcaminho interno. Aumentaremos o custo da interface f0/0 de R1 para 20. Nesse
caso, o custo do caminho fim a fim para R5 passa a ser 21
!"!#! !"!
#!
!"!#! $
%&!#'
(")!)*'!## (!+#'#
,-!.-!,-! -!$-!,-!
por meio de R3: o custo interno é 20 diretamente via interface f0/0 ou via interface
s0/0, e o custo externo é 1. No entanto, o custo de ponta a ponta por meio de R4 é
20 e R4 se torna a saída preferida ASBR. Isso pode ser confirmado através da
tabela de encaminhamento de R1 (Figura 9.44.a) e do traceroute (Figura 9.44.b).
Nosso principal objetivo é mostrar que a estrutura LSDB é a mesma como se o domínio
de roteamento estivesse conectado a outro AS (que discutimos na Seção 9.2.2.1).
FIGURA 9.47: Estrutura OSPF LSDB quando conectado ao domínio RIP - (a)
Resumo de OSPFv2 LSDB, e (b) tabela de encaminhamento de R1.
10
Experimentos de Sincronização
Mecanismos
313
Uma olhada em um OSPFv2 HELLO A Figura 10.3 mostra um pacote HELLO enviado
por R2. Observe primeiro os cabeçalhos de encapsulamento da camada 2 e da camada
3, ou seja, o cabeçalho Ethernet e o cabeçalho IPv4. Como a rede é estável, o pacote
lista todos os vizinhos de R2 nos campos Active Neighbor, usando seus RIDs; os
vizinhos são R1 (RID=1.1.1.1), R3 (RID=3.3.3.3) e R4 (RID=4.4.4.4).
Além disso, indica que o roteador R4 é o DR e o roteador R3 o BDR. No entanto, ele
não identifica o DR e o BDR por meio de seus RIDs, mas sim pelos endereços IPv4
atribuídos às suas interfaces. O endereço IPv4 do DR atua como o identificador de link
compartilhado. O OSPFv2 HELLO também inclui os valores de Network Mask, Hello
Interval, Router Dead Interval e Router Priority, além dos diversos sinalizadores de
opções.
Uma olhada em um OSPFv3 HELLO A transmissão periódica de pacotes HELLO no
OSPFv3 é semelhante ao OSPFv2 (portanto, não o mostramos). No entanto, o
conteúdo dos pacotes HELLO é um pouco diferente. A Figura 10.4 mostra um pacote
HELLO enviado por R2. É interessante comparar com o OSPFv2 HELLO de
No entanto, a máscara de rede foi removida, pois OSPFv3 HELLOs não carregam
informações de endereçamento.
Captura Wireshark IS-IS A Figura 10.5 mostra a captura IS-IS Wireshark. Em relação à
captura original, mantivemos apenas os pacotes HELLO; lembramos que, nos links
compartilhados IS-IS, os CSNPs também são transmitidos periodicamente. Como as
interfaces do roteador são do tipo L1/L2, cada interface envia L1 e L2 LAN IS-IS
HELLOs. A origem e o destino indicados pelo Wireshark são os endereços MAC, pois
os pacotes de controle IS-IS são encapsulados diretamente em pacotes da camada 2
(neste caso, pacotes Ethernet). Observe que os pacotes do tipo L1 são enviados usando
o endereço multicast AllL1ISs (indicado como ISIS-all-level-1-IS's no Wireshark) e os
pacotes do tipo L2 são enviados usando o endereço AllL2ISs (indicado como ISIS-all-
level-2 -IS no Wireshark). Em relação à periodicidade das transmissões HELLO, observe
que o R4 transmite HELLOs com mais frequência que os outros roteadores, pois é o link
DIS. A periodicidade é de aproximadamente 3 segundos para R4 e aproximadamente
10 segundos (às vezes menos) para os demais roteadores.
Uma olhada em um L1 LAN IS-IS HELLO A Figura 10.6 mostra um pacote L1 LAN IS-IS
HELLO enviado pelo roteador R2. Observe primeiro o cabeçalho da camada 2, que
inclui o endereço multicast AllL1ISs (01:80:c2:00:00:14) como o endereço de destino.
Não mostramos o cabeçalho do pacote IS-IS, mas é onde o tipo de pacote é indicado
(L1 LAN IS-IS HELLOs tem um tipo de pacote de 15).
No pacote HELLO há muitas coisas a serem observadas. Os bits Circuit Type confirmam
que este pacote foi enviado de uma interface L1/L2 (seu valor é 3).
O campo Source ID (indicado como SystemID Sender of PDU) confirma que o pacote
foi enviado pelo roteador R2. O campo LAN ID (indicado como SystemID Designated
DIS) confirma que o roteador R4 é o DIS. Também aprendemos que o Hold Timer é de
30 segundos e a prioridade da interface é de 64. O restante do conteúdo do HELLO são
TLVs: os protocolos suportados, o anúncio de área
R2, R3 e R4 e aguarde até que a rede converja; (ii) inserir os comandos debug ip ospf
hello e debug ip ospf adj no roteador R4; (iii) instalar uma sonda Wireshark no link
compartilhado com um filtro ospf; (iv) ligue o roteador R1.
Ponto de adjacência de três vias TLV (tipo 240) onde o estado de inicialização é
declarado (codificado com valor 1).
Alteração de HelloInterval Na interface f0/0 de R1, digite ip ospf hello interval 20.
Isso define o valor HelloInterval como 20 segundos. Agora, vá até o console do R4 e
espere até ver uma mensagem de aviso indicando que a adjacência com o R1
terminou (você terá que esperar aproximadamente 40 segundos).
Em seguida, execute o comando show ip ospf vizinho em R4 para verificar se R1 não
é mais considerado vizinho. Isso é mostrado na Figura 10.13.b.
Alteração de RouterDeadInterval Novamente na interface f0/0 de R1, insira no ip ospf
hello-interval; isso retornará o HelloInterval de volta ao padrão
FIGURA 10.13: Adjacências OSPF entre R4 e outros roteadores (a) antes e (b) depois
de alterar o HelloInterval de R1.
valor (10 segundos). Use o comando show ip ospf vizinho para verificar se a
adjacência entre R1 e R4 foi restabelecida muito rapidamente. Agora, digite ip ospf
dead-interval 100 na mesma interface. Isso define o valor de RouterDeadInterval para
100 segundos. O resultado é o mesmo do experimento anterior: após um período de
espera de aproximadamente 40 segundos, R1 deixa de ser considerado vizinho de
R4 (verifique novamente com o comando show ip ospf vizinho).
FIGURA 10.14: Adjacências IS-IS vistas por R4 quando (a) todas as interfaces são L1/L2,
(b) a interface R1 é somente L1, (c) a interface R1 é somente L1 e R1 está em uma área
diferente, e ( d) A interface R1 é somente L2 e R1 está em uma área diferente.
FIGURA 10.15: Adjacências IS-IS - L1 HELLO enviado por R1 anunciando duas áreas
configuradas.
entre R1 e R4, pois ainda possuem uma área em comum (que é a área 1). Você pode
verificar isso usando o comando show isis vizinhos.
A interface R1 é somente L1 e R1 em uma área diferente Agora, vamos remover a
área 1 do roteador R1. Para fazer isso, digite o comando no net
49.0001.0000.0000.0001.00 no modo isis do roteador de R1. O resultado é mostrado
na Figura 10.14.c. Não há mais adjacências entre R1 e R4, pois (i) R1 só transmite
L1 HELLOs e, portanto, só pode estabelecer adjacências de L1 com vizinhos e (ii)
não possui área em comum com seus vizinhos.
10.2.1 OSPF
Abordaremos cinco casos diferentes: (i) inicialização a frio, (ii) inicialização a frio com
prioridades de roteador, (iii) roteador entrando no link quando DR e BDR já foram
eleitos, (iv) apenas um roteador iniciou no link e (v) Falha de DR.
um filtro ospf. Em seguida, inicie todos os roteadores ao mesmo tempo. O experimento pode ser
interrompido quando o DR e o BDR corretos forem eleitos. Isso pode ser verificado observando
o conteúdo dos pacotes HELLO; ele também pode ser verificado executando o comando show ip
ospf vizinho em cada roteador. No final do experimento, o DR deve ser o roteador R3 porque tem
o RID mais alto e o BDR deve ser o roteador R2 porque tem o segundo RID mais alto. Observe
que, neste experimento, todos os roteadores têm a mesma prioridade. Podemos confirmar a
função de cada interface executando o comando show ip ospf vizinho em cada console do
roteador.
• Pacotes 43 a 45, 49 a 51, 55, 56, 60 - pacotes HELLO enviados quando todas as interfaces já
reconhecem seus dois vizinhos, mas o DR e BDR ainda não foram eleitos.
First HELLOs Os primeiros pacotes HELLO enviados por cada interface (pacotes 6, 11, 20)
anunciam um DR e um BDR de 0.0.0.0 e não listam vizinhos ativos. Os pacotes subseqüentes
listam pelo menos um vizinho, e alguns deles são HELLOs imediatos.
Por que os HELLOs imediatos são menores do que o esperado? A transmissão de pacotes
HELLO imediatos não é fácil de rastrear durante a inicialização a frio. Em princípio, um roteador
deve enviar um HELLO imediato a um vizinho quando recebe um HELLO periódico desse vizinho
e o estado de seu relacionamento é menor que 2 vias (consulte a Seção 6.2.7 ). Por exemplo,
seria de esperar ver um HELLO imediato de R3 para R2 imediatamente após a recepção do
pacote 11 (enviado por R2). No entanto, os roteadores demoram algum tempo para se estabilizar
após serem ligados e, durante esse período, os roteadores (i) podem atrasar a transmissão de
seus pacotes e (ii) podem não receber pacotes transmitidos por outros roteadores.
vizinho correspondente atingiu o estado 2-Way, ou quando chegou a hora de enviar um OLÁ
periódico. Esses fatos podem explicar por que o número de HELLOs imediatos observados
geralmente é menor do que o esperado.
Explicando os HELLOs imediatos Na captura do Wireshark, os pacotes HELLO imediatos são
observados apenas no período em torno do segundo 12 (pacotes 34 a 39). Eles são facilmente
reconhecidos por seus endereços de destino unicast.
O pacote 35 enviado de R2 para R3 e o pacote 36 de R1 para R3 provavelmente foram uma
resposta ao pacote 34. De fato, quando R2 e R1 recebem o pacote 34, o estado de seus
relacionamentos com R3 vai para o estado 2-Way ( esta é a perspectiva de R1 e R2 sobre sua
relação com R3); ambos reagem enviando os HELLOs imediatos para R3 porque querem ter certeza
de que o estado de
as relações vistas por R3 (ou seja, de R3 para R1 e de R3 para R2) evolui para o
estado 2-Way o mais rápido possível.
O pacote 36 lista apenas R3 como vizinho. Quando esse pacote foi agendado para
transmissão no roteador R1, o roteador ainda não reconheceu R2 como vizinho, o que
significa que perdeu o pacote 11. Observe que um roteador precisa receber um HELLO
de um vizinho para reconhecê-lo como vizinho; não basta ver o vizinho listado em um
HELLO enviado por algum outro roteador.
Por exemplo, o roteador R1 não pôde reconhecer R2 como vizinho com base nas
informações fornecidas por R3 no pacote 34. Reconhecer um vizinho significa que o
relacionamento com o vizinho muda para o estado inicial.
O pacote 38, enviado de R1 para R2, é outro OLÁ imediato. Este pacote foi
provavelmente uma resposta ao pacote 37 e confirma que R1 pode não ter recebido o
pacote 11. Observe que o roteador R3 não enviou um HELLO imediato para o roteador
R2 em resposta ao pacote 37. Isso ocorre porque o relacionamento deles já era
bidirecional estado em R3 (após a recepção do pacote 35).
Quando os relacionamentos se tornam bidirecionais É interessante determinar quando
cada relacionamento de vizinhança se torna bidirecional (ou seja, atinge o estado 2-
Way). Isso acontece quando um roteador se vê listado em um pacote HELLO recebido
de um vizinho. Observe que os dois vizinhos envolvidos em um relacionamento não
atingem esse estado ao mesmo tempo. Com três roteadores, há um total de seis
relacionamentos. Por exemplo, em relação ao relacionamento entre R1 e R3, ele atinge
o estado 2-Way em R1 quando R1 recebe o pacote 34, pois este é o primeiro HELLO
enviado por R3 onde R1 está listado. No entanto, o relacionamento só atinge o estado
2-Way em R3 quando R3 recebe o pacote 36, pois este é o primeiro HELLO enviado
por R1 onde R3 está listado. A Figura 10.18 mostra quando os vários relacionamentos
de vizinhança atingem o estado 2-Way.
HELLOs periódicos não são afetados por HELLOs imediatos Os pacotes HELLO
periódicos são transmitidos aproximadamente a cada 10 segundos, independentemente
dos imediatos. Observe, por exemplo, que o roteador R1 envia pacotes HELLO
periódicos nos segundos 3,1 (pacote 20), 13,0 (pacote 39), 22,5 (pacote 45), 32,5
(pacote 51) e assim por diante.
Esperando até que a eleição comece No segundo 21 (pacotes 43 a 45), todas as
interfaces indicaram em seus pacotes HELLO que reconhecem todos os seus
máquinas de estado de face e vizinho. Em particular, pode-se observar que todos os roteadores
abandonam o estado Waiting por meio do evento WaitTimer.
Este experimento repete o da seção anterior, mas com prioridades de roteador pré-configuradas.
Daremos a prioridade mais alta a R1 e a segunda prioridade mais alta a R2. Além de analisar o
resultado do experimento, também estaremos interessados em acompanhar de perto a evolução
do processo eleitoral. Usaremos a saída de depuração do Cisco IOS para essa finalidade. As
capturas do Wireshark não serão usadas desta vez.
FIGURA 10.20: Eleição de DR e BDR em cenário de cold start com prioridades de roteador -
vizinhos OSPF de R3.
tem que passar por uma segunda passagem desde que o papel de R2 mudou (mensagens
39 e 40), mas DR e BDR permanecem os mesmos.
Observe que esse comportamento é típico do BDR e de outros roteadores não DR em
uma situação de inicialização a frio e, às vezes, pode ser revelado por pacotes HELLO; você
pode ver os roteadores BDR e não DR anunciando o mesmo DR e BDR. No entanto, isso
depende do tempo relativo das transmissões de pacotes HELLO dos vários roteadores.
! !"
#!!$
% &'# (!)*+,
!*
-%-. !
/ 0. !%-
1 0. !-
2 - 3+45%-3+45
!!"
#!!$
/ 1678* 8 7(!
1 1-%-. !
2 10. !%-
0. !-
- 3+45%-3+45
FIGURA 10.22: Eleição de DR e BDR quando o roteador ingressa no link com DR e BDR
previamente eleitos - Depurar mensagens de saída de R3.
A saída da depuração (Figura 10.24) mostra que a interface abandona o estado Waiting
por meio do evento WaitTimer (mensagem 1). O algoritmo de eleição é executado
imediatamente (mensagens 2 a 7). O algoritmo executa duas passagens. Na primeira passagem
(mensagens 3 e 4), o roteador R1 é eleito como DR e BDR. Assim, tendo em vista a condição
4, o algoritmo deve realizar uma segunda passagem (mensagens 5 a 7). Na etapa 2 da segunda
passagem, o DR é excluído do cálculo e, como não há mais roteador, o BDR é definido como
0.0.0.0.
Finalmente, no passo 3 da segunda passagem, R1 é confirmado como DR.
10.2.1.5 Falha de DR
• Pacotes 14, 15, 19, 20, 23, 24, 26, 27 - pacotes HELLO enviados após a falha do DR,
mas antes que outros roteadores detectassem a falha.
o DR e BDR corretos no primeiro pacote HELLO que ele envia após a falha do DR
(pacote 36).
R1 corrige seu cálculo de BDR Quando R1 recebe este HELLO de R2, o evento
NeighborChange é acionado novamente, pois R2 está se declarando recentemente
como DR. Assim, R1 executa novamente o algoritmo de eleição. Na etapa 2, declara-
se como BDR, pois R2 é excluído desta etapa e, na etapa 3, R2 é confirmado como
DR. Como a função do BDR mudou, o algoritmo faz uma segunda passagem nas
etapas 2 e 3 e depois para. Isso corresponde às mensagens 9 a 15 da saída de
depuração.
Finalmente, como o papel do roteador mudou para BDR, o evento NeighborChange
é novamente acionado e o algoritmo de eleição é executado uma última vez, chegando
à mesma conclusão. Isso corresponde às mensagens 16 a 20 da saída de depuração.
Neste ponto, a rede convergiu novamente.
Pacotes LS UPDATE e LS ACKNOWLEDGMENT Também é interessante rastrear os
pacotes OSPF trocados para atualizar o LSDB. Quando R2 é eleito o novo DR, o
identificador do link compartilhado muda. Assim, R1 e R2 inundam novas instâncias do
Roteador-LSA (pacotes 29 e 30) com o novo identificador de link. No OSPFv2, o
identificador de link é carregado no campo Link ID das descrições de link tipo 2, e esse
campo muda para 222.222.10.2 (anteriormente era 222.222.10.3). Observe que o LS
UPDATE enviado por R1 (pacote 29) é enviado para o endereço multicast AllDRouters
(224.0.0.6), pois quando R1 envia esse pacote ele ainda acredita que é um roteador
não DR (nem o DR nem o BDR).
O roteador R2 também precisa inundar uma nova rede-LSA, pois é o novo DR.
Isso é feito no pacote 31. Este LS UPDATE também carrega o Roteador-LSA de R1.
Isso ocorre porque R2 é o novo DR e é função do DR retransmitir (usando o endereço
AllSPFRouters) os LSAs que ele recebe de roteadores não DR (recebidos no endereço
AllDRouters). Finalmente, os pacotes LS ACKNOWL EDGMENT (pacotes 32 e 33)
confirmam a recepção dos vários LSAs.
10.2.2 IS-IS
Abordaremos três casos diferentes: (i) partida a frio, (ii) alteração do DIS e (iii) falha do
DIS.
Endereços MAC e sua ordenação Nas capturas do Wireshark desta seção adicionamos, na
coluna Source, informações sobre o roteador ao qual cada endereço MAC pertence.
Especificamente, o endereço ca:03:73:ec:00:00 (chamado r3) é de R3, ca:02:d2:74:00:00
(chamado r2) é de R2 e ca:01:c0:14: 00:00 (denominado r1) é de R1. A ordem desses
endereços é definida pelo segundo octeto (já que o primeiro octeto é o mesmo em todos os
endereços): R3 tem o endereço MAC mais alto e R2 tem o segundo endereço MAC mais alto.
Esta informação é relevante uma vez que o endereço MAC é utilizado como desempate na
eleição do DIS, sempre que as prioridades da interface forem as mesmas.
Este experimento analisa o comportamento do IS-IS quando todos os roteadores são ligados
ao mesmo tempo em um link compartilhado.
Captura do Wireshark A captura do Wireshark é mostrada na Figura 10.27. Nenhum pacote foi
removido da captura original. Começamos descrevendo as principais partes da captura do
Wireshark:
• Pacotes 8, 13, 20, 22, 24, 28, 30, 32 - pacotes HELLO iniciais, antes
eleição do DIS.
Pacotes HELLO iniciais Nos pacotes HELLO iniciais, enviados antes da eleição do DIS, o
campo LAN ID inclui o SID do roteador de envio e um tag gerado pelo roteador (que é “01” em
todos os casos). Essa tag se tornará o Pseudonode ID do link compartilhado se o roteador de
envio se tornar o DIS. Nesta fase, os HELLOs enviados por R1 têm LAN ID R1.01, os enviados
por R2 têm LAN ID R2.01 e os enviados por R3 têm LAN ID R3.01.
Os dois primeiros HELLOs (pacotes 8 e 13) não têm vizinhos IS TLV, pois, neste ponto,
nenhum vizinho é conhecido pelos roteadores de envio. O pacote 20 é um HELLO imediato
enviado por R3 em resposta ao pacote 13. Nesse pacote, R3
já lista R1 como vizinho em um IS Neighbours TLV do tipo 6. Neste tipo de TLV os vizinhos são
identificados por seus endereços MAC. Quando R1 recebe o pacote 20, ele se torna adjacente
a R3, pois se vê listado no pacote enviado por R3.
O pacote 22, enviado por R2, também é um OLÁ imediato, mas em resposta aos pacotes
8 ou 20. Quando R2 agendou esse pacote para transmissão, ele ainda não reconheceu R1
como vizinho, pois apenas R3 está listado. Este é o último OLÁ que não lista todos os vizinhos
do roteador de envio. Quando R3 recebe o pacote 22, ele se torna adjacente a R2, pois R3 se
vê listado no HELLO enviado por R2.
A especificação IS-IS [1] diz que deve haver um período de espera de 2×iSISHelloTimer
(padrão de 20 segundos) antes que o DIS seja eleito. A julgar pelo tempo de transmissão do
LSP, o tempo de espera desta implementação é de aproximadamente 3 segundos, muito
menos do que o sugerido pela especificação.
Pacotes HELLO após a eleição do DIS O pacote 36 é o primeiro HELLO onde o novo DIS é
reconhecido; o pacote é enviado pelo próprio DIS. O que nos diz que o R3 se reconheceu
como DIS é o valor do Hold Timer, que agora é de 10 segundos. Todos os pacotes HELLO
subseqüentes indicam que o DIS é R3 no campo LAN ID (que tem o valor R3.01). Os pacotes
37 e 39 são HELLOs imediatos enviados em reação ao pacote 36. Os pacotes HELLO
restantes são HELLOs periódicos. Observe que a frequência dos HELLOs enviados pelo DIS
é maior (e o Holding Timer é menor) do que a dos pacotes restantes.
Primeiro CSNP O pacote 41 é o primeiro CSNP. Ele contém o resumo LSDB, com três
Nonpseudonode-LSPs descrevendo cada roteador e suas interfaces (R1.00-00, R2.00-00 e
R3.00-00) e o Pseudonode-LSP descrevendo o link compartilhado (R3. 01-00). O CSNP é
transmitido próximo ao segundo 10, o que está de acordo com a periodicidade das
transmissões CSNP. Lembre-se que o tempo dis
Este experimento analisa o comportamento do IS-IS quando o DIS é alterado por meio
de uma ação de configuração. O DIS é inicialmente o roteador R3 (devido ao seu
endereço MAC de interface maior), e vamos mudar a prioridade da interface f0/0 do
roteador R1, para que ele se torne o DIS.
Procedimento experimental O procedimento é o seguinte: (i) iniciar todos os roteadores
ao mesmo tempo e aguardar a convergência da rede, (ii) instalar uma sonda Wireshark
no link compartilhado com um filtro isis configurado, (iii) inserir o comando isis priority
100 na interface f0/0 do roteador R1. O experimento pode ser interrompido quando a
rede convergir novamente, ou seja, quando o novo DIS for eleito e os LSDBs forem
atualizados.
Captura do Wireshark A captura do Wireshark é mostrada na Figura 10.29. Nenhum
pacote foi removido da captura original. Começamos descrevendo as principais partes
da captura do Wireshark:
• Pacotes 21, 23, 24, 28, 29 - pacotes HELLO enviados antes da alteração da prioridade
da interface.
• Pacote 30, 32, 36, 39, 43, 45 a 48 - pacotes HELLO enviados após alteração da
prioridade da interface.
• Pacotes 35, 37, 38 - Novas instâncias Nonpseudonode-LSPs enviadas por R1, R2,
e R3.
pacote, R1 envia o novo Pseudonode-LSP que descreve o link, com LSP ID igual a R1.01-00
(pacote 31). Também envia uma indicação para deletar o antigo Pseudonode-LSP, originado pelo
DIS anterior, com LSP ID igual a R3.01-00 (pacote 33). A indicação para excluir é facilmente
reconhecida por ter um Remaining Lifetime igual a 0. Esse comportamento é marcadamente
diferente do OSPF: no IS-IS, é o novo DIS que deve excluir o antigo Pseudonode-LSP; no OSPF,
os LSAs só podem ser excluídos por seus roteadores de origem. Observe que a indicação de
exclusão inclui apenas o cabeçalho LSP e não seu conteúdo completo.
Porém, conforme observamos neste experimento, o pacote também é transmitido pela interface
receptora. Isso não prejudica a correção do protocolo, mas parece desnecessário.
Observe que o antigo DIS (ou seja, R3) não transmitiu uma indicação para excluir seu (antigo)
Pseudonó-LSP. Isso foi por acaso: se você executar o experimento várias vezes, poderá ver essa
indicação, possivelmente antes da indicação enviada pelo novo DIS. De fato, quando R3 descobre
que deve deixar de ser o DIS, ele zera o Remaining Lifetime de seu Pseudonode-LSP e programa
a inundação desse LSP por todas as suas interfaces. Porém, se nesse meio tempo ele receber a
mesma instância do LSP em alguma interface, ele cancela sua transmissão por aquela interface.
Foi o que aconteceu neste caso: a recepção em R3 da indicação de deletar enviada por R1
cancelou a transmissão da mesma indicação já agendada em R3.
Os LSPs restantes (pacotes 35, 37 e 38) são as novas instâncias dos três Nonpseudonode-
LSPs. Essas instâncias tiveram que ser criadas e inundadas por seus roteadores de origem, pois
o identificador de link compartilhado mudou para R1.01 (anteriormente era R3.01). Observe que o
IS Neighbors TLV desses LSPs inclui R1.01 como vizinho. Observe também que cada um desses
LSPs é visto apenas uma vez no link. Isso porque, diferentemente do caso do pacote 34, esses
LSPs seguem o procedimento usual de flooding e, portanto, não são retransmitidos nas interfaces
receptoras.
CSNP enviado após a nova eleição do DIS O CSNP enviado após a alteração do DIS (pacote 40)
já lista o novo Pseudonode-LSP, que possui LSP ID igual a R1.01-00. Pode parecer estranho que
ele também liste o antigo Pseudonode LSP (com LSP ID R3.01-00). No entanto, os LSPs
expirados devem ser mantidos no LSDB por um minuto adicional (ZeroAgeLifetime*) antes de
serem eliminados (consulte a Seção 6.5.7). Você pode continuar verificando o conteúdo dos
CSNPs para confirmar que a referência ao antigo Pseudonode-LSP desaparece após 1 minuto.
Mudança na periodicidade das transmissões HELLO Note que a forma de transmissão dos pacotes
HELLO mudou com a escolha do novo DIS. Os pacotes HELLO enviados por R1 agora têm o
mesmo comportamento dos pacotes HELLO enviados por R3 antes da mudança de prioridade: são
enviados a cada 3 segundos e possuem um Hold Timer de 10 segundos.
Tempo de convergência Destacamos que a reação da rede à mudança de DIS foi muito rápida:
demorou pouco mais de 100 ms desde o primeiro pacote sinalizando a mudança de DIS (pacote 30)
até o último LSP necessário para a sincronização LSDB (pacote 38) .
EXPERIMENTOS ADICIONAIS - Repita este experimento várias vezes, mas agora apenas
concentrado nas indicações de exclusão. Sugerimos que você use um filtro isis.lsp no Wireshark, e
fique alternando os comandos isis priority 100 e no isis priority 100 na interface f0/0 do roteador R1.
O filtro mantém apenas os LSPs, que são transmitidos apenas no período transiente após as
mudanças de prioridade. Você pode reconhecer facilmente as indicações de exclusão observando o
valor de tempo de vida restante de cada pacote. Você observará que as indicações de exclusão
podem ser enviadas por R1 e R2 (como acima), por R1 e R3 ou por R3 e R2.
Este experimento analisa o comportamento do IS-IS quando o DIS falha. O DIS é inicialmente o
roteador R3 (por causa de seu endereço MAC de interface mais alto). Após a convergência da rede,
desligamos o DIS para simular sua falha e o novo DIS se tornará o roteador R2.
Captura do Wireshark A captura do Wireshark é mostrada na Figura 10.30. Nenhum pacote foi
removido da captura original. Começamos descrevendo as principais partes da captura do Wireshark:
• Pacotes 59, 60, 66, 68 - pacotes HELLO enviados após a nova eleição do DIS.
Pacotes HELLO iniciais O último HELLO enviado por R3 (pacote 53) é visto no segundo
52.7. Nos dois HELLOs subseqüentes (pacotes 54 e 58) R1 e R2 ainda reconhecem
R3 como vizinho.
Detecção de falha em R1 Pacote 59 (enviado no segundo 62.7) é o HELLO imediato
enviado por R1 após detectar a falha. Sabemos disso porque R3 não está mais listado
como vizinho e o pacote foi enviado com menos de 10 segundos de intervalo do último
HELLO periódico de R1 (que era o pacote 58, enviado no segundo 58,1). Como o Hold
Timer do DIS é de 10 segundos, supomos que o DIS falhou aproximadamente no
segundo 52,7 (logo após enviar o último OLÁ). Observe que, neste HELLO, o valor de
LAN ID ainda é R3.01, apesar do fato de R3 não ser mais reconhecido como vizinho.
Isso ocorre porque R2, o novo DIS, ainda não forneceu o novo identificador de link
compartilhado: R1 sabe que R2 é o novo DIS e conhece seu SID, mas ainda não
conhece o Pseudonode ID que R2 atribuiu ao link compartilhado.
R2 se reconhece como DIS O roteador R2 se reconhece como DIS, pela primeira vez,
no pacote 60; ele não lista mais R3 como vizinho e anuncia um Temporizador de espera
de 10 segundos e um ID de LAN de R2.01. A partir de então, todos os pacotes HELLO
anunciam o mesmo LAN ID.
CSNP enviado após a nova eleição DIS Finalmente, o pacote 67 é o primeiro CSNP
enviado após a nova eleição DIS. Ele lista todos os novos LSPs, bem como o antigo
Pseudonode-LSP, que permanece no LSDB (com um Remaining Lifetime de 0) por
um minuto adicional (ZeroAgeLifetime*).
Tempo de convergência O resultado deste experimento não é muito diferente daquele
do experimento de mudança DIS (Seção 10.2.2.2). A principal diferença é o tempo de
espera até que a falha do DIS seja detectada (aproximadamente 10 segundos).
Uma vez detectada a falha, a escolha do novo DIS e atualização do LSDB é muito
rápida: leva apenas um pouco mais de 100 ms desde o primeiro pacote sinalizando a
falha (pacote 59) até o último pacote necessário para atualizar totalmente o LSDB
(pacote 65).
os comandos ip ospf custam 100 e nenhum ip ospf custa. O primeiro comando define
o custo da interface para 100 e o segundo retorna ao seu valor padrão, ou seja, 64.
O objetivo dessas alterações é observar diferentes sequências de pacotes no link
compartilhado. Concentre-se no primeiro pacote LS UPDATE transmitido no link
compartilhado: às vezes esse pacote é transmitido por R1 e outras vezes por R2.
Você pode parar o experimento quando tiver observado os dois casos.
No entanto, vimos isso nos experimentos IS-IS relacionados a links compartilhados (consulte
a Seção 10.3.3).
Captura do Wireshark A captura do Wireshark é mostrada na Figura 10.32.
Em relação à captura original, mantivemos apenas dois grupos de interações de
confirmação de atualização, um referente a um LS UPDATE enviado por R1 e outro
referente a um LS UPDATE enviado por R2.
R1 transmite primeiro no link compartilhado Na primeira interação atualização-confirmação
(pacotes 9 a 15), é R1 que transmite o primeiro LS UPDATE no link compartilhado (pacote
9). Como R1 é um roteador não DR, o pacote é enviado para o DR usando o endereço
multicast AllDRouters (224.0.0.6). O roteador LSA é então retransmitido pelo DR para
todos os outros roteadores encapsulados em outro pacote LS UPDATE (pacote 11), mas
agora usando o endereço multicast AllSPFRouters (224.0.0.5). Enquanto isso, R2 também
transmite o roteador LSA recebido de R4 encapsulado em um pacote LS UPDATE (pacote
10); como R2 é o BDR, ele transmite o pacote usando o endereço AllSPFRouters.
aleatoriamente e, como será explicado mais adiante, o segundo padrão é mais provável
que o primeiro.
Antes da primeira mudança de custo O pacote 37 é o CSNP transmitido imediatamente
antes da primeira mudança de custo. O CSNP anuncia quatro Nonpseudonode LSPs,
cada um representando um roteador (R1.00-00, R2.00-00, R3.00-00 e R4.00-00), e um
Pseudonode-LSP, representando o link compartilhado e originado pelo roteador R3
(R3.01-00). Observe que o SN dos Nonpseudonode-LSPs de R4 (R4.00-00) é 3 (ou
seja, 0×00000003).
Reação à primeira mudança de custo O pacote 41 é o LSP anunciando o novo custo
da interface s0/0 do roteador R4. É transmitido no link compartilhado pelo roteador R2.
Observe que o SN aumentou para 4. Você também pode analisar o conteúdo do pacote
para verificar se, no IS Neighbours TLV, o valor da Default Metric referente à interface
com R2 mudou para 30.
Antes da segunda mudança de custo Os pacotes 46 e 52 são dois CSNPs enviados
após a primeira transmissão LSP e antes da próxima mudança de custo de interface.
Observe que o SN de R4.00-00 agora é 4. Esses CSNPs confirmam para R2 que o
LSP enviado anteriormente (pacote 41) foi recebido por R3. É assim que as
confirmações são realizadas nos links compartilhados IS-IS (consulte a Seção 6.4.2).
Reação à segunda mudança de custo Quando a segunda mudança de custo da
interface é feita (agora de volta ao valor padrão), R4 origina outra instância
Nonpseudonode-LSP, agora com SN igual a 5. Desta vez, o LSP é transmitido no link
compartilhado por ambos R1 e R2 (pacotes 62 e 63).
O CSNP que segue as transmissões LSP anteriores no link compartilhado (Pacote
66) já anuncia o Nonpseudonode-LSP de R4 com um SN de 5.
Como no caso do pacote 41, este CSNP reconhece que os LSPs transmitidos
anteriormente por R1 e R2 foram recebidos corretamente.
Explicação para ter um ou dois LSPs transmitidos no link compartilhado A Figura 10.36
ilustra o processo de inundação no link compartilhado quando dois LSPs ou um LSP
são transmitidos no link compartilhado. No primeiro caso (Figura 10.36.a), os dois LSPs
chegam aproximadamente ao mesmo tempo em R2 e R1.
Então R2 e R1 substituem a instância armazenada (com SN=3) pela de entrada (com
SN=4), e ambos os roteadores transmitem a nova instância LSP no link compartilhado.
Quando cada roteador recebe (em sua interface f0/0) o LSP transmitido pelo outro no
link compartilhado, ambos os roteadores descartam o pacote de entrada, pois a
instância armazenada tem atualização igual.
No segundo caso (Figura 10.36.b), há um grande atraso na recepção do LSP
transmitido pela interface s0/1 de R4. Enquanto isso, R2 recebe o LSP, substitui a
instância armazenada pela que está chegando e transmite a nova instância do LSP no
link compartilhado. Quando R1 recebe este LSP (em sua interface f0/0), ele substitui a
instância armazenada pela que está chegando, assim como R2 fez. Quando o LSP
transmitido pela interface s0/1 de R4 finalmente chega em R4, ele é descartado pois já
existe uma instância armazenada com igual frescor. Neste caso, também pode
acontecer que R1 transmita o
nova instância LSP por meio de sua interface s0/0, caso em que R4 receberia uma
instância LSP auto-originada.
FIGURA 10.36: Inundação IS-IS em enlaces compartilhados - Reação à origem de um novo LSP por R4
quando (a) dois LSPs são retransmitidos no enlace compartilhado e (b) apenas um LSP é retransmitido.
(afinal, este é um link ponto a ponto); no entanto, isso pode ser facilmente inferido a partir de outras
informações contidas nos pacotes.
Resultado do experimento A mudança no custo da interface resulta apenas na troca de dois pacotes.
Quando o custo é alterado no roteador R4, R4 gera uma nova instância Nonpseudonode-LSP e a inunda
por todas as suas interfaces. O LSP transmitido pela interface s0/0 (em direção a R2) é o pacote 5.
Observe que o SN deste LSP é 3. Quando R2 recebe este pacote, ele confirma sua recepção através de
um PSNP, que identifica o LSP reconhecido através das LSP Entries TLV (pacote 6). Observe que este
TLV tem um LSP ID de R4.00-00 e um SN de 3, o que indica que ele está de fato reconhecendo o LSP
anterior.
10.4.1 OSPF
FIGURA 10.38: Procedimento de exclusão do OSPF - Indicação para excluir o Network LSA originado
por R1.
pacote (0×80000002) é o mesmo que a instância armazenada. Observe também que o Network-LSA
ainda lista três roteadores como sendo anexados ao link compartilhado; o novo Network-LSA, originado
por R3 (o novo DR), listará apenas dois roteadores (R2 e R3).
10.4.2 IS-IS
Procedimento experimental Este experimento é mais fácil de ser feito em IS-IS do que em OSPF, pois
o DIS é mais fácil de mudar do que o DR. O procedimento é o seguinte: (i) ligar todos os roteadores
ao mesmo tempo e aguardar a convergência da rede; (ii) verificar qual roteador é o DIS e anotar o SN
do Pseudonode-LSP armazenado no LSDB (utilizando o comando show isis database); (iii) instalar
uma sonda Wireshark no link compartilhado e iniciar uma captura com um filtro isis; (iv) diminuir a
prioridade da interface f0/0 do DIS.
A maneira mais fácil de saber quem é o DIS é verificar no LSDB qual roteador está anunciando o
Pseudonode-LSP, ou seja, o LSP com Pseudonode diferente de zero
ID (usando o comando show isis database). O valor de prioridade padrão é 64, e você
terá que alterá-lo para um valor menor usando o comando isis priority na interface
f0/0 do DIS.
Resultado do experimento Em nosso caso, o DIS era inicialmente R3 e mudamos a
prioridade de sua interface f0/0 para 63. Feito isso, o roteador imediatamente
transmitiu uma indicação para deletar o Pseudonode-LSP que possuía. Esse LSP é
mostrado na Figura 10.39. Observe que o Remaining Lifetime é igual a zero, que é
uma característica distintiva das indicações de exclusão. O LSP ID identifica o LSP
que está sendo excluído: R3-01.00 indica que este LSP é originado por R3 e que o
LSP é um Pseudonode-LSP, pois o Pseudonode ID é 1 (diferente de zero). Observe
também que, ao contrário do OSPF, a indicação de exclusão não carrega todo o
conteúdo do LSP que está sendo excluído; ele carrega apenas o ID do LSP, o
Número de Sequência e o Tempo de Vida Remanescente.
10.5.1 OSPF
O objetivo deste experimento é analisar as diversas fases do processo de sincronização
LSDB do OSPF, descritas na Seção 6.6.1. Nós nos concentramos na sincronização
no link compartilhado (entre R1 e R2). O procedimento experimental é projetado de
forma que, quando um roteador é ligado, ele encontra no vizinho LSAs auto-originados
com maior frescor.
Procedimento experimental O procedimento é o seguinte: (i) ligar todos os roteadores
ao mesmo tempo e aguardar a convergência da rede; (ii) desligue o roteador R1 e
espere até que a rede converja novamente; (iii) instalar uma sonda Wireshark no link
compartilhado e iniciar uma captura com um filtro ospf; (iv) execute o comando debug
ip ospf adj no roteador R2; (v) ligue o roteador R1 novamente.
Resultado experimental Quando R1 é ligado pela primeira vez, o SN de seu Roteador-
LSA é incrementado várias vezes durante o processo de convergência devido à
mudança de estado da interface (a interface é eleita BDR) e da mudança de estado
vizinho (quando seu relacionamento com R2 atinge o estado Cheio).
Na verdade, após a convergência da rede, o Roteador-LSA terá um SN de 3.
Isso garante que, quando R1 for ligado novamente, ele encontrará no vizinho uma
instância de seu Roteador-LSA autogerado com SN mais alto.
Depois que R1 é desligado, o link compartilhado muda de um link compartilhado
de trânsito para um link compartilhado de stub. Isso solicita a exclusão do Network-
LSA anteriormente originado por R2 e a atualização do Roteador-LSA de R2. O
Roteador-LSA de R2 deve ser atualizado, pois as interfaces com links compartilhados
de trânsito e stub são descritas de maneira diferente (com diferentes tipos de descrição de link).
Quando R1 é religado o link compartilhado volta a ser um link compartilhado de
trânsito, e R2 origina um novo Network-LSA e uma nova instância de seu Roteador-
LSA.
Observe que o resultado desse experimento é muito próximo ao exemplo da Seção
6.6.1.
Captura do Wireshark e saída de depuração de R2 A Figura 10.41 mostra a captura
do Wireshark e a Figura 10.42 mostra a saída de depuração do roteador R2. Em
relação à captura inicial do Wireshark, removemos todos os pacotes HELLO; em
relação à saída de depuração original, removemos todas as mensagens relacionadas
à eleição do roteador designado, exceto as mensagens relacionadas à primeira eleição.
Começamos descrevendo as principais partes da captura do Wireshark:
R1 solicita vários LSAs Quando R1 recebe o pacote 32, ele muda do estado Exchange
para o estado Loading. Com base nas informações fornecidas por R2 no pacote 30,
R1 descobre que estão faltando vários LSAs (completos) que R2 possui e os solicita
em um pacote LS REQUEST (pacote 33). Observe que R1 também solicita o conteúdo
completo de seu Roteador-LSA autogerado.
Porém, essa requisição específica é desnecessária, pois R1 já sabe (pelo pacote 30)
que o SN do LSA é 3, e que terá que inundar uma nova instância deste LSA com um
SN incrementado em um em relação ao vizinho um.
o local da sonda Wireshark no link ponto a ponto; além disso, inicie a sonda Wire shark antes de
desligar R1. Desta forma, você poderá observar a reação de R2 quando R1 é desligado e quando
é ligado novamente.
Quando R1 é desligado nada acontecerá por aproximadamente 40 segundos, que é o tempo que
R2 leva para detectar a falha de R1. Em seguida, R2 envia uma nova instância de seu roteador-
LSA e uma indicação para excluir o Network-LSA do link compartilhado de trânsito nos pacotes LS
UPDATE. Você notará que Network-LSA é uma indicação de exclusão porque o valor do campo
LS Age é 3600 segundos. R2 envia essas instâncias LSA porque quando o roteador R1 falha, o
link compartilhado muda de um link de trânsito para um link de stub. Você também observará um
pacote LS ACKNOWLEDGMENT enviado por R3 confirmando a recepção dos dois LSAs enviados
por R2.
Mais tarde, quando R1 é ligado novamente, R2 envia para R3 uma nova instância de seu
Roteador-LSA, uma nova Rede-LSA representando o link compartilhado de trânsito (já que o link
compartilhado tornou-se novamente um link de trânsito) e o novo Roteador-LSA de R1 , e R3 envia
as confirmações correspondentes.
10.5.2 IS-IS
A sincronização LSDB inicial do IS-IS foi descrita na Seção 6.6.2 e é analisada nesta seção.
28). Quando R1 recebe este LSP, ele verifica que é um LSP auto-originado com SN
maior, e inunda uma nova instância do LSP com o SN incrementado em um em
relação ao SN recebido de R2 (pacote 29).
CSNP de R2 e requisição de informações faltantes por R1 O pacote 35 é um CSNP
enviado por R2 (o link DIS), onde ele anuncia todos os LSPs contidos em seu LSDB.
Este é o primeiro CSNP recebido pelo R1. Quando R1 examina este pacote, conclui
que ainda falta o Nonpseudonode-LSP de R3 (R3.00-00). Assim, ele transmite um
PSNP solicitando este LSP (pacote 36), e R2 o envia imediatamente (pacote 37).
pacote 20, R3 envia a instância de R3.00-00 que acabou de criar, com SN=2, Remaining
Lifetime = 1200s e Checksum = 0×1450; o Remaining Lifetime desta instância é o mais
alto possível. Em seguida, no CSNP enviado por R2 (pacote 22), R2 anuncia uma
instância de R3.00-00 com o mesmo SN e checksum, mas com um tempo de vida
restante significativamente menor (922 segundos).
Esta foi a instância deixada em R2 quando R3 foi desligado. Observe que, no CSNP
do pacote 22, o Remaining Lifetime de R2.00-00 é apenas 1 segundo mais antigo que
o do pacote 19, mas o Remaining Lifetime de R3.00-00 é 188 segundos mais antigo
que o do pacote 20. Além disso, nos pacotes subseqüentes, R3 não inunda uma
instância de R3 com o SN incrementado em um.
De fato, ao receber o pacote 20, R2 entende, com base no SN e no Checksum de
R3.00-00, que o conteúdo das instâncias armazenadas e recebidas de R3.00-00 é
exatamente o mesmo (têm o mesmo frescor ) e decide não substituir a instância
armazenada. Além disso, quando R3 recebe o CSNP de R2 (pacote 22), ele descobre,
com base novamente no SN e no Checksum, que a instância de R3.00 armazenada
em R2 está totalmente atualizada (as instâncias armazenadas e recebidas são
igualmente novas), e decide que não há necessidade de inundar uma instância adicional.
11
Experimentos em Redes Hierárquicas
As redes OSPF e IS-IS podem ser estruturadas em uma hierarquia de dois níveis de
áreas, onde o nível superior pode ter apenas uma área e as áreas de nível inferior se
conectam diretamente à superior e não podem se conectar umas às outras. Essa
questão foi abordada no Capítulo 7. Neste capítulo, apresentamos vários experimentos
que ilustram os vários recursos das redes hierárquicas OSPF e IS-IS.
A Seção 11.1 explica as configurações do roteador e a estrutura LSDB. A Seção
11.2 mostra como as restrições impostas ao processo de seleção do caminho mais
curto podem levar a um roteamento não ótimo. Os experimentos são realizados
apenas com as versões IPv4 dos protocolos, pois as versões IPv6 possuem
comportamento semelhante.
373
list 100 inserido no modo isis do roteador (consulte a Figura 11.2.b). Isso requer ainda a
configuração de uma lista de acesso para definir quais prefixos serão redistribuídos. Com o
comando access-list 100 permit ip any any, permitimos a redistribuição de todos os prefixos IPv4.
FIGURA 11.5: Estrutura LSDB do OSPF hierárquico; (a) Router-LSA originado por
R2 na área 1, (b) Network-Summary-LSA originado por R3 na área 1, e (c) ASBR-
Summary-LSA originado por R3 na área 1.
custos de interface da interface f0/1 de R3 (que é 30) e da interface f0/0 de R4 (que é 10).
Conforme explicado na Seção 7.3.1, este LSA não fornece nenhuma indicação sobre
como rotear para o ASBR fora da área do ASBR. Esta informação é fornecida pelo ASBR-
Summary-LSA, que é disseminado como um vetor de distância dentro da sobreposição
ABR. Assim, tanto R2 quanto R3 injetam um LSA desse tipo na área 1.
Esses LSAs podem ser vistos na parte Summary ASB Link States da tela (Figura 11.3).
A Figura 11.5.c mostra o ASBR-Summary-LSA originado pelo roteador R3. O identificador
ASBR está incluído no campo Link State ID, e o custo do caminho do ABR de origem
para o ASBR (que neste caso é 30) está incluído no campo Metric.
O L1 LSDB inclui os LSPs que descrevem a área de nível inferior, que são os Nonpseudonode-
LSPs R1.00-00, R2.00-00 e R3.00-00, e os Pseudonode-LSPs R2.01-00 e R3.01-00. Da mesma
forma, o L2 LSDB inclui
!"#
!"#
$
!"# !"# $$ %
!"# !"#
!"# !"#
o L1 LSDB não inclui as descrições do roteador R4 (R4.00-00) e dos links R4-R2 (R4.01-00) e R4-R3
(R4.02-00). Da mesma forma, o L2 LSDB não inclui as descrições do roteador R1 (R1.00-00) e dos
links R2-R1 (R2.01-00) e R3-R1 (R3.01-00). R3 e R2, uma vez que são roteadores L1/L2, possuem
Nonpseudonode-LSPs tanto no L1 quanto no L2 LSDB. Porém, no L1 LSDB são representadas
apenas as interfaces com área de nível inferior, e no L2 LSDB são representadas apenas as
interfaces com backbone. No L1 LSDB, R2.00-00 descreve apenas a interface com R2.01-00 e
R3.00-00 descreve apenas a interface com R3.01-00. Da mesma forma, no L2 LSDB, R2.00-00
descreve apenas a interface com R4.01-00 e R3.00-00 descreve apenas a interface com R4.02-00.
Assim, como no caso do OSPF, as informações topológicas são mantidas dentro de áreas.
O bit ATT é usado para indicar, dentro de uma área de nível inferior, se um roteador é um
roteador L1/L2. Observe que este bit é definido nos Nonpseudonode-LSPs originados por R2
(R2.00-00) e R3 (R3.00-00) na área 1 (Figura 11.7).
Informações de endereçamento As informações de endereçamento são identificadas através das
palavras-chave “IP” e “IP-Interarea” que seguem o valor da Métrica. Embora isso não esteja claro
no visor, todos os prefixos são anunciados por meio de TLVs de alcance de IP estendido (tipo 135),
sejam eles de área interna, área externa ou domínio externo; você pode verificar isso usando Wire
shark. A palavra-chave “IP-Interarea” é atribuída a prefixos redistribuídos do L2 LSDB para o L1
LSDB. Esses prefixos são o prefixo externo de domínio 150.150.0.0/16 e os prefixos externos de
área 222.222.30.0/24 e 222.222.40.0/24. Os TLVs que os anunciam têm o bit Up/Down definido
como 1. O valor Metric é o custo do caminho do roteador L1/L2 de origem até o destino. Por exemplo,
R3 anuncia um custo de 40 para 222.222.30.0/24, que é o custo do caminho R3 ÿ R4 ÿ
222.222.30.0/24 (custo de interface f0/1 de R3 + custo de interface f0/0 de R4) . R2 anuncia um
custo de caminho de 10 para a mesma sub-rede, pois o caminho inclui apenas a interface f0/1 de R2,
que tem um custo de 10.
No L1 LSDB (Figura 11.7), os prefixos interno e externo da área são diferenciados pelo bit Up/
Down. Os prefixos internos da área de publicidade dos TLVs (ou seja, 222.222.10.0/24 e
222.222.20.0/24) têm o bit Up/Down apagado.
Tabela de encaminhamento do roteador R1 A tabela de encaminhamento do roteador R1 é mostrada
na Figura 11.9. As rotas para os vários destinos são as mesmas do OSPF (consulte a
Seção 11.1.2). O roteador R2 é novamente o ABR usado para alcançar todos os destinos
externos. A palavra-chave “ia” indica que a entrada correspondente é um caminho entre
áreas. Observe que não há distinção entre os prefixos externo de área e externo de
domínio. A última entrada é uma rota padrão (0.0.0.0/0), que o IS-IS sempre inclui na
tabela de encaminhamento dos roteadores internos das áreas L1 quando a área inclui
roteadores L1/L2. A entrada aponta para o roteador L1/L2 mais próximo (no sentido do
caminho mais curto), que neste caso é R3.
neste LSA que o R2 instala em sua tabela de encaminhamento um caminho entre áreas
para 222.222.20.0/24 com custo 30, conforme Figura 11.12.a. Assim, o caminho mais
curto de R2 para 222.222.20.0/24 foi finalmente instalado quando o caminho intra-área
quebrou!
Glossário
ABR (Area Border Router): roteador OSPF localizado na fronteira entre áreas; chamado L1/
L2 em IS-IS (página 20).
ABR overlay: rede lógica de ABRs usada para a troca de informações de roteamento entre
áreas (página 116).
vizinhos adjacentes: vizinhos cuja conexão preencheu todas as condições para fazer parte do
mapa da rede (página 188).
Endereços de área TLV: IS-IS TLV que lista todos os IDs de área atribuídos ao roteador de
origem (página 168).
387
388 Glossário
constantes arquitetônicas: parâmetros de protocolo que são fixados pela especificação e não
podem ser alterados pelo gerenciador de rede (página 145).
BDR (Backup Designated Router): roteador que substitui o DR em caso de falha do DR, em OSPF
(página 152).
gráfico de conectividade: gráfico da conectividade expressa pelo mapa da rede (página 58).
CSNP (COMPLETE SEQUENCE NUMBER PDU): pacote de controle IS-IS que transmite os resumos
de todos os LSPs contidos em um LSDB para um roteador vizinho; equivalente a LSDB
SUMMARY (página 181).
DB DESCRIÇÃO: Pacote de controle OSPF que transmite os resumos de todos os LSAs contidos
em um LSDB para um roteador vizinho; equivalente a LSDB SUMMARY (página 181).
DBR (Domain Border Router): roteador localizado na fronteira entre domínios de roteamento
(página 19).
Glossário 389
Dynamic Hostname TLV: IS-IS TLV que associa o SID a um nome codificado em ASCII
(página 169).
Extended IP Reachability TLV: IPv4 IS-IS TLV com métricas estendidas que representam
prefixos de endereços internos a uma área (equivalente a aip-NR), prefixos de endereços
externos a uma área (equivalente a aep-NR) ou prefixos de endereços externos a um
roteamento domínio (equivalente a dep-NR) (página 163).
Extended IS Reachability TLV: IS-IS (IPv4 e IPv6) TLV com métricas estendidas que
descrevem os vizinhos de um roteador ou link de trânsito compartilhado (pseudonó);
equivalente a router-NR quando incluído em um Nonpseudonode-LSP e a um slink-NR
quando incluído em um Pseudonode LSP (página 163).
HELLO: designação genérica (página 45), OSPF (página 180) e IS-IS (página 180) de
mensagem de controle transmitida periodicamente para roteadores vizinhos, para
estabelecer e manter relacionamentos de vizinhança; IS-IS tem diferentes tipos de
pacotes HELLO: POINT-TO-POINT IS-IS HELLO (página 180), LAN IS-IS HELLO (página
180), L1 HELLO (página 189) e L2 HELLO (página 189); veja a Figura 6.1 para
correspondência com OSPF e IS-IS.
rede hierárquica: rede estruturada em áreas, onde as áreas são organizadas em níveis com
relação hierárquica entre si (pág. 143).
390 Glossário
hosts: dispositivos finais que são as fontes e sumidouros de informações (por exemplo, lap
tops, tablets, servidores, sensores, atuadores) (página 3).
interface de entrada: parte de uma interface que recebe pacotes (do link para o equipamento)
(página 3).
caminho entre áreas: um caminho que cruza mais de uma área (página 134).
protocolo de roteamento entre áreas: protocolo de roteamento que é executado na borda da área
roteadores para determinar caminhos entre áreas (página 20).
regras de aceitação de interface: regras que definem se um pacote de controle pode ser aceito
por uma interface receptora (página 184).
caminho intra-área: um caminho que cruza apenas elementos de rede de uma área (página
134).
IP Interface Address TLV: IS-IS TLV que lista os endereços IPv4 como
assinado para as interfaces IS-IS do roteador de origem (página 169).
IPv6 Interface Address TLV: IS-IS TLV que lista os endereços IPv6 como
assinado para as interfaces IS-IS do roteador de origem (página 169).
IP External Reachability Information TLV: IPv4 IS-IS TLV que descreve um prefixo de endereço
externo a um domínio de roteamento; equivalente a dep NR (página 175).
Glossário 391
IP Internal Reachability Information TLV: IPv4 IS-IS TLV que representa prefixos de endereços
internos a uma área (equivalente a aip-NR) ou prefixos de endereços externos a uma área
(equivalente a aep-NR) (página 163).
IPv6 Reachability TLV: IPv6 IS-IS TLV que representa prefixos de endereços internos a uma área
(equivalente a aip-NR), prefixos de endereços externos a uma área (equivalente a aep-NR)
ou prefixos de endereços externos a um domínio de roteamento (equivalente a dep-NR)
(página 163).
IS Neighbors TLV (tipo 2): IS-IS (IPv4 e IPv6) TLV que descreve os vizinhos de um roteador ou
link compartilhado de trânsito (pseudonó); equivalente a router-NR quando incluído em um
Nonpseudonode-LSP e a um slink-NR quando incluído em um Pseudonode-LSP (página 163).
IS Neighbours TLV (tipo 6): IS-IS TLV que descreve interfaces vizinhas em links compartilhados,
usando seus endereços MAC (página 186).
Roteador L1/L2: roteador IS-IS que suporta interfaces somente L1, somente L2 e L1/L2 e está
localizado na borda entre as áreas; chamado ABR em OSPF (página 145).
Interface somente L1: interface do roteador IS-IS que apenas transmite/recebe pacotes de controle
L1 (página 144).
Interface somente L2: interface do roteador IS-IS que apenas transmite/recebe pacotes de controle
L2 (página 144).
Roteador L1: roteador IS-IS que suporta apenas interfaces somente L1 (página 145).
Subdomínio L2: área de nível superior do IS-IS, também chamada de backbone (página 143).
Roteador L2: roteador IS-IS que suporta apenas interfaces somente L2 (página 145).
LAN ID: campo de pacotes IS-IS LAN HELLO que identifica o DIS, usando
seu SID e Pseudonode ID (página 201).
link da camada 2: link lógico entre os dispositivos da camada 3 (hosts ou roteadores); pode
corresponder a um link ponto a ponto ou a uma rede de camada 2 relativamente complexa
(página 13).
392 Glossário
Link-LSA: OSPFv3 LSA que descreve endereços fornecidos pelo roteador de próximo salto
para comunicações dentro do link; equivalente a la-NR (página 177).
LINK STATE PDU (pacote LSP): pacote de controle IS-IS que transmite uma instância LSP
para um roteador vizinho; equivalente a UPDATE e não deve ser confundido com
registro LSP (página 181).
LSA (Link State Advertisement): elemento de um OSPF LSDB, que contém informações de
roteamento elementares e é indivisível do ponto de vista do flooding; equivalente a NR
(página 148).
LSDB (Link State Database): banco de dados que armazena as informações de roteamento
(página 43).
LSP (Link State PDU): elemento do IS-IS LSDB, que é um container de TLVs, e é indivisível
do ponto de vista do flooding; não deve ser confundido com pacote LSP (página 148).
LSP Entries TLV: IS-IS TLV que anuncia resumos LSP em pacotes de controle PSNPs e
CSNPs (página 183).
LSP ID: identificador do LSP, consistindo em SID, Pseudonode ID e LSP Number (página
156).
LSP Number: campo que identifica exclusivamente um fragmento LSP, parte do LSP ID
(página 156).
LSR (Link State Routing): abordagem de roteamento onde os roteadores trocam informações
para construir e manter um mapa da rede completa e nos prefixos de endereços
disponíveis (página 21).
Glossário 393
LS REQUEST: pacote de controle OSPF que solicita LSAs de roteadores vizinhos; equivalente
a PARTIAL LSDB REQUEST (página 181).
LS UPDATE: pacote de controle OSPF que transmite instâncias LSA para neigh
roteadores chatos; equivalente a UPDATE (página 181).
NET (Network Entity Title): identificador completo de um roteador IS-IS, que inclui seu
identificador de área (página 151).
interface de saída: parte de uma interface que transmite pacotes (do equip
mento para link) (página 3).
Protocolos suportados TLV: IS-IS TLV que identifica os protocolos da camada de rede
suportados pelo roteador de origem (página 168).
link ponto a ponto: link que conecta dois, e apenas dois, dispositivos da camada 3
(página 31).
TLV de adjacência de três vias ponto a ponto: IS-IS TLV que anuncia o estado de uma
interface de link ponto a ponto, como Down, Initializing ou Up (página 192).
394 Glossário
Pseudonode ID: tag local atribuído pelo DIS para diferenciar entre enlaces compartilhados de trânsito,
que faz parte do identificador de enlace compartilhado e do LSP ID (página 152).
PSNP (PARTIAL SEQUENCE NUMBER PDU): Pacote de controle IS-IS utilizado no reconhecimento
(enlaces ponto a ponto) e na requisição de instâncias LSP (enlaces compartilhados); equivalente
a ACK (UPDATE) e PARTIAL LSDB REQUEST (página 181).
roteador: equipamento de comutação que encaminha pacotes de acordo com o anúncio da camada 3
vestidos (por exemplo, endereços IPv4 e IPv6) (página 3).
Router-LSA: OSPFv2 e OSPFv3 LSA que descreve um roteador e seus links anexados; no OSPFv2
também descreve os prefixos atribuídos ao roteador e seus links; equivalente a router-NR e, em
OSPFv2, também equivalente a aip-NR (página 157).
roteador-NR: designação genérica de NR que descreve um roteador e seus enlaces; consulte a Figura
5.2 para correspondência com OSPF e IS-IS (página 64).
link compartilhado: link que abstrai uma rede de camada 2 e pode potencialmente
conecte muitos dispositivos de camada 3 (página 31).
SID (System ID): identificador do roteador IS-IS de área específica (página 151).
link compartilhado stub: link compartilhado com apenas um roteador conectado (página 32).
Glossário 395
sub-rede: rede lógica reunindo um bloco de endereços IP contíguos que compartilham um prefixo
comum e atribuídos a interfaces que podem se comunicar entre si sem a intervenção de um
roteador (página 15).
Protocolo Stop-and-Wait (SW): protocolo de controle de erros onde a recepção de uma mensagem
deve ser confirmada, sendo que a transmissão da próxima mensagem só é possível após o
recebimento da confirmação da anterior (página 36).
TLV (Type-Length-Value): registro de comprimento variável que inclui informações sobre seu tipo e
comprimento além do conteúdo real (página 156).
informações topológicas: informações sobre a topologia da rede, ou seja, sobre os roteadores e links
entre roteadores (página 43).
link compartilhado de trânsito: link compartilhado com mais de um roteador conectado (página
32).
Referências
[2] Roteamento IP: Guia de configuração ISIS, Cisco IOS XE Release 3SE (Cat
alyst 3650 Switches). Sistemas Cisco, 2013.
[5] D. Allan e N. Bragg. 802.1aq Projeto de ponte de caminho mais curto e Evo
solução: A Perspectiva do Arquiteto. Wiley, 2012.
[7] R. Callon. Uso de OSI IS-IS para roteamento em TCP/IP e ambientes duplos.
RFC 1195, dezembro de 1990.
[8] R. Coltun, D. Ferguson, J. Moy e A. Lindem. OSPF para IPv6. RFC 5340, julho
de 2008.
[11] J. Doyle. OSPF e IS-IS: Escolhendo um IGP para Redes de Grande Escala.
Addison Wesley, 2006.
397
398 Referências
[14] R. Graziani. Fundamentos do IPv6: uma abordagem direta para entender o IPv6.
Cisco Press, 2013.
[20] C. Hopps. Roteamento IPv6 com IS-IS. RFC 5308, outubro de 2008.
[24] D. Katz e R. Saluja. Handshake de três vias para adjacências ponto a ponto de
sistema intermediário a sistema intermediário (IS-IS). RFC 3373, setembro de 2002.
[25] D. Katz, R. Saluja e D. Eastlake 3º. Handshake de três vias para adjacências ponto
a ponto IS-IS. RFC 5303, outubro de 2008.
[26] Z. Kou, F. Yang e H. Ma. Atualize para o procedimento OSPF Hello. Internet
rascunho, dezembro de 2006.
[27] J. Kurose e K. Ross. Redes de computadores: uma abordagem de cima para baixo.
Addison Wesley, 6ª edição, 2013.
[28] T. Li, T. Przygienda e H. Smit. Distribuição de prefixo em todo o domínio com IS-IS
de dois níveis. RFC 2966, fevereiro de 2000.
[29] T. Li e H. Smit. Extensões IS-IS para Engenharia de Tráfego. RFC 5305, outubro
de 2008.
Referências 399
[34] J. Moy. Extensões Multicast para OSPF. RFC 1584, março de 1994.
[38] C. Murthy e B. Manoj. Arquiteturas e protocolos de redes sem fio ad hoc. Prentice-
Hall, 2004.
[48] N. Shen e H. Smit. Mecanismo dinâmico de troca de nomes de host para IS-IS.
RFC 2763, fevereiro de 2000.
400 Referências
Índice
401
402 Índice
dep-NR, 82, 84, 122, 128, 133, 137, 175, IPv4, 267, 268, 270, 273 , 274 , 297,
241, 244 300, 301, 304, 306, 308–310,
Rota diretamente conectada, 24, 91, 268, 272, 379, 382–384
273 IPv6, 267, 271, 285
DIS (Intermediário Designado Vizinho totalmente adjacente, 188, 221,
Sistema ) _ _ _ _ _ _ _ _ _ _ _ _ _ 232, 237, 363
_ _ _ _ _ _ _ _ _ , 357, 358, 364, 381
Gateway de último recurso, consulte Rota
padrão
HELLO pacote
genérico, 45, 48, 56, 112
domínio-border-router-NR, consulte
dbr-NR IS-IS, 177, 180, 186, 187, 189,
192, 195, 200, 250, 314, 340, 343,
domínio-externo-prefixo-NR, consulte
347
dep-NR
imediato, 194, 340, 344, 347
DR (roteador designado)
L1 OLÁ, 186, 189, 325
genérico, 56–58, 62–65, 72, 100, 106,
L2 OLÁ, 186, 189
112
LAN IS-IS HELLO, 180, 186
OSPF, 152, 157, 160 , 171, 172 , 177,
PONTO A PONTO IS-IS
187, 191, 195–200, 203–205,
OLÁ, 180, 186, 192, 322
218, 221, 231, 232, 250, 277 , 280,
OSPF, 180, 185–187, 189, 191,
282, 287, 293, 314 , 315, 327, 328,
195, 196, 250, 314, 318, 320, 328,
331–339, 349, 356, 360
333–336
imediato, 194, 320, 328
DVR (roteamento de vetor de distância),
Hello protocol, 45, 48–50, 54, 56–58, 60, 65,
129, 131, 235, 238
77, 112, 151, 180, 185, 195,
Nome de host dinâmico TLV, 169, 288, 290
313 comunicação
bidirecional, 47
Acessibilidade de IP estendida TLV, 163, 165, Rede hierárquica, 143, 236, 238, 376, 379,
175, 243, 244, 298, 301, 382 380
Acessibilidade IS estendida TLV, 163, 243, Caminho entre áreas, 134, 246, 383–385
298, 381 Protocolo de roteamento entre áreas,
20, 115–117, 119, 120, 122, 127,
Escopo de inundação, 136, 137, 144, 242
99 área, 120, 122, 128, 129, 133, Inter-Area-Prefixo-LSA, 241
241, 242 Inter-Area-Router-LSA, 242
domínio, 120, 127, 129, 133, 137, 242 Protocolo de roteamento entre AS, 19
link, Protocolo de roteamento entre domínios,
77, 177 19, 20, 78–80, 122, 232
Tabela de Regras de aceitação de interface, 184,
encaminhamento genérica, 5, 7, 14–17, 187–189
22, 24, 27 , 28, 35, 43, 50, 68, Caminho intra-área, 134, 135, 245, 246, 378,
69, 77, 81, 85, 91, 94, 147, 384, 386
239, 246, 267
Índice 403
Intra-Área-Prefixo-LSA, 169, 171, 177, Interface somente L1, 144, 184–186, 189,
231, 232, 240, 282, 287 262, 322, 324, 325, 374
Protocolo de roteamento intradomínio, 19, Interface
79, 80, 144, 295 L1/L2, 144, 184, 186, 189, 262,
Bloco de 316, 324–326, roteador 374,
endereço de endereçamento 145, 236, 237, 243, 244,
IP, 8, 9, 15 configuração de endereço, 262, 313, 374, 375, 382, 383
16, 255 representação de L2
endereço, 7 estrutura de adjacência, 144, 145, 189, 190, 200,
endereço, 15 endereços 236, 237, 325, 326
classful, 16 famílias, 7 LSDB, 144, 145, 162, 189, 236, 299,
Endereços IPv6 globais e de link 375, 380, 382
local, 10, 16 multicast LSP, 156, 162, 180, 243
e broadcast roteador, 145, 236, 262, 298, 374
endereços, 9 subdomínio, 143
endereços públicos e privados, 10 Interface somente L2, 144, 184–186, 189,
Acessibilidade externa de IP 262, 324, 326, 374 la-
Informações TLV, 175, 244 NR, 77, 84, 92, 177
Endereço de interface IP TLV, 169, 177, 290 Enlace da camada 2, 13, 16, 17, 19, 31, 117,
153
Informações de acessibilidade interna de IP Informações de link, 43, 76, 92, 142, 147,
TLV, 163, 165, 243, 290, 352 177
endereço de link-NR, consulte la-NR
Endereço de interface IPv6 TLV, 169, 178, Link-LSA, 177, 231, 232, 284, 286, 287
291
Endereço local de link IPv6, 10, 16, 27, LS RECONHECIMENTO, 181, 203, 218,
169, 177, 178, 232, 254, 273, 285, 339, 350, 351, 356, 363
286, 291 , 293, 315
Acessibilidade IPv6 TLV, 163, 165, 169, LS PEDIDO, 181, 220, 221, 363
175, 243, 244, 291 LS ATUALIZAÇÃO, 181, 203, 220, 253,
IS Neighbors TLV (tipo 2), 163, 195, 243, 290, 339, 349, 351, 356, 363
291, 294, 341, 345, 352 LSA (Link State Advertisement), 148, 155,
203, 208 confirmação,
IS Neighbors TLV (tipo 6), 186, 189, 195, 317 203, 220, 351 expiração de idade, 216,
231 confirmação atrasada,
203, 363
L1
adjacência, 144, 145, 189, 190, 200, exclusão, 212, 356, 359
236, 237, 325, 326 atualização, 155, 208, 210, 359
LSDB, 144, 145, 162, 189, 236, cabeçalho, 155, 203, 219
237, 243, 268, 299, 375, 380, 382 confirmação implícita, 204, 350
404 Índice
origem de, 230, 245, 348 recepção 122, 148, 156, 166, 168, 169 ,
Índice 405
406 Índice