QoS sur les cisco 3560 Catalyst 3560 : switch/routeur niveaux 2 et 3 mls : multilayer switch Principe général en entrée (ingress) paquet classifié paquet policé (limitation débit) paquet marqué ou jeté paquet => files d attente entrée ingress puis Le scheduler (SRR) envoie vers sortie via anneau (transferts entre entrées et sorties) en sortie paquet => files d attentes (egress queue) ou jeté puis scheduling (SRR) : partage entre files egress Architecture en anneau Stack interface seulement sur le 3750 (stackable) TCAM TCAM TCAM Stack Interface Switch 1 Port ASIC Port ASIC Port ASIC CPU Fast or Gigabit Interfaces Fast or Gigabit Interfaces Fast or Gigabit Interfaces Stack Rings 1
Shaped Round Robin (SRR) Q1 Q2 Q3 Q4 Weight = 2 Weight = 3 Weight = 4 Weight = 1 Round-robin Packets order after round-robin: Weighted Round-robin(WRR) : Q1, Q1, Q2, Q2, Q2, Q3, Q3, Q3, Q3, Q4,.. Shaped Round Robin (SRR): Q1, Q2, Q3, Q4, Q1, Q2, Q3, Q2, Q3, Q3,.. Le SRR diminue les bursts par rapport au WRR Entrée 1 Sortie 1 Entrée n Sortie n Chaîne de traitement d un paquet 2
Mise en place Qos Par défaut Qos inactivée mls qos! activer qos A l entrée classifier (Dscp ou ACL) policer (optionnel) marquer et/ou jeter paramétrer les files ingress Classification des paquets entrants soit garder marquage paquet (Cos, DSCP) : problème de confiance (trust) mls qos trust dscp! le dscp des paquets entrants servira de label de Qos dans le switch */ soit utiliser des ACL ou extended ACL de niveau IP ou Mac conditions sur différents champs adresses, port, ACL : access-list ACL simples IP (numéro 1 à 99, 1300 à 1999) access-list 1 permit 130.79.59.0 0.0.0.255 access-list 1 permit 130.79.90.0 0.0.1.255! filtre sur l adresse IP source ACL étendue IP (numéro 100 à 199, 2000 à 2699) access-list num {deny permit} protocole src mask dest mask param 3
ACL étendues access-list 101 permit ip 130.79.200.1 0.0.0.0 130.79.90.153 0.0.0.0 precedence 3 access-list 101 permit ip any 130.79.90.0 0.0.1.255 access-list 101 permit tcp 130.79.90.153 0.0.0.0 gt 1000 any eq 80! tout trafic tcp venant de la machine 130.79.90.153! de port source superieur a 1000 et a destination du port http any = toute adresse <=> 0.0.0.0 255.255.255.255 protocoles : ip tcp udp test des ports tcp ou udp : comparaison eq gt lt neq range autres : precedence, dscp, tos, SYN ACL niveau MAC mac access-list extended mac-liste permit 1234.5678.9ABC 0.0.0 5678.ABCD.1234 0.0.0 remarque : si la source (resp. destination) du paquet est en dehors du sous réseau, adresse Mac source (resp. destination) = adresse mac routeur Définir des classes (= agrégat ) class-map classe1 match ip dscp 40 class-map classe2 match access-group 101 class-map classe3 match access-group mac-liste attention : un seul match par classe sur 3560 4
Créer une politique policy-map police1! nom police class classe1! class-map définie au préalable trust dscp! garde le dscp entrant ou set ip dscp xx! label QoS de la classe [ police débit rafale [ exceed-action {drop policed-dscp-transmit}]! policer optionnel ] class classe2 etc Policer Paramètres : débit en b/s > 8000 b/s rafale en octets > 8000 octets paquets qui dépassent limite du policer drop par défaut sinon si policed-dscp-transmit : réduire le dscp suivant map champ dscp modifié (à priori moins prioritaire) mls qos map policed-dscp 30 31 32 33 to 0! les dscp 30 à 33 deviennent 0! configuration globale du switch! pour visualiser la map sho mls qos map policed-dscp Appliquer politique aux ports d entrée service-policy input police1! entrée only Visualiser sho policy-map [police1 ] sho mls qos 5
Paramétrage des files Quels paquets dans quelle file? Propriétés file la table dscp-cos Défaut : cos = dscp / 8 ( dscp 15 => cos 1) Files d entrée 2 files (par port d entrée) Par défaut file 2 prioritaire (expedite), et 10 % BP réservée reste du trafic réparti suivant les poids des 2 files mls qos srr-queue input priority-queue 1 bandwidth 15 mls qos srr-queue input bandwidth 4 2! 15% prioritaire puis 2/3 file 1 1/3 file 2 3 seuils de drop WTD1 < WTD2 < WTD3 = 100% mls qos srr-queue input threshold 1 40 80! seuils de queue 1 mis à 40% et 80% (défaut 100% et 100%) paramètres globaux toutes entrées paquet => ingress queue mls qos srr-queue input dscp-map queue 1 threshold 1 33 34 35! paquets de dscp 33 34 35 sont mis dans queue 1 si le threshold 1 n est pas dépassé sinon drop mls qos srr-queue input dscp-map queue 1 threshold 2 40 41! paramètres globaux par défaut DSCP 0-39 et 48-63 => ingress 1 DSCP 40-47 => ingress 2 (prioritaire) 6
Files de sortie Globalement 2 ensembles de files queue-set 1 ou 2 : port sortie affecté à un queueset toutes les files du même queue-set gérées même façon, même pool de buffer 4 files par sortie Possibilité d une file prioritaire (file 1) priority-queue out! file 1 prioritaire Seuils files de sortie mls qos queue-set output 1 threshold 2 40 60 100 400! queues 2 de queue-set 1! seuil 1 40% seuil 2 60% seuil-réservé 100%! seuil-max 400% seuil-max et seuil-réservé décrivent partage des buffers entre les différentes files du même queueset Allouer un port à un queue-set queue-set 2! le port est dans le queue-set 2 (par défaut 1) Files en mode shaped ou shared répartition entre les files : shaped : trafic garanti et limité jusqu à % BP leaky bucket shared : trafic partagé entre files au prorata des % BP (BP inutilisée récupérée autres files ~WFQ) 7
Poids files sortie srr-queue bandwidth shape 5 0 0 0! queue 1 en shaping avec 1/5 = 20% BP! il s agit de 20% BP physique (ex 10 M)! avant limitation par bandwidth limit! files 2 3 et 4 en sharing srr-queue bandwidth share 1 1 1 2! proportions 20 % 20% 20% 40% partagés Par défaut les poids sont shaped 4 0 0 0! 25% shared 4 4 4 4! 25 % par file paquet => file sortie paramètre global pour toutes les sorties mls qos srr-queue output dscp-map queue 1 threshold 2 30 31! paquets de dscp 30 et 31 vont dans file de sortie 1 avec seuil numéro 2 8