Você está na página 1de 3

1

Spanning Tree Protocol

Flavia da Silva Nogueira, Guilherme Uliana dos Reis, Natalia Andrade Calmon, Pedro Henrique Silva, Vanessa Lourenço M. Formigoni

ResumoSpanning Tree Protocol (STP) é um protocolo usado como alternativa para impossibilitar que aconteçam loops de Camada de Enlace em redes redundantes de computadores. Este método é necessário para reduzir a problemática da indisponibilidade dos Sistemas de Informática, pelo fato de que, caso ocorra um colapso, o serviço fornecido pelo servidor também entrará. Este artigo apresenta um breve histórico e explicação das funcionalidades deste protocolo enfatizando suas características, aplicações corporativas, vantagens e desvantagens.

Palavras-ChavesSTP, Camada de Enlace, Loops, protocolo, Rede de Computadores.

AbstractSpanning Tree Protocol is a protocol used as an alternative to prevent Link Layer loops from occurring in redundant computer networks. This method is necessary to reduce the problem of the unavailability of Information Systems, because in the event of a collapse, the service provided by the server will also enter. This article presents a brief history and explanation of the features of this protocol emphasizing its characteristics, corporate applications, advantages and disadvantages.

KeywordsSTP, Link Layer, Loops, protocol, Computer Network.

I.

INTRODUÇÃO

D evido à importância vital do uso de computadores em uma empresa e para uso pessoal, as redes de

computadores não podem ficar inoperantes por causa de falhas

ocasionadas pelos equipamentos presentes na rede. Os

equipamentos falham, e para compensar a falha destes, que tem como consequência a queda do circuito da rede, causando

a falha do sistema distribuído, utiliza-se com frequência a

redundância. Implementar redundância, além de outras coisas,

consiste em criar caminhos alternativos para que os pacotes TPC ou UDP cheguem ao host de destino. Porém, ao resolver

o problema de queda de rede, gera-se o problema de loops

nelas. A solução desse problema, é dada pelo protocolo de rede que é implementado na camada de enlace, o Spanning

Tree Protocol[1]. O Protocolo Spanning Tree (STP) é baseado em um

Flavia da Silva Nogueira (e-mail: flavia-sn@hotmail.com), Guilherme Uliana dos Reis (e-mail: guilhermeureis@gmail.com), Natalia Andrade Calmon (e-mail: nataliacalmon@gmail.com), Pedro Henrique Silva (e-mail:

pedrimhs@gmail.com), Vanessa Lourenço M. Formigoni (e-mail:

vanessa.formigoni@gmail.com), Departamento de Computação e Eletrônica, Centro Universitário do Norte do Espírito Santo, Universidade Federal do Espírito Santo, São Mateus-ES, Brasil.

algoritmo criado pela engenheira de software Radia Perlman que garante que não haverá loop em uma rede local e utiliza a BPDU, Bridge Protocol Data Unit, como quadro de mensagens para troca de informações [1]. Este protocolo é implementado diretamente na camada 2 do modelo OSI, camada de enlace, e tem como objetivo analisar a topologia da rede para identificar e tratar possíveis loops em redes redundantes [2]. Geralmente é empregado em redes de grande e médio porte. Há pontos a serem definidos com o uso deste protocolo, como o Switch raiz que se torna o principal switch da árvore e a porta raiz, que são designadas por meio de eleição, que é realizada de modo com que cada switch possua uma única porta raiz, devem ser definidas também as portas designadas e as que serão bloqueadas, sendo as designadas as portas responsáveis pela comunicação entre os switches do ramo e as bloqueadas aquelas que possibilitam os loops na rede. Após estabelecida a spanning tree, haverá apenas um caminho ligando os switches raiz e os switches no ramo. e como há somente esse caminho, ele deve ser o de menor custo, para manter a eficiência de processamento da rede.

II. ESTADO DA ARTE

