Buscar

Introdução ao STP e exercícios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução 
Com o desenvolvimento das redes de computadores surgiu a necessidade de garantia 
de que as redes mantivessem-se em comunicação umas com as outras, uma vez que, 
caso uma rede deixe de se comunicar, pode ser bastante prejudicial para quem 
depende dos serviços oferecidos por ela. Consequentemente, não é viável que a 
comunicação dependa de apenas um cabo, já que falência em cabos é um dos 
problemas mais comuns em redes. Pensando nisso, sugeriu-se que pontes (que podem 
ser switches, por exemplo) redundantes fossem adicionadas às redes ou em formas 
de anéis ou em formas de braços paralelos. 
Entretanto, apesar de a redundância diminuir a probabilidade de falha física dos 
enlaces, ela torna a topologia da rede suscetível a loops e isso faz com que possa 
haver perda de performance. A adição de uma segunda ponte está esquematizado na 
figura abaixo: 
 
Retirado de [1] 
Loops são indesejáveis pois podem causar problemas graves em Redes. Um desses 
problemas é o Broadcast Storm. Um Broadcast Storm é mostrado na figura a seguir: 
 
Retirado de [2] 
Suponha que o Host-A envie um quadro com endereço de broadcast. Os switches Cat-
1 e Cat-2 recebem esse quadro em suas portas 1/1. Como o endereço é de broadcast, 
o switch Cat-1 envia uma cópia do quadro pela sua porta 1/2. Esse quadro é recebido 
tanto pelo Host-B quanto pela porta 1/2 do switch Cat-2, que interpreta o endereço 
como broadcast e o envia para o Host-A e para o swich Cat-1, que o recebe em sua 
porta 1/1. Então forma-se o ciclo, que faz com que o quadro fique na rede 
indefinidamente. 
Esse trabalho mostrará um overview sobre o Spanning Tree Protocol e sobre algumas 
de suas variações 
 
O Spanning Tree Protocol 
Como mencionado, o Spanning Tree Protocol (STP) surgiu para retirar o problema dos 
loops na camada de enlace. Isso é feito monitorando-se todos os links da Rede. O 
protocolo foi padronizado pelo IEEE sob o código 802.1D. 
O algoritmo começa formando uma Spanning Tree dos switches através de trocas de 
mensagens, entre os switches, compostas de quadros especiais chamados BPDU’s 
(Bridge Protocol Data Unity). Uma explicação sobre esse tipo de quadro está na 
página BPDU. 
Após formada, a comunicação entre os switches só é permitida através da Spanning 
Tree. (Caso haja dúvida no conceito de Spanning Tree, a página Spanning Tree possui 
uma breve explicação). 
Apesar de que pontes não precisam de endereço MAC para operar, no protocolo que 
forma a Spanning Tree é necessário que cada ponte contenha um identificador. 
Consequentemente, a cada ponte é associado um identificador que contém um 
campo de prioridade de 16 bits seguido de um endereço MAC único. Similarmente, as 
portas dos switches recebem um indentificador. 
Como mencionado, após a formação da Spanning Tree, apenas um caminho entre o 
swich raiz e os switches nos ramos será permitido. Para tornar isso possível, em cada 
switch, cada porta deve ser rotulada como porta designada ou como porta de raiz. 
Uma porta designada é responsável por enviar quadros provenientes da raiz para um 
ramo, em direção às folhas. Uma porta de raiz é responsável pelo fluxo contrário, ou 
seja, é responsável por enviar um quadro proveniente de um ramo que vá em direção 
à raiz. Como cada nó, ou switch, possui apenas um nó pai, ou seja, um nó que se 
aproxima da raiz, cada switch pode possuir apenas uma porta de raiz. A exceção é a 
raiz, que não possui nenhuma porta raiz, apenas portas designadas. 
Um esquema é mostrado na figura a seguir, note que o switch raiz (R) possui apenas 
portas designadas. 
 
Retirado de [1] 
Além disso, para formar a Spanning Tree, é necessário determinar quais pontes 
possuem o menor custo e que, portanto, irão compor as arestas da árvore. A métrica 
utilizada para determinar o menor custo é utilizar a velocidade das portas do switch, 
onde o custo é inversamente proporcional à velocidade da porta. A tabela a seguir 
possui alguns custos sugeridos para cada velocidade possível de porta. 
 
