Sommario

Introduzione

Operazioni preliminari

Convenzioni

Prerequisiti

Componenti usati

Introduzione al bilanciamento del carico VLAN tra trunk

Come STP decide quale porta bloccare

Configurazione del bilanciamento del carico VLAN sugli switch Catalyst con CatOS

Dettagli sul comando portvlanpri

Configurazione del bilanciamento del carico VLAN sugli switch Catalyst con IOS integrato

Dettagli sui comandi port-priority e vlan port-priority

Conclusioni

Informazioni correlate

Introduzione

Questo documento offre la teoria del bilanciamento del carico VLAN tra i trunk e fornisce anche esempi di configurazione per gli switch con CatOS e Integrated IOS.

Operazioni preliminari

Convenzioni

Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.

Prerequisiti

Non sono previsti prerequisiti specifici per questo documento.

Componenti usati

Il documento può essere consultato per tutte le versioni software o hardware.

Introduzione al bilanciamento del carico VLAN tra trunk

I comandi menzionati in questo documento sono disponibili sulle famiglie Catalyst 4000, 5000 e 6000 con software CatOS e IOS integrato. Le sezioni teoriche di questo documento sono relative al protocollo Spanning-Tree Protocol (STP) e sono indipendenti dalla piattaforma.

La configurazione mostrata nella figura 1 seguente, in cui due switch sono collegati direttamente tramite più di un trunk, è molto comune ai fini della ridondanza. Se uno dei due collegamenti non riesce, il secondo diventa presto disponibile per trasmettere il traffico. Quando entrambi i collegamenti sono attivi, l'algoritmo spanning-tree (STA) disabilita uno di essi per evitare un loop di bridging tra i due switch.

Nella configurazione della figura 1, con due trunk Fast Ethernet che collegano Catalyst R e Catalyst D, l'STP seleziona la stessa porta di blocco per tutte le VLAN configurate. In questo caso, Catalyst R è il bridge radice e Catalyst D decide di bloccare la porta D2 per entrambe le VLAN 1 e VLAN 2. Il problema principale di questa progettazione è che il collegamento R2-D2 viene semplicemente sacrificato e tra i due switch sono disponibili solo 100 MB/s. Per sfruttare entrambi i collegamenti, è possibile modificare la configurazione e consentire la VLAN 1 solo sul collegamento R1-D1 e la VLAN 2 solo sul collegamento R2-D2.

La rete risultante, illustrata nella figura 2, ha perso la sua ridondanza. Ora è possibile inoltrare entrambi i collegamenti contemporaneamente e in pratica usare 200 Mb/s tra i due switch. Tuttavia, se un collegamento ha esito negativo, la connettività per una VLAN viene completamente interrotta. La soluzione ideale è quella descritta nella figura 3:

Nella figura 3, i trunk vengono conservati tra i due switch, ma la porta D1 blocca la VLAN 1 e inoltra la VLAN 2; la porta D2 blocca la VLAN 2 e inoltra la VLAN 1. Con questo progetto vengono mantenute le migliori funzionalità della figura 1 e della figura 2:

- Entrambi i collegamenti vengono inoltrati, fornendo una connettività aggregata di 200 Mb/s tra i due switch.

- Se un collegamento ha esito negativo, l'altro sblocca la VLAN corrispondente e mantiene la connettività di entrambe le VLAN tra gli switch.

Questo documento spiega come ottenere una tale configurazione, dopo una breve spiegazione delle operazioni STP.

Come STP decide quale porta bloccare

La descrizione dettagliata del funzionamento di STA esula dalle finalità del presente documento. Tuttavia, mostra brevemente in che modo l'algoritmo decide, in questo caso, se una porta viene bloccata o inoltrata. e si concentra sulla configurazione più semplice possibile con una sola VLAN; Catalyst R è il bridge radice in questa VLAN e Catalyst D ha più connessioni ridondanti a Catalyst R. Catalyst D blocca tutte le sue porte a Catalyst R, ma alla sua porta radice. In che modo Catalyst D seleziona la porta radice? Bridge che eseguono unità BPDU (Bridge Protocol Data Unit) di tipo STA sui collegamenti. Tali unità BPDU possono essere classificate in base al contenuto. Una BPDU è superiore a un'altra se ha:

1. ID bridge radice inferiore.

2. Un percorso più economico alla radice.

3. ID bridge di invio inferiore.

4. Un ID porta di invio inferiore.

