Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Panoramica di QoS

Cisco Catalyst 3750 Switch senza QoS

Funzioni QoS dello switch Cisco Catalyst 3750

Funzioni QoS in ingresso

Configurazione QoS in entrata predefinita

Classificazione e contrassegno

Classificazione e contrassegno - Basato sulle porte

Classificazione - Configurazione trust tra porte

Contrassegno - Configurazione tabelle mappe QoS

Classificazione e contrassegno - Basato su MQC

Traffic policing

Classificazione, contrassegno e controllo (azione superiore - rilascio)

Classificazione, contrassegno e policy (azione da non superare - trasmissione dscp da parte di policy)

Gestione e prevenzione delle congestioni

Configurazione predefinita di accodamento, eliminazione e pianificazione

Accodamento e pianificazione

Accodamento, eliminazione e pianificazione

Funzioni QoS in uscita

Comandi QoS in uscita

Configurazione predefinita

Accodamento, eliminazione e pianificazione

Informazioni correlate

Introduzione

Questo documento descrive le funzionalità QoS degli switch Catalyst 3750, come classificazione, contrassegno, policy, coda e pianificazione.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza di questo argomento:

- Configurazione di QoS.

Componenti usati

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.

Convenzioni

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

Panoramica di QoS

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.

Utilizzo di etichette QoS layer 2 e layer 3 sugli switch Cisco Catalyst

Cisco Catalyst 3750 Switch senza QoS

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.

Funzioni QoS dello switch Cisco Catalyst 3750

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:

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.

Funzioni QoS in ingresso

In questa sezione vengono illustrati i concetti delle varie configurazioni QoS in entrata possibili. In questa sezione vengono trattati gli argomenti seguenti:

- Configurazione QoS in entrata predefinita

- Classificazione e contrassegno

- Traffic policing

- Gestione e prevenzione delle congestioni

Configurazione QoS in entrata predefinita

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.

Classificazione e contrassegno

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.

Classificazione e contrassegno - Basato sulle porte

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:

- Classificazione - Configurazione trust tra porte

- Contrassegno - Configurazione tabelle mappe QoS

Classificazione e contrassegno - Basato sulle porte

Classificazione - Configurazione trust tra porte

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 ingresso, è 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, la porta considera attendibili i valori CoS dei frame del telefono (frame con tag) e imposta il valore CoS dei frame (senza tag) dal PC su 0.

Successivamente, la tabella delle mappe CoS-DSCP imposta il valore DSCP del pacchetto all'interno del frame su 0, in quanto il valore DSCP della tabella delle mappe CoS-DSCP è 0 per il valore CoS 0.

Se i pacchetti provenienti dal PC hanno un valore DSCP specifico, quel valore può essere reimpostato su 0. Se si configura il comando mls qos cos 3 sulla porta, il valore CoS di tutti i frame provenienti dal PC viene impostato su 3 e non modifica il valore CoS dei frame provenienti dal 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.

Contrassegno - Configurazione tabelle mappe QoS

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.

Classificazione e contrassegno - Basato su MQC

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.

Classificazione e contrassegno - Basato su MQC

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.

1. 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

2. 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

3. 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

4. Applicarlo nelle interfacce appropriate:

Switch(config)#interface

Switch(config-if)#service-policy

Traffic policing

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:

- Classificazione, contrassegno e controllo (azione superiore - rilascio)

- Classificazione, contrassegno e policy (azione da non superare - trasmissione dscp da parte di policy)

Classificazione, contrassegno e controllo (azione superiore - rilascio)

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.

Sorveglianza (azione superata)

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.

Classificazione, contrassegno e policy (azione da non superare - trasmissione dscp da parte di policy)

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:

Policing (azione eccedente, policed-dscp-transmission)

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.

Gestione e prevenzione delle congestioni

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.

- Configurazione predefinita di accodamento, eliminazione e pianificazione

- Accodamento e pianificazione

- Accodamento, eliminazione e pianificazione

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

Configurazione predefinita di accodamento, eliminazione e pianificazione

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%.

Accodamento, eliminazione e pianificazione predefiniti

- 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

Accodamento e pianificazione

Per configurare la coda e la pianificazione, è necessario eseguire tre passaggi. Le fasi sono:

1. Configurazione mappa coda:

La configurazione della mappa di coda mappa i pacchetti alle due code in entrata in base ai valori DSCP o CoS.

2. 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.

3. 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 delle code e dell'utilità di pianificazione controllano la quantità di dati che è possibile memorizzare nel buffer prima che i pacchetti vengano scartati.

Accodamento e pianificazione

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)#

Accodamento, eliminazione e pianificazione

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.

Accodamento, eliminazione e pianificazione

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)#

Funzioni QoS in uscita

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à.

Comandi QoS in uscita

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 predefinita

Configurazione mappa coda predefinita

Accodamento, eliminazione e pianificazione predefiniti 2

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

Schema di allocazione buffer predefinito

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

Accodamento, eliminazione e pianificazione

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).

Informazioni correlate

- Configurazione di QoS

- Switch Cisco Catalyst serie 3750 - Documentazione di supporto

- Supporto dei prodotti wireless

- Supporto tecnico Cisco e download