In questo documento viene descritto come impostare i valori DSCP (Differentiated Services Code Point) nelle configurazioni QoS (Quality of Service) su un router Cisco.
È necessario avere familiarità con i campi dell'intestazione IP e con la CLI di Cisco IOS®.
Il documento può essere consultato per tutte le versioni software o hardware.
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.
DiffServ (Differentiated Services) è un'architettura in cui i nodi di rete applicano un trattamento differenziato per hop in base al campo DS (Differentiated Services). Definito nelle RFC 2474 e RFC 2475, lo standard DiffServ sostituisce la specifica originale per definire la priorità dei pacchetti descritta nella RFC 791. Nella RFC 2474, l'ottetto IPv4 Type of Service (ToS) viene ridefinito come campo DS e i sei bit più significativi vengono assegnati al DSCP (Differentiated Services Code Point).
L'architettura DiffServ definisce il campo DiffServ (DS), che sostituisce il campo ToS in IPv4, per prendere decisioni di comportamento per singolo hop, o PHB (Per-Hop Behavior), sulla classificazione del pacchetto e le funzioni di condizionamento del traffico, come metriche, marcatura, modellazione e applicazione di policy.
Le RFC non danno istruzioni su come implementare le decisioni PHB; questa attività rimane responsabilità del fornitore. Cisco implementa tecniche di accodamento in grado di basare le decisioni PHB sulla precedenza IP o sul valore DSCP nell'intestazione IP di un pacchetto. In base al valore DSCP o alla precedenza IP, il traffico può essere inserito in una particolare classe di servizio. I pacchetti classificati nella medesima classe di servizio sono trattati allo stesso modo.
Nota: Alcuni metodi e tecnologie a cui si fa riferimento in questo documento, tra cui Committed Access Rate (CAR), Priority Queuing (PQ), Custom Queuing (CQ), Weighted Fair Queuing (WFQ) basato sull'interfaccia, Frame Relay QoS e classificazione basata sulla precedenza IP, sono considerati legacy sulle piattaforme Cisco correnti. Questo contenuto viene conservato per fornire concetti di base del DSCP e contesto di implementazione cronologico.
Per le implementazioni correnti, esaminare Modular QoS CLI (MQC), class-based policing, Class-Based Weighted Fair Queuing (CBWFQ), Low-Latency Queuing (LLQ) e WRED basato su DSCP. Verificare la disponibilità delle funzionalità e la sintassi dei comandi nella guida alla configurazione per la piattaforma di destinazione e la versione del software.
I sei bit più significativi del campo DS formano il DSCP. Inizialmente, la RFC 2474 indicava i due bit meno significativi come Attualmente inutilizzati (CU), mentre la RFC 3168 li definiva come campo ECN (Explicit Congestion Notification). I router sull'edge della rete classificano i pacchetti e li contrassegnano con la precedenza IP o con il valore DSCP in una rete DiffServ. Altri dispositivi di rete nel core che supportano DiffServ usano il valore DSCP nell'intestazione IP per assegnare una decisione PHB al pacchetto e fornire il servizio QoS appropriato.
Nei diagrammi di questa sezione vengono messi a confronto il byte ToS definito dalla RFC 791 e il campo DiffServ.
Byte ToS
| P2 |
P1 |
P0 |
T2 |
T1 |
T0 |
CU1 |
CU0 |
Ritardo, velocità di trasmissione e affidabilità: tre bit (da T2 a T0)
CU (Currently Unused): due bit (CU1-CU0)
Campo DiffServ
| DS5 | DS4 | DS3 | DS2 | DS1 | DS0 | ECN | ECN |
|---|
ECN: due bit
Il campo DiffServ standardizzato del pacchetto è contrassegnato con un valore in modo che il pacchetto riceva un particolare trattamento di inoltro, o PHB, in ciascun nodo di rete.
Il DSCP predefinito è 000 000 e i DSCP del selettore di classe sono valori compatibili con la precedenza IP. Quando si esegue la conversione tra precedenza IP e DSCP, individuare la corrispondenza dei tre bit più significativi. In altre parole:
IP Prec 5 (101) maps to IP DSCP 101 000
Byte ToS
| 1 | 0 | 1 | T2 | T1 | T0 | CU2 | CU0 |
Campo DiffServ
| 1 | 0 | 1 | 0 | 0 | 0 | ECN | ECN |
|---|
Lo standard DiffServ utilizza gli stessi bit di precedenza (i bit più significativi: DS5, DS4 e DS3) per l'impostazione della priorità, ma chiarisce ulteriormente le definizioni, fornendo una maggiore granularità attraverso l'uso dei tre bit successivi nel DSCP. DiffServ riorganizza e assegna nuovi nomi ai livelli di precedenza (ancora definiti dai tre bit più significativi del DSCP) in queste categorie (i livelli sono spiegati in modo più dettagliato nel documento):
| Livello di precedenza | Descrizione |
|---|---|
| 7 |
Rimane lo stesso (il layer del collegamento e il protocollo di routing rimangono attivi) |
| 6 |
Rimane lo stesso (utilizzato per i protocolli di routing IP) |
| 5 |
Inoltro rapido, o Express Forwarding (EF) |
| 4 |
Classe 4 |
| 3 |
Classe 3 |
| 2 |
Classe 2 |
| 1 |
Classe 1 |
| 0 |
Best-effort |
Con questo sistema, il dispositivo assegna la priorità al traffico anzitutto in base alla classe. Infine, distingue e assegna la priorità al traffico della stessa classe e considera la probabilità di perdita.
Lo standard DiffServ non specifica una definizione precisa di probabilità di perdita bassa, media ed elevata. Non tutti i dispositivi riconoscono le impostazioni DiffServ (DS2 e DS1) e anche quando queste impostazioni sono riconosciute, non attivano necessariamente la stessa azione di inoltro PHB su ogni nodo di rete. Ogni nodo implementa la propria risposta in base alla propria configurazione.
La RFC 2597 definisce l'Assured Forwarding (AF) PHB e lo descrive come un mezzo per un dominio DS provider per offrire diversi livelli di garanzie di inoltro per i pacchetti IP ricevuti da un dominio DS client. La decisione di inoltro garantito riserva una certa larghezza di banda a una classe AF e, se disponibile, consente l'accesso a una larghezza di banda aggiuntiva. Le classi AF disponibili sono quattro, da AF1x a AF4x. All'interno di ogni classe, ci sono tre probabilità di drop. In base a un determinato criterio di rete, i pacchetti possono essere selezionati per un PHB in base a throughput richiesto, ritardo, jitter, perdita o per priorità di accesso ai servizi di rete.
Le classi da 1 a 4 sono denominate classi AF. Nella tabella è illustrato il codice DSCP che specifica la classe AF con la probabilità. I bit DS5, DS4 e DS3 definiscono la classe; i bit DS2 e DS1 specificano la probabilità di drop; il bit DS0 è sempre zero.
| Drop | Classe 1 | Classe 2 | Classe 3 | Classe 4 |
|---|---|---|---|---|
| Bassa |
001010 AF11 DSCP 10 |
010010 AF21 DSCP 18 |
011010 AF31 DSCP 26 |
100010 AF41 DSCP 34 |
| Media |
001100 AF12 DSCP 12 |
010100 AF 22 DSCP 20 |
011100 AF32 DSCP 28 |
100100 AF42 DSCP 36 |
| Alta |
001110 AF13 DSCP 14 |
010110 AF23 DSCP 22 |
011110 AF33 DSCP 30 |
100110 AF43 DSCP 38 |
La RFC 3246, che è obsoleta rispetto alla RFC 2598, definisce l'Expedited Forwarding (EF) PHB. Il PHB EF può essere utilizzato per costruire una bassa perdita, bassa latenza, basso jitter, larghezza di banda garantita, servizio end-to-end attraverso i domini DS (Diffserv). Questo servizio viene visualizzato agli endpoint come una connessione point-to-point o una linea leasing virtuale. Questo servizio è stato anche descritto come un servizio Premium. Il punto di codice EF consigliato è binario 101110, che corrisponde a DSCP 46.
Anche in questo caso, è necessario configurare meccanismi specifici del fornitore per implementare questi PHB. Per ulteriori informazioni su EF PHB, fare riferimento alla RFC 3246.
Il campo DSCP può essere usato con tre finalità:
Classificatore: Selezionare un pacchetto in base al contenuto di alcune parti dell'intestazione del pacchetto e applicare il PHB in base alle caratteristiche del servizio definite dal valore DSCP.
Indicatore: Impostare il campo DSCP in base al profilo di traffico.
Metering: Verificare la conformità al profilo di traffico con la funzione di shaper o dropper.
Il software Cisco IOS considera i bit di precedenza del campo ToS se è presente traffico in coda in WFQ (Weighted Fair Queuing), WRED (Weighted Random Early Detection) o WRR (Weighted Round Robin). I bit di precedenza non vengono considerati quando sono configurate le opzioni Policy Routing, PQ (Priority Queuing), CQ (Custom Queuing) o CBWFQ (Class Based Weighted Fair Queuing). Per ulteriori informazioni, vedere CBWFQ (Class Based Weighted Fair Queuing)
La classificazione dei pacchetti implica l'uso di un descrittore di traffico per classificare un pacchetto all'interno di un gruppo specifico e per renderlo accessibile alla funzionalità QoS che gestisce la rete. Quando si utilizza la classificazione dei pacchetti, è possibile partizionare il traffico di rete in più livelli di priorità o in una classe di servizio (CoS).
È possibile usare gli Access Control List (ACL) o eseguire il comando match nella CLI di QoS modulare per verificare la corrispondenza dei valori DSCP. Dal software Cisco IOS versione 12.1(5)T, è possibile selezionare un valore DSCP nel comando match.
Router1(config)#access-list 101 permit ip any any ? dscp Match packets with given dscp value fragments Check non-initial fragments log Log matches against this entry log-input Log matches against this entry, including input interface precedence Match packets with given precedence value time-range Specify a time-range tos Match packets with given TOS value
Quando si specifica il valore IP dscp nel comando class map, è possibile:
Router(config)#class-map match-all VOIP 1751-uut1(config-cmap)#match ip dscp ? <0-63> Differentiated services codepoint value af11 Match packets with AF11 dscp (001010) af12 Match packets with AF12 dscp (001100) af13 Match packets with AF13 dscp (001110) af21 Match packets with AF21 dscp (010010) af22 Match packets with AF22 dscp (010100) af23 Match packets with AF23 dscp (010110) af31 Match packets with AF31 dscp (011010) af32 Match packets with AF32 dscp (011100) af33 Match packets with AF33 dscp (011110) af41 Match packets with AF41 dscp (100010) af42 Match packets with AF42 dscp (100100) af43 Match packets with AF43 dscp (100110) cs1 Match packets with CS1(precedence 1) dscp (001000) cs2 Match packets with CS2(precedence 2) dscp (010000) cs3 Match packets with CS3(precedence 3) dscp (011000) cs4 Match packets with CS4(precedence 4) dscp (100000) cs5 Match packets with CS5(precedence 5) dscp (101000) cs6 Match packets with CS6(precedence 6) dscp (110000) cs7 Match packets with CS7(precedence 7) dscp (111000) default Match packets with default dscp (000000) ef Match packets with EF dscp (101110) Router1(config-cmap)#match ip dscp af31
Il DSCP può essere impostato sul valore desiderato al margine della rete per consentire ai dispositivi di base di classificare il pacchetto come mostrato nella sezione Classificazione pacchetti e fornire un livello di servizio appropriato. Il Contrassegno pacchetti basato su classi può essere utilizzato per impostare il valore DSCP:
policy-map pack-multimedia-5M
!--- Creates a policy map named pack-multimedia-5M.
class management
!--- Specifies the policy to be created for the !--- traffic classified by class management.
bandwidth 50
set ip dscp 8
!--- Sets the DSCP value of the packets matching !--- class management to 8.
class C1
priority 1248
set ip dscp 40
class voice-signalling
bandwidth 120
set ip dscp 24
Le funzionalità Committed Access Rate e Class-Based Policing sono meccanismi di regolazione del traffico, utilizzati per regolare il flusso del traffico in modo da renderlo conforme ai parametri di servizio concordati. Questi meccanismi, insieme a DSCP, possono essere utilizzati per fornire livelli di servizio diversi che non sono conformi al traffico e lo sono quando modificano in modo appropriato il valore DSCP, come mostrato in questa sezione.
per ulteriori informazioni, fare riferimento Configuring a Traffic Policing and Comparing Class-Based Policing and Committed Access Rate.
interface Serial1/0.1 point-to-point bandwidth 5000 ip address 192.168.126.134 255.255.255.252 rate-limit output access-group 150 8000 1500 2000 conform-action set-dscp-transmit 10 exceed-action set-dscp-transmit 20 !--- For traffic matching access list 150, sets the DSCP value of conforming traffic !--– to 10 and that of non-conforming traffic to 20. rate-limit output access-group 152 8000 1500 2000 conform-action set-dscp-transmit 15 exceed-action set-dscp-transmit 25 rate-limit output access-group 154 8000 1500 2000 conform-action set-dscp-transmit 18 exceed-action set-dscp-transmit 28 frame-relay interface-dlci 17 class shaper-multimedia-5M
La funzionalità WRED (Weighted Random Early Detection) elimina in modo selettivo il traffico con priorità inferiore quando l'interfaccia inizia a diventare congestionata. La funzionalità WRED può fornire prestazioni differenziate per diverse CoS. Questo servizio differenziato può essere basato sul DSCP:
class C2
bandwidth 1750
random-detect dscp-based
!--- Enable dscp-based WRED as drop policy.
random-detect exponential-weighting-constant 7
!--- Specifies the exponential weight factor for the !--- average queue size calculation for the queue.
random-detect dscp 16 48 145 10
!--- Specifies the minimum and maximum queue thresholds !--- for each DSCP value.
random-detect dscp 32 145 435 10
Per ulteriori informazioni, fare riferimento alla sezione WRED conforme a DiffServ in Panorama dei meccanismi per evitare la congestione.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
5.0 |
03-Sep-2026
|
Controllo ortografico/grammaticale aggiornato, inserimento di righe orizzontali per separare le sezioni ai fini della leggibilità, correzione degli errori CCW. |
4.0 |
08-Sep-2025
|
SEO e formattazione aggiornati. |
3.0 |
05-Sep-2024
|
Il titolo era troppo lungo e per qualche motivo la CCW non lo stava contrassegnando.
Correzione di spaziatura/formattazione strana. |
2.0 |
24-Aug-2022
|
Release iniziale |
1.0 |
27-Nov-2001
|
Versione iniziale |