introduzione
Prima di tutto, lasciami scrivere che passo la maggior parte dell'estate cercando di trovare un modo corretto per farlo. Per di più ho dovuto assumere un CCIE a tempo pieno per una settimana circa per dare una mano e nel processo abbiamo avuto Cisco TAC che cercava di capire un errore sui nostri switch serie 6500.
Perché dovresti farlo?
Oggi c'è un'esplosione virtuale di applicazioni rich media sulla rete IP. Questa esplosione di contenuti e tipi di media, sia gestiti che non gestiti, richiede agli architetti di rete di rivedere i loro progetti di qualità del servizio (QoS).
Il primo passo può sembrare ovvio e superfluo, ma in realtà è cruciale: definire chiaramente gli obiettivi di business che le politiche di QoS devono consentire. Questi possono includere uno / tutti i seguenti:
- Garantire la qualità della voce soddisfa gli standard aziendali.
- Garantire un'alta qualità dell'esperienza (QoE) per i video.
- Aumentare la produttività degli utenti aumentando i tempi di risposta della rete per le applicazioni interattive.
- Gestione di applicazioni che sono "maiali di larghezza di banda".
- Individuare e decentrare le applicazioni dei consumatori.
- Miglioramento della disponibilità della rete.
- Rafforzare l'infrastruttura di rete.
Con questi obiettivi in mente, gli architetti di rete possono identificare chiaramente quali applicazioni sono rilevanti per la loro attività. Al contrario, questa esperienza renderà anche evidente quali applicazioni non sono rilevanti per il raggiungimento degli obiettivi aziendali. Tali applicazioni potrebbero essere orientate al consumatore e / o orientate all'intrattenimento. Alla fine dipende tutto da te.
La soluzione
Volevo renderlo il più semplice e libero possibile dalla configurazione. Tenendo presente ciò, unito al fatto che il QoS dovrebbe sempre essere elaborato in hardware, mi è stato consigliato di utilizzare la funzione Auto-QoS in Cisco da parte del CCIE che ho assunto.
Pertanto, invece di contrassegnare il traffico a livello di accesso, la marcatura può essere effettuata dagli utenti finali o dai server stessi. Auto-QoS fornisce quindi le classi corrette per il trasporto del traffico attraverso la rete. Ciò mi ha permesso di decidere quali applicazioni o servizi dovrebbero essere prioritari o declassati tramite criteri di gruppo di directory attive.
Per cominciare, volevo semplificarlo. Ciò significava dare la priorità alle applicazioni VoIP e video, che è già predefinito in Auto-QoS quando si utilizzano dispositivi IP Cisco / TelePresence / Telecamere ecc., Cosa che facciamo.
Panoramica della topologia
Utilizziamo le seguenti apparecchiature di accesso / core.
- Core: serie Cisco 897, serie Cisco 3650, serie Cisco 3850 e serie Cisco 6500
- Accesso: serie Cisco 3560CX Compact e serie Cisco 2960X
La nostra topologia si basa principalmente su una topologia a stella, osservare il seguente disegno di topologia (Usiamo BGP nel nostro WAN MPLS):
QoS sul livello di accesso
La configurazione è molto semplice e diretta quando si utilizza Auto-QoS. Osservare il traffico e inviarlo all'ISP MPLS è un po 'più complicato, ma mostrerò degli esempi di seguito.
Tutti gli switch di accesso sono configurati con Auto-QoS, in cui tutte le porte sia di accesso che trunk / uplink sono affidabili con DSCP. Osservare la seguente tabella QoS, in cui tutti i valori per DSCP, CoS, ToS ecc. Sono impostati in una tabella. Questo offre una buona panoramica delle classi selezionate e della struttura in cui sto cercando di realizzare nel mio progetto:
Auto-QoS utilizza i valori AF (Assured Forwarding) per la marcatura DSCP.
Abilitazione di Auto-QoS sull'interruttore di accesso
Configurazione globale
mls qos (Activates QoS)
mls qos map cos-dscp 0 8 16 24 32 46 48 56 (Maps CoS to DSCP values, because CoS is a layer 2 marking, which cannot be routed)
auto qos srnd4 (Autogenerates all configuration in accordance to Cisco best practice SRND4 standard)
Configurazione della porta
auto qos trust dscp (Activates QoS and trusts DSCP on a port)
priority-queue out (Sends all traffic to the priority queues)
Ecco fatto, lo switch e le porte ora eseguiranno Auto-QoS.
Guida alla configurazione di Auto-QoS per la serie 2960X: https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960x/software/15-0_2_EX/qos/configuration_guide/b_qos_152ex_2960-x_cg/ b_qos_152ex_2960-x_cg_chapter_011.html
Abilitazione di Auto-QoS sul livello Core
C'è una grande differenza nel modo in cui la QoS è gestita dagli switch Core. La serie Cisco 6500 non supporta Auto-QoS SRND4, pertanto sarà necessario configurare manualmente QoS e mapparlo alle classi corrette per preservare il design di Auto-QoS. Le serie Cisco 3650 e 3850 supportano Auto-QoS SRND4 e quindi è abbastanza semplice da configurare:
Abilitazione di Auto-QoS sulle serie 3650 e 3850
Configurazione globale
auto qos srnd4 (Activates and autogenerates the QoS configuration)
Configurazione della porta
auto qos trust dscp (Activates and autogenerates the QoS configuration)
Quando si collega il Core all'ISP MPLS, vogliamo rilevare il traffico in 5 classi (poiché questo è ciò che supporta il nostro ISP). Questo è così, che il traffico verrà assegnato la priorità attraverso il MPLS a tutte le posizioni nella topologia (vedi disegno per riferimento). Il tuo ISP potrebbe essere diverso e quindi il commento dovrebbe essere fatto in modo che si adatti al tuo design. L'esempio seguente mostra come osservare tutto il traffico in 5 classi.
È necessario copiare la mappa dei criteri "AutoQos-4.0-Output-Policy" Auto-QoS generata automaticamente e quindi crearne una nuova. DEVI utilizzare le stesse mappe di classe generate da Auto-QoS. Se provi a crearne uno tuo, questi verranno ignorati, quindi vengono utilizzate le stesse mappe di classe e il segno viene creato da quelle classi:
policy-map WAN-OUTPUT-QoS (The name can be whatever you like)
class AutoQos-4.0-Output-Priority-Queue
set dscp ef
priority level 1 percent 10
class AutoQos-4.0-Output-Control-Mgmt-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af21
class AutoQos-4.0-Output-Multimedia-Conf-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af41
class AutoQos-4.0-Output-Trans-Data-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af21
class AutoQos-4.0-Output-Bulk-Data-Queue
bandwidth remaining percent 2
queue-buffers ratio 10
set dscp default
class AutoQos-4.0-Output-Scavenger-Queue
bandwidth remaining percent 1
queue-buffers ratio 10
set dscp cs1
class AutoQos-4.0-Output-Multimedia-Strm-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af41
class class-default
bandwidth remaining percent 25
Le 5 classi saranno di seguito priorizzate e inviate al MPLS come segue:
- Valore AF DSCP: EF (VoIP)
- Valore AF DSCP: af41 (Tutti i supporti video)
- Valore AF DSCP: af21 (dati transazionali ecc.)
- Valore AF DSCP: impostazione predefinita (AF = 0 e DSCP = 0 dati in blocco ad esempio)
- Valore AF DSCP: cs1 (classe Scavenger per Bittorrent ecc.)
Le percentuali di larghezza di banda vengono utilizzate come rimanenti. Ciò significa che tutte le classi possono utilizzare il 100% della larghezza di banda e prendere in prestito dalle altre classi se la larghezza di banda non viene utilizzata. È come la condivisione della larghezza di banda, il che significa che qualunque classe abbia la priorità, la più alta sarà in grado di inviare traffico se il collegamento è congestionato.
Le classi e le percentuali della mappa delle politiche possono essere modificate in base alle esigenze individuali.
Sulla porta uplink all'ISP è necessario configurare quanto segue:
interface XXX
auto qos trust dscp
service-policy input AutoQos-4.0-Trust-Dscp-Input-Policy
service-policy output WAN-OUTPUT-QoS
Questo è tutto per le serie 3650 e 3850.
Abilitazione di QoS sulla serie 6500
La serie 6500 non supporta Auto-QoS SRND4. È molto semplice e comprende solo i valori CoS di livello 2 per VoIP. Ciò significa che è necessario configurare tutte le QoS da zero, per adattarsi all'infrastruttura Auto-QoS dal livello di accesso. QoS deve essere configurato in base al modulo installato sullo chassis. È inoltre necessario creare mappe delle politiche sia per l'ingresso che per l'uscita (input / output).
Il supervisore comprende solo CoS tra il modulo e l'ASIC nel telaio.
Per attivare Auto-QoS per CoS, è necessario utilizzare il seguente comando globale:
auto qos default
Ciò creerà una tabella-tabella di CoS su DSCP, ma i valori non sono tutti conformi allo standard Auto-QoS SRND4 (CoS 7 è mappato su 54, che dovrebbe essere 56). Pertanto dovrai rimuovere la tabella-tabella e sostituirla con la seguente:
no table-map cos-discard-class-map
table-map cos-discard-class-map
map from 0 to 0
map from 1 to 8
map from 2 to 16
map from 3 to 24
map from 4 to 32
map from 5 to 46
map from 6 to 48
map from 7 to 56
Per creare QoS e mappe delle politiche dobbiamo scoprire quale modello di accodamento sta utilizzando un modulo. Nell'esempio seguente la coda Ingress ed Egress è la stessa, ma su alcuni moduli le code Rx e Tx sono diverse e pertanto sarà necessario creare mappe delle politiche in base al modello di accodamento. Per scoprire quale modello di accodamento utilizza un'interfaccia, è necessario emettere il comando seguente. L'esempio seguente si basa sul modulo: C6800-16P10G
show queueing interface xxx | sec Transmit queues
Transmit queues [type = 1p7q4t]
show queueing interface xxx | sec Receive queues
Receive queues [type = 1p7q4t]
Come scritto, le code sono le stesse su questo modulo e quindi possiamo usare la stessa politica sia per l'input che per l'output.
1p7q4t significa sostanzialmente: 1 coda di priorità, 7 code normali, dove tutte e 7 le code normali hanno 4 soglie. Puoi ottenere maggiori informazioni cercando il nome del modulo e accodando. Questo modulo, il C6800-16P10G è spiegato in questo link:
https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6800-series-switches/datasheet-c78-733662.html
Vedi tabella 1, Code.
Innanzitutto dobbiamo creare le mappe delle classi, che verranno utilizzate per tutte le mappe delle politiche. Ciò corrisponderà ai valori DSCP per le singole classi che corrispondono alle classi da Auto-QoS SRND4. Si noti che le mappe di classe vengono create come accodamento lan con l'istruzione match-all, che funziona come AND / OR nella programmazione. match-all = AND & match-any = OR.
Controlla la seguente guida alla configurazione; Design semplificato di Cisco Campus QoS, in cui sono forniti esempi di configurazione per diversi moduli nella parte inferiore della presentazione:
http://honim.typepad.com/files/campus-qos-design-simplified-brkcrs-2501.pdf
225 pagine, il collegamento è lento.
Creazione di mappe di classe (configurazione globale):
class-map type lan-queuing match-all REALTIME-1P7Q4T
match dscp cs4 cs5 ef
class-map type lan-queuing match-all CONTROL-1P7Q4T
match dscp cs2 cs3 cs6 cs7
class-map type lan-queuing match-all MM_CONF-1P7Q4T
match dscp af41 af42 af43
class-map type lan-queuing match-all MM_STREAM-1P7Q4T
match dscp af31 af32 af33
class-map type lan-queuing match-all TRANS_DATA-1P7Q4T
match dscp af21 af22 af23
class-map type lan-queuing match-all BULK_DATA-1P7Q4T
match dscp af11 af12 af13
class-map type lan-queuing match-all SCAVENGER-1P7Q4T
match dscp cs1
Puoi cambiare i nomi o modificarli come preferisci, in base alle tue esigenze.
Dopo aver creato le mappe delle classi, creerò la mappa delle politiche. Definisce la priorità del valore DSCP e imposta la larghezza di banda nelle diverse code, dopo che corrisponde a un valore DSCP.
policy-map type lan-queuing 1P7Q4T
class REALTIME-1P7Q4T
priority
class CONTROL-1P7Q4T
bandwidth remaining percent 10
class MM_CONF-1P7Q4T
bandwidth remaining percent 20
random-detect dscp-based
random-detect dscp af41 percent 80 100
random-detect dscp af42 percent 70 100
random-detect dscp af42 percent 60 100
class MM_STREAM-1P7Q4T
bandwidth remaining percent 15
random-detect dscp-based
random-detect dscp af31 percent 80 100
random-detect dscp af32 percent 70 100
random-detect dscp af33 percent 60 100
class TRANS_DATA-1P7Q4T
bandwidth remaining percent 15
random-detect dscp-based
random-detect dscp af21 percent 80 100
random-detect dscp af22 percent 70 100
random-detect dscp af23 percent 60 100
class BULK_DATA-1P7Q4T
bandwidth remaining percent 9
random-detect dscp-based
random-detect dscp af11 percent 80 100
random-detect dscp af12 percent 70 100
random-detect dscp af13 percent 60 100
class SCAVENGER-1P7Q4T
bandwidth remaining percent 1
class class-default
random-detect dscp-based
random-detect dscp default percent 80 100
Dopo aver creato la mappa delle politiche è necessario applicarla a un'interfaccia:
interface xxx
service-policy type lan-queuing input 1P7Q4T
service-policy type lan-queuing output 1P7Q4T
Per verificare la configurazione e vedere che si sta eseguendo l'accodamento, è possibile utilizzare il comando seguente (potrebbe essere necessario chiudere / non chiudere l'interfaccia affinché abbia effetto):
show queueing interface xxx
Per rilevare il traffico sulla serie 6500 è necessario creare nuove mappe delle classi e una nuova mappa delle politiche. Le mappe delle classi non vengono create come code lan e l'istruzione match è match-any = OR invece di match-all in quanto vogliamo controllare più valori uno dopo l'altro. Pertanto, se il primo valore non corrisponde al pacchetto, verrà verificato il successivo e così via.
Voglio sottolineare che è qui che abbiamo dovuto coinvolgere Cisco TAC, perché è emerso il seguente bug:
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCuz52151
Abbiamo invece dovuto modificare le mappe di classe dall'abbinamento dei valori AF ai valori DSCP grezzi (classe di scarto). Abbiamo anche dovuto aggiornare lo switch alla versione 152-1.SY5 (MD). Dopo aver seguito queste indicazioni da allora non abbiamo più avuto problemi.
La configurazione è la seguente:
class-map match-any WAN-HIGH
match discard-class 32
match discard-class 40
match discard-class 46
class-map match-any WAN-GOLD
match discard-class 26
match discard-class 28
match discard-class 30
match discard-class 34
match discard-class 36
match discard-class 38
class-map match-any WAN-SILVER
match discard-class 16
match discard-class 18
match discard-class 20
match discard-class 22
match discard-class 24
match discard-class 48
match discard-class 56
class-map match-any WAN-BEST_EFFORT
match discard-class 0
match discard-class 10
match discard-class 12
match discard-class 14
class-map match-any WAN-SCAVENGER
match discard-class 8
Successivamente, creiamo la mappa delle politiche:
policy-map WAN-OUTPUT-QoS
class WAN-HIGH
set dscp ef
class WAN-GOLD
set dscp af41
class WAN-SILVER
set dscp af21
class WAN-BEST_EFFORT
set dscp default
class WAN-SCAVENGER
set dscp cs1
Quindi dobbiamo applicarlo a un'interfaccia:
interface xxx
service-policy output WAN-OUTPUT-QoS
service-policy type lan-queuing input 1P7Q4T
Questo è tutto. Spero che questa informazione ti sia utile. Capisco quando la gente dice che la QoS è complicata. Può essere fatto in vari modi e l'esempio sopra è solo uno spaccato di come può essere fatto. So che Cisco sta lavorando per diffondere lo standard Auto-QoS SRND4 su sempre più dispositivi per aiutare a creare una buona base per la qualità del servizio.