Questi quattro parametri vengono esaminati in ordine, ovvero il parametro 2 è importante solo se il parametro 1 è lo stesso nelle due BPDU confrontate. La porta selezionata come porta principale sul Catalyst D è la porta che riceve la migliore BPDU.

In questo caso specifico, illustrato nella figura 4, tutti i BPDU inviati da Catalyst R hanno lo stesso ID bridge radice, lo stesso costo di percorso alla radice e lo stesso ID bridge di invio. L'unico parametro rimasto per selezionare quello migliore è l'ID della porta di invio. L'ID porta di invio è un parametro a 16 bit suddiviso in due campi: la priorità della porta e un indice delle porte. Il valore predefinito per la priorità della porta è 32 e l'indice della porta è univoco su ciascuna porta dello switch.

Priorità porta

Indice porta

Dimensioni in bit

6

10

Valore predefinito

32

Valore univoco fisso

La Figura 4 rappresenta il parametro ID porta nelle BPDU. In questo caso, Catalyst D sceglie la porta D1 come porta radice perché l'indice della porta R2 è inferiore a R1. Se si desidera che D2 venga inoltrato, è necessario forzarlo come porta radice. L'unico modo per eseguire questa operazione è ridurre il valore di priorità della porta R2 (o aumentare il valore di priorità della porta R1). Questo è quello che è stato fatto nella figura 5.

Per ottenere il bilanciamento del carico tra due trunk, è necessario regolare la priorità della porta sul Catalyst R sulla base della VLAN.

Configurazione del bilanciamento del carico VLAN sugli switch Catalyst con CatOS

Diagramma lab

Mostra stato STP corrente su Catalyst R

Di seguito è riportato lo stato STP corrente di Catalyst R. Si tratta della radice per entrambe le VLAN 1 e 2, quindi tutte le sue porte sono in inoltro.

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)

Mostra stato STP corrente su Catalyst D

Su Catalyst D, come previsto, la porta 5/2 è bloccata sia per le VLAN 1 che per la VLAN 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)

Regolazione della priorità della porta su Catalyst R

Si sta per diminuire il livello di priorità della porta per la VLAN 1 sulla porta 3/2. In questo modo, la porta 5/2 corrispondente sul Catalyst D riceve BPDU migliori di quelle inviate sulla porta 5/1 (che ha ancora un livello di priorità della porta pari a 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)

Verifica risultato su Catalyst R

È possibile controllare che il livello di priorità della porta sia stato modificato per la VLAN 1:

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)

Risultato del controllo su Catalyst D

Sul Catalyst D, è possibile vedere che, per la VLAN 1, la porta 5/1 è ora bloccata e la porta 5/2 è in inoltro, come previsto.

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)

Dettagli sul comando portvlanpri

Sono disponibili solo due valori possibili per la priorità della porta VLAN per trunk e solo uno di essi può essere configurato utilizzando il comando portvlanpri. Ciò significa che su un determinato trunk, si hanno due gruppi di VLAN:

- Quelli con il valore di priorità della porta "globale" (32 per impostazione predefinita).

- Quelli con un valore "personalizzato" immesso con il comando portvlanpri.

Un esempio chiarisce questo aspetto. Nell'esempio, considerare l'aggiunta di una terza VLAN. Per impostazione predefinita, questa VLAN appartiene al gruppo con il valore di priorità della porta globale (predefinito: 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)

Modificare la priorità globale della porta, utilizzando il 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)

Si noti che tutte le VLAN che appartengono al gruppo "globale" hanno cambiato la priorità a 48. Assegnare ora la VLAN 3 all'altro gruppo "personalizzato" di VLAN, assegnandogli il valore 8 con il 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)

Si noti che tutte le VLAN nel gruppo "personalizzato" hanno cambiato la priorità in 8, non solo la VLAN 3. Per riassegnare la VLAN 3 al gruppo predefinito, usare il 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)

Esiste un ultimo vincolo per questo comando. Il valore assegnato al gruppo "globale" deve essere superiore a quello configurato nel gruppo "personalizzato".

Catalyst_R> (enable) set spantree portvlanpri 3/2 62 3

Portvlanpri must be less than portpri. Portpri for 3/2 is 48.

Per riepilogare:

gruppo "globale"

gruppo "personalizzato"

Per impostazione predefinita, tutte le VLAN appartengono a questo gruppo.

Le VLAN selezionate con il comando set spantree portvlanpri appartengono a questo gruppo.