Retirado de [1] 
A convergência do algoritmo se dá após serem realizadas as seguintes etapas: 
1 – Eleição do switch raiz. 
2 – Eleição, em cada switch, da porta raiz. 
3 – Eleição, em cada switch, das portas designadas 
Eleição do switch principal 
Cada switch envia BPDUs tentando se eleger a switch raiz. Ao receber um BPDU, o 
switch compara o campo de prioridade do identificador do switch de origem. Caso a 
prioridade no BPDU seja menor que a prioridade do próprio switch (ou em caso de 
empate na prioridade, caso o endereço MAC seja menor) o switch continua enviando 
quadros BPDUs. Entretanto, os switches que receberem quadros BPDUs de um swtich 
que possui prioridade menor, ou MAC menor quando a prioridade é igual, param de 
enviar BPDUs. Ou seja, um switch continua a tentar se eleger até que encontre um 
candidato melhor. No final, apenas o melhor candidato continuará tentando se eleger 
e, portanto, será eleito. 
Eleição da porta raiz 
Após a eleição do switch raiz, cada um dos demais switches deve eleger uma porta 
raiz. A eleição da porta raiz é realizada de tal forma que o custo acumulado seja o 
menor possível. Para uma maior compreensão, o exemplo abaixo ilustra essa seleção: 
 
Retirado de [2] 
Nesse exemplo, o switch Cat-A foi escolhido como raiz. Então, ele envia para todas 
suas portas (1/1 e 1/2) BPDUs com o campo de custo nulo (custo = 0). Cat-B e Cat-C 
recebem em suas portas 1/1 esses BPDUs. Como o custo dos enlaces até cada um dos 
switches é de 19, ambos os switches incrementam esse custo para 19. Portanto, 
teremos tanto Cat-B quanto Cat-C, com custo 19 nas portas 1/1. Então, cada switch 
(Cat-B e Cat-C) envia por sua porta 1/2 um pacote BPDU. Cat-B recebe o BPDU 
enviado por Cat-C em sua porta 1/2, como o custo do enlace entre eles é de 19, ele 
incrementa 19 no custo do pacote recebido e, portanto, teremos o custo para a porta 
1/2 de Cat-B igual a 38. Consequentemente, Cat-B elege a porta 1/1 a porta raiz, 
pois o custo associado a esta porta (19) é menor que o custo associado à porta 1/2 
(38). O mesmo ocorre no switch Cat-C. 
Mais interessante que o exemplo acima, seria se o custo do enlace entre Cat-B e Cat-
C fosse pequeno, digamos 1, e o custo entre algum dos switches (Cat-C, por exemplo) 
e o switch raiz fosse grande, 40 por exemplo. Nesse caso, Cat-C receberia um BPDU 
com custo 0 em 1/1, incrementaria 40 a esse custo. Já na porta 1/2, ele receberia 
um BPDU com custo 19 (que foi incrementado por Cat-B como no exemplo anterior) e 
incrementaria o custo do enlace da sua porta 1/2 (1). Resultando num custo 20 na porta 
1/2. Consequentemente, Cat-C elegeria 1/2 como porta raiz e a topologia da árvore 
seria diferente da do exemplo anterior. 
Eleição das portas designadas 
A eleição das portas designadas é parecida com a eleição da porta raiz. Aqui também 
se considera o custo acumulado pela porta. Porém o custo acumulado é comparado 
entre as portas nos extremos dos links, sendo a de menor custo acumulado eleita 
como porta designada. Para uma melhor compreensão, o mesmo exemplo será 
utilizado: 
 
