spanning tree
TRANSCRIPT
1
UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria no 577/2000 – MEC, de 03/05/2000 BACHARELADO EM SISTEMAS DE INFORMAÇÃO
SPANNING TREE PROTOCOL
ALESSANDRO GOULART DE SOUZA
Uberlândia
2009
2
ALESSANDRO GOULART DE SOUZA
SPANNING TREE PROTOCOL
Trabalho de Final de curso submetido à
UNIMINAS como parte dos requisitos para
a obtenção do grau de Bacharel em
Sistemas de Informação.
.
Orientador: Prof. MSC. Anderson L. A.
Vilaça
Uberlândia
2009
3
ALESSANDRO GOULART DE SOUZA
SPANNING TREE PROTOCOL
Trabalho de Final de curso submetido à
UNIMINAS como parte dos requisitos para
a obtenção do grau de Bacharel em
Sistemas de Informação.
Orientador: Prof. MSC. Anderson L. A.
Vilaça
Banca Examinadora:
Uberlândia, 26 de março de 2009.
Prof. M.Sc. Alexandre Oliveira da Silva
Prof. M.Sc. Anderson L. A. Vilaça (Orientador)
Prof. M.Sc. Marcos Ferreira da Silva
Uberlândia
2009
4
As pessoas responsáveis pela minha formação ética e moral, meus pais, avós e
professores.
5
AGRADECIMENTOS
Agradeço a meu pai, Olavo, e a minha mãe, Luzia, por serem pessoas simples,
humildes que passaram por dificuldades e me concederam o prazer da vida. Suas
lições ocultas revelaram-me o valor das atitudes das pessoas e que palavras são
como folhas ao vento.
Não posso deixar de agradecer aos meus avós, a quem tanto estimo e amo, por
terem me ensinado que a vida se torna melhor quando há amor, compaixão, respeito
para com o próximo e que é preciso, em primeiro lugar, ser honesto e justo. Lições
implícitas e claras. Uma, em especial, do meu avô Sebastião Antônio de Souza, “Vô
Negro” : “Não se deve nunca deixar de plantar. Plantar para a próxima geração, sem
se preocupar com quem colherá os frutos, mesmo quando a vida apresenta poucas
oportunidades”. Apesar da idade avançada, 90 anos, meu avô continua com espírito
de um garoto apaixonado pela vida.
A todos meus professores, desde o primário até a faculdade, em especial ao meu
orientador Anderson Vilaça, e aos que ainda virão.
Aos gênios da história, que em seus livros e bibliografias deixam claros o amor e a
meticulosa dedicação aos estudos. Em palavras de Paulo Freire: Estudar é adquirir
atitude crítica, assumir atitude de curiosidade, sentir-se desafiado, indagar-se.
Estudar é, sobretudo, pensar a prática; e essa é a melhor maneira de pensar certo.
A minha pequenina amiga Nathalia e a minha grande companheira e cúmplice
Nathaly.
Aos meus irmãos e amigos.
6
EPÍGRAFE
“A mente que se abre a uma nova idéia nunca voltará ao seu tamanho original.”
“A vida é como andar de bicicleta. Para se manter em equilíbrio, é preciso se
manter em movimento.”
A. Einstein.
7
RESUMO
A disponibilidade é uma das características essenciais nos sistemas
computacionais e principalmente em redes de computadores, já que busca criar um
sistema tolerante a qualquer tipo de falha. Manter-se tolerável a falhas requer
recursos redundantes, ou seja, há um segundo dispositivo que pode ser
imediatamente acionado na ocorrência de incidente. A maioria das LANs possui
múltiplos switches interconectados e Ethernets redundantes, no entanto isso pode
ocasionar problemas como Broadcast Storms e corrupção da tabela MAC. Desse
modo, este trabalho fundamentou-se no fato de não existir um estudo direcionado
sobre o protocolo STP que evita a ocorrência de Loops em redes redundantes.
Decorrência de uma pesquisa bibliográfica e de buscas por documentos na Internet,
esta monografia especifica as características do STP e termos associados a ele, a
fim de, no final, apresentar um cenário virtual de topologia implementado com e sem
o STP, o qual exemplifica os vários Loops formados na rede. Em virtude disso,
pretende-se que o resultado final seja uma fonte de consulta para profissionais
desta e ou de outras áreas.
Palavras Chave: Disponibilidade, Ethernets Redundantes, Broadcast Storms, Tabela MAC, STP.
8
ABSTRACT
The availability is one of the essential characteristics in the computational systems
and mainly in computer networks since it searchs to create a tolerant system to any
type of imperfection. To remain tolerable the imperfections requires redundant
resources, that is, it has as a device that can immediately be set in motion in the
incident occurrence. Most LANs have multiple interconnected switches and
Ethernets, however this can cause problems as Broadcast Storms and corruption of
the table MAC. In this manner, this work was based on the fact not to exist a study
directed on protocol STP that prevents that they occur Loops in redundant nets.
Result of one searches bibliographical and of searches for documents in the
Internet, this monograph specifies the characteristics of the STP and terms
associates to this, so that, in the end to present a virtual scene of a topology
implemented with and without the STP, which exemplifies Loops formed in the
different network. In virtue of this, the final result intends to be a source of
consultation for professionals of the area or not.
Key Words: Availability, Ethernets Redundant, Broadcast Storms, MAC Table, STP.
9
LISTA DE FIGURAS
FIGURA 1: Formato do quadro Ethernet 802.3...................................................... 17 FIGURA 2: Formato do BPDU de Configuração.................................................... 19 FIGURA 3: Rede com três domínios de broadcast sem nenhuma VLAN.............. 22 FIGURA 4: Rede com três domínios de broadcast e três VLANs.......................... 23 FIGURA 5: Cabeçalho ISL..................................................................................... 24 FIGURA 6: Cabeçalho 802.1Q............................................................................... 24 FIGURA 7: PVST com ISL..................................................................................... 25 FIGURA 8. Rede com duas topologias.................................................................. 26 FIGURA 9: Broadcast storms................................................................................. 28 FIGURA 10: Corrupção da tabela Mac.................................................................. 29 FIGURA 11: Estrutura de uma árvore binária........................................................ 31 FIGURA 12: Cenário fictício de uma LAN com STP.............................................. 31 FIGURA 13: Formato do Bridge ID IEEE............................................................... 32 FIGURA14: Operação do STP............................................................................... 35 FIGURA 15: Cabeçalho do BPDU.......................................................................... 36 FIGURA 16: Valor de links..................................................................................... 37 FIGURA 17: Custo de links.................................................................................... 39 FIGURA 18: Notificação de Alteração da Topologia.............................................. 42 FIGURA 19: Seqüência dos fluxos do processo de mudança da topologia........... 44 FIGURA 20: Visão da topologia apresentada........................................................ 47 FIGURA 21: Loops formados................................................................................. 48 FIGURA 22: Comando para habilitar o STP.......................................................... 49 FIGURA 23: Topologia com STP habilitado........................................................... 50 FIGURA 24: Primeiro envio de quadros................................................................. 51 FIGURA 25: Segundo envio de quadros. .............................................................. 52 FIGURA 26: Quadro descartado............................................................................ 52
10
LISTA DE TABELAS
TABELA 1 – Tipos de Spanning Tree.......................................................................... 27 TABELA 2 – Custo dos diferentes tipos de Ethernet................................................... 33 TABELA 3 – Tabela de cada switch depois da alteração da topologia....................... 45
11
LISTA DE ABREVIATURAS E SÍMBOLOS
ARP – Address Resolution Protocol
BID – Bridge ID
BPDU - Bridge Protocol Data Unit
CRC – Cyclic Redundancy Check
CST – Common Spanning Tree
DA – Destination Address
DEC – Digital Equipment Corporation
FCS – Frame Check Sequence
IEEE – Institute of Electrical and Electronics Engineers
ISL – Inter-Switch Link
LAN – Local Area Network
MAC – Media Access Control
MST – Mono Spanning Tree
OSI - International Standardization Organization
PVST – Per-VLAN Spanning Tree
PVST+ – Per-VLAN Spanning Tree
SA – Source Address
STP – Spanning Tree Protocol
TC - Topology Change Notification
TCA - Topology Change Notification Acknowledgment
TCN – Topology Change Notification
TI – Tecnologia da Informação
VLAN – Virtual Local Area Network
12
SUMÁRIO
1 INTRODUÇÃO.......................................................................................................... 13 1.1 Delimitação e Cenário atual................................................................................ 13 1.2 Identificação do problema................................................................................... 15 1.3 Objetivos............................................................................................................. 15 1.3.1 Objetivos Gerais........................................................................................... 15 1.3.2 Objetivos Específicos.................................................................................... 16 1.4 Organização do trabalho..................................................................................... 16 2 CONCEITOS DA CAMADA DE ENLACE ............................................................... 17
2.1 Explicação básica............................................................................................... 17 2.2 Frame Ethernet 802.3......................................................................................... 17 2.3 Tipos de BPDUs.................................................................................................. 18
2.3.1 BPDUs de Configuração............................................................................... 18 2.3.2 BPDU (TCN) Notificação de Alteração da Topologia.................................... 21
2.4 VLAN................................................................................................................... 21
3 SPANNING TREE ................................................................................................... 27 3.1 Problemas com Links Redundantes................................................................... 27 3.2 Evitando Loops................................................................................................... 29 3.3 Parâmetros do STP............................................................................................ 32 3.3.1 Bridge IDs..................................................................................................... 32 3.3.2 Path Cost...................................................................................................... 33 3.4 Quatro passos da seqüência de decisão do STP............................................... 33 3.5 Etapas de convergência do Spanning Tree........................................................ 34 3.5.1 Eleição do Switch Principal........................................................................... 34 3.5.2 Eleição da porta raiz..................................................................................... 36 3.5.3 Eleição da Designated Port........................................................................... 38 3.6 Estados das portas............................................................................................. 40 3.7 Tempos do STP.................................................................................................. 41 3.8 Notificação da alteração da topologia................................................................. 42
4 IMPLEMENTAÇÃO DO STP NO SIMULADOR....................................................... 46
4.1 Introdução prévia................................................................................................ 46 4.2 Topologia Proposta............................................................................................. 46 4.3 Topologia sem STP............................................................................................. 47 4.4 Topologia com STP............................................................................................. 49
5 CONCLUSÃO........................................................................................................... 54 REFERÊNCIAS BIBLIOGRÁFICAS......................................................................... 56
13
1 INTRODUÇÃO
1.1 Delimitação e Cenário atual.
A princípio, havia muitas redes de computadores isoladas, inicialmente, pelo fato de
possuírem tecnologia inerente ao proprietário. Hoje, a acessibilidade aos
computadores está melhor, em virtude do barateamento e do tamanho desses. A
comunicação não está mais restrita apenas a equipamentos que pertençam a um
mesmo proprietário. O modelo OSI (International Standartization Organization) foi
criado para padronizar protocolos que permitisse a intercomunicação entre
equipamento de diversos fabricantes.
[...] o modelo de referência OSI (Open Systems Interconnection) foi desenvolvido pela International Organization for Standardization (ISO) como um modelo para arquitetura de protocolos de computador e como uma estrutura básica para o desenvolvimento de padrões de protocolo [...] (STALLINGS, 2005, p. 96).
Em contrapartida, o acesso à rede torna-se lento devido ao aumento do trafégo de
dados, o que pode resultar na perda da disponibilidade de serviços aos usuários,
pois sempre há a necessidade de automatizar os processos para que as empresas
consigam atingir suas metas.
Assim, existem vários mecanismos oferecidos atualmente com o objetivo de
minimizar o aumento do tráfego. Exemplo disso é a separação da rede dentro de
múltiplos pedaços, conhecidos como segmentos, os quais estão geograficamente
em campus ou departamentos separados, e a interligação se estabelece com o uso
de switches. Assim, caminhos redundantes surgem com o propósito de aumentar o
nível de disponibilidade.
Entretanto, caminhos redundantes implicam que quadros circulem indevidamente
pela rede, o que ocasiona perda de performance e Loops . Como solução para
esses problemas utiliza-se o 802.1D STP (Spanning Tree Protocol), entre switches,
cujo propósito é criar um único caminho dinâmico lógico, por meio do bloqueio ou
14
da liberação de portas.
[...] o algoritmo STP cria uma spanning tree de interfaces que estão ou no estado forwarding, ou no estado blocking. O STP efetivamente coloca interfaces no estado forwarding; por padrão, se uma interface não apresentar motivos para estar nesse estado, ela é colocada no outro estado, blocking. Em outras palavras, o STP simplesmente escolhe quais interfaces devem encaminhar [...] (ODOM, 2003, p.158).
Para realizar essa tarefa, o spanning tree configura as interfaces a fim de que
permaneçam no estado bloqueado blocking, o que significa que não pode enviar ou
receber quadros de dados, apenas quadros BPDUs (Bridge Protocol Data Unit). Ao
contrário desse estado, o liberado forwading permite ambos. Assim, haverá apenas
um caminho lógico ativo entre os switches, já que uma das interfaces estará em
estado bloqueado.
O objetivo do STP é criar uma topologia redundante e, ao mesmo tempo, livre de
loops. Isso se realiza através da eleição do switch principal (root bridge) e a seleção
de uma única porta por segmento para enviar quadros de volta para o switch
principal.
O emprego do STP vem-se popularizando, porque as LANs (Local Area Network)
estão sendo ampliadas justamente pelo fato de a quantidade de computadores
nessas áreas esteja em expansão o que ocasiona aumento no tráfego de dados da
rede.
De acordo com Odom (2003), a maioria das LANs de grande porte possui diversos
switches com propósito de segmentar a rede em pequenas redes - as sub-redes - e
assim, minimizar a quantidade de dados que trafegam em uma rede inteira para
uma mais restritiva. Subentende-se assim que, com múltiplos switches presentes na
rede, várias características adicionais devem ser levadas em consideração. Links
redundantes asseguram que os quadros tenham mais de um caminho entre
switches, caso haja incidente de quebra de um link.
15
Tendo como base o cenário descrito, pretende-se fazer um estudo do protocolo
Spanning Tree, com especial foco em detalhes técnicos em sua operação e em sua
funcionalidade.
1.2 Identificação do Problema
Como se formam os loops na camada de Enlace de Dados? O que se usa para
prevenir switching loops numa rede com caminhos redundantes? Como o STP
trabalha? Quais são os parâmetros usados para eleger o switch principal? O que
são BPDUs? Como é feita a eleição do switch principal e quais são os requisitos
para essa escolha? Quais são os estados do STP? Qual é o tempo de
convergência? Qual o papel do protocolo ISL (Inter-Switch Link) e 802.1Q?
Este trabalho pretende esclarecer tais questionamentos, atentando-se em
respondê-los com uma linguagem de fácil compreensão, uma vez que muitos
documentos encontram-se em língua estrangeira, pois o assunto ainda é pouco
difundido em língua portuguesa.
A questão principal deste trabalho é explicar o significado do Spanning Tree e seu
funcionamento. Para tanto, é necessário expor um cenário em que ocorram loops e,
de antemão, prever quais quadros ficam trafegando pela rede sem controle algum.
1.3 Objetivos
1.3.1 Objetivos Gerais
Esta monografia visa complementar os estudos sobre o assunto e contribuir para
esclarecer, numa linguagem simples, o funcionamento do STP.
16
A finalidade é o detalhamento da operação deste protocolo, resultando em material
de apoio aos interessados em descobrir detalhes referentes a este protocolo de
grande utilidade, que é pouco difundido no universo de TI (Tecnologia da
Informação).
1.3.2 Objetivos Específicos
• Entender o Spanning Tree;
• Definir os campos do quadro BPDU;
• Expor como é realizada a eleição do switch raiz;
• Definir as etapas para a eleição do switch raiz;
• Especificar os estados da porta;
• Demonstrar o tempo de convergência;
• Descrever a relação de VLAN (Virtual Local Area Network) com
STP.
1.4 Organização do trabalho
Este trabalho está estruturado em cinco capítulos. No primeiro, descreve-se o
projeto de pesquisa, de forma introdutória; no segundo, abordam-se algumas
particularidades da camada de Enlace de Dados, o formato do frame 802.3, os tipos
de BPDUs e a tecnologia VLAN. O terceiro capítulo aborda o trabalho do STP, de
forma a apresentar detalhes particulares a esse protocolo, ou seja, expor os
problemas de uma rede sem o STP, o objetivo do STP, como esse protocolo
trabalha, os parâmetros necessários para montar uma topologia livre de loops,
quais são os estados da porta, os tempos do STP e a convergência. No quarto
capítulo, apresenta-se uma topologia de rede fictícia, feita em uma ferramenta de
simulação de equipamentos de conectividade, o Packet Tracer, a fim de realizar um
comparativo de se ter uma rede sem o STP e com ele. E por fim, no quinto capítulo,
colocam-se as conclusões.
17
2 CONCEITOS DA CAMADA DE ENLACE
2.1 Explicação básica
De acordo com Lammle (2007), a camada de Enlace de Dados realiza as seguintes
funções: encapsula pacotes dentro do quadro, provê acesso ao meio físico por meio
do endereço MAC (Media Access Control), executa detecção de erros e controle de
fluxo.
A confirmação de que a mensagem será entregue para o devido dispositivo é
realizada por meio do endereço de hardware bem como a tradução das mensagens
da camada de Rede em bits para a camada Física.
Embora não seja tópico especifico deste estudo, será necessário citar algumas
importantes tecnologias inerentes a essa camada. Conforme os seguintes termos:
Frame Ethernet 802.3, Tipos de BPDUs e VLAN.
2.2 Frame Ethernet 802.3
O frame Ethernet 802.3 é composto pelos seguintes campos: preâmbulo, endereço
de destino, endereço de origem, comprimento, dado, tipo e o FCS (Seqüência de
Checagem do Frame). A figura 1 mostra o formato do quadro, cada campo do
cabeçalho é descrito abaixo:
FIGURA 1: Formato do quadro Ethernet 802.3.
• Preamble: há uma variância entre 0 e 1, para sincronizar o relógio interno do
18
remetente. Consiste de 64 bits ou 7 bytes;
• Destination Address (DA): este campo identifica qual computador receberá o
quadro, que pode ser um endereço individual ou um grupo de endereços.
Consiste de 6 bytes ou 48 bits;
• Source Address (SA): é usado para identificar o computador que emite a
mensagem. Consiste de 6 bytes ou 48 bits;
• Type: é usado para identificar o protocolo da camada de rede. Consiste de
16 bits;
• Data: contém as informações a serem transmitidas, ou seja, os dados do
usuário. O tamanho pode variar de 46 até 1500 bytes;
• Frame Check Sequence (FCS): é um campo usado para armazenar CRC
(Cyclic Redundancy Check). Consiste de 4 bytes ou 32 bits.
2.3 Tipos de BPDUs
Nos dizeres de Clark (1999), existem dois tipos de BPDUs. Os BPDUs de
configuração e o TCN (Topology Change Notification) BPDU. Cada um deles está
delineado em seções separadas para que possam ser feitas especificações de suas
particularidades.
2.3.1 BPDUs de Configuração
Tratam-se de um quadros específicos que possuem informações relevantes ao
algorítmo Spanning Tree. Os switches os criam e os transmitem entre ambos para
montar a estrutura topológica sem loops. Isso se consegue com a comparação dos
parâmetros contidos nos BPDUs trocados entre os switches. A Figura 2 ilustra o
formato do BPDU.
19
FIGURA 2: Formato do BPDU de Configuração.
Essa figura foi capturada e exibida pelo software Packet Tracer para facilitar a
compreensão dos parâmetros do Spanning Tree. Observa-se que se trata de um
cabeçalho Ethernet 802.3 e, seus respectivos campos. O endereço de origem
corresponde ao Mac da porta individual para cada BPDU, já que para cada porta do
switch há diferentes endereços físicos. Portanto, esse endereço diferencia-se do
usado para criar o Bridge ID, que se trata de um endereço global. Cada campo do
cabeçalho está descrito abaixo:
• Protocol ID: Identifica o algorítmo spanning tree e o protocolo. Consiste de 2
bytes;
• Version: Identifica a versão do protocolo e consiste de apenas 1 byte;
• Message Type: Determina qual dos dois formatos BPDUS esse frame
contém; configuração e notificação de alteração da topologia. Seu tamanho
equivale a 1 byte;
• Flags: Indica os índices de BPDU em caso de uma mudança da topologia;
20
São eles: TC (Topology Change Nofitication), que é usado pelo switch raiz
para reconhecimento de mudança de topologia e TCA (Topology Change
Notification Acknowledgment), o qual diz ao switch que os dados da topologia
contidos no BPDU atual foram lidos e salvos;
• Root ID: Contém o Bridge ID do switch raiz. Depois que ocorre a
convergência, todos os BPDU configuram esse campo para identificar o
switch raiz. Consiste de 8 bytes;
• Root Path Cost: Indica o custo acumulado para o switch raiz, a fim de
detectar a melhor opção para transmitir BPDU ao switch principal. Consiste
de 4 bytes;
• Bridge ID: É o identificador gerado pelo BPDU para o switch e é usado pelo
algorítmo para construir o Spanning Tree. Consiste de 4 bytes;
• Port Id: Contém um único valor para cada porta, assim a porta 1/1 possui o
valor 0x8001 e a porta 1/2 contém 0x8002. É utilizado para identificar a porta
do switch que emite mensagens para outros. Consiste de 2 bytes;
• Max Age: Designa a idade do BPDU que é acumulado com o tempo
decorrido desde que o switch originou-o. Se há perda de conectividade com
o switch principal e, portanto, para de receber BPDU, esse tempo é
incrementado para identificar que esses dados são velhos. Ou seja, é o
tempo que o switch espera antes de concluir que a topologia modificou.
Consiste de 2 bytes;
• Forward Delay: Tempo em que a porta fica em um determinado estado.
Consiste de 2 bytes;
• Message Age: Intervalo de tempo em que o switch anuncia o BPDU.
Consiste de 2 bytes;
• Hello Time: Tempo gasto em que o switch publica o BPDU, correspondente a
2 segundos.
21
2.3.2 BPDU (TCN) Notificação de Alteração da Topologia
O TCN BPDU é mais simples do que o BPDU de configuração e, como seu nome
sugere, sua principal função é notificar sobre a alteração da topologia. A diferença
encontra-se no tamanho do cabeçalho do TCN BPDU, que é identificado pelos três
primeiros campos do BPDU de configuração: o protocol ID, Version e o Type. Esse
último contém dois valores:
• 0x00: equivale a 0000 0000 em binário, que identifica o BPDU de
Configuração;
• 0x80: equivale a 1000 0000 em binário utilizado para identificar o TCN
BPDU.
2.4 VLAN
Apesar de VLAN não ser o assunto principal deste trabalho, é preciso fazer uma
pequena descrição e relacioná-la com o protocolo STP.
Conforme Odom (2004), uma rede virtual é um grupo de estações e servidores que
se comunicam independentemente de sua localização física ou lógica, como se
fosse um único domínio broadcast, ou uma rede lógica. Por definição, o roteador é
um dispositivo que interliga diversas LANs e, a princípio deixa passar o tráfego
destinado a uma rede conhecida por ele, contudo, não permite a passagem de
broadcasts e multicasts.
Desse modo, o switch segmenta uma rede em blocos, ou seja, LANs Virtuais,
segmentos logicamente separados. Trata-se de um domínio de broadcast criado por
um ou mais switches. Em virtude disso, em vez de todas as portas formarem um
único domínio de broadcast, o switch as separa em várias, de acordo com a
configuração.
22
Os dois cenários a seguir oferecem um contexto suficiente para que se possa notar
a grande vantagem das VLANs. A figura 3, na página 22, apresenta uma rede
formada por um roteador e três switches e, cada porta do roteador forma um
domínio de broadcast, com o intuito de separar o tráfego. No entanto, esses
switches determinam todas as portas na VLAN1 por padrão, ou seja, significa que
ainda não se usa o conceito de VLAN. Observa-se, portanto, que o switch só pode
transmitir quadros entre dispositivos localizados na mesma VLAN, por conseguinte,
utiliza-se o roteador com o propósito de encaminhar pacotes entre os três domínios
de broadcasts.
FIGURA 3: Rede com três domínios de broadcast, sem nenhuma VLAN.
Por outro lado, a figura 4, na página 23, mostra o uso de VLAN, em que o switch
separa de maneira lógica as portas em domínios de broadcast diferentes, porquanto
se faz necessário apenas um único switch. Não obstante, ele não envia quadros
23
para dispositivos de diferentes VLAN, o que torna imprescindível o uso do roteador.
FIGURA 4: Rede com três domínios de broadcast e três VLANs.
Além disso, os quadros precisam identificar a qual VLAN pertencem. Trata-se do
processo de acrescentar um cabeçalho adicional a um quadro que possa conter
informações relevantes sobre uma VLAN qualquer.
Existem dois protocolos com esse propósito: o ISL, que é um método proprietário da
Cisco e o IEEE (Institute of Eletrical and Electronics Engineers) 802.1Q. O primeiro
exige que os equipamentos sejam da Cisco, o segundo surgiu como uma alternativa
que independe do equipamento em uso.
A figura 5, na página 24, mostra o quadro Ethernet com o acréscimo do cabeçalho
ISL e seus respectivos campos. Deve-se observar que o campo com maior
relevância trata-se da VLAN ou VLAN ID, o qual identifica a VLAN a que o quadro
pertence.
24
FIGURA 5: Cabeçalho ISL.
O mesmo processo se repete com o 802.1Q, conforme está ilustrado na figura 6.
FIGURA 6: Cabeçalho 802.1Q.
Contudo, esses dois protocolos foram desenvolvidos para operar em ambientes em
que existe apenas uma única VLAN em execução, logo, suporta exclusivamente
uma única LAN ou VLAN. Por causa disso, implantar o STP em ambientes que
requerem múltiplos VLANs demanda consideração adicional.
Trata-se de escolher o tipo de STP que melhor se adapta à LAN. De acordo com
Hucaby (2006), o IEEE 802.1Q realiza uma única instância do STP, que engloba
todas as VLANS. Isso é reconhecido como CST (Common Spanning Tree). Por
outro lado, Boyles (2001), referencia isso como CST ou MST (Mono Spanning
Tree). Assim, ter um único STP para muitas VLANs facilita a configuração do switch
e diminui a carga do seu processador. Desse modo, se a CST 802.1Q estiver em
25
uso, somente uma instância do STP funcionará. Isso implica que há somente uma
topologia livre de laço em determinado tempo e apenas um dos dois links estará no
estado forwarding; porquanto os outros links sempre estarão no estado blocking.
Logo, isso impede o balanceamento de carga.
O PVST (Per-VLAN Spanning Tree) é outra versão do STP - proprietário do Cisco
que oferece mais flexibilidade do que o anterior. Ele atua em uma única instância,
separada para cada VLAN individual, isto é, para cada VLAN existe um STP. Se
houver 4 VLANs configuradas, conseqüentemente, existirão 4 instâncias do STP;
um para cada VLAN. Entende-se como uma relação de muitos para muitos. Como
também permite balanceamento de carga, em que uma série de VLANs é
transmitida por um link, e outra série por outro link. Entretanto, por ser um protocolo
proprietário, há a necessidade do uso do ISL trunking, o qual impossibilita a
comunicação entre PVST e CST.
Para avaliar o benefício desse protocolo, a figura 7 mostra uma rede com duas
VLANs e com dois links redundantes entre a VLAN1 e a VLAN2. Visto que o tráfego
de VLAN1 usa o link SW3/SW2 e o tráfego de VLAN2 usa o link SW3/SW1, nota-se
a capacidade de balanceamento de cargas. Em contrapartida, por esse ser
proprietário, demanda o uso do ISL.
FIGURA 7: PVST com ISL.
Como o PVST apresentou suas particularidades, o PVST+ (Per VLAN Spanning
Tree Plus) surge para supri-las. Conforme HUCABY (2006), o PVST+ fornece as
26
mesmas funcionalidades do PVST, não obstante ele executa ambos os protocolos,
o ISL e o 802.1Q. A figura 8 da página 26 mostra que existem duas topologias para
a rede apresentada, e que uma série de VLANS pode ser balanceada entre os links
do switch principal SwA e os outros, portanto, há diferentes topologias, já que os
links podem variar de estado.
FIGURA 8. Rede com duas topologias.
A tabela 1 resume as principais características dos tipos de STP.
Tabela 1- Tipos de Spanning Tree.
Tipo de STP Função
CST Uma instância do STP, sobre a VLAN, padrão 802.1Q
PVST Uma instância do STP por VLAN, baseado no ISL da Cisco.
PVST+ Provê interoperabilidade entre CST e PVST, opera sobre ambos
802.1Q e ISL
27
3 SPANNING TREE
3.1 Problemas com Links Redundantes
Segundo Roberto (2008), o mercado digital está cada vez mais exigente em nível
global, e termos como: alta disponibilidade, cluster, redundância, balanceamento de
carga e escalabilidade são pilares fundamentais em um projeto de rede.
[...] Entende-se por sistema de alta disponibilidade aquele resistente às falhas de software, de hardware e de energia. A capacidade de um sistema manter-se no ar mesmo após a ocorrência de graves defeitos é o que o torna seguro e confiável. [...] (ROBERTO, 2008)
Contudo, nem sempre é possível garantir, em tempo integral, que esses pilares não
sofram alterações, já que há uma variedade de circunstâncias que contribui para
que isso ocorra. Por exemplo, os loops que ocorrem porque há a tentativa de
manter a rede redundante contra falhas, como a queda do link ou o switch não ligar.
Manter redundância entre switches apresenta-se como uma solução que assegura
maior disponibilidade de acesso. Mas, em contrapartida resulta em alguns
problemas, uma vez que os quadros podem ser enviados para todos os links ao
mesmo tempo. O loop é um exemplo, que potencialmente pode causar grandes
desastres na rede, tais como:
• Broadcast storms: a figura 9, na página 28, mostra em que isso consiste. O
host A envia um frame para o endereço físico de broadcast; etapa 1. Ambos
os switches Cat-1 e Cat-2 recebem esse frame; etapa 2. Cat-1 recebe o
frame na sua porta 1/1, faz uma cópia e a envia para sua porta de saída 1/2;
etapa 3. Do outro lado, Cat-2 recebe o frame na sua porta 1/2; etapa 4. Cat-2
envia o frame à porta 1/1; etapa 5. Mais uma vez, Cat-1 recebe o mesmo na
sua porta 1/1; etapa 6. Cat-1 repete a etapa 3, que resulta na etapa 7. Nota-
se que o frame está sendo enviado no sentido anti-horário, pois não foi
descrito o processo do primeiro frame recebido pela Cat-1 na porta 1/1, que
28
resulta no envio desse frame no sentido horário. Em outras palavras, o loop
ocorre em ambas as direções. Assim, com o passar do tempo, a quantidade
de cópias de frames aumentam, o que resulta na transmissão de múltiplos
frames (CLARK, 1999);
FIGURA 9: Broadcast storms.
• Corrupção da tabela do Switch: consiste na dupla adição de endereço físico
na tabela MAC, justamente por haver links redundantes, uma vez que há
múltiplos loops, um dentro do outro, em qualquer direção. O switch confunde
29
a localização dos dispositivos pelo fato de que esse recebe frames em mais
de uma porta. A figura 10 da página 29 ilustra a duplicidade do endereço
0001.961b.9c01 para duas portas Fa0/1 e Fa0/3 (CLARK, 1999).
FIGURA 10: Corrupção da tabela Mac.
3.2 Evitando Loops
De acordo com Odom (2000), evitam-se loops na rede com o uso do protocolo
Spanning Tree, cujo propósito envolve a criação de uma rede em que haja somente
um único caminho ativo entre os switches e, que problemas como broadcast storms
e corrupção da tabela Mac sejam evitados.
A primeira versão original do Spanning Tree Protocol foi criada pela empresa
denominada por DEC (Digital Equipment Corporation). Passado algum tempo, o
IEEE criou sua própria versão, o 802.1D chamado de STP. O objetivo é evitar que
loops ocorram na camada 2 - Enlace de Dados - realizado por meio do
monitoramento de todos os links da rede (Lammle, 2007).
Cabe ressaltar, conforme bem lembrado por Perlman ( responsável pela criação do
30
STP, especialista em redes e segurança de protocolos ), a finalidade desse
algorítmo é manter a topologia livre de loops. O conceito para se alcançar essa
tarefa consiste na transmissão de mensagens especiais entre os switches para que
se possa calcular o Spanning Tree. Estes são como BPDUs ou mensagens de
configuração, os quais contêm informações de configuração suficientes para que o
switch possa efetuar as seguintes etapas:
• Eleger um único switch, entre todos da LAN, para se tornar o Root Switch;
• Calcular a distância do caminho mais curto para o Root Switch;
• Eleger o Designated Switch que fica próximo ao switch principal e enviar-lhe
pacotes;
• Escolher uma porta, conhecida como porta principal, a qual disponibiliza o
melhor caminho para o Root Switch;
• Selecionar as portas que se incluem no Spanning Tree.
Chega-se ao fim desse processo com uma estrutura conhecida como árvore, cuja
propriedade crucial é a conectividade livre de loops. Para fins didáticos, a figura 11
da página 31 apresenta a estrutura de dados de uma árvore binária, uma vez que
os dados estão dispostos de forma hierárquica. Essa estrutura compõe-se de um
elemento principal - o nó - o qual possui ligações para outro que por sua vez está
conectado a outro. Nota-se que no nó A, elemento principal da estrutura, não há
nenhuma outra ligação que retorne a ele.
31
FIGURA 11. Estrutura de uma arvore binária.
A figura 12 ilustra um cenário fictício de uma LAN cujo STP foi implementado e que
ressalta a estrutura de uma árvore. A linha tracejada ilustra os caminhos
alternativos para que, caso haja falhas nos links principais, sejam ativados e
mantenham a conectividade da rede.
FIGURA 12. Cenário fictício de uma LAN com STP.
32
3.3 Parâmetros do STP
O Spanning Tree utiliza dois campos para montar uma topologia livre de loops, são
eles: BID (Bridge ID) e Path Cost.
3.3.1 Bridge IDs
Esses são únicos para cada switch, cujo tamanho equivale a 8 bytes, dividido em
dois sub-campos: Brigde Priotiy e MAC, conforme ilustrado na figura 13.
FIGURA 13. Formato do Bridge ID IEEE.
• Bridge Priority: primeiro parâmetro para escolha do switch principal. Prioriza-
se o menor valor e, esse varia 0 a 65535, com valor padrão equivalente a
32768, alterável para garantir que determinado switch vença a eleição;
• MAC: refere-se ao próprio endereço físico do switch, caso todos os switches
possuam o mesmo valor bridge priority, utiliza-se para critério de desempate
esse campo.
Em virtude disso, primeiramente, a precedência de escolha é para o menor bridge
priority. Caso sejam iguais, o menor MAC-address será o escolhido.
33
3.3.2 Path Cost
O Spanning Tree utiliza o conceito custo de link para escolha do melhor caminho
para o switch principal e, esse está associado à largura do link. A tabela 4 lista os
custos dos links de acordo com o IEEE (CLARK, 1999).
TABELA 2 - Custo dos diferentes tipos de Ethernet.
Largura de Banda Custo
4 Mbps 250
10 Mbps 100
16 Mbps 62
45 Mbps 39
100 Mbps 19
155 Mbps 14
622 Mbps 6
1 Gbps 4
10 Gbps 2
3.4 Quatro passos da seqüência de decisão do STP.
O algorítmo Spanning Tree, ao criar uma topologia lógica livre de loops, sempre usa
a mesma seqüência de decisão em quatro etapas, seguem-nas:
Etapa 1: menor Root BID;
Etapa 2: menor Path Cost;
Etapa 3: menor BID enviado;
34
Etapa 4: menor ID da porta.
Os switches transportam informações do Spanning Tree entre eles mesmos,
empregando o uso de BPDUs. O switch emprega as quatro etapas para salvar e
copiar o mais perfeito BPDU observado em cada porta. Porém, caso haja BPDUs
com valores melhores do que o atual, esse é descartado e atualizado. O processo
de troca de BPDU continua até que o mais atrativo deles seja recebido pelo switch
principal (CLARK, 1999).
3.5 Etapas de convergência do Spanning Tree
De acordo com Clark (1999), o algorítmo Spanning Tree passa por três etapas para
deixar a topologia livre de loops, são elas:
Etapa 1: eleger o switch principal;
Etapa 2: eleger as portas principais;
Etapa 3: eleger as portas designadas.
O processo da formação da estrutura topológica inicia-se com o ligamento dos
switches e esses dão início à transmissão de BPDUs entre eles e, aplicam-se os
quatro passos da seqüência de decisão do STP, conforme explicado no item
anterior. Isso resultará na escolha do switch principal; etapa 1. Em seguida
realizam-se as etapas 2 e 3 para construir a topologia. As três etapas são descritas
detalhadamente em itens diferentes, conforme se segue.
3.5.1 Eleição do Switch Principal
O objetivo do processo de eleição entre todos os switches está voltado para a
escolha da Root Switch, que utiliza o campo Bridge Id de cada uma como
parâmetro de comparação nessa escolha. Esse campo, por sua vez divide-se em
dois campos menores: Bridge Priority e MAC Address, cujo conteúdo pertence a um
35
único switch.
A eleição inicia-se quando todos os switches são ligados e mensagens BPDUs são
trocadas entre si para que possam verificar quais delas possuem o menor bridge
priority ou menor mac-address . Cada um envia sua proposta para a vizinha, com
intuito de auto eleger-se. Recebido o frame BPDU, compara-se o bridge priority
desse com o do próprio switch, caso esse seja menor do que o próprio gera-se uma
nova mensagem com esse valor, a qual significa que o switch proprietário desse
valor até o momento está sendo o root switch. Se houver empate utiliza-se o menor
Mac Address.
FIGURA14. Operação do STP.
Vale lembrar que esse processo faz o uso de dois campos, o BID que pertence ao
próprio switch e o BID enviado.
Suponha-se que, de acordo com a figura 14, Cat-A foi ligada e logo enviou uma
mensagem para Cat-B, essa por sua vez comparou o BID enviado com o seu e
constatou que os bridge priority são iguais. Para critério de desempate utilizou o
36
menor mac-address, que, nesse exemplo, o endereço AAAA.AAAA.AAAA de Cat-A
é menor do que BBBB.BBBB.BBBB de Cat-B. Esta cria uma nova mensagem que
tem incluída no campo Root Id o endereço AAAA.AAAA.AAAA e envia para Cat-C.
A figura 15 mostra o novo cabeçalho do BPDU com destaque aos campos Root Id e
Bridge ID, cujos valores foram alterados. Observa-se que os valores de root id
pertencem à Cat-A e os valares de bridge id referem-se à Cat-B.
FIGURA 15. Cabeçalho do BPDU.
Cat-C ao receber essa mensagem verifica o campo Bridge Id e percebe que este
tem o endereço menor do que o seu. Logo Cat-A está eleita como Root Switch.
Por padrão, os BPDUs são enviados, a cada dois segundos, para todas as portas
do switch, sendo assim Cat-A enviou duas mensagens, para Cat-B e Cat-C. Esta ao
receber a mensagem enviada por Cat-B já havia recebido uma de Cat-A, por
conseguinte Cat-A se tornou root switch.
3.5.2 Eleição da porta raiz
Os switches que estão diretamente conectados ao switch raiz classificam-se como
non-RootSwitch, os quais devem selecionar uma porta raiz. O fato determinante
37
para essa seleção está no menor custo acumulado de todos os links para o switch
raiz. A figura 16, abaixo, ilustra como esse custo acumula-se entre os vários
switches, o qual resulta no processo de escolha da porta raiz.
FIGURA 16. Valor de links.
O processo inicia-se quando Cat-A envia BPDUs, os quais contêm um custo 0 no
respectivo campo custo do caminho; etapa 1. Cat-B ao receber este BPDU adiciona
o custo do caminho da porta 1/1 ao custo do caminho para o switch principal contido
no BPDU recebido. O novo custo sobrepõe o anterior, que adiciona o valor de 19 na
porta 1/1; etapa 2. Cat-B, então usa o valor de 19 internamente e envia BPDU para
a porta 1/2; etapa 3. Por sua vez, Cat-C recebe este BPDU vindo de Cat-B e
incrementa o valor recebido de 19 para 38, já que houve a soma dos dois links
anteriores; etapa 4. Por outro lado, Cat-C também recebeu BPDU do switch
principal sobre a porta 1/1. O custo recebido na porta 1/1 era 0 e que internamente
o valor foi incrementado para 19; etapa 5. Assim, Cat-C precisa escolher qual das
duas portas tornará a porta raiz. Logo, ela consta que o valor do custo do caminho
38
para o switch raiz sobre a porta 1/1 equivale a 19 e que o valor desse campo na
porta 1/2 corresponde a 38, portanto, a porta 1/1 tornou-se a porta raiz; etapa 6.
Cat-C gera um último BPDU com o custo já alterado para 19 e envia-o à sua porta
1/2; etapa 7. Nesse instante Cat-B tem dois valores para decidir qual porta será a
raiz, como o custo do link recebido sobre a sua porta 1/1 equivale a 19, essa porta
foi selecionada como raiz.
Nota-se que ambos os switches, Cat-B e Cat-C, podem escolher qual de suas
portas serão a raiz. Quando ambas possuírem dois valores a serem escolhidos,
vence o menor custo acumulado ao longo dos links. Nesse exemplo, o custo do link
corresponde ao valor da largura de banda do fastethernet em que este está
padronizado pelo IEEE.
3.5.3 Eleição da Designated Port
Nessa terceira etapa a estrutura da árvore começa a se formar, pois o switch raiz já
foi escolhido como ponto principal. No entanto, faz-se necessário escolher quais
portas podem enviar frames e quais estarão no estado bloqueado e qual não envia
frames, apenas BPDUs.
De acordo com Clark (1999), cada segmento na LAN tem uma Designated Port a
qual se conecta o outro switch e que somente uma porta gerencia o tráfego para
cada link. Desse modo outros links que formam o laço são bloqueados. O switch
que possui esta porta trata-se de um Designated Switch.
A escolha dessas portas fundamenta-se no custo acumulativo do caminho raiz para
o switch raiz. Pode-se visualizar na figura 17 o custo referente aos links.
39
FIGURA 17: Custo de links.
Na figura 17 o segmento 1 conecta o switch Cat-A ao Cat-B, segmento sobre o qual
existem duas portas; porta 1/1 da Cat-A e a porta 1/1 de Cat-B. Custo do caminho
sobre a porta 1/1 de Cat-A equivale a 0, por outro lado, o custo sobre a porta 1/1 de
Cat-B corresponde a 19, pois este valor foi adicionado ao do BPDU recebido. Como
o custo sobre a porta 1/1 de Cat-A tem menor valor do que o valor de Cat-B, logo
essa porta se torna a Designated Port. Vale ressaltar que a prioridade está para o
menor custo acumulado.
Da mesma maneira se aplica essa escolha para as portas que ligam o segmento 2.
Cat-A, porta 1/2 tem o valor do custo equivalente a 0 e Cat-C, porta 1/2 tem o valor
de 19. Portanto, a porta 1/2 da Cat-A está escolhida como Designated Port
justamente por ter o menor custo de caminho. Conseqüentemente, cada porta ativa
sobre o switch raiz torna-se uma Designated Port.
Até o momento, a eleição baseou-se no menor custo acumulado, mas existem
40
situações em que poderá haver um empate nesses valores. Isso acontece no
segmento 3 da figura 17 em que esse segmento conecta a Cat-B, porta 1/2 a Cat-C,
porta 1/2 cujo valor do custo corresponde a 19. Utiliza-se como critério de
desempate o menor Mac contido no campo BID do BPDU. Nesse exemplo, a porta
1/2 de Cat-B foi eleita por ter o Mac equivalente a BB-BB-BB-BB-BB-BB enquanto o
de Cat-C corresponde a CC-CC-CC-CC-CC-CC. No entanto, a porta 1/2 de Cat-C
torna-se a non-designated port. Desse modo, essa porta não envia frames, ou seja,
enquanto todas as outras portas estão no estado forwarding essa está bloqueada.
3.6 Estados das portas
Durante o processo de eleição, dados de usuário não trafegam pela LAN, somente
quadros BPDUs que possuem parâmetros para que possam eleger o switch
principal, as portas principais e as portas designadas.
Sendo assim, para participar do STP, cada porta do switch progride por vários
estados. Inicia-se pelo desabilitado e, seguindo progressivamente, entre os outros,
até atingir o estado em que os dados dos usuários podem trafegar. Os estados do
STP são os que se seguem, conforme Hucaby (2006):
• Disabled: não faz parte da progressão normal do STP. Essas portas são
gerenciadas pelo administrador de rede cuja decisão pode ser ativada ou
desativada;
• Blocking: depois de seu início, a porta começa no estado blocking, assim não
há chance de ocorrer laços, já que nenhum dado pode ser recebido ou
transmitido e, endereços macs não são adicionados na tabela do switch.
Permite-se somente receber BPDUs de modo que o switch possa ouvir seus
vizinhos;
• Listening: é o segundo estado, o qual transgrediu do primeiro, ou seja, a
porta move de blocking para listening. Enviar e receber frames de dados
ainda não estão liberados, apenas BPDUS são enviados. Aqui, permite-se
que a porta se torne porta raiz ou porta designada, isso porque, BPDUs são
41
encaminhados entre os switches;
• Learning: é o terceiro estado. Permite-se a mudança para este estado depois
de um período de tempo chamado Forward Delay no estado anterior, desse
modo, a porta está liberada para mover para o estado Learning. A porta
ainda emite e recebe BPDUs como antes. Neste estado, o switch aprende
novos endereços MACs e adiciona-os à sua tabela de endereço. Ainda não
se permite o trafego de dados;
• Forwarding: após outro período de forward delay esperado no estado
anterior, a porta move para dentro deste quarto estado, o forwarding. Frames
de dados e BPDUs podem ser enviados e recebidos.
3.7 Tempos do STP
O protocolo Spanning Tree constantemente propaga BPDUs entre os switches, a
fim de manter a LAN livre de laços, os quais possuem tempo determinado para seu
envio e não permitem alteração do tempo. No entanto, essas mensagens de
configuração podem sofrer atrasos em sua propagação. Para evitar esses possíveis
atrasos, torna-se importante ter um tempo para que todos os switches recebam
essas mensagens.
A seção anterior mencionou o termo forwarding delay, que corresponde ao tempo
gasto da passagem do estado listening para learning. Além desse tempo, o STP
utiliza outros dois, que também são descritos:
• Hello Time: determina o intervalo de tempo para o envio de BPDUs. De
acordo com IEEE 802.1D, o valor correspondente equivale a 2 segundos;
• Forward Delay: determina o intervalo de tempo gasto para que a porta switch
mude do estado Listening para o Learning. O valor padrão equivale a 15
segundos;
• Max Age: determina o tempo em que o BPDU fica armazenado no switch
antes de descartá-lo equivalente há 20 segundos. Em caso de perda de
42
contato com o emissor do BPDU, o switch assume que pode ter ocorrido uma
mudança de topologia após o tempo do Max Age ter excedido, isso faz com
ele seja rejeitado. Ou seja, é o tempo que o switch espera antes de concluir
que a topologia modificou.
3.8 Notificação da alteração da topologia
FIGURA 18. Notificação de alteração da topologia.
A discussão que se segue refere-se ao cenário ilustrado na figura 18. Por
suposição, o computador D quer se comunicar com o computador E, cuja
comunicação se dá pelo switch Cat-B. Porém, a porta de 1/2 de Cat-B falhou.
Desse modo, a comunicação fica interrompida por 250 segundos, já que não se
utiliza TCN BPDUs.
43
Em cada tabela de cada switch há uma referência aos dispositivos da LAN, por
exemplo: sobre a porta 1/1 de Cat-A está associado o endereço Mac EE-EE-EE-EE-
EE-EE do computador E, sucessivamente esse mesmo endereço está na tabela de
Cat-B na porta 1/2 e, Cat-C comunica-se ao computador na porta 1/1, já que
aprendeu com essa porta o endereço EE-EE-EE-EE-EE-EE. Nota-se que a
comunicação para o computador E realiza-se no sentido anti-horário, isso porque a
porta 1/2 de Cat-C estava bloqueada. Como a porta 1/2 de Cat-B falhou, a porta 1/2
torna-se a porta designada. Desse modo, as tabelas dos três switches direcionam
os frames para o lado errado, ou seja, o caminho para o computador E mudou.
Assim, as tabelas dos switches precisam ser atualizadas. Existe a opção de se
esperar pela entrada natural de endereços na tabela, que, por padrão, corresponde
a 300 segundos, no entanto, isso conduz à indisponibilidade de 5 minutos.
O TCN BPDU é uma maneira razoavelmente simples de melhorar esse tempo da
convergência. A seguir segue a forma como os TCN BPDUs trabalham:
1. Os switches originam TCN BPDUs por duas condições:
• Quando a porta muda para o estado forwarding.
• Ela transita entre forwarding ou learning para o blocking.
Essas situações geram uma mudança de topologia e requerem uma notificação
ao switch principal, que se realiza por meio do envio de TCN BPDUs. Isso
prossegue até que o emissor receba um reconhecimento;
2. O switch recebe o TCN BPDU. Entretanto, somente o switch que possuir
uma porta designada aceita e processa o TCN BPDU;
3. O switch configura o campo flag que reconheceu a modificação da topologia
e envia outro TCN BPDU ao seu vizinho. Isso porque não se trata do switch
principal;
4. O switch receptor reconhece o TCN BPDU recebido na etapa precedente e
faz com que o switch emissor pare de enviar TCN BPDUs. Nessa etapa,
esse switch está a um salto da principal;
5. As etapas de 2 a 4 se repetem até que o switch principal receba o TCN
BPDU;
44
6. O TCN BPDU atingiu o switch principal, o qual ajusta o flag referente ao
reconhecimento de mudança de topologia - reconhece o TCN BPDU enviado
pelo switch anterior. Por sua vez, tem a função de configurar o flag que trata
de mudança da topologia e o envia para sua porta de saída;
7. O switch principal continua a ajustar o flag de alteração de topologia e a
encaminhá-los. O tempo de envio corresponde à soma do Forward Delay +
Max Age, que juntos equivalem a 35 segundos. Isso instrui os outros
switches a diminuírem o tempo de envelhecimento da tabela para o padrão.
FIGURA 19. Seqüência dos fluxos no processo da mudança de topologia.
A figura 19 mostra o percurso realizado pelo TCN BPDU até que atinja o switch
principal, que por sua vez realiza as devidas mudanças e retorna um TCN BPDU
configurado para seus vizinhos.
Aplica-se esse processo no cenário da figura 18, em que, Cat-B e Cat-C enviam
TCN BPDUs em suas portas 1/1 de saídas; etapa 1. As etapas 2 e 5 acontecem
simultaneamente porque o próximo switch corresponde ao switch principal - as
45
tarefas 3 e 4 são saltadas. Na próxima configuração de BPDU que ele envia, o
switch principal ajusta o flag TCN ACK para se certificar de que recebeu o TCN de
ambos os switches. Cat-A também configura o flag alteração de topologia para 35
segundos para causar atualização da tabela mais rapidamente, etapas 6 e 7. Nesse
instante, todos os switches recebem o flag alteração de topologia e a idade de suas
tabelas passam a corresponder a 15 segundos.
Uma nova topologia se cria, isso implica em que os switches terão que aprender os
endereços de cada dispositivo da LAN e, conseqüentemente, armazená-los em
suas respectivas tabelas. Desse modo, a tabela de cada switch referente ao envio
de frames para o computador E equivale à tabela 4, abaixo:
TABELA 3 - Tabela de cada switch depois da alteração da topologia.
Switch Porta associada ao endereço EE-EE-EE-EE-EE-EE
Cat-A Porta 1/2
Cat-B Porta 1/1
Cat-C Porta 1/2
Assim, a comunicação entre o computador D e o E se restabelece, em virtude do
processo da restauração da rede. O tempo, que antes correspondia a 5 minutos
para realizar esse processo, foi reduzido a 50 segundos. Significando que o tempo
gasto para que o STP restabeleça a comunicação depois de uma falha equivale a
50 segundos.
46
4 IMPLEMENTAÇÃO DO STP NO SIMULADOR
4.1 Introdução prévia
Para mostrar o funcionamento do STP, foi criada uma topologia de rede virtual no
simulador Packet Tracer, um aplicativo da Cisco para fins educacionais que provê
simulação de equipamentos de redes de computadores. Com esse software
consegue-se visualizar a simulação da rede, do tráfego, servidores e dispositivos.
Além disso, podem-se configurar routers, switches, estações de trabalho e verificar
os vários tipos de protocolo suportados por essa ferramenta. Há várias outras
vantagens que revelam a utilidade desse aplicativo.
Assim, cabe destacar que essa simulação tem o propósito didático de apresentar
como o STP se comporta entre links redundantes. Não é preciso dispor-se de um
conhecimento avançado em comandos para manipulação do switch. Logo, o que
está por vir mostrará os efeitos que se têm quando o STP está desabilitado e a
resolução deles com a habilitação do STP.
4.2 Topologia Proposta
Essa topologia não visa aproximar-se dos modelos encontrados em ambientes reais
de corporações, trata-se apenas de uma simulação, deste modo foi criada a
topologia de rede apresentada na figura 20, que está composta por 4 computadores
e 4 switches.
47
FIGURA 20. Visão da topologia apresentada.
Como o propósito deste trabalho é apresentar as funcionalidades do STP; assuntos
como robusteza do switch, divisão do endereçamento IP, largura de link entre
switches e comandos avançados para manipulação dos switches, não são levados
em consideração nessa simulação. No entanto, há links redundantes entre os
switches justamente para manter a disponibilidade de conexão em caso de algum
vir a falhar.
4.3 Topologia sem STP
Por padrão o STP já está habilitado, desse modo, inicialmente para que se possa
visualizar a ocorrência de loops, deve-se desabilitar o STP em todos os switches,
por meio do comando, no spanning-tree vlan 1, dentro do modo de configuração.
Por padrão de configuração todas as portas do switch estão na VLAN 1, pois esse
conceito não se aplica nessa simulação. Caso haja outras VLANs configuradas, o
comando se repete, necessariamente, para cada VLAN.
O Loop inicia-se na tentativa de troca de dados entre qualquer computador da rede.
48
Por exemplo, o computador com IP 192.168.1.2 envia um único quadro unicast para
o 192.168.1.4. Esse quadro, ao atingir o switch Sw_Lab_D, é encaminhado para
cada porta desse que por sua vez está conectado aos outros switches. Todos os
outros switches simultaneamente recebem o quadro e repassam-no às suas portas
de saída, exceto àquela em que o quadro entrou. Assim as cópias desses quadros
ficam a circular indefinidamente pelos switches, já que o quadro MAC não possui
um mecanismo para que se possa evitar o loop.
Nota-se que o loop pode acontecer em múltiplas direções e não apenas num único
sentido. O primeiro a se formar está entre o switch Sw_Lab_D, Sw_Lab_B e
Sw_Lab_A, que volta para Sw_Lab_D. A figura 21 apresenta três exemplos disso,
entretanto a quantidade não se limita apenas a esses switches, pode haver vários
outros.
FIGURA 21: Loops formados.
Em virtude disso, o STP mantém a redundância dos links e ao mesmo tempo evita
que quadros ocasionem loops na rede.
49
4.4 Topologia com STP
Como o STP estava desabilitado, torna-se necessário que fique ativo novamente
pelo comando spanning-tree vlan 1, dentro do modo de configuração. Isso fará com
que todos os switches comecem a trocar pacotes do tipo STP e criem uma
topologia sem loops. Confirma-se a ativação com o comando show spanning-tree
no modo privilegiado. A figura 22 mostra esse comando e comprova que o STP está
ativo.
FIGURA 22: Comando para habilitar o STP.
Ao final da consolidação do processo STP, uma nova topologia se forma e com isso
portas são colocadas no estado bloqueado, bloking, ou no estado enviando,
forwarding.
50
FIGURA 23: Topologia com STP habilitado.
A figura 23 ilustra a topologia formada logo após o término da formação do STP e
em quais estados as portas se encontram. As portas com inicias BLK estão no
estado bloqueado e as porta com inicias FWD estão liberadas para encaminhar
dados.
Nesse instante, o exemplo que se segue demonstra a entrega de pacotes entre os
computadores 192.168.1.2 e 192.168.1.4. Deve-se levar em consideração que
ainda não houve nenhuma troca de quadros, o que deixa as tabelas de todos os
switches vazias. O switch Sw_Lab_D, ao receber o pacote em sua porta, emitirá
para as outras portas um pacote contendo o protocolo ARP ( Address Resolution
Protocol ) e isso preencherá gradativamente a tabela de cada switch. Cada switch
que recebe esse pacote torna a enviá-lo para as outras portas. Portanto, a porta
que estiver bloqueada não realiza essa tarefa, apenas a porta liberada. Em virtude
disso não há ocorrência de loops na rede, ou seja, os quadros não ficam a circular
indevidamente. A figura 24 reflete como isso acontece.
51
FIGURA 24: Primeiro envio de quadros.
Na figura 25, podem-se ver todos os quadros reenviados logo após terem atingido
os três switches vizinhos ao Sw_Lab_D . Nota-se que o computador 192.168.1.4
também recebeu o quadro. Os outros computadores não são ilustrados na situação
para melhor compreensão do exemplo dado.
52
FIGURA 25: Segundo envio de quadros.
Em seguida, os switches Sw_Lab_B e Sw_Lab_A descartam os quadros, já que não
correspondem à requisição do protocolo ARP. Isso se confirma na figura 26.
FIGURA 26: Quadros descartados.
53
O próximo passo é a resposta do computador 192.168.1.4 a esse quadro ARP, que
possui o MAC requisitado, o qual é enviado para o switch Sw_Lab_B. No entanto, o
switch encaminhará esse quadro apenas à porta liberada, e essa já havia recebido
um quadro do switch Sw_Lab_D para Sw_Lab_B, isso fez com que o switch
Sw_Lab_B preenchesse sua tabela.
Como o STP formou-se nessa topologia, os quadros são encaminhados somente
pelas portas liberadas. Logo esse protocolo mantém uma estrutura Ethernet
redundante sem que possam ocorrer loops.
54
5 CONCLUSÃO
A fim de explicar o funcionamento do STP, foi preciso realizar uma pesquisa
minuciosa em documentos que não se encontram na língua portuguesa e isso é um
dos fatores de dificuldade para que alguns profissionais entendam este trabalho.
Existem muitos artigos e livros que tratam deste assunto, no entanto, não
apresentam aprofundamento das características e funcionamento desse protocolo
essencial em redes de computadores.
O foco desta monografia foi o entendimento do STP. A demonstração de como ele
se estabelece na rede e o processo de eleição do switch principal. Em virtude disso,
não se pretendeu modificar esse protocolo ou mesmo criar um novo método ou
protocolo que evite a ocorrência de Loops na rede, já que o STP realiza essa tarefa
perfeitamente.
Vários detalhes foram minuciosamente explorados em tópicos para facilitar o
entendimento, desde o início do processo da estabilização até a reação da rede em
caso de alteração da sua topologia.
Outros protocolos não foram abordados porque seus princípios também se
assemelham ao do STP. Diferenciam apenas em detalhes sutis de velocidade de
convergência e outros poucos relevantes, que no final melhoram a qualidade,
porém, o conceito principal mantém-se: colocar cada porta no estado bloqueado ou
no liberado.
Graças ao simulador Packet Tracer tornou-se possível visualizar facilmente como
se formam os vários loops na rede, os quais a deixam inativa. Isso somente
acontece na ausência do STP, ou seja, quando ele está desabilitado. No entanto,
por padrão ele já está configurado. Com essa ferramenta de simulação, o desafio
de entender o STP fica empolgante, já que o profissional consegue enxergar seu
funcionamento.
55
No que tange aos objetivos propostos inicialmente todos foram atendidos. Os
argumentos apresentaram-se em uma linguagem acessível aos profissionais
intermediários, atingindo também aqueles com conhecimentos avançados. Sendo
assim, qualquer pessoa que vier a se interessar pelo estudo do tema terá uma
ótima fonte de pesquisa. Por outras palavras, este trabalho abordou profundamente
o Spanning Tree, uma vez que o estudo torna-se fácil, se há a teoria aplicada com a
prática. E isso foi bem demonstrado durante a lapidação desta monografia no seu
passo-a-passo.
56
REFERÊNCIAS BIBLIOGRÁFICAS
BOYLES, T. HUCABY, D. Cisco CCNP Switching Exam Certification Guide
Indianapolis: Cisco Press, 2001.576 p.
CLARK, K; HAMILTON, K. Cisco LAN Switching. 1 ed. Cisco Press, 1999. 960 p.
DIOGENES, Y. Certificado cisco: CCNA 4.0: guia de certificação para o exame
640-801. 3 ed. Rio de Janeiro: Axcel Books, 2004, 408 p.
HUCABY, D. CCNP Self-Study CCNP BCMSN Exam Certification Guide. 3 ed.
Indianapolis: Cisco Press, 2006. 618 p.
LAMMLE, T. CCNA: Cisco Certified Network Associate: Study Guide. 6 ed.
Indianapolis, Sybex 2007. 1012 p.
ODOM, W. Guia de certificação do exame Cisco CCNA. Tradução de Eduardo
Messia Oliveira. 3 ed. Indianápolis: Cisco Press; Rio de Janeiro: Alta Books, 2003,
738 p.
ODOM, W. CCNA Self-Study CCNA INTRO Exam Certification Guide.
Indianápolis, Cisco Press, 2004, 627 p.
PERLMAN, R. Interconnections Bridges, Routers, Switches, and
Internetworking Protocols. 2 nd. 418 p.
ROBERTO, D. P. Porque Alta Disponibilidade em Portais. Fev 2008. Disponível
em: < http://webinsider.uol.com.br/index.php/2008/02/25/quando-garantir-alta-
disponibilidade-em-portais-corporativos/> Acesso em: 25 Nov 08.
SILVA, A. M.; Pinheiro, M. S de F.; França, M. N. Guia Para normalização de
trabalhos técnico-cientificos: projetos de pesquisa, trabalhos acadêmicos,
dissertações e teses. 5. ed. Uberlândia: EDUFU, 2005, 144 p.
57
STALLINGS, W. Redes e Sistemas de comunicações de dados: Teoria e
aplicações corporativas. Tradução Daniel Vieira. Rio de Janeiro: Elsevier;2005. 449
p.