spanning tree

57
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

Upload: ricardo-moura

Post on 05-Jul-2015

873 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Spanning Tree

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

Page 2: Spanning Tree

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

Page 3: Spanning Tree

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

Page 4: Spanning Tree

4

As pessoas responsáveis pela minha formação ética e moral, meus pais, avós e

professores.

Page 5: Spanning Tree

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.

Page 6: Spanning Tree

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.

Page 7: Spanning Tree

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.

Page 8: Spanning Tree

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.

Page 9: Spanning Tree

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

Page 10: Spanning Tree

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

Page 11: Spanning Tree

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

Page 12: Spanning Tree

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

Page 13: Spanning Tree

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

Page 14: Spanning Tree

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.

Page 15: Spanning Tree

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.

Page 16: Spanning Tree

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.

Page 17: Spanning Tree

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

Page 18: Spanning Tree

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.

Page 19: Spanning Tree

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;

Page 20: Spanning Tree

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.

Page 21: Spanning Tree

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.

Page 22: Spanning Tree

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

Page 23: Spanning Tree

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.

Page 24: Spanning Tree

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

Page 25: Spanning Tree

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

Page 26: Spanning Tree

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

Page 27: Spanning Tree

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

Page 28: Spanning Tree

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

Page 29: Spanning Tree

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

Page 30: Spanning Tree

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.

Page 31: Spanning Tree

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.

Page 32: Spanning Tree

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.

Page 33: Spanning Tree

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;

Page 34: Spanning Tree

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

Page 35: Spanning Tree

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

Page 36: Spanning Tree

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

Page 37: Spanning Tree

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

Page 38: Spanning Tree

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.

Page 39: Spanning Tree

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

Page 40: Spanning Tree

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

Page 41: Spanning Tree

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

Page 42: Spanning Tree

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.

Page 43: Spanning Tree

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;

Page 44: Spanning Tree

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

Page 45: Spanning Tree

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.

Page 46: Spanning Tree

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.

Page 47: Spanning Tree

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.

Page 48: Spanning Tree

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.

Page 49: Spanning Tree

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.

Page 50: Spanning Tree

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.

Page 51: Spanning Tree

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.

Page 52: Spanning Tree

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.

Page 53: Spanning Tree

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.

Page 54: Spanning Tree

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.

Page 55: Spanning Tree

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.

Page 56: Spanning Tree

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.

Page 57: Spanning Tree

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.