Adaptado de [2] 
Como mencionado anteriormente, as portas do switch raiz possuem custo acumulado 
0 e enviam BPDUs com esse custo. Cat-B e Cat-C recebem esses quadros e 
incrementam de 19 cada. Logo, as portas 1/1 de Cat-B e Cat-C terão custo 19. 
Olhando para a figura, o segmento 1 de enlace liga Cat-A a Cat-B e termina na porta 
1/1 de Cat-A e na porta 1/1 de Cat-B. Portanto, ao comparar os custos das portas 1/1 
de Cat-A e 1/1 de Cat-B, a porta com menor custo será eleita como porta designada. 
Ou seja, como os custos são 0 e 19, respectivamente, a porta eleita é a porta 1/1 de 
Cat-A.O mesmo acontece entre as portas 1/2 de Cat-A e 1/1 de Cat-C no segmento 
2, resultando na porta 1/2 de Cat-A como porta designada. Entretanto, pode haver 
empate, como acontece no segmento 3. Nele, ambas as portas recebem BPDUs com 
custo 19 e incrementam para 38. Consequentemente, as portas 1/2 de Cat-B e de 
Cat-C estão empatadas. Nesse caso, utiliza-se o endereço MAC da porta como critério 
de desempate. Supondo que a porta 1/2 de Cat-B tenha o menor endereço MAC ela é 
eleita a porta designada. Já a porta 1/2 de C é bloqueada e não poderá enviar 
quadros BPDU mais, apenas recebê-los. Também não poderá enviar, nem receber, 
quadros Ethernet. 
Estados das portas 
Outra diferença nos switches sobre os quais o STP opera é que alguns estados 
adicionais das portas são necessários. A seguir, estão listados os possíveis estados: 
1 - Desativada: A porta não recebe, nem envia quadros quaisquer. 
2 - Bloqueada: A porta não é utilizada, mas é tida como uma alternativa de envio de 
quadros para a raiz. Ela não pode enviar quadros BPDU, porém ela pode recebâ-los. 
Não pode enviar nem receber quadros de dados (Ethernet). 
3 - Escutando: É um estado intermediário entre as portas "Bloqueada" e "Enviando". 
Ela difere da porta Bloqueada pois pode enviar quadros BPDUs além de recebê-los. 
4 - Aprendendo: A porta está prestes a se tornar ativa (estado "Enviando"), mas deve 
atualizar seu banco de dados de filtro. 
5 - Enviando: Essa porta está ativa, filtrando e enviando quadros quaisquer. 
 
Rapid Spanning Tree Protocol 
O tempo de convergência do STP é considerado muito lento e, portanto, foi 
atualizado para ser mais rápido para um protocolo que se chama Rapid Spanning Tree 
Protocol (RSTP) que foi padronizado pelo IEEE sob o código 802.1w. 
Enquanto o STP leva em torno de 30s e 50s para re-convergir em caso de mudança na 
topologia, o RSTP leva menos de 1s. 
O RSPT é muito parecido com o STP. Muitos de seus parâmetros são iguais, o que 
facilita a usuários acostumados ao STP configurarem o RSTP. Entretanto há algumas 
diferenças, elas são: 
Envelhecimento de enlaces 
A primeira diferença está no envelhecimento. No STP, se um enlace caia, era 
esperado um tempo de resposta (default de 20s) e enviava um BPDU TCN para a raiz 
com essa informação. O enlace só seria considerado caído quando o switch raiz 
enviasse BPDUs TCN (TCA) confirmando para todos os demais switches. Já no RSTP, 
os BPDUs utilizam três vezes o hello-time (dafault de 2s) para considerar um enlace 
caído. Ou seja, se em 6s não houver resposta, o switch já considera a conexão 
perdida e seta seus BPDUs para informar os demais switches. 
BPDUs 
Há um novo tipo de BPDU usado no RSTP. O campo "type" do BPDU carrega o número 
2 para o RSTP, enquanto carregava o número 0 para o STP. Além disso, antes os flags 
eram apenas do tipo TC (Topology Change) e TCA (Topology Change 
Aknowledgement). Agora, 6 bits são adicionados para conter a função e o estado da 
porta que gera o BPDU. Entretanto, o RSTP continua a entender os BPDUs do STP. 
Estados e classificação das portas 
Algumas portas de switches são conectadas aos hosts. Nesse caso, não há necessidade 
de classificá-las como era feito no STP (porta raiz ou porta designada), pois elas já 
não causariam loops mesmo que a topologia não fossem no formato de árvore. 
Portanto, no RSTP, essas portas recebem uma classificação especial chamada de 
"edge ports" ou portas de extremos. Além disso, os estados "Desabilitada", 
"Escutando" e "Bloqueando" do STP são todos iguais e chamados de estado 
"Descartando" no RSTP. Que não recebe, nem envia quadros Ethernet, mas que 
recebe e envia BPDUs. As portas "Aprendendo" e "Enviando" são mantidas. 
Além disso há outros duas classificações possíveis para as portas: "Aleternate Port", 
porta alternativa e back-up porta, porta de back-up. 
A porta alternativa é a melhor porta que leva à raiz, excetuando-se a porta raiz. Ou 
seja, é uma alternativa à porta raiz. Caso a porta raiz falhe, a porta alternativa é 
eleita porta raiz automaticamente. Caso a porta raiz esteja funcionando bem, ela 
fica no estado "Descartando". 
Já a porta back-up constitui-se da melhor porta que leva um switch a ele mesmo. A 
imagem a seguir exemplifica esses tipos de portas: 
 