O Protocol Spanning Tree (STP) foi desenvolvido com o principal objetivo de eliminar o loops infinitos de mensagens broadcast na camada de enlace, sendo isto feito o monitoramento de todos os links da rede [3]. Spanning Tree é uma árvore que contém todos os nós, sem exceção, em um grafo. Formalmente uma spanning tree de um grafo G = (N, E) é um grafo G’ = (N*E’), tal que e’ é um subconjunto de E, G’ é conectado, não contém nenhum ciclo e contém todos os nós originais em G [4]. De maneira mais simplificada ela pode ser definida como subconjunto das arestas de um grafo conexo de forma a mantê-lo conexo e sem ciclos [5]. Este protocolo é formado através de trocas de mensagens entre os switches, sendo estas compostas por quadros especiais chamados BPDUs (Bridge Protocol Data Unit), sem esses quadros não seria possível a existência da árvore, pois é através deles que os switches se comunicam. Existem dois tipos de quadros BPDUs, os de configuração e os TCN (Topology Change Notification). O primeiro é enviado enquanto a Spanning Tree está sendo configurada, enquanto o segundo é utilizado para notificar alterações na topologia da rede, como por exemplo, se algum enlace ou ponte parar de funcionar [6].

2

2 Figura 1 - Exemplo de Spanning Tree de switches Após a criação da spanning tree,

Figura 1 - Exemplo de Spanning Tree de switches

Após a criação da spanning tree, a comunicação entre os switches só é permitida através dela. Um ponto importante na criação da árvore é o identificador das pontes, que é composto por um número de prioridade de 16 bits seguido do endereço MAC do equipamento. De forma similar as portas dos switches recebem também um identificador. Esses identificadores são os principais responsáveis pela organização do protocolo. Existem algumas definições que são necessárias para as futuras explanações sobre o protocolo em questão. Primeiramente, o switch raiz, que é o principal switch da árvore, é eleito através do envio de BPDUs. Cada switch envia BPDUs tentando se eleger, e ao receber um BPDU, o switch compara o campo de prioridade, se a sua prioridade for maior, então ele para de tentar se eleger, não enviando mais BPDUs, caso a prioridade seja menor, continua a tentar se eleger, ou seja, não cessa o envio de BDPUs, e por último se houver empate no número de prioridade, o desempate ocorre comparando o endereço MAC, sendo que o de menor valor prevalece. Outro ponto a ser definido é a porta raiz, essa porta é a responsável pela conexão entre os switches dos ramos com o switch raiz. Assim como acontece com o switch raiz, existe uma eleição para escolher a porta raiz de cada switch, essa eleição é realizada de tal forma que o custo acumulado seja o menor possível e só existe uma porta raiz em cada switch. Existem também as portas designadas, essas portas são as responsáveis por realizar a comunicação entre os switches dos ramos. Além desses dois tipos de porta, ainda existem as portas bloqueadas, essas portas são aquelas que no caso sejam ativadas podem causar loop na rede, então elas não recebem e nem enviam dados de usuários, porém continuam recebendo BPDUs. Um outro tipo de porta é a desabilitada, esta pode ser configurada pelo administrador da rede manualmente. Após a formação da Spanning Tree, apenas um caminho entre o switch raiz e os switches nos ramos será permitido.

Para que isso seja possível, em cada switch, cada porta deve ser rotulada como porta designada ou como porta de raiz.

ser rotulada como porta designada ou como porta de raiz. Figura 2 -Esquema da escolha das

Figura 2 -Esquema da escolha das portas

Como a árvore só possui um caminho entre os switches, então o ideal é que o caminho entre eles seja o menor possível, levando ao conceito denominado spanning tree mínima. Para definir o custo de cada enlace os switches utilizam uma tabela de peso para cada velocidade de link. Essa tabela pode ser vista a seguir:

velocidade de link. Essa tabela pode ser vista a seguir: Alguns estados de porta adicionais são

Alguns estados de porta adicionais são necessários no STP, para que exista a transição supracitada segue a seguinte sequencia:

exista a transição supracitada segue a seguinte sequencia: A porta bloqueada pode deixar de ser este

A porta bloqueada pode deixar de ser este tipo de porta em qualquer instante de tempo, pois pode haver uma mudança na topologia da rede. Quando isso ocorre ela passa para um estado Escutando. Neste estado o switch não recebe quadros, porem recebe e analisa os BPDUs, e assim determina se a porta deve ou não ser bloqueada, ou seja, se ele causará loops na rede. Após concluir a análise de maneira positiva, a porta passa para o estado Aprendendo, neste estado ela ainda não encaminha os quadros, porém continua recebendo e analisando BPDUs, além de registrar os endereços MAC dos

3

