Introduzione
In questo documento viene descritto come impostare i valori DSCP (Differentiated Services Code Point) nelle configurazioni QoS (Quality of Service) su un router Cisco.
Prerequisiti
Requisiti
È necessario avere familiarità con i campi dell'intestazione IP e di Cisco IOS®CLI.
Componenti usati
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.
Convenzioni
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Premesse
Differentiated Services (DiffServ) è un nuovo modello di gestione del traffico che usa sistemi intermedi con priorità relative in base al tipo di servizi, o ToS (Type of Services). Definito nelle RFC 2474 e 2475, lo standard DiffServ sostituisce la specifica originale per definire la priorità del pacchetto descritta nella RFC 791. DiffServ aumenta il numero di livelli di priorità definibili quando rialloca i bit di un pacchetto IP per contrassegnarlo come priorità.
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 determinano il modo in cui implementare i PHB; questa è 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.
Valore DSCP
I sei bit più significativi del campo DiffServ sono chiamati DSCP (Differentiated Services Code Point). Gli ultimi due bit attualmente inutilizzati (CU) nel campo DiffServ non sono stati definiti all'interno dell'architettura del campo DiffServ; sono ora utilizzati come bit 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 viene mostrato un confronto tra il byte ToS definito dalla RFC 791 e il campo DiffServ.
Byte ToS
P2 |
P1 |
P0 |
T2 |
T1 |
T0 |
CU1 |
CU0 |
-
Precedenza IP: tre bit (da P2 a P0)
-
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 |
-
DSCP: sei bit (DS5-DS0)
-
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, su ciascun nodo della rete.
Il valore predefinito di DSCP è 000 000. I DSCP del selettore di classi sono valori compatibili con le versioni precedenti di IP Precedence. 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
Campo DiffServ
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 in modo preciso cosa debba intendersi per probabilità "bassa", "media" o "alta" di essere scartati. Non tutti i dispositivi riconoscono le impostazioni DiffServ (DS2 e DS1); e anche quando queste impostazioni vengono riconosciute, non attivano necessariamente la stessa azione di inoltro PHB su ciascun nodo della rete. Ogni nodo implementa la propria risposta in base alla propria configurazione.
Inoltro garantito
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, mentre i bit DS2 e DS1 specificano la probabilità di perdita. 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 |
Inoltro accelerato
La RFC 2598 definisce il PHB di Expedited Forwarding (EF): "Il PHB di 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). Un servizio di questo tipo viene visualizzato agli endpoint come una connessione point-to-point o una "linea leasing virtuale". Questo servizio è stato anche descritto come servizio Premium. Per la decisione di inoltro accelerato, si consiglia di usare il Codepoint 101110, corrispondente a un valore DSCP di 46.
Anche per queste decisioni PHB, è responsabilità del singolo fornitore individuare e configurare i meccanismi di implementazione. Per ulteriori informazioni sulla decisione di inoltro accelerato, fare riferimento alla RFC 2598.
Utilizzare il campo DSCP
Il campo DSCP può essere usato con tre finalità:
-
Classificazione: seleziona un pacchetto in base al contenuto di alcune parti dell'intestazione e applica la decisione PHB in base alla caratteristica del servizio definita dal valore DSCP.
-
Marcatura: imposta il campo DSCP in base al profilo di traffico.
-
Metering
- Controlla 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).
Classificazione dei pacchetti
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 elenchi degli accessi (ACL) o il comando match nella CLI QoS modulare in modo da soddisfare i 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, viene restituito quanto segue:
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
Marcatura
Il DSCP può essere impostato sul valore desiderato al margine della rete in modo da semplificare la classificazione del pacchetto da parte dei dispositivi principali, 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, come mostrato di seguito:
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
Usa criteri basati su classi o velocità di accesso vincolata
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
Funzionalità WRED conforme al DSCP
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, come mostrato di seguito:
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.
Problemi noti in Cisco IOS Software Release 12.2
L'accesso agli strumenti e alle informazioni dei bug è disponibile solo per i client Cisco registrati.
È possibile cercare questi bug con Bug Search Tool.
-
Cisco ID bug CSCdt63295: se non si imposta il byte ToS con i nuovi comandi di contrassegno DSCP sui peer di composizione (impostato su 0) nel software Cisco IOS versione 12.2.2T, i pacchetti non possono essere contrassegnati e possono rimanere con un ToS impostato su 0.
-
ID bug Cisco CSCdt74738 — Il supporto del comando set ip dscp sul router Cisco 7200 e le piattaforme meno recenti per la configurazione dei pacchetti multicast devono essere disponibili a partire dal software Cisco IOS versione 12.2(3.6) e successive.
Informazioni correlate