QoS cisco: esempio di configurazione ASR9K router P-MPLS

Home » Blog » Configuration Template » Cisco » QoS cisco: esempio di configurazione ASR9K router P-MPLS

QoS cisco: esempio di configurazione ASR9K router P-MPLS

05.03 2024 | by massimiliano

Il backbone QoS è un dominio di tipo DIFFSERV (Differentiated Services), poiché assegna differenti servizi di qualità ad opportuni classi […]



Il backbone QoS è un dominio di tipo DIFFSERV (Differentiated Services), poiché assegna differenti servizi di qualità ad opportuni classi di traffico con un set di classi di servizio con corrispondenti regole di forwarding su base:

EF (Expedited Forwarding): fornisce QoS ad applicazioni che richiedono un basso ritardo (low delay) di comunicazione ed un basso valore di jitter (il valore di tempo variabile dei pacchetti in arrivo a destinazione).

AF (Assured Forwarding): fornisce QoS su base PHB (Per-Hop Behaviour) con quattro differenti classi e tre valori di scarto tra cui:

  • low drop precedence
  • medium drop precedence
  • high drop precedence

All’interno delle classi in ogni nodo della rete backbone, vengono allocate una certa quantità di risorse (buffer and bandwidth) associate a differenti livelli di drop profile (scarto).

In caso di congestione il livello di drop precedence è rilevato dalla importanza del valore associato; pertanto il low drop precedence assume più importanza rispetto al medium eppoi infine al high.

La gerarchia QoS seguita è la seguente:

  1. classificazione dei pacchetti IP sulla base del valore DSCP assegnato alle differenti code (buffer) di forwarding (in cisco vengono definite come class-map);
  2. scheduling dei pacchetti: un meccanismo di priorità delle code definisce come servire il traffico con più alta priorità, rispetto a quello di media priorità ed infine quello best-effort; un meccanismo WRR (Weighted Round Robin), rilascia le code sul valore di bandwidth assegnato (in cisco sono definite attraverso policy-map);
  3. Applicazione delle policy-map alle interfacce

Il modello Differentiated Services (Diff-Serv) migliora in termini di scalabilità su reti di grandi dimensioni ed invece di assegnare risorse per ogni flusso di traffico, colloca le risorse su base delle classi di traffico assegnate a determinati flussi (in altre parole i flussi di traffico che appartengono tutti alla stessa classe vengono trattati con le stesse regole di QoS).

La classificazione del traffico è gestita via class-map alle quali si possono usare diverse condizioni (match); il traffico (pacchetti) che non rientra nei criteri di nessuna classe sono implicitamente assegnati alla classe di default che è referenziata come class-default.

Per garantire uniformità QoS per tutto il path MPLS end-to-end deve essere configurato in modo corretto ed assegnare la medesima qualità del servizio attraverso algoritmi di scheduling.

NOTA:

match-any si comporta come un operatore booleano OR

match-all si comporta come un operatore booleano AND

La input Policy-Map che referenzia le input Class-Map con il matching di valori DSCP ed EXP setta dei valori di qos group e priority level.

Queste qos group poi sono associate a delle output class-map referenziate da output policy-map le quali a loro volta settano dei valori di rate, bandwidth e priority.

ASR9K Cisco router: CLASS MAP INPUT POLICY

class-map match-any NET-TRUST

match dscp CS7

match mpls experimental topmost 7

end-class-map

!

class-map match-any VOICE-TRUST

match dscp EF

match mpls experimental topmost 5

end-class-map

!

class-map match-any VIDEO-MULTIMEDIA-TRUST

match dscp CS4

match mpls experimental topmost 4

end-class-map

!

class-map match-any SIGNALING-TRUST

match dscp CS3

match mpls experimental topmost 3

end-class-map

!

class-map match-any MANAGEMENT-TRUST

match dcsp CS6

match mpls experimental topmost 6

end-class-map

!

class-map match-any DATA-TRUST

match dscp AF21

match mpls experimental topmost 2

end-class-map

!

class-map match-any VIDEO-SURVEILLANCE-TRUST

match dscp AF11

match mpls experimental topmost 1

end-class-map

!

La classificazione è poi codificata all’interno della marcatura (colorazione dei pacchetti) basandosi su valori di IP-Prec, DSCP oppure EXP, configurate all’interno di policy-map che referenzia la class-map:

ASR9K Cisco router: POLICY MAP INPUT POLICY

policy-map TRUST-INGRESS

class NET-TRUST

set qos-group 7

priority level 1

!

class VOICE-TRUST

set qos-group 5

priority level 2

!

class VIDEO-MULTIMEDIA-TRUST

set qos-group 4

!

class SIGNALING-TRUST

set qos-group 3

!

class MANAGEMENT-TRUST

set qos-group 6

!

Class DATA-TRUST

set qos-group 2

!

class VIDEO-SURVEILLANCE-TRUST

set qos-group 1

!

ASR9K Cisco router: CLASS-MAP OUTPUT POLICY

class-map match-all NET-OUT

match qos-group 7

!

class-map match-all VOICE-OUT

match qos-group 5

!

class-map match-all VIDEO-MULTIMEDIA-OUT

match qos-group 4

!

class-map match-all SIGNALING-OUT

match qos-group 3

!

class-map match-all MANAGEMENT-OUT

match qos-group 6

!

class-map match-all DATA-OUT

match qos-group 2

!

class-map match-all VIDEO-SURVEILLANCE-OUT

match qos-group 1

!

ASR9K Cisco router: POLICY-MAP OUTPUT POLICY

policy-map PE-OUT

class NET-OUT

priority level 1

police rate percent 30

!

class VOICE-OUT

priority level 2

police rate percent 10

!

class VIDEO-MULTIMEDIA-OUT

bandwidth remaining percent 20

!

class SIGNALING-OUT

bandwidth remaining percent 5

!

class MANAGEMENT-OUT

bandwidth remaining percent 15

!

class DATA-OUT

bandwidth remaining percent 25

!

class VIDEO-SURVEILLANCE-OUT

bandwidth remaining percent 10

!

class class-default

bandwidth remaining percent 25

!

L’applicazione della policy-map è configurata su base interfaccia con questa logica:

interface <interface-backbone>

service-policy input TRUST-INGRESS

service policy output PE-OUT

Torna in alto