Retirada de [7] 
Vantagem do RSTP 
Ou seja, 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 árvore, o que aumenta a velocidade de convergência do algoritmo 
significativamente. 
 
Multiple Spanning Tree Protocol 
O Multiple Spanning Tree Protocol escala o Rapid Spanning Tree protocol para várias 
redes virtuais (VLANs). Esse protocolo foi padronizado pelo IEEE sob o código 802.1s 
A maneira mais fácil de entender isso é pensar que, em cada VLAN estará rodando o 
algoritmo RSTP e a comunicação entre as VLANs também é controlada por um RSTP. 
Ou seja, cada VLAN (ou gurpo de VLANs) possui uma Spanning Tree de switches e a 
comunicação entre as VLANs só é permitida através de uma Spanning Tree de VLANs. 
Ou seja, existem múltiplas Spanning Trees de switches formando uma Spanning Tree. 
A imagem a seguir ilustra a topologia mencionada: 
 
Retirada de [9] 
 
Shortest Path Bridging 
Apesar de resolver o problema dos loops e manter a redundância de pontes, os 
protocolos de árvores podem se utilizar de caminhos sub-ótimos. Imagine que um 
switch em uma folha da árvore envie um quadro para um switch em outra folha, mas 
que haja uma conexão direta entre os dois switches. O pacote seria obrigado a passar 
pelo switch raiz. Isso torna a utilização da rede menos eficiente. 
Para melhorar a eficiência da rede, foi criado o Shortest Path Bridging (SPB) que está 
padronizado sob o código 802.1aq no IEEE. 
O SBP propõem que cada ponte, ou switch, mantenha uma topologia de árvore na 
qual é a raiz. Dessa forma, estará garantido que os quadros sempre percorrerão os 
menores caminhos. 
Entretanto, isso traz um problema de caminhos com mesmo custo. Supondo que 
existe, pelo menos, dois caminhos de mesmo custo entre duas pontes quaisquer, é 
possível que a Spanning Tree com o nó em uma das pontes eleja um caminho 
diferente do caminho eleito pela Spanning Tree da outra Bridge. Como as portas são 
bloqueadas, a comunicação que, muitas vezes, deve ser full-duplex, acaba 
impossibilitada. Para resolver isso, utilizam-se vetores de caminho que contém os 
caminhos entre a raiz e suas folhas de cada Spanning Tree. Quando há assimetrias, 
elas são corrigidas. 
 
 
EXERCÍCIOS 
Perguntas 
1 - Qual a motivação da criação do Spanning Tree Protocol? 
O Spanning Tree Protocol foi criado para resolver o problema de loops em redes que possuem 
redundância de pontes. 
2 - Qual a métrica utilizada na criação da Spanning Tree utilizada 
pelo Spanning Tree Protocol? 
Às arestas recebem números inversamente proporcional às velocidades de transmissão de 
dados das portas que compõem a aresta em questão 
3 - Como é feita a identificação dos vértices da Spanning Tree 
utilizada pelo Spanning Tree Protocol? 
As pontes recebem um código identificador (BridgeID) composto de uma região contendo um 
campo de prioridade e o endereço MAC da ponte em questão. Assim como as portas recebem 
um código identificador composto de um campo de prioridade e o endereço MAC da ponte. 
4 - Qual a pincipal diferença do Rapid Spanning Tree Protocol em 
relação ao Spanning Tree Protocol? 
O Rapid Spanning Tree Protocol calcula rotas alternativas para uma convergência mais 
rápida em caso de falha de algum enlace. 
5 - Qual a ideia da Multiple Spanning Tree? 
O Multiple Spanning Tree Protocol cria uma Spanning Tree de SpanningTree's. O que torna 
possível escalar o RSTP para múltiplas VLANs. 
 
 
 
 
https://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2014_2/felipe/Perguntas.html

Continue navegando