Switches de LAN : Spanning Tree Protocol

Balanceamento de Carga da VLAN entre Troncos Usando a Prioridade de Portas do Protocolo Spanning-Tree

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (20 Outubro 2015) | Feedback


Índice


Introdução

Este documento fornece a teoria por trás do balanceamento de carga da VLAN entre os troncos e também fornece exemplos de configura;'ao para switches executando CatOS e IOS Integrado.

Antes de Começar

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Pré-requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

Introdução ao balanceamento de carga de VLAN entre troncos

Os comandos usados neste documento estão disponíveis nas famílias do Catalyst 4000, 5000 e 6000 que estejam executando CatOS e IOS integrado. As seções teóricas deste documento estão relacionadas ao STP (Protocolo de árvore de abrangência) e são independentes de plataforma.

A configuração mostrada em figura 1 abaixo, em que dois Switches são conectados diretamente através de mais de um tronco, é muito comum para fins de redundância. Se ocorrer uma falha em um dos dois links, o segundo logo se tornará disponível para transmitir o tráfego. Quando ambos os links estão acima, o algoritmo de Spanning Tree (STA) desabilita um deles a fim evitar um Loop de Bridging entre os dois Switches.

/image/gif/paws/10555/15a.gif

Na figura 1 configuração acima de, com dois os troncos FastEthernet ligando Catalyst R e o catalizador D, o STP elege a mesma porta de bloqueio para todos os VLAN configurados. Neste caso, o catalizador R é o bridge-raiz e o catalizador D decide obstruir a porta D2 para o VLAN1 e o VLAN2. A questão principal com este projeto é que o link R2-D2 simplesmente está sacrificado e lá é somente 100 Mb/s disponíveis entre os dois Switches. Para ter a vantagem de ambos os enlaces, a configuração pode ser mudada e permitir VLAN1 apenas no enlace R1-D1 e VLAN 2 apenas no enlace R2-D2.

/image/gif/paws/10555/15b.gif

A rede resultante, mostrada na Figura 2, perde sua redundância. Nowyou tem ambos os links que enviam ao mesmo tempo, e você pode praticamente usar 200 Mb/s entre os dois Switches. Entretanto, se um link falhar, você perderá completamente a conectividade de um VLAN. A solução ideal é aquela descrita na Figura 3:

/image/gif/paws/10555/15c.gif

Em figura 3, você mantém os troncos entre os dois Switches, mas a porta D1 está obstruindo o VLAN1 e está enviando o VLAN2; a porta D2 está obstruindo o VLAN2 e está enviando o VLAN1. Este projeto mantém as melhores características de figura 1 e de figura 2:

  • Ambos os links são enviar, fornecendo a Conectividade agregada de 200 Mb/s entre os dois Switches.

  • Se um link falha, permanecendo desbloqueia o VLAN correspondente e mantém a Conectividade para ambos os VLAN entre o Switches.

Este documento explica como chegar a essa configuração, após uma breve explicação sobre as operações do STP.

Como o STP decide qual porta bloquear

A descrição detalhada de como os trabalhos STA são além do alcance deste documento. Contudo, resume momentaneamente como o algoritmo decide, neste caso, se blocos de uma porta ou para a frente. Centra-se sobre a maioria de configuração simples possível com o somente um VLAN; O catalizador R é o bridge-raiz nestes VLAN e catalizador D tem conexões de redundância múltiplas ao catalizador R. Catalizador D obstrui toda suas portas ao catalizador R mas sua porta de raiz. Como o catalizador D seleciona sua porta de raiz? As pontes que executam o STA trocam Unidades de dados do protocolo de ponte (BPDUs) pelos enlaces e tais BPDUs podem ser estritamente classificadas dependendo de seu conteúdo. Um BPDU é superior do que outro se tem:

  1. Um ID de Root Bridge inferior.

  2. Um custo de caminho menor para a Raiz.

  3. Identificação de Ponto de Envio mais baixa.

  4. Uma identificação da porta de envio inferior.

Esses quatro parâmetros são examinados em ordem, ou seja, você só poderá lidar com o parâmetro 2 se o parâmetro 1 for o mesmo nos dois BPDUs que estão sendo comparados. A porta escolhida como raiz no Catalyst D é a porta que está recebendo o melhor BPDU.

15d.gif

Neste caso específico, figura 4, todos os BPDU enviados pelo catalizador R tem o mesmo ID de bridge raiz, os mesmos custos de caminho à raiz e o mesmo ID de bridge de emissão. O único parâmetro deixado para selecionar melhor é o ID de porta de emissão. O ID de porta de emissão é um parâmetro de 16 bit, separação em dois campos: a prioridade de porta e um deslocamento predeterminado de porta. O valor padrão para a prioridade de porta é 32 e o deslocamento predeterminado de porta é original a cada porta no interruptor.

  prioridade da porta Índice da porta
Tamanho em bits 6 10
Valor padrão 32 Valor exclusivo fixo

A Figura 4 representa o parâmetro de ID de porta em BPDUs. Neste caso, o Catalyst D escolhe a porta D1 como sua porta raiz pois o R2 do índice da porta é inferior ao R1. Se você quer o D2 enviar eventualmente, você precisa de forçá-lo como a porta de raiz. A única maneira de fazer isto é reduzir o valor da prioridade de porta R2 (ou para aumentar o valor da prioridade de porta do r1). Isso foi o que foi feito na Figura 5.

/image/gif/paws/10555/15e.gif

A fim conseguir uma função de balanceamento de carga entre dois troncos, você ajusta em uma base vlan a prioridade de porta no catalizador R.

Configurando o balanceamento de carga VLAN em Switches Catalyst executando CatOS

Diagrama de laboratório

/image/gif/paws/10555/15f.gif

Mostrar Status STP Atual no Catalyst R

Está aqui o status STP atual no catalizador R. É a raiz para o VLAN1 e os 2, assim que todas suas portas estão enviando.

Catalyst_R> (enable) show spantree 3/1
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/1                     1    forwarding       19       32 disabled   0         
3/1                     2    forwarding       19       32 disabled   0         
Catalyst_R> (enable) show spantree 3/2
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/2                     1    forwarding       19       32 disabled   0         
3/2                     2    forwarding       19       32 disabled   0        
Catalyst_R> (enable)

Mostrar status atual do STP no Catalyst D

No Catalyst D, conforme a expectativa, a porta 5/2 é bloqueada para os VLANs 1 e 2.

Catalyst_D> (enable) show spantree 5/1
Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------- ----  -------------  -----  --------  ----------  ------------
5/1      1     forwarding        19        32   disabled              
5/1      2     forwarding        19        32   disabled              
Catalyst_D> (enable) show spantree 5/2
Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------- ----  -------------  -----  --------  ----------  ------------
5/2      1     blocking          19        32   disabled              
5/2      2     blocking          19        32   disabled              
Catalyst_D> (enable)

Ative a prioridade de porta no Catalyst R

Você está indo diminuir o valor da prioridade de porta para o VLAN1 na porta 3/2. Esta maneira, a porta correspondente 5/2 no catalizador D recebe melhores BPDU do que esses que são enviados na porta 5/1 (de que ainda tem um valor da prioridade de porta de 32).

Catalyst_R> (enable) set spantree portvlanpri 3/2 16 1
Port 3/2 vlans 1 using portpri 16.
Port 3/2 vlans 2-1004 using portpri 32.
Port 3/2 vlans 1005 using portpri 4.
Catalyst_R> (enable)

Verificar resultado no Catalyst R

Você pode verificar se o valor de prioridade da porta de VLAN 1 foi alterado:

Catalyst_R> (enable) show spantree 3/1                
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/1                     1    forwarding       19       32 disabled   0         
3/1                     2    forwarding       19       32 disabled   0         
Catalyst_R> (enable) show spantree 3/2                
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/2                     1    forwarding       19       16 disabled   0         
3/2                     2    forwarding       19       32 disabled   0         
Catalyst_R> (enable)

Verifique o resultado no Catalyst D

Agora é possível ver no Catalyst D que, para a VLAN 1, a porta 5/1 está bloqueando e a porta 5/2 está encaminhando, conforme esperado.

Catalyst_D> (enable) show spantree 5/1
Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------- ----  -------------  -----  --------  ----------  ------------
5/1      1     blocking          19        32   disabled              
5/1      2     forwarding        19        32   disabled              
Catalyst_D> (enable) show spantree 5/2
Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------- ----  -------------  -----  --------  ----------  ------------
5/2      1     forwarding        19        32   disabled              
5/2      2     blocking          19        32   disabled              
Catalyst_D> (enable)


Detalhes sobre o comando portvlanpri

Há somente dois valores possíveis para a prioridade de VLAN da porta por tronco, e cada um deles pode ser configurado usando o comando portvlanpri. Significa que em um tronco dado, você tem dois grupos de VLAN:

  • Aqueles que possuem o valor de prioridade de porta “global” (32 por padrão).

  • Aqueles que têm um valor "personalizado" digitado com o comando portvlanpri

Um exemplo esclarece isso. Considere a adição de um terceiro VLAN no exemplo. Por padrão, esta VLAN pertence ao grupo que tem o valor de prioridade de porta global (padrão 32).

Catalyst_R> (enable) set vlan 3                       
Vlan 3 configuration successful
Catalyst_R> (enable) show spantree 3/2                  
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/2                     1    forwarding       19       16 disabled   0         
3/2                     2    forwarding       19       32 disabled   0         
3/2                     3    forwarding       19       32 disabled   0         
Catalyst_R> (enable)

Mude a prioridade global para a porta, usando o comando set spantree portpri:

Catalyst_R> (enable) set spantree portpri 3/2 48
Bridge port  3/2 port priority set to 48.
Catalyst_R> (enable) show spantree 3/2
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/2                     1    forwarding       19       16 disabled   0         
3/2                     2    forwarding       19       48 disabled   0         
3/2                     3    forwarding       19       48 disabled   0         
Catalyst_R> (enable)

Observe que todos os VLAN que pertencem ao grupo “global” mudaram sua prioridade a 48. Atribua agora o VLAN3 ao outro grupo “feito sob encomenda” de VLAN, dando lhe um valor de 8 com o comando portvlanpri:

Catalyst_R> (enable) set spantree portvlanpri 3/2 8 3
Port 3/2 vlans 1,3 using portpri 8.
Port 3/2 vlans 2,4-1004 using portpri 48.
Port 3/2 vlans 1005 using portpri 4.
Catalyst_R> (enable) show spantree 3/2
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/2                     1    forwarding       19        8 disabled   0         
3/2                     2    forwarding       19       48 disabled   0         
3/2                     3    forwarding       19        8 disabled   0         
Catalyst_R> (enable)

Observe que todos os VLAN no grupo “feito sob encomenda” mudaram sua prioridade a 8, não apenas VLAN3. Para pôr para trás o VLAN3 no grupo padrão, use o comando clear spantree portvlanpri:

Catalyst_R> (enable) clear spantree portvlanpri 3/2 3
Port 3/2 vlans 1 using portpri 8.
Port 3/2 vlans 2-1004 using portpri 48.
Port 3/2 vlans 1005 using portpri 4.
Catalyst_R> (enable) show spantree 3/2
Port                     Vlan Port-State    Cost  Priority Portfast   Channel_id
------------------------ ---- ------------- ----- -------- ---------- ----------
3/2                     1    forwarding       19        8 disabled   0         
3/2                     2    forwarding       19       48 disabled   0         
3/2                     3    forwarding       19       48 disabled   0         
Catalyst_R> (enable)

Há uma última limitação neste comando. O valor atribuído ao grupo “global” deve ser superior a esse configurado no grupo “feito sob encomenda”.

Catalyst_R> (enable) set spantree portvlanpri 3/2 62 3 
Portvlanpri must be less than portpri. Portpri for 3/2 is 48.

Para resumir:

grupo "global” grupo "personalizado"
À revelia, todos os VLAN pertencem a este grupo. As VLANs selecionadas com o comando set spantree portvlanpri pertencem a este grupo.
A prioridade de tais VLANs é configurada pelo comando set spantree port priority. O valor de prioridade de todos esses VLANs é definido pelo comando set spantree portvlanpri.
O valor de prioridade configurado para o grupo "global" deve ser superior to ao configurado para o grupo "personalizado". O comando clear spantree portvlanpri permite retornar uma VLAN deste grupo para outro.

Configuração do balanceamento de carga de VLAN em Switches Catalyst executando IOS integrado

Nota: Este exemplo de configuração aplica-se ao Switches que executa IO - Catalyst 2900/3500XL, Catalyst 2950, Catalyst 3550, Catalyst 4000 Supervisor III/IV, e catalizador 6000.

Diagrama de laboratório

/image/gif/paws/10555/15f.gif

Mostrar Status STP Atual no Catalyst R

Está aqui o status STP atual no catalizador R. É a raiz para o VLAN1 e os 2, assim que todas suas portas estão enviando.

Catalyst_R#show spanning-tree interface FastEthernet 3/1

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19        128.129  P2p 
VLAN0002         Desg FWD 19        128.129  P2p 

Catalyst_R#show spanning-tree interface FastEthernet 3/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19        128.130  P2p 
VLAN0002         Desg FWD 19        128.130  P2p 


Mostrar status atual do STP no Catalyst D

No Catalyst D, conforme a expectativa, a porta 5/2 é bloqueada para os VLANs 1 e 2.

Catalyst_D#show spanning-tree interface FastEthernet 5/1

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Root FWD 19        128.129  P2p 
VLAN0002         Root FWD 19        128.129  P2p 

Catalyst_D#show spanning-tree interface FastEthernet 5/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Altn BLK 19        128.130  P2p 
VLAN0002         Altn BLK 19        128.130  P2p 

Ative a prioridade de porta no Catalyst R

Você está indo diminuir o valor da prioridade de porta para o VLAN1 na porta 3/2. Esta maneira, a porta correspondente 5/2 no catalizador D recebe melhores BPDU do que esses que são enviados na porta 5/1 (de que ainda tem um valor da prioridade de porta do 128).

Catalyst_R#config terminal
Catalyst_R(config)#interface FastEthernet 3/2       
Catalyst_R(config-if)#spanning-tree vlan 1 port-priority 64 
Catalyst_R(config-if)#end
Catalyst_R#

Verificar resultado no Catalyst R

Você pode verificar se o valor de prioridade da porta de VLAN 1 foi alterado:

Catalyst_R#show spanning-tree interface FastEthernet 3/1

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19        128.129  P2p 
VLAN0002         Desg FWD 19        128.129  P2p 

Catalyst_R#show spanning-tree interface FastEthernet 3/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19         64.130  P2p 
VLAN0002         Desg FWD 19        128.130  P2p 


Verifique o resultado no Catalyst D

Agora é possível ver no Catalyst D que, para a VLAN 1, a porta 5/1 está bloqueando e a porta 5/2 está encaminhando, conforme esperado.

Catalyst_D#show spanning-tree interface FastEthernet 5/1

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Altn BLK 19        128.129  P2p 
VLAN0002         Root FWD 19        128.129  P2p 

Catalyst_D#show spanning-tree interface FastEthernet 5/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Root FWD 19        128.130  P2p 
VLAN0002         Altn BLK 19        128.130  P2p 

Detalhes sobre os comandos port-priority e vlan port-priority

Há duas maneiras de definir a prioridade da porta VLAN:

  • O valor da prioridade de porta “global” (128 à revelia) que pode ser alterado pela relação pelo comando port-priority

  • “Pelo valor da prioridade de porta VLAN” que pode ser alterado pela relação e pelo VLAN pelo comando VLAN port-priority

Um exemplo esclarece isso. Considere adicionar um terceiro VLAN neste exemplo. À revelia, este VLAN pertence ao grupo que tem o valor da prioridade de porta global (padrão 128).

Catalyst_R#show spanning-tree interface FastEthernet 3/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19         64.130  P2p 
VLAN0002         Desg FWD 19        128.130  P2p 
VLAN0003         Desg FWD 19        128.130  P2p 

Mude a prioridade global para a porta, usando o comando interface configuration da prioridade de porta da medir-árvore:

Catalyst_R(config)#interface FastEthernet 3/2
Catalyst_R(config-if)#spanning-tree port-priority 160
Catalyst_R#
Catalyst_R#show spanning-tree interface FastEthernet 3/2
Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19         64.130  P2p 
VLAN0002         Desg FWD 19        160.130  P2p 
VLAN0003         Desg FWD 19        160.130  P2p 

Observe que todos os VLAN que pertencem ao grupo “global” mudaram sua prioridade a 160. Atribua agora a VLAN3 sua própria prioridade 48 com o comando interface vlan da prioridade de porta da medir-árvore:

Catalyst_R(config)#interface FastEthernet 3/2     
Catalyst_R(config-if)#spanning-tree vlan 3 port-priority 48
Catalyst_R#
Catalyst_R#show spanning-tree interface FastEthernet 3/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19         64.130  P2p 
VLAN0002         Desg FWD 19        160.130  P2p 
VLAN0003         Desg FWD 19         48.130  P2p 

Observe que somente o VLAN3 mudou sua prioridade a 48. Para pôr para trás o VLAN3 no grupo padrão, não use nenhum comando interface vlan da prioridade de porta da medir-árvore:

Catalyst_R(config)#interface FastEthernet 3/2           
Catalyst_R(config-if)#no spanning-tree vlan 3 port-priority 
Catalyst_R#
Catalyst_R#show spanning-tree interface FastEthernet 3/2

Vlan             Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001         Desg FWD 19         64.130  P2p 
VLAN0002         Desg FWD 19        160.130  P2p 
VLAN0003         Desg FWD 19        160.130  P2p 

Conclusão

A configuração do balanceamento de rede de VLAN recém-concluída otimiza o uso de troncos redundantes entre dois Catalysts.

Mantendo o STP padrão avalia ligações todos os enlaces redundantes entre os dois catalizadores para terminar acima no modo de bloqueio. Ajustar a prioridade do STP permite que diversos links sejam usados ao mesmo tempo, para VLAN diferentes. Isto aumenta a largura de banda total disponível entre os dois dispositivos. Em caso de falha de um enlace, o STP despacha novamente os VLANs para os troncos restantes enquanto reconverge.

A única desvantagem deste projeto é que ele só pode ter o tráfego equilibrado por carga com base em VLAN. Se no exemplo anterior, você teve um tráfego VLAN1 correndo através de 130 Mb/s e somente tráfego 10 Mb/s no VLAN2, você ainda deixa cair pacotes no VLAN1, mesmo que você tenha, na teoria, nos 200 Mb/s entre o catalizador R e o catalizador D. A característica de EtherChanneling endereça esta, fornecendo o Balanceamento de carga entre diversos links na por pacote. Se seu hardware suportar, utilize FastEtherchannel (ou GigabitEtherChannel) em vez da configuração descrita neste documento.


Informações Relacionadas


Document ID: 10555