La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive le funzionalità QoS degli switch Catalyst 3750, come classificazione, contrassegno, policy, coda e pianificazione.
Cisco raccomanda la conoscenza di questo argomento:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Switch Cisco Catalyst 3750
Software Cisco IOS® versione 12.2(35)SE2
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Con QoS, è possibile fornire un trattamento preferenziale ad alcuni tipi di traffico a spese di altri. È possibile differenziare il traffico utilizzando le etichette QoS. Le due etichette QoS più comunemente utilizzate nell'intestazione IP di layer 3 sono il campo IP precedence e il campo DSCP. L'etichetta QoS nell'intestazione del frame di layer 2 è denominata CoS (Class of Service). Gli strumenti QoS degli switch Catalyst possono fornire il trattamento preferenziale in base alle etichette QoS di livello 3 o 2. In questo documento vengono forniti vari esempi che possono dare un'idea dell'uso delle etichette QoS di layer 2 e layer 3 sugli switch Cisco Catalyst.
QoS è disabilitato per impostazione predefinita sugli switch Catalyst 3750. Mentre QoS è disabilitato, tutti i frame/pacchetti vengono trasmessi allo switch senza essere modificati. Ad esempio, se un frame con CoS 5 e il pacchetto all'interno del frame con DSCP EF entra nello switch, le etichette CoS e DSCP non vengono modificate. Il traffico parte con gli stessi valori CoS e DSCP con cui entra. Tutto il traffico, compresa la voce, viene consegnato con la massima diligenza.
Switch#show mls qos QoS is disabled QoS ip packet dscp rewrite is enabled !--- Even though it says QoS ip packet dscp rewrite is enabled,
!--- the switch does not alter the DSCP label on the packets when
!--- the QoS is disabled.
Dopo aver abilitato la funzione QoS sullo switch 3750, per impostazione predefinita le funzionalità QoS in entrata e in uscita sono poche. Il diagramma mostra la vista di alto livello dell'architettura QoS dello switch:
Questo è un riepilogo dei punti basati sul diagramma:
Le funzioni QoS in ingresso, come la classificazione, la marcatura e l'applicazione di policy, possono essere configurate per singola porta.
Le tabelle delle mappe di input e le code in ingresso possono essere configurate globalmente. Non possono essere configurati per porta.
L'SRR per la coda in entrata può essere configurato globalmente.
La larghezza di banda dell'anello dello stack dipende dal cablaggio dello stack. Se lo stack è connesso con la massima larghezza di banda, si riceve una larghezza di banda di 32 Gbps. Questa larghezza di banda viene condivisa da tutti gli switch dello stack.
Le tabelle delle mappe di output e le code di uscita sono configurate globalmente. È possibile disporre di due set di configurazioni di coda ed è possibile applicare a una porta qualsiasi delle configurazioni del set di code.
L'SRR per la coda di uscita può essere configurato per ogni porta.
In questa sezione vengono illustrati i concetti delle varie configurazioni QoS in entrata possibili. In questa sezione vengono trattati gli argomenti seguenti:
In questo modo lo switch tratta i frame per impostazione predefinita dopo l'abilitazione di QoS:
Un frame entra nella porta dello switch e non ha il frame contrassegnato (significa che la porta è una porta di accesso e il frame entra nello switch senza incapsulamento ISL o dot1q).
Lo switch incapsula il frame con il dot1q (ignorare ISL perché il dot1q è l'impostazione predefinita su tutti i nuovi switch).
All'interno del tag frame dot1q, sono disponibili tre bit denominati 802.1p priority, denominati anche CoS. Questi bit sono impostati su 0.
Quindi, lo switch calcola il valore DSCP in base alla tabella di mappa CoS-DSCP. Come indicato nella tabella, lo switch imposta il valore DSCP su 0. Il valore DSCP si trova nell'intestazione IP del pacchetto.
In breve, i valori CoS e DSCP del frame entrano nello switch impostato su 0 per impostazione predefinita se QoS è abilitato sullo switch.
A differenza dei router, la classificazione QoS e il contrassegno agiscono in modo diverso sugli switch Cisco Catalyst. Sui router Cisco, è possibile classificare i pacchetti con MQC in base al valore DSCP del pacchetto in arrivo o all'elenco di controllo di accesso (ACL). Ciò dipende dall'attendibilità o meno dell'etichetta QoS del pacchetto in arrivo. Nello switch Cisco Catalyst 3750, è possibile classificare i frame in base ai valori CoS/DSCP in arrivo o in base all'ACL.
La configurazione basata sul valore CoS/DSCP in ingresso viene eseguita in tre modi diversi:
Configurazione basata sulle porte con i comandi dell'interfaccia mls qos
Configurazione basata su MQC con mappa delle classi e mappa delle policy
Configurazione basata su VLAN
È possibile utilizzare uno di questi tre metodi. Impossibile utilizzare più metodi in una porta. Ad esempio, è stato configurato il comando mls qos trust cosc su una porta. Quando si configura la porta con il comando service-policy input <policy-map-name>, il comando mls qos trust cos viene rimosso automaticamente.
La sezione Classificazione e contrassegno - Basato sulle porte spiega la configurazione basata sulle porte.
La sezione Classificazione e contrassegno - Basato su MQC spiega la classificazione basata su MQC.
In questa sezione viene illustrata la classificazione basata sulla configurazione specifica dell'interfaccia. È possibile che si verifichi una questione relativa alla classificazione e alla contrassegno del titolo della sezione. Infatti, sullo switch Cisco Catalyst 3750, i valori CoS o DSCP dei frame (pacchetto all'interno del frame) vengono evidenziati con le tabelle delle mappe. Le tabelle di mapping non sono disponibili nei router Cisco. Questi sono disponibili solo sugli switch Cisco Catalyst. Le funzionalità di queste tabelle sono illustrate in questa sezione.
In questa sezione vengono descritte le due configurazioni seguenti:
A un pacchetto o frame in ingresso può già essere assegnata un'etichetta QoS. Queste domande possono sorgere:
L'etichetta QoS del pacchetto/frame in arrivo su una porta è attendibile?
Se un telefono IP e un PC sono collegati a una porta, le etichette QoS del telefono, del PC o di entrambi sono attendibili?
Se non si considerano attendibili le etichette QoS del pacchetto/frame in arrivo, è necessario classificare il pacchetto in base a un elenco degli accessi e contrassegnare l'etichetta QoS. Se si considerano attendibili le etichette QoS del pacchetto/frame in ingresso, è necessario verificare anche il valore CoS o DSCP del pacchetto/frame in ingresso su una porta? Dipende dallo scenario. In questa sezione sono illustrati i diversi scenari con esempi.
Le opzioni di configurazione del trust tra porte sono:
Switch(config-if)#mls qos trust ? cos cos keyword device trusted device class dscp dscp keyword ip-precedence ip-precedence keyword <cr>
Esempio 1:Se la porta è una porta di accesso o una porta di livello 3, è necessario configurare il comando mls qos trust dscp. Non è possibile usare il comando mls qos trust cos perché il frame della porta di accesso o della porta di livello 3 non contiene il tag dot1q o ISL. I bit CoS sono presenti solo nel frame dot1q o ISL.
interface GigabitEthernet1/0/1 description **** Layer 3 Port **** no switchport ip address 192.168.10.1 255.255.255.0 mls qos trust dscp end
interface GigabitEthernet1/0/2 description **** Access Port **** switchport access vlan 10 switchport mode access mls qos trust dscp end
Esempio 2:Se la porta è trunk, è possibile configurare il comando mls qos trust cos o mls qos trust dscp. La tabella di mapping dscp-cos viene utilizzata per calcolare il valore CoS se la porta è configurata per considerare attendibile DSCP. Analogamente, la tabella di mapping cos-dscp viene utilizzata per calcolare il valore DSCP se la porta è configurata per considerare attendibile CoS.
interface GigabitEthernet1/0/3 description **** Trunk Port **** switchport trunk encapsulation dot1q switchport mode trunk switchport trunk native vlan 5 switchport trunk allowed vlan 5,10,20,30,40,50 mls qos trust cos end
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast end !--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice
!--- VLAN traffic.
Esempio 3:se la porta è una porta trunk dot1q e la porta è configurata con il comando mls qos trust cos, i frame VLAN nativi possono avere valori CoS e DSCP come 0. Poiché i frame VLAN nativi non hanno tag e il frame viene tag dopo l'ingresso nello switch, lo switch può impostare il valore CoS predefinito su 0 e la tabella CoS-to-DSCP imposta il valore DSCP su 0.
Nota: Il valore DSCP del pacchetto proveniente dalla VLAN nativa viene reimpostato su 0.
Inoltre, è possibile configurare la porta dello switch in modo che il valore CoS predefinito dei frame senza tag venga modificato da 0 a qualsiasi altro valore compreso tra 0 e 7 con il comando mls qos cos <0-7>. Questo comando non modifica i valori CoS dei frame con tag.
Ad esempio, la porta Gigabit Ethernet1/0/12 è configurata con accesso VLAN 10 e voce VLAN 20.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast !--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice
!--- VLAN traffic. Voice VLAN is only supported on access ports and not
!--- on trunk ports, even though the configuration is allowed. end
Per impostazione predefinita, il PC invia i dati senza tag. Il traffico senza tag proveniente dal dispositivo collegato al Cisco IP Phone passa attraverso il telefono senza essere modificato, a prescindere dallo stato di attendibilità della porta di accesso del telefono. Il telefono invia frame con tag dot1q con ID VLAN voce 20. Pertanto, se si configura la porta con il comando mls qos trust cos, i valori CoS dei frame vengono considerati attendibili dal telefono (frame con tag) e il valore CoS dei frame (senza tag) dal PC viene impostato su 0. In seguito, la tabella mappa CoS-DSCP imposta il valore DSCP del pacchetto all'interno del frame su 0, in quanto la tabella mappa CoS-DSCP ha il valore DSCP 0 per il valore CoS 0. Se i pacchetti dal PC hanno un valore DSCP specifico, il valore può essere reimpostato su 0. Se si configura il comando mls qos cos 3 sulla porta, il valore CoS di tutti i frame del PC viene impostato su 3 e non viene modificato il valore CoS dei frame del telefono.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos mls qos cos 3 spanning-tree portfast end
Se la porta viene configurata con il comando mls qos cos 3 override, i valori CoS di tutti i frame (sia con tag che senza tag) vengono impostati su 3. Il comando ignora i valori di attendibilità configurati in precedenza.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos mls qos cos 3 override !--- Overrides the mls qos trust cos. !--- Applies CoS value 3 on all the incoming packets on both
!--- the vlan 10 and 20. spanning-tree portfast end
Esempio 4:Ad esempio, guardate la configurazione della porta gi 1/0/12:
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast end
Se il PC assegna un tag al frame con VLAN 20, imposta anche il valore CoS su 5. Lo switch elabora il traffico di dati con tag (traffico nei tipi di frame IEEE 802.1Q o IEEE 802.1p) proveniente dal dispositivo collegato alla porta di accesso sul telefono IP Cisco. Poiché l'interfaccia è configurata in modo da considerare attendibile il valore CoS, tutto il traffico ricevuto tramite la porta di accesso sul telefono IP Cisco passa attraverso il telefono senza modifiche. Lo switch inoltre considera attendibile il traffico proveniente dal PC e assegna la stessa priorità del traffico telefonico IP. Questo non è un risultato desiderabile. Per evitare questo problema, usare il comando switchport priority extend cos<cos-value>.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos switchport priority extend cos 0 !--- Overrides the CoS value of PC traffic to 0. spanning-tree portfast end
Il comando switchport priority extend cos <cos-value> configura il telefono in modo che il telefono IP modifichi il valore CoS del traffico PC a 0.
Esempio 5: nella stessa interfaccia, ad esempio, un utente collega il PC direttamente allo switch e contrassegna i dati del PC con un frame dot1q con un valore CoS superiore. Per evitare questo problema, usare il comando mls qos trust device cisco-phone.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos switchport priority extend cos 0 mls qos trust device cisco-phone !--- Specify that the Cisco IP Phone is a trusted device. spanning-tree portfast end
Esempio 6:Ad esempio, nell'interfaccia Gigabit Ethernet 1/0/12, è necessario considerare attendibili le etichette QoS del PC. Inoltre, il PC è connesso alla VLAN nativa 10. In questo caso, il comando mls qos trust cos non aiuta perché il pacchetto PC non contrassegna il valore CoS. Viene applicato solo il tag al valore DSCP. Pertanto, lo switch aggiunge il frame dot1q e configura il valore predefinito del CoS su 0. Quindi, la tabella CoS-DSCP calcola e reimposta il valore del DSCP su 0.
Per risolvere questo problema, sono disponibili due opzioni. È possibile configurare la classificazione e il contrassegno con MQC. È possibile creare un ACL che corrisponda al traffico del PC in base agli indirizzi IP di origine e di destinazione e ai numeri delle porte di origine e di destinazione. Quindi, è possibile far corrispondere questo ACL in class-map. È possibile creare una mappa dei criteri per considerare attendibile il traffico. Questa soluzione viene discussa nella sezione successiva. In questa sezione viene illustrato il secondo metodo. Il secondo metodo consiste nell'considerare attendibile l'etichetta DSCP anziché l'etichetta CoS. L'etichetta DSCP-CoS calcola e imposta il valore CoS corrispondente al valore DSCP.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust dscp spanning-tree portfast end
Il primo metodo è quello preferito in quanto non è consigliabile considerare attendibili tutte le etichette QoS del traffico PC.
Dopo l'attivazione di QoS, le tabelle di mapping vengono create con i valori predefiniti e attivate.
Distribution1#show mls qos maps cos-dscp Cos-dscp map: cos: 0 1 2 3 4 5 6 7 -------------------------------- dscp: 0 8 16 24 32 40 48 56 Distribution1#show mls qos maps dscp-cos Dscp-cos map: d1 : d2 0 1 2 3 4 5 6 7 8 9 --------------------------------------- 0 : 00 00 00 00 00 00 00 00 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 03 03 03 03 03 03 3 : 03 03 04 04 04 04 04 04 04 04 4 : 05 05 05 05 05 05 05 05 06 06 5 : 06 06 06 06 06 06 07 07 07 07 6 : 07 07 07 07
Esempio 1: se la porta è configurata per considerare attendibile il CoS, tutti i valori del CoS in ingresso sono considerati attendibili e i valori del DSCP vengono contrassegnati in base alla tabella CoS-DSCP. In base alla configurazione predefinita CoS-DSCP, i valori vengono mappati come mostrato di seguito:
CoS | DSCP (decimale) | DSCP |
---|---|---|
0 | 0 | Predefinito |
1 | 8 | CS1 |
2 | 16 | CS2 |
3 | 24 | CS3 |
4 | 32 | CS4 |
5 | 40 | CS5 |
6 | 48 | CS6 |
7 | 56 | CS7 |
È importante notare che il valore DSCP corrisponde al valore CoS 5, ovvero CS5. Nell'esempio 2 viene illustrato questo valore.
Esempio 2:Ad esempio, l'interfaccia Gigabit Ethernet1/0/12 è configurata per considerare attendibile il CoS.
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast end
Il telefono IP Cisco contrassegna il payload vocale con CoS 5 e DSCP EF quando invia il traffico allo switch. Quando il traffico entra sulla porta Gi 1/0/12, lo switch considera attendibile il valore CoS. Quindi, lo switch deriva il valore DSCP CS5 (40) per il valore CoS 5 dalla tabella CoS-DSCP. Tutti i payload vocali con CoS 5 sono contrassegnati con il valore DSCP CS5. Questo non è il valore desiderato. Il valore DSCP richiesto per il payload vocale è DSCP EF. Per impostazione predefinita, gli altri valori CoS dei valori DSCP vengono mappati correttamente in base alle RFC.
Questa configurazione consente di configurare la tabella mappa CoS-DSCP per modificare il valore DSCP EF corrispondente a CoS 5.
Distribution1(config)#mls qos map cos-dscp 0 8 16 24 32 46 48 56 !--- DSCP 46 is EF
Dopo questa configurazione, i valori vengono mappati come mostrato di seguito:
CoS | DSCP (decimale) | DSCP |
---|---|---|
0 | 0 | Predefinito |
1 | 8 | CS1 |
2 | 16 | CS2 |
3 | 24 | CS3 |
4 | 32 | CS4 |
5 | 46 | EF |
6 | 48 | CS6 |
7 | 56 | CS7 |
Esempio 3: se la porta è configurata per considerare attendibile DSCP, tutti i valori DSCP in ingresso sono attendibili e i valori CoS vengono contrassegnati in base alla tabella DSCP-CoS. In base alla configurazione predefinita di DSCP-CoS, i valori vengono mappati come mostrato di seguito:
DSCP | DSCP (decimale) | CoS |
---|---|---|
Predefinito | 0-7 | 0 |
CS1 AF11 AF12 AF13 | 8-15 | 1 |
CS2 AF21 AF22 AF23 | 16-23 | 2 |
CS3 AF31 AF32 AF33 | 24-31 | 3 |
CS4 AF41 AF42 AF43 | 32-39 | 4 |
EF CS5 | 40-47 | 5 |
CS6 | 48-55 | 6 |
CS7 | 56-63 | 7 |
Non è necessario modificare questi valori predefiniti.
Nella tabella seguente vengono riepilogati i valori DSCP e CoS a scopo di riferimento:
DSCP (Decimale) | DSCP | CoS |
---|---|---|
0 | Predefinito | 0 |
8 | CS1 | 1 |
10 | AF11 | 1 |
12 | AF12 | 1 |
14 | AF13 | 1 |
16 | CS2 | 2 |
18 | AF21 | 2 |
20 | AF22 | 2 |
22 | AF23 | 2 |
24 | CS3 | 3 |
26 | AF31 | 3 |
28 | AF32 | 3 |
30 | AF33 | 3 |
32 | CS4 | 4 |
34 | AF41 | 4 |
36 | AF42 | 4 |
38 | AF43 | 4 |
40 | CS5 | 5 |
42 | 5 | |
44 | 5 | |
46 | EF | 5 |
48 | CS6 | 6 |
56 | CS7 | 7 |
Nota: In una rete, tutti gli switch Cisco Catalyst devono avere tabelle mappe identiche. Valori diversi della tabella di corrispondenza in switch diversi causano comportamenti QoS indesiderati.
Come spiegato nella sezione Classificazione e contrassegno, è possibile utilizzare MQC per classificare e contrassegnare il pacchetto. È possibile utilizzare MQC anziché la configurazione specifica della porta. È inoltre possibile contrassegnare i pacchetti in ingresso con il mapping dei criteri.
I requisiti di questo esempio sono:
Valori CoS del traffico telefonico IP attendibili.
Contrassegnare il valore DSCP dei pacchetti dell'applicazione softphone dal PC collegato al telefono IP.
Non considerare attendibile tutto il resto del traffico proveniente dal PC.
Il diagramma mostra che all'input di un'interfaccia è associata una mappa dei criteri. Non è possibile applicare una mappa delle policy all'output di alcuna interfaccia nello switch Catalyst 3750. La configurazione successiva rappresenta il diagramma. L'attenzione di questa sezione non si concentra sulla parte in coda della funzionalità QoS. La sezione si concentra solo sul MQC applicato all'interfaccia.
Si presume che la VLAN dati sia 10 e l'indirizzo subnet sia 172.16.10.0/24. La VLAN voce è 100 e l'indirizzo subnet è 192.168.100.0/24.
!--- Section A Distribution1(config)#ip access-list extended voice-traffic Distribution1(config-std-nacl)#permit ip 192.168.100.0 0.0.0.255 any Distribution1(config-std-nacl)#ip access-list extended database-application Distribution1(config-ext-nacl)#permit tcp any any eq 1521 Distribution1(config-ext-nacl)#permit tcp any any eq 1810 Distribution1(config-ext-nacl)#permit tcp any any eq 2481 Distribution1(config-ext-nacl)#permit tcp any any eq 7778 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-A Distribution1(config-cmap)#match access-group name voice-traffic Distribution1(config-cmap)#exit Distribution1(config)#class-map Class-B Distribution1(config-cmap)#match access-group name database-application Distribution1(config-cmap)#exit !--- Section B Distribution1(config)#policy-map sample-policy1 Distribution1(config-pmap)#class Class-A Distribution1(config-pmap-c)#trust cos Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#class Class-B Distribution1(config-pmap-c)#set dscp af21 Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#exit !--- Section C Distribution1(config)#interface gigabitEthernet 1/0/13 Distribution1(config-if)#switchport access vlan 10 Distribution1(config-if)#switchport mode access Distribution1(config-if)#switchport voice vlan 100 Distribution1(config-if)#spanning-tree portfast Distribution1(config-if)#service-policy input sample-policy1 Distribution1(config-if)#exit
Sezione A:
Classifica il traffico telefonico IP nella classe A. Il telefono IP appartiene alla VLAN vocale e ha un indirizzo IP nella subnet 192.168.100.0.
Classifica il traffico dell'applicazione di database nella classe B. Il traffico PC (in realtà qualsiasi traffico secondo la configurazione) destinato a una destinazione con i numeri di porta 1521, 1810, 2481, 7778 è classificato nella mappa di classe B.
Sezione B:
Il traffico corrispondente alla classe A è configurato per considerare attendibile l'etichetta CoS. Ciò significa che i valori CoS di tutto il traffico proveniente dal telefono IP sono attendibili. Come mostrato nel diagramma, il valore DSCP viene derivato dalla tabella di corrispondenza CoS-DSCP per il traffico di classe A.
Il traffico corrispondente alla classe B è configurato in modo da impostare il valore DSCP su AF21. Come mostrato nel diagramma, il valore DCoS deriva dalla tabella di mappa DSCP-CoS per il traffico di classe B.
Le configurazioni di ciascuna classe di mappa delle policy sono denominate azioni PHB. Contrassegno, accodamento, policy, modellazione e prevenzione delle congestioni sono le azioni PHB supportate nei router Cisco. Contrassegno e controllo sono le uniche azioni PHB supportate nello switch Cisco Catalyst 3750.
Distribution1(config)#policy-map test Distribution1(config-pmap)#class test Distribution1(config-pmap-c)#? QoS policy-map class configuration commands: exit Exit from QoS class action configuration mode no Negate or set default values of a command police Police service-policy Configure QoS Service Policy set Set QoS values trust Set trust value for the class <cr>
I comandi set e trust consentono di contrassegnare le azioni PHB. È possibile configurare l'azione set o trust PHB. Non è possibile configurare entrambe le azioni in una classe di mappa dei criteri. È tuttavia possibile configurare set in una classe e trusting in un'altra classe nello stesso mapping dei criteri.
Il comando Police è l'azione Policing PHB. Questa operazione viene descritta in dettaglio nella sezione successiva.
Il shaping non è supportato sugli switch Cisco Catalyst 3750. Le code e la prevenzione delle congestioni sono supportate nello switch Cisco Catalyst 3750, ma non è possibile configurarle con MQC. Le configurazioni per l'accodamento e la prevenzione della congestione sono illustrate in dettaglio più avanti in questo documento.
Sezione C:
La mappa dei criteri può essere applicata solo all'input sull'interfaccia. Quando si applica all'interfaccia di output, viene visualizzato questo messaggio di errore:
Distribution1(config)#interface gigabitethernet 1/0/3 Distribution1(config-if)#service-policy output test Warning: Assigning a policy map to the output side of an interface not supported Service Policy attachment failed Warning: Assigning a policy map to the output side of an interface not supported
Se sulla porta gi 1/0/3 sono configurati altri metodi di classificazione QoS, ad esempio basati sulla porta o sulla VLAN, tali configurazioni vengono rimosse quando si applica la mappa dei criteri. Ad esempio, la porta Gi 1/0/13 è configurata per considerare attendibile il CoS, come mostrato di seguito:
interface GigabitEthernet1/0/13 description **** Access Port **** switchport access vlan 10 switchport mode access switchport voice vlan 100 mls qos cos 3 mls qos trust cos spanning-tree portfast
Quando si applica la mappa dei criteri all'interfaccia, il comando trust viene rimosso.
Distribution1(config)#interface gigabitethernet 1/0/13 Distribution1(config-if)#service-policy input sample-policy1 Distribution1(config-if)#do show run int gi 1/0/13 Building configuration... Current configuration : 228 bytes ! interface GigabitEthernet1/0/13 description **** Access Port **** switchport access vlan 10 switchport mode access switchport voice vlan 100 service-policy input sample-policy1 !--- It replaces the mls qos trust or mls qos
!--- vlan-based command. mls qos cos 3 !--- This command is not removed. spanning-tree portfast end
è possibile visualizzare l'input service-policy che sostituisce solo il comando mls qos trust o mls qos vlan-based. Non modifica gli altri comandi, ad esempio i comandi mls qos cos o mls qos dscp-mutation. In sintesi, sostituisce il comando QoS classification e non i comandi QoS marking.
Nella mappa delle policy, vengono visualizzate solo due mappe classi. La classe A corrisponde al traffico telefonico IP, mentre la classe B corrisponde al traffico dell'applicazione del database proveniente dal PC. Tutto il resto del traffico PC (ad eccezione delle applicazioni di database definite nell'elenco degli accessi) viene classificato nella classe predefinita della mappa dei criteri. Si tratta di un traffico catch-all che intercetta il traffico che non corrisponde alle mappe di classe definite associate alla mappa dei criteri. Pertanto, il traffico che appartiene alla classe predefinita non è considerato attendibile dalla porta e i pacchetti vengono impostati con le etichette CoS e DSCP predefinite su 0. È possibile configurare in modo da impostare qualsiasi valore CoS o DSCP predefinito su questo traffico classe predefinito.
È possibile impostare il valore DSCP predefinito utilizzando MQC. Il valore CoS viene derivato dalla tabella di mapping DSCP-CoS.
Distribution1(config)#policy-map sample-policy1 Distribution1(config-pmap)#class class-default Distribution1(config-pmap-c)#set dscp af13 Distribution1(config-pmap-c)#exit
È possibile impostare il valore CoS predefinito, come illustrato di seguito. Il valore DSCP è derivato dalla tabella di mapping CoS-DSCP.
Distribution1(config)#interface gigabitethernet 1/0/13 Distribution1(config-if)#mls qos cos 3 Distribution1(config-if)#do show run int gi 1/0/13 Building configuration... Current configuration : 228 bytes ! interface GigabitEthernet1/0/13 description **** Access Port **** switchport access vlan 10 switchport mode access switchport voice vlan 100 service-policy input sample-policy1 mls qos cos 3 spanning-tree portfast
Impostare la priorità massima sul traffico
Nell'esempio, la configurazione viene usata per impostare la priorità massima al traffico proveniente dalla porta TCP 1494.
Al traffico VOIP deve essere assegnato un valore DSCP di EF:
!--- Classifying all traffic coming with dscp value of EF
!--- under this class-map. Switch(config)#class-map match-all AutoQoS-VoIP-RTP-Trust Switch(config-cmap)#match ip dscp ef Switch(config)#policy-map AutoQoS-Police-CiscoPhone Switch(config-pmap)#class AutoQoS-VoIP-RTP-Trust !--- Again setting the dscp value back to EF. Switch(config-pmap-c)#set dscp ef Switch(config-pmap-c)#police 320000 8000 exceed-action policed-dscp-transmit
Al traffico proveniente da TCP 1494 deve essere assegnato il valore DSCP CS4:
Switch(config)#access-list 100 permit tcp eq 1494 Switch(config)#class-map tcp Switch(config-cmap)#match access-group 100 Switch(config)#policy-map AutoQoS-Police-CiscoPhone Switch(config-pmap)#class tcp Switch(config-pmap-c)#set dscp cs4
Tutto il resto del traffico deve essere assegnato alla CS3:
Switch(config)# access-list 200 permit ip any any Switch(config)# class-map default Switch(config-cmap)# match access-group 200 Switch(config)#policy-map AutoQoS-Police-CiscoPhone Switch(config-pmap)#class default Switch(config-pmap-c)#set dscp cs3
Applicarlo nelle interfacce appropriate:
Switch(config)#interfaceSwitch(config-if)#service-policy
Sullo switch Cisco Catalyst 3750, il controllo può essere configurato solo sulla porta in entrata. È possibile configurare i criteri solo tramite MQC. Questo significa che non esiste un comando specifico dell'interfaccia per controllare il traffico. È possibile configurare i criteri nella mappa dei criteri e applicarla utilizzando solo il comando service-policy input <policy-name> . Non è possibile applicare una mappa dei criteri al lato di output di un'interfaccia.
Distribution1(config-if)#service-policy output test police command is not supported for this interface Configuration failed! Warning: Assigning a policy map to the output side of an interface not supported.
In questa sezione vengono trattati i seguenti argomenti:
In questa sezione viene illustrata la configurazione di policy che riduce il traffico eccessivo. Il policing misura il traffico in entrata e mantiene la velocità in entrata fino ai bit configurati al secondo. Lo switch Cisco Catalyst 3750 supporta solo policy a singola velocità e singolo bucket. Ciò significa che i misuratori di commutazione funzionano a una sola velocità e possono tracciare il profilo del traffico in due colori conformi e superiori all'azione. Nel diagramma è illustrato un esempio di policy-map2 con tre class-map.
I requisiti di questo esempio sono:
Polizia ftp, pop3, imap traffico a 10Mbps.
Considerare attendibile il valore DSCP dei pacchetti applicativi di Communicator IP provenienti dal PC connesso al telefono IP. È inoltre necessario controllare il traffico a 1 Mbps.
Contrassegnare e controllare l'applicazione del filnet.
Questa configurazione rappresenta il mapping dei criteri indicato nel diagramma:
!--- Create Access-list and Class map Class-A Distribution1(config)#ip access-list extended BULK-DATA Distribution1(config-ext-nacl)#permit tcp any any eq ftp Distribution1(config-ext-nacl)#permit tcp any any eq ftp-data Distribution1(config-ext-nacl)#permit tcp any any eq pop3 Distribution1(config-ext-nacl)#permit tcp any any eq 143 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-A Distribution1(config-cmap)#match access-group name BULK-DATA Distribution1(config-cmap)#exit !--- Create Access-list and Class map Class-B Distribution1(config)#ip access-list extended IP-Communicator Distribution1(config-ext-nacl)#remark *** Voice Payload *** Distribution1(config-ext-nacl)#permit udp any any range 16384 32767 Distribution1(config-ext-nacl)#remark *** Voice Signalling *** Distribution1(config-ext-nacl)#permit tcp any any range 2000 2002 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-B Distribution1(config-cmap)#match access-group name IP-Communicator Distribution1(config-cmap)#exit !--- Create Access-list and Class map Class-C Distribution1(config)#ip access-list extended application Distribution1(config-ext-nacl)#remark *** Application for example *** Distribution1(config-ext-nacl)#permit tcp any any eq 32768 Distribution1(config-ext-nacl)#permit udp any any eq 32768 Distribution1(config-ext-nacl)#permit tcp any any eq 32769 Distribution1(config-ext-nacl)#permit udp any any eq 32769 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-C Distribution1(config-cmap)#match access-group name application Distribution1(config-cmap)#exit !--- Create Policy map Distribution1(config-cmap)#policy-map sample-policy2 Distribution1(config-pmap)#class Class-A Distribution1(config-pmap-c)#police 10000000 8000 exceed-action drop Distribution1(config-pmap-c)#class Class-B Distribution1(config-pmap-c)#trust dscp Distribution1(config-pmap-c)#police 256000 8000 exceed-action drop Distribution1(config-pmap-c)#class Class-C Distribution1(config-pmap-c)#set dscp CS2 Distribution1(config-pmap-c)#police 25000000 8000 exceed-action drop Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#exit !--- Apply Policy map to the interface Distribution1(config)#interface GigabitEthernet1/0/20 Distribution1(config-if)#service-policy input sample-policy2
La configurazione nella mappa dei criteri viene spiegata di seguito:
Classe A: il traffico che corrisponde alla Classe A viene controllato alla velocità di 10 Mbps. Le etichette QoS nel traffico di classe A non sono attendibili. I valori CoS e DSCP sono contrassegnati come 0. I pacchetti in eccesso vengono scartati dal policer.
Classe-B:Sul traffico che corrisponde alla Classe B vengono eseguite due azioni PHB. Una è la fiducia, l'altra è la vigilanza. Il valore DSCP per il traffico di classe B è attendibile. Il valore CoS può essere derivato dalla tabella DSCP-CoS. Infine, il traffico di Classe B viene controllato alla velocità di 256 Kbps. I pacchetti in eccesso vengono scartati dal policer.
Classe-C:Sul traffico corrispondente alla Classe B vengono eseguite due azioni PHB. Uno è il contrassegno, l'altro è la sorveglianza. I pacchetti in ingresso che corrispondono alla classe C sono contrassegnati dal valore DSCP CS2 e il valore CoS deriva dalla tabella DSCP-CoS che è 2. Il traffico di classe C viene quindi controllato alla velocità di 25 Mbps. I pacchetti in eccesso vengono scartati dal policer.
In questa sezione viene illustrata la configurazione di policy che contrassegna e trasmette il traffico eccessivo. In questo diagramma viene illustrato un esempio di policy-map3 con due class-map:
Lo switch contrassegna il traffico che supera la velocità di policing configurata in base ai valori della tabella di mappa DSCP con policy. La mappa DSCP con criteri viene utilizzata solo quando è configurata nella configurazione di criteri. La tabella di mapping predefinita DSCP con criteri è elencata di seguito:
Distribution1(config)#do show mls qos map policed-dscp Policed-dscp map: d1 : d2 0 1 2 3 4 5 6 7 8 9 --------------------------------------- 0 : 00 01 02 03 04 05 06 07 08 09 1 : 10 11 12 13 14 15 16 17 18 19 2 : 20 21 22 23 24 25 26 27 28 29 3 : 30 31 32 33 34 35 36 37 38 39 4 : 40 41 42 43 44 45 46 47 48 49 5 : 50 51 52 53 54 55 56 57 58 59 6 : 60 61 62 63
Da questa tabella è possibile verificare che i valori DSCP corrispondenti sono uguali. Ad esempio, DSCP 34 è mappato a DSCP 34. Il traffico conforme alla frequenza del policer viene trasmesso senza modificare il valore DSCP. Il traffico che supera la velocità del policer può essere trasmesso con un valore DSCP diverso. È ad esempio possibile contrassegnare il parametro con il valore DSCP che ha maggiori probabilità di essere eliminato.
Se si utilizzano i valori predefiniti di policed-DSCP, non ha senso utilizzare il policing. Ad esempio, è stato configurato per controllare il traffico alla velocità di 10 Mbps. Il valore DSCP del pacchetto in arrivo è CS4. Se si mantiene il valore DSCP predefinito, il traffico conforme a 10 Mbps viene trasmesso con il valore DSCP CS2. Inoltre, il traffico che supera i 10 Mbps viene trasmesso con il valore DSCP CS2. Ciò è dovuto al fatto che i valori predefiniti della mappa DSCP con policy mappano gli stessi valori. Pertanto, si consiglia di configurare la tabella di mappa DSCP sottoposta a policy in modo appropriato per differenziare i valori DSCP.
I requisiti di questo esempio sono:
Configurare la tabella di mapping DSCP con criteri per il mapping:
EF su AF31
Da CS3 a AF13
Da CS2 a AF11
Considerare attendibili i valori DSCP dei pacchetti IP Communicator e controllarli a 256 Kbps. Se il traffico supera i 256 Kbps, osservare i valori DSCP utilizzando la tabella di mapping DSCP con policy.
Contrassegnare e controllare l'applicazione del filnet. Se il traffico supera i 25 Mbps, annotare i valori DSCP utilizzando la tabella delle mappe DSCP con policy.
Questa configurazione rappresenta il mapping dei criteri indicato nel diagramma:
!--- Policed DSCP table Configuration Distribution1(config)#mls qos map policed-dscp 46 to 26 Distribution1(config)#mls qos map policed-dscp 24 to 14 Distribution1(config)#mls qos map policed-dscp 16 to 10 !--- Create Access-list and Class map Class-A Distribution1(config)#ip access-list extended IP-Communicator Distribution1(config-ext-nacl)#remark *** Voice Payload *** Distribution1(config-ext-nacl)#permit udp any any range 16384 32767 Distribution1(config-ext-nacl)#remark *** Voice Signalling *** Distribution1(config-ext-nacl)#permit tcp any any range 2000 2002 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-A Distribution1(config-cmap)#match access-group name IP-Communicator Distribution1(config-cmap)#exit !--- Create Access-list and Class map Class-C Distribution1(config)#ip access-list extended application Distribution1(config-ext-nacl)#remark *** Application for example *** Distribution1(config-ext-nacl)#permit tcp any any eq 32768 Distribution1(config-ext-nacl)#permit udp any any eq 32768 Distribution1(config-ext-nacl)#permit tcp any any eq 32769 Distribution1(config-ext-nacl)#permit udp any any eq 32769 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-B Distribution1(config-cmap)#match access-group name application Distribution1(config-cmap)#exit !--- Create Policy map Distribution1(config-cmap)#policy-map sample-policy3 Distribution1(config-pmap-c)#class Class-A Distribution1(config-pmap-c)#trust dscp Distribution1(config-pmap-c)#police 256000 8000 exceed-action policed-dscp-transmit Distribution1(config-pmap-c)#class Class-B Distribution1(config-pmap-c)#set dscp CS2 Distribution1(config-pmap-c)#police 25000000 8000 exceed-action policed-dscp-transmit Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#exit !--- Apply Policy map to the interface Distribution1(config)#interface GigabitEthernet1/0/21 Distribution1(config-if)#service-policy input sample-policy3
La configurazione nella mappa dei criteri viene spiegata di seguito:
Policed-DSCP:Nella tabella delle mappe Policed-DSCP sono stati modificati tre valori.
EF su AF31
Da CS3 a AF13
Da CS2 a AF11
I primi due valori vengono modificati in base ai tipi di traffico classificati nelle mappe di classe A e di classe B.
Classe A: il payload vocale e il controllo vocale dal softphone sono classificati nella mappa di classe Classe A. Il traffico del payload vocale ha il valore DSCP di EF e il controllo vocale ha il valore DSCP di CS3. Secondo la configurazione della mappa dei criteri, questi valori DSCP sono attendibili. Il traffico viene controllato alla velocità di 256 Kbps. Il traffico che soddisfa questa velocità può essere inviato con il valore DSCP in ingresso. Il traffico che supera questa velocità può essere segnalato dalla tabella DSCP sottoposta a policy e trasmesso. La tabella DSCP controllata può indicare l’EF su AF31 e l’CS3 su AF13 secondo i valori configurati. I valori CoS corrispondenti possono quindi essere derivati dalla tabella DSCP-CoS.
Classe-B: i pacchetti in ingresso che corrispondono alla Classe-B sono contrassegnati con il valore DSCP CS2. Il traffico di Classe-B viene controllato alla velocità di 25 Mbps. Il traffico conforme a questa velocità può essere inviato con il valore DSCP pari a 2 e il valore CoS viene derivato dalla tabella DSCP-CoS pari a 2. Il traffico che supera questa velocità può essere segnalato dalla tabella DSCP sottoposta a policy e trasmesso. La tabella DSCP controllata può indicare EF su AF31 e CS3 su AF13 secondo i valori configurati. I valori CoS corrispondenti possono quindi essere derivati dalla tabella DSCP-CoS.
La gestione e la prevenzione delle congestioni sono un processo in tre fasi. I passaggi sono accodamento, eliminazione e pianificazione. L'accodamento posiziona i pacchetti nelle diverse code software basate sulle etichette QoS. Lo switch Cisco Catalyst 3750 ha due code in entrata. Dopo aver classificato il traffico e averlo contrassegnato con etichette QoS, è possibile assegnarlo a due code diverse in base alle etichette QoS.
Il WTD (Weighted tail drop) viene utilizzato per gestire le lunghezze della coda e per fornire le precedenza di rilascio per diverse classificazioni del traffico.
Sia le code in entrata che quelle in uscita vengono servite da SRR, che controlla la velocità di invio dei pacchetti. Sulle code in entrata, SRR invia i pacchetti all'anello dello stack. SRR può funzionare in due modalità denominate "shaping" e "shared". Per le code in entrata, la condivisione è la modalità predefinita ed è l'unica modalità supportata. In modalità condivisa, le code condividono la larghezza di banda tra di esse in base ai pesi configurati. La larghezza di banda è garantita a questo livello, ma non limitata.
In questa sezione vengono illustrati tre tipi di configurazione.
Per configurarli, sono disponibili i seguenti comandi:
Distribution1(config)#mls qos srr-queue input ? !--- Queueing buffers Configure buffer allocation cos-map Configure cos-map for a queue id dscp-map Configure dscp-map for a queue id !--- Scheduling bandwidth Configure SRR bandwidth priority-queue Configure priority scheduling !--- Dropping threshold Configure queue tail-drop thresholds
Questo output mostra l'etichetta QoS predefinita per il mapping della coda. Ogni coda può supportare tre livelli di soglia. Per impostazione predefinita, ogni supporto di coda ha un solo valore di soglia che è 100%.
Configurazione mappa coda predefinita:
I pacchetti con CoS 5 (DSCP da 40 a 47) vengono inseriti nella coda 2. I pacchetti rimanenti vengono inseriti nella coda 1.
Distribution1#show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-1 1-1 1-1 1-1 1-1 2-1 1-1 1-1 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Questa tabella rappresenta il mapping predefinito CoS/DSCP alla coda di input:
CoS | DSCP | Coda in ingresso |
---|---|---|
0 | Da 0 a 7 | 1 |
1 | Da 8 a 15 | 1 |
2 | da 16 a 23 | 1 |
3 | da 24 a 31 | 1 |
4 | da 32 a 39 | 1 |
5 | da 40 a 47 | 2 |
6 | Da 48 a 55 | 1 |
7 | Da 56 a 63 | 1 |
Configurazione coda predefinita:
Il buffer della coda in ingresso è condiviso al 90% dalla coda 1 e al 10% dalla coda 2. I livelli di soglia 1, 2 e 3 sono al 100%.
Distribution1#show mls qos input-queue Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
Configurazione predefinita scheduler:
La coda 2 è la coda di priorità. Il servizio SRR gestisce la coda di priorità per il peso configurato, ovvero il 10%. In seguito, SRR condivide il resto della larghezza di banda (90%) con le code in entrata e le serve come specificato dai pesi configurati. In questo caso, la coda 1 e la coda 2 vengono servite alla velocità del 45% ciascuna.
Distribution1#show mls qos input-queue Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
Per configurare la coda e la pianificazione, è necessario eseguire tre passaggi. Le fasi sono:
Configurazione mappa coda:
La configurazione della mappa di coda mappa i pacchetti alle due code in entrata in base ai valori DSCP o CoS.
Configurazione coda:
La configurazione delle code definisce il rapporto (allocare la quantità di spazio) con cui dividere i buffer in entrata tra le due code.
Configurazione utilità di pianificazione:
SRR configura il rapporto tra i pesi che controlla la frequenza di rimozione dei pacchetti dalle code all'anello dello stack.
Le configurazioni della coda e dell'utilità di pianificazione controllano la quantità di dati che è possibile memorizzare nel buffer prima che i pacchetti vengano scartati.
In questa sezione, i livelli di rilascio WTD non sono configurati. Questo significa che i pacchetti possono essere scartati se la coda è al 100%.
Configurazione mappa coda:
I valori CoS vengono innanzitutto mappati alle code. In questa sezione i valori di soglia non sono configurati.
!--- Assign the frames into the queue based on the CoS value. Distribution1(config)#mls qos srr-queue input cos-map queue 1 0 1 Distribution1(config)#mls qos srr-queue input cos-map queue 2 2 3 4 5 6 7 !--- Show output. Distribution1#show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-1 1-1 2-1 2-1 2-1 2-1 2-1 2-1 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Il conflitto è visibile nelle mappe Cos-inputq-threshold e Dscp-inputq-threshold. Ad esempio, CoS 3 viene mappato alla coda 2 nella tabella Cos-inputq-threshold. Tuttavia, il valore DSCP 24 (che corrisponde a CoS 3) viene mappato alla coda 1 nella mappa Dscp-inputq-threshold. In realtà, la mappa soglia Dscp-inputq ha la precedenza sulla mappa soglia Cos-inputq. Tali mappature devono essere il più possibile coerenti per garantire un comportamento prevedibile e semplificare la risoluzione dei problemi. Pertanto, la mappa Dscp-inputq-threshold è configurata per la sincronizzazione con la mappa Cos-inputq-threshold.
!--- Assign the frames into the queue based on the DSCP value. Distribution1(config)#mls qos srr-queue input dscp-map queue 2 16 17 18 19 20 21 22 23 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 24 25 26 27 28 29 30 31 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 32 33 34 35 36 37 38 39 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 48 49 50 51 52 53 54 55 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 56 57 58 59 60 61 62 63 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 02-01 02-01 02-01 02-01 2 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 3 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 5 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 6 : 02-01 02-01 02-01 02-01
Configurazione coda:
Cisco IOS alloca lo spazio predefinito nel buffer per mettere in coda i pacchetti in entrata dopo l'abilitazione di QoS. Le code in ingresso, coda 1 e coda 2, condividono lo spazio del buffer. Nello switch Catalyst 3750, è possibile configurare la percentuale di spazio del buffer che può essere utilizzata da ciascuna coda. Il 67% della memoria totale disponibile per la coda in entrata viene allocato alla coda 1 e il 33% alla coda 2.
Distribution1(config)#mls qos srr-queue input buffers 67 33 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
Configurazione utilità di pianificazione:
Questa configurazione viene eseguita con il comando themqos srr-queue input bandwidthcommand. In questo caso, la larghezza di banda indica la quantità di bit serviti da SRR nelle code.
Distribution1(config)#mls qos srr-queue input bandwidth 90 10 Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 90 10 priority : 0 20 threshold1: 100 100 threshold2: 100 100
Per impostazione predefinita, la coda 2 è la coda di priorità e il 10% della larghezza di banda totale dell'anello interno viene allocato alla coda di priorità. È inoltre possibile configurare la coda 1 come coda di priorità. Tuttavia, non è possibile configurare entrambe le code come coda di priorità.
Se la larghezza di banda dell'anello è pari a 10 Gbps, il 20% dei 10 Gbps verrà utilizzato per la coda 2, ovvero 2 Gbps. Il resto della larghezza di banda dell'anello a 8 Gb/s è condiviso dalla coda 1 e dalla coda 2. In base alla configurazione, la coda 1 viene servita al 90% di 8 Gb/s e la coda 2 viene servita di nuovo al 10% di 8 Gb/s. Questa larghezza di banda a 8 Gb/s è gestita da SRR in modalità condivisa. Ciò significa che le percentuali di larghezza di banda configurate sono garantite ma non limitate.
Nota: È possibile disabilitare la coda di priorità con il comando mls qos srr-queue input priority-queue 2 bandwidth 0.
Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 90 10 priority : 0 0 threshold1: 100 100 threshold2: 100 100 Distribution1(config)#
In questa sezione, i livelli di soglia WTD sono configurati in aggiunta alla dimensione del buffer della coda. È possibile assegnare ogni pacchetto che passa attraverso lo switch a una coda e a una soglia.
Ecco gli esempi di configurazione e le relative spiegazioni:
Configurazione mappa coda:
Innanzitutto, i valori CoS vengono mappati alle code.
!--- Assign the frames into the queue based on the CoS value. Distribution1(config)#mls qos srr-queue input cos-map queue 1 threshold 2 1 Distribution1(config)#mls qos srr-queue input cos-map queue 1 threshold 3 0 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 1 2 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 2 4 6 7 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 3 3 5 !--- Show output. Distribution1(config)#do show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-3 1-2 2-1 2-3 2-2 2-3 2-2 2-2 Distribution1(config)#do show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Il conflitto è visibile nelle mappe Cos-inputq-threshold e Dscp-inputq-threshold. Ad esempio, CoS 3 viene mappato alla coda 2 nella tabella Cos-inputq-threshold, ma il valore DSCP 24 (che corrisponde a CoS 3) viene mappato alla coda 1 nella mappa Dscp-inputq-threshold. In realtà, la mappa soglia Dscp-inputq ha la precedenza sulla mappa soglia Cos-inputq. Tali mappature devono essere il più possibile coerenti per garantire un comportamento prevedibile e semplificare la risoluzione dei problemi. Pertanto, la mappa Dscp-inputq-threshold è configurata per la sincronizzazione con la mappa Cos-inputq-threshold.
!--- Assign the frames into the queue based on the DSCP value. Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 2 9 10 11 12 13 14 15 Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 0 1 2 3 4 5 6 7 Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 32 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 1 16 17 18 19 20 21 22 23 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 33 34 35 36 37 38 39 48 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 49 50 51 52 53 54 55 56 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 57 58 59 60 61 62 63 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31 Distribution1(config)#do show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-01 01-02 1 : 01-02 01-02 01-02 01-02 01-02 01-02 02-01 02-01 02-01 02-01 2 : 02-01 02-01 02-01 02-01 02-03 02-03 02-03 02-03 02-03 02-03 3 : 02-03 02-03 01-03 02-02 02-02 02-02 02-02 02-02 02-02 02-02 4 : 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-02 02-02 5 : 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 6 : 02-02 02-02 02-02 02-02
Configurazione coda:
Per impostazione predefinita, la soglia 3 è 100% e non può essere modificata.
Distribution1(config)#mls qos srr-queue input buffers 67 33 Distribution1(config)#mls qos srr-queue input threshold 1 8 16 Distribution1(config)#mls qos srr-queue input threshold 2 34 66 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 4 4 priority : 0 10 threshold1: 8 34 threshold2: 16 66
Configurazione utilità di pianificazione:
Dopo aver abilitato la funzione QoS, Cisco IOS alloca lo spazio predefinito nel buffer per ciascuna porta in entrata. Entrambe le code condividono questo spazio di buffer. Nello switch Catalyst 3560/3750, è possibile configurare la percentuale di spazio del buffer che può essere utilizzata da ciascuna coda.
Distribution1(config)#mls qos srr-queue input bandwidth 90 10 Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 90 10 priority : 0 20 threshold1: 8 34 threshold2: 16 66
Per impostazione predefinita, la coda 2 è la coda di priorità e il 10% della larghezza di banda totale dell'anello interno viene allocato alla coda di priorità. È inoltre possibile configurare la coda 1 come coda di priorità. Tuttavia, non è possibile configurare entrambe le code come coda di priorità.
Se la larghezza di banda dell'anello è di 10 Gb/s, il 20% dei 10 Gb/s viene utilizzato per la coda 2, ovvero 2 Gb/s. La larghezza di banda dell'anello di 8 Gb/s rimanente viene condivisa dalla coda 1 e dalla coda 2. In base alla configurazione, la coda 1 viene servita al 90% di 8 Gb/s e la coda 2 viene servita di nuovo al 10% di 8 Gb/s. Questa larghezza di banda a 8 Gb/s è gestita da SRR in modalità condivisa. Ciò significa che le percentuali di larghezza di banda configurate sono garantite ma non limitate.
Nota: È possibile disabilitare la coda di priorità con il comando mls qos srr-queue input priority-queue 2 bandwidth 0.
Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 90 10 priority : 0 0 threshold1: 100 100 threshold2: 100 100 Distribution1(config)#
La gestione e la prevenzione delle congestioni sono le funzionalità QoS in uscita supportate dagli switch Cisco Catalyst 3750. La gestione e la prevenzione delle congestioni sono un processo in tre fasi. I passaggi sono accodamento, eliminazione e pianificazione.
L'accodamento posiziona i pacchetti nelle diverse code software basate sulle etichette QoS. Lo switch Cisco Catalyst 3750 ha 4 code in uscita, 3 soglie per coda. Dopo aver classificato il traffico e averlo contrassegnato con etichette QoS, è possibile assegnarlo a quattro code diverse in base alle etichette QoS.
Ogni coda può essere configurata con le dimensioni del buffer, la soglia riservata, i livelli di soglia e la soglia massima. Il WTD (Weighted tail drop) viene utilizzato per gestire le lunghezze della coda e per fornire le precedenza di rilascio per diverse classificazioni del traffico. I parametri della coda in ingresso sono configurati globalmente. I parametri della coda in ingresso non sono per porta. Tuttavia, i parametri della coda di uscita sono configurati per porta. Anche in questo caso, la configurazione è per porta. Non è possibile configurare ciascuna porta in modo diverso. È possibile configurare ciascuna porta in due modi diversi. Questo tipo di impostazione è denominato set di code. È possibile configurare un massimo di due set di code diversi nella configurazione globale. Quindi, è possibile applicare uno di questi due insiemi all'interfaccia.
Sia le code in entrata che quelle in uscita vengono servite da SRR, che controlla la velocità di invio dei pacchetti. Sulle code in entrata, SRR invia i pacchetti all'anello dello stack. SRR può funzionare in due modalità denominate "shaping" e "shared". Per le code in entrata, la condivisione è la modalità predefinita ed è l'unica modalità supportata. In modalità condivisa, le code condividono la larghezza di banda tra di esse in base ai pesi configurati. La larghezza di banda è garantita a questo livello, ma non limitata. Nella modalità con forma, alle code in uscita viene garantita una percentuale della larghezza di banda e la loro velocità è limitata a tale quantità. Il traffico con forma non utilizza più della larghezza di banda allocata anche se il collegamento è inattivo. La funzione Shaping assicura un flusso del traffico più uniforme nel tempo e riduce i picchi e le valli di traffico bursty. La coda 1 può essere configurata come coda di priorità.
In questa sezione vengono classificati tutti i comandi QoS in uscita disponibili.
Configurazione mappa coda:
Per mappare i valori CoS alle code in uscita:
Rack1SW1(config)#mls qos srr-queue output cos-map queue ? <1-4> enter cos-map output queue id Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold ? <1-3> enter cos-map threshold id Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 1 ? <0-7> 8 cos values separated by spaces
Per mappare i valori DSCP alle code in uscita:
Rack1SW1(config)#mls qos srr-queue output dscp-map queue ? <1-4> enter dscp-map output queue id Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1 threshold ?
<1-3> enter dscp-map threshold id Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1threshold 1 ?
<0-63> dscp values separated by spaces (up to 8 values total)
Configurazione coda:
La configurazione della coda di uscita consente di configurare due set di code. Ogni set di code dispone dell'opzione per configurare le dimensioni del buffer e il valore di soglia per le quattro code in uscita. Quindi, è possibile applicare uno qualsiasi dei set di code a una qualsiasi delle porte. Per impostazione predefinita, il set di code 1 viene assegnato a tutte le porte quando si abilita QoS sullo switch.
Rack1SW1(config)#mls qos queue-set output ? <1-2> queue-set id Rack1SW1(config)#mls qos queue-set output 1 ? buffers assign buffers to each egress queue threshold Assign threshold values to a queue
Per configurare le dimensioni del buffer per tutte e quattro le code di uscita:
Rack1SW1(config)#mls qos queue-set output 1 buffers ? <0-99> enter buffer percentage for queue 1 0-99 Rack1SW1(config)#mls qos queue-set output 1 buffers 10 ? <1-100> enter buffer percentage for queue 2 1-100 (includes CPU buffer) Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 ? <0-99> enter buffer percentage for queue 3 0-99 Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 30 ? <0-99> enter buffer percentage for queue 4 0-99
Per configurare due valori di soglia, valori di soglia riservati e massimi per ciascuna coda (la soglia 3 è 100% per impostazione predefinita e non può essere modificata):
Rack1SW1(config)#mls qos queue-set output 1 threshold ? <1-4> enter queue id in this queue set Rack1SW1(config)#mls qos queue-set output 1 threshold 1 ? <1-400> enter drop threshold1 1-400 Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 ? <1-400> enter drop threshold2 1-400 Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60 ? <1-100> enter reserved threshold 1-100 Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60 100 ?
<1-400> enter maximum threshold 1-400
Per applicare il set di code all'interfaccia (per impostazione predefinita, il set di code 1 è assegnato a tutte le porte quando si abilita qos sullo switch):
Rack1SW1(config-if)#queue-set ? <1-2> the qset to which this port is mapped
Configurazione utilità di pianificazione:
Sono disponibili tre configurazioni diverse per l'interfaccia dello switch. Le configurazioni sono relative alla forma della larghezza di banda, alla condivisione e al limite. È inoltre possibile configurare la coda di uscita 1 come coda di priorità. Se la coda di priorità è abilitata, SRR la gestisce finché non è vuota prima di servire le altre tre code. Tuttavia, nella coda di priorità in entrata, SRR gestisce la coda di priorità con il valore configurato.
Rack1SW1(config-if)#srr-queue bandwidth ? limit Configure bandwidth-limit for this interface shape Configure shaping on transmit queues share Configure shared bandwidth Rack1SW1(config-if)#priority-queue ? out egress priority queue
Configurazione limite larghezza di banda:
Rack1SW1(config-if)#srr-queue bandwidth limit ? <10-90> enter bandwidth limit for interface as percentage
Configurazione forma larghezza di banda:
Rack1SW1(config-if)#srr-queue bandwidth shape ? <0-65535> enter bandwidth weight for queue id 1 Rack1SW1(config-if)#srr-queue bandwidth shape 10 ? <0-65535> enter bandwidth weight for queue id 2 Rack1SW1(config-if)#srr-queue bandwidth shape 10 20 ? <0-65535> enter bandwidth weight for queue id 3 Rack1SW1(config-if)#srr-queue bandwidth shape 10 20 30 ? <0-65535> enter bandwidth weight for queue id 4
Configurazione condivisione larghezza di banda:
Rack1SW1(config-if)#srr-queue bandwidth share ? <1-255> enter bandwidth weight for queue id 1 Rack1SW1(config-if)#srr-queue bandwidth share 10 ? <1-255> enter bandwidth weight for queue id 2 Rack1SW1(config-if)#srr-queue bandwidth share 10 20 ? <1-255> enter bandwidth weight for queue id 3 Rack1SW1(config-if)#srr-queue bandwidth share 10 20 30 ? <1-255> enter bandwidth weight for queue id 4
Tutte e quattro le code partecipano all'SRR a meno che la coda di priorità non sia abilitata, nel qual caso il peso della prima larghezza di banda viene ignorato e non viene utilizzato nel calcolo del rapporto. La coda di priorità viene servita fino a quando non è vuota prima che vengano servite le altre code. Per abilitare la coda di priorità, usare il comando di configurazione dell'interfaccia priority-queue-out.
Configurazione mappa coda predefinita
Questi mapping predefiniti possono essere modificati in base alle proprie esigenze:
!--- Map CoS to Egress Queue Distribution1#show mls qos maps cos-output-q Cos-outputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 2-1 2-1 3-1 3-1 4-1 1-1 4-1 4-1 !--- Map DSCP to Egress Queue Distribution1#show mls qos maps dscp-output-q Dscp-outputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01 2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01 5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 6 : 04-01 04-01 04-01 04-01
Configurazione coda predefinita
Le impostazioni predefinite della coda di uscita sono adatte alla maggior parte delle situazioni. È necessario modificarle solo se si ha una conoscenza approfondita delle code in uscita e se queste impostazioni non soddisfano la soluzione QoS.
Sono configurati due set di code e il set di code 1 è assegnato a tutte le porte per impostazione predefinita. A ogni coda viene allocato il 25% dello spazio totale del buffer. Ogni coda è riservata al 50% dello spazio allocato nel buffer, ovvero il 12,5% dello spazio totale del buffer. La somma di tutti i buffer riservati rappresenta il pool riservato e i buffer rimanenti fanno parte del pool comune. La configurazione predefinita imposta il 400% come memoria massima che la coda può avere prima che i pacchetti vengano scartati.
Distribution1#show mls qos queue-set 1 Queueset: 1 Queue : 1 2 3 4 ---------------------------------------------- buffers : 25 25 25 25 threshold1: 100 200 100 100 threshold2: 100 200 100 100 reserved : 50 50 50 50 maximum : 400 400 400 400 Distribution1#show mls qos queue-set 2 Queueset: 2 Queue : 1 2 3 4 ---------------------------------------------- buffers : 25 25 25 25 threshold1: 100 200 100 100 threshold2: 100 200 100 100 reserved : 50 50 50 50 maximum : 400 400 400 400 Distribution1#show mls qos int gigabitEthernet 1/0/20 buffers GigabitEthernet1/0/20 The port is mapped to qset : 1 The allocations between the queues are : 25 25 25 25
Configurazione predefinita scheduler:
La coda di priorità è disabilitata. Sia la modalità con forma che quella condivisa sono configurate per l'SRR. I pesi della modalità con forma sostituiscono il valore della modalità condivisa. Di conseguenza, il risultato netto è la coda 1 viene servita in modalità con forma e le code 2, 3 e 4 vengono servite in modalità condivisa. Ciò significa che la coda 1 viene servita con un valore assoluto pari a (1/25) percento, o al 4 percento, della larghezza di banda. Le code 2, 3 e 4 vengono servite al 25% della larghezza di banda. Se la larghezza di banda è disponibile, le code 2, 3 e 4 possono essere servite a più del 25% della larghezza di banda.
Distribution1#show mls qos int gigabitEthernet 1/0/20 queueing GigabitEthernet1/0/20 Egress Priority Queue : disabled Shaped queue weights (absolute) : 25 0 0 0 Shared queue weights : 25 25 25 25 The port bandwidth limit : 100 (Operational Bandwidth:100.0) The port is mapped to qset : 1
Ecco alcuni esempi di configurazione:
Configurazione mappa coda:
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 3 5 Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 1 2 4 Rack1SW1(config)#mls qos srr-queue output cos-map queue 2 threshold 2 3 Rack1SW1(config)#mls qos srr-queue output cos-map queue 2 threshold 3 6 7 Rack1SW1(config)#mls qos srr-queue output cos-map queue 3 threshold 3 0 Rack1SW1(config)#mls qos srr-queue output cos-map queue 4 threshold 3 1
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1 threshold 3 46 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 16 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 18 20 22 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 25 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 32 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 34 36 38 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 2 24 26 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 3 48 56 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 3 threshold 3 0 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 4 threshold 1 8 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 4 threshold 3 10 12 14
Configurazione coda:
Questa configurazione mostra la configurazione dei set di code 1 e 2. Per impostazione predefinita, il set di code 1 viene applicato a tutte le interfacce.
Rack1SW3(config)#mls qos queue-set output 1 buffers 10 10 26 54 Rack1SW3(config)#mls qos queue-set output 2 buffers 16 6 17 61
Rack1SW3(config)#mls qos queue-set output 1 threshold 2 70 80 100 100 Rack1SW3(config)#mls qos queue-set output 1 threshold 4 40 100 100 100 Rack1SW3(config)#mls qos queue-set output 2 threshold 1 149 149 100 149 Rack1SW3(config)#mls qos queue-set output 2 threshold 2 118 118 100 235 Rack1SW3(config)#mls qos queue-set output 2 threshold 3 41 68 100 272 Rack1SW3(config)#mls qos queue-set output 2 threshold 4 42 72 100 242
Rack1SW3(config)#interface fastethernet 1/0/11 Rack1SW3(config-if)#queue-set 2
L'interfaccia 1/0/11 viene applicata con il set di code 2.
Rack1SW3(config-if)#do show mls qos interface fastethernet 1/0/10 buffers FastEthernet1/0/10 The port is mapped to qset : 1 The allocations between the queues are : 10 10 26 54 Rack1SW3(config-if)#do show mls qos interface fastethernet 1/0/11 buffers FastEthernet1/0/11 The port is mapped to qset : 2 The allocations between the queues are : 16 6 17 61
Configurazione utilità di pianificazione:
Rack1SW3(config-if)#srr-queue bandwidth share 1 75 25 5 Rack1SW3(config-if)#srr-queue bandwidth shape 3 0 0 0
La coda di uscita Cisco Catalyst 3750 non supporta LLQ (Low Latency Queueing). Supporta l'accodamento delle priorità. Quando si configura priority-queue out, la coda 1 viene sempre servita quando ha un pacchetto.
Rack1SW3(config-if)#srr-queue bandwidth share 1 75 25 5 Rack1SW3(config-if)#srr-queue bandwidth shape 3 0 0 0 Rack1SW3(config-if)#priority-queue out
Quando si configura questo comando, le proporzioni del peso SRR e delle dimensioni della coda vengono modificate perché è presente una coda in meno che partecipa a SRR. Ciò significa che weight1 nella forma larghezza di banda della coda srr o nel comando srr-queue-bandwidth share viene ignorato (non utilizzato nel calcolo del rapporto).
Questo è il comando per visualizzare i rilasci in code specifiche:
Passaggio 1:
1/ #show platform pm if-numbers
Usare il comando show platform pm if-number e controllare le informazioni sulla porta che corrispondono all'interfaccia (questa è l'interfaccia in uscita sullo switch 3750). Ad esempio, fas 0/3 può essere la porta 0/4. Keep 4 as port value; se il primo valore è diverso da zero, assegnare il numero di base dopo il numero di porta.
interface gid gpn lpn port slot unit slun port-type lpn-idb gpn-idb ------------------------------------------------------------------------ --------- Gi0/1 1 1 25 0/1 1 1 1 local Yes Yes Gi0/2 2 2 26 0/0 1 2 2 local Yes Yes Fa0/1 3 3 1 0/2 1 1 3 local Yes Yes Fa0/2 4 4 2 0/3 1 2 4 local Yes Yes Fa0/3 5 5 3 0/4 1 3 5 local Yes Yes Fa0/4 6 6 4 0/5 1 4 6 local Yes Yes Fa0/5 7 7 5 0/6 1 5 7 local Yes Yes Fa0/6 8 8 6 0/7 1 6 8 local Yes Yes
Il valore della porta che corrisponde all'interfaccia fa 0/3 è 0/4. A questo punto, è possibile verificare le perdite nella coda dell'interfaccia fa 0/3 con il comando show platform port-asic status drop port 4.
2/ #show platform port-asic stats drop port 4 Port-asic Port Drop Statistics - Summary ======================================== RxQueue 0 Drop Stats: 0 RxQueue 1 Drop Stats: 0 RxQueue 2 Drop Stats: 0 RxQueue 3 Drop Stats: 0 ... Port 4 TxQueue Drop Statistics Queue 0 Weight 0 Frames 0 Weight 1 Frames 0 Weight 2 Frames 0 Queue 1 Weight 0 Frames 0 Weight 1 Frames 2755160 <--- Here is an example of drops Weight 2 Frames 0 Queue 2 Weight 0 Frames 0 Weight 1 Frames 0 Weight 2 Frames 0 Queue 3 Weight 0 Frames 0 Weight 1 Frames 0 Weight 2 Frames 8
Passaggio 2:
Configurazione limite larghezza di banda:
Per limitare l'output massimo su una porta, configurare il comando srr-queue bandwidth limit interface configuration. Se si configura questo comando con un valore pari all'80%, la porta risulterà inattiva il 20% delle volte. La velocità della linea scende all'80% della velocità connessa. Questi valori non sono esatti perché l'hardware regola la velocità della linea con incrementi di sei. Questo comando non è disponibile su un'interfaccia Ethernet da 10 Gigabit.
srr-queue bandwidth limit weight1
dove weight1 è la percentuale della velocità della porta alla quale la porta deve essere limitata. L'intervallo è compreso tra 10 e 90.
Nota: Le impostazioni predefinite della coda di uscita sono adatte alla maggior parte delle situazioni. È necessario modificarle solo se si ha una conoscenza approfondita delle code in uscita e se queste impostazioni non soddisfano la soluzione QoS (Quality of Service).
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
31-May-2023 |
Certificazione |
1.0 |
17-May-2007 |
Versione iniziale |