dispositivos diretamente conectados. Finalmente a porta passa para o estado de Ativa, neste estado a porta recebe encaminha quadros e continua monitorando BDPUs, pois ela pode, em algum momento, voltar a entrar em um estado de porta bloqueada.

A. Consequência

Um efeito colateral deste protocolo é o tempo que demora para passar a porta de estado bloqueada para o estado ativa, pois em cada estágio citado anteriormente há uma espera de cerca de 15 segundos, ou seja, para o ciclo completo deve-se aguardar cerca de 50 segundos, o que é inaceitável em algumas situações.

B. Rapid Spanning Tree Protocol (RSTP)

Devido aos problemas com o tempo, foi criado o Rapid Spanning Tree Protocol (RSTP). A principal finalidade do protocolo é reduzir o tempo de espera da transição da porta bloqueada para a porta ativa. No RSTP há uma nova classificação das portas e seus estados. As portas de switches que estão conectadas a hosts, não são classificadas como eram feitas no STP, ou seja, como designadas ou porta raiz, pois elas já não iriam causar loops. As portas recebem uma classificação especial chamada de portas de extremos. Além disso, os estados Desabilitada, Escutando e Bloqueada que existem no STP, passam a ter só um estado no RSTP que é o Descartando e os estados Aprendendo e Ativa são mantidas iguais. As portas no estado Descartando se dividem dois subtipos. A porta alternativa que é uma redundância da porta raiz, que só é utilizada em caso de falha da porta raiz atual, e a porta que o switch não descartou as informações e pode ser rapidamente usada quando outra porta falhar. Graças aos caminhos alternativos calculados previamente, quando um enlace falha, os switches são capazes de excluí-lo da topologia imediatamente sem ter que calcular uma nova área, o que aumenta a velocidade de convergência do algoritmo significativamente.

III.

APLICAÇÕES

As aplicações em redes corporativas do STP se devem, ao fato de, o protocolo ser implementado em diversas marcas de switches existentes no mercado para evitar a redundância da rede. Como o Spanning Tree atua em apenas um dispositivo da rede, a mesma deve ser composta por apenas switches que tenham em sua configuração o registro e esse registro integrado as suas variâncias para que a rede não seja prejudicada pelas desvantagens de algum deles. Esse tipo de protocolo é muito utilizado principalmente em grandes empresas, devido conter um número considerado de sistemas finais. Um exemplo de produto que é encontrado no mercado contendo o protocolo é o “DM 1200E Series Ethernet Switches”[7], mostrado na figura 3.

1200E Series Ethernet Switches”[7], mostrado na figura 3. Figura 3 - Switch IV. C ONCLUSÃO Por

Figura 3 - Switch

IV.

CONCLUSÃO

Por causa das desvantagens do Protocolo Spanning Tree, como lentidão ao convergir para a topologia ativa em caso de falha e não funcionar bem com VLANs, foram criadas novas versões do STP que solucionam esses problemas tornando o princípio do protocolo de origem ainda vivo. O RSTP (Rapid Spanning Tree Protocol) criado pela IEEE em 2001 reduz significativamente o tempo de resposta, cerca de 25% mais rápido que o anterior, acrescentando uma porta alternativa e uma porta de backup, onde essas, entram imediatamente ao estado de encaminhamento ao invés de esperar a falha surgir. Outra versão é a MSTP (Multiple Spanning Tree Protocol) lançado com o objetivo de utilizar o Protocolo Spanning Tree em múltiplas VLANs que apenas muda a lógica de encaminhamento da rede. Além dessas, outras variâncias como Per Vlan Spanning Tree (PVST), Per Vlan Spanning Tree Plus (PVST+) e Spanning Tree Per Vlan Rápido (rapid-PVST+) foram elaborados para aperfeiçoamento do protocolo.

REFERÊNCIAS

[1] PROTOCOLO SPANNING TREE PARA EVITAR LOOPS DE CAMADA DE ENLACE EM REDES REDUNDANTES/ MACHADO, Dalmir de Jesus Pires, Universidade Tuiuti do Paraná, Curitiba 2014.

ml 12/11 16:00.

[4] Redes de Computadores e a Internet : Uma Abordagem top-down / James F. Kurose, Keith W. Ross - 3. ed - São Paulo : Pearson Addison Wesley, 2006.