La priorità per queste VLAN è impostata con il comando set spantree port priority.

Il livello di priorità di tutte queste VLAN è impostato con il comando set spantree portvlanpri.

Il livello di priorità configurato per il gruppo "globale" deve essere superiore a quello configurato per il gruppo "personalizzato".

Il comando clear spantree portvlanpri permette di ripristinare una VLAN da questo gruppo all'altro.

Configurazione del bilanciamento del carico VLAN sugli switch Catalyst con IOS integrato

Nota: questo esempio di configurazione è valido per gli switch con IOS - Catalyst 2900/3500XL, Catalyst 2950, Catalyst 3550, Catalyst 4000 supervisor III/IV e Catalyst 6000.

Diagramma lab

Mostra stato STP corrente su Catalyst R

Di seguito è riportato lo stato STP corrente di Catalyst R. Si tratta della radice per entrambe le VLAN 1 e 2, quindi tutte le sue porte sono in inoltro.

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

Mostra stato STP corrente su Catalyst D

Su Catalyst D, come previsto, la porta 5/2 è bloccata sia per le VLAN 1 che per la VLAN 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

Regolazione della priorità della porta su Catalyst R

Si sta per diminuire il livello di priorità della porta per la VLAN 1 sulla porta 3/2. In questo modo, la porta 5/2 corrispondente sul Catalyst D riceve BPDU migliori di quelle inviate sulla porta 5/1 (che ha ancora un livello di priorità della porta di 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#

Verifica risultato su Catalyst R

È possibile controllare che il livello di priorità della porta sia stato modificato per la VLAN 1:

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

Risultato del controllo su Catalyst D

Sul Catalyst D, è possibile vedere che, per la VLAN 1, la porta 5/1 è ora bloccata e la porta 5/2 è in inoltro, come previsto.

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

Dettagli sui comandi port-priority e vlan port-priority

Per definire la priorità della porta VLAN, è possibile procedere in due modi:

- Il valore di priorità della porta "globale" (128 per impostazione predefinita) che può essere modificato per ciascuna interfaccia con il comando port-priority

- Il valore di priorità della porta "per VLAN" che può essere modificato per interfaccia e per VLAN con il comando VLAN port-priority

Un esempio chiarisce questo aspetto. In questo esempio, è possibile aggiungere una terza VLAN. Per impostazione predefinita, questa VLAN appartiene al gruppo con il valore di priorità della porta globale (predefinito: 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

Modificare la priorità globale della porta, utilizzando il comando di configurazione dell'interfaccia spanning-tree port-priority:

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

Si noti che tutte le VLAN che appartengono al gruppo "globale" hanno cambiato la priorità a 160. Assegnare ora la VLAN 3 alla propria priorità 48 con il comando spanning-tree vlan port-priority interface:

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

Si noti che solo la VLAN 3 ha cambiato la sua priorità in 48. Per riportare la VLAN 3 nel gruppo predefinito, usare il comando no spanning-tree vlan port-priority interface:

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

Conclusioni

La configurazione del bilanciamento del carico VLAN appena completata ottimizza l'uso di trunk ridondanti tra due Catalyst.

Se si mantengono i valori STP predefiniti, tutti i collegamenti ridondanti tra i due Catalyst finiscono in modalità di blocco. Regolando la priorità STP è possibile usare più collegamenti contemporaneamente per VLAN diverse. Ciò aumenta la larghezza di banda complessiva disponibile tra i due dispositivi. In caso di errore di un collegamento, l'STP invia nuovamente le VLAN ai trunk rimanenti durante la riconversione.

L'unico inconveniente di questo progetto è che può bilanciare il carico solo del traffico su una base VLAN. Se nell'esempio precedente il traffico passava attraverso la VLAN 1 a 130 Mb/s e sulla VLAN 2 a soli 10 Mb/s, i pacchetti vengono comunque scartati sulla VLAN 1, anche se in teoria esistono 200 Mb/s tra Catalyst R e Catalyst D. La funzione EtherChanneling affronta questo problema, offrendo il bilanciamento del carico tra diversi collegamenti su una base di pacchetto. Se l'hardware in uso lo supporta, utilizzare FastEtherchannel (o Gigabit EtherChannel) anziché la configurazione descritta in questo documento.

Informazioni correlate

- Pagina di supporto dello Spanning Tree Protocol

- Switch - Supporto dei prodotti

- Supporto della tecnologia di switching LAN

- Documentazione e supporto tecnico – Cisco Systems