La mise en file d’attente pondérée (WFQ) a été mise en oeuvre pour les liaisons à faible vitesse (telles que les liaisons série) afin de fournir un traitement équitable pour chaque type de trafic. Pour ce faire, WFQ classe le trafic en différents flux en fonction des informations de couche 3 et de couche 4 associées (adresses IP, ports TCP, etc.). Vous n'avez pas besoin de définir des listes d'accès pour que cela fonctionne. Avec WFQ, le trafic à faible bande passante a une priorité effective sur le trafic à large bande passante. Le trafic à bande passante élevée partage le support de transmission proportionnellement aux poids attribués.
WFQ présente les limites suivantes :
Si le flux de trafic augmente de manière significative, WFQ ne peut pas s'ajuster car il n'est pas évolutif.
WFQ n'est pas disponible sur les interfaces haut débit, telles que ATM.
Une nouvelle fonctionnalité, CBWFQ (Class-Based Weighted Fair Queuing), a été développée pour répondre aux limitations de WFQ. Contrairement à WFQ, CBWFQ vous permet de définir des classes de trafic. Une fois les classes définies, les paramètres peuvent être appliqués. Ces paramètres incluent la bande passante et la limite de file d'attente.
Lorsque vous utilisez CBWFQ, le poids spécifié pour une classe devient le poids de chaque paquet qui correspond aux critères de classe. Ce poids provient de la bande passante que vous affectez à la classe. WFQ est ensuite appliqué à ces classes au lieu d'être appliqué aux flux eux-mêmes. Les classes peuvent inclure plusieurs flux.
Voici un résumé de la disponibilité CBWFQ par circuit virtuel sur les routeurs 7200, 3600 et 2600 :
7200: Cisco IOS® versions 12.0(5)T, 12.0(5)XE, 12.1(1), 12.1(1)T, 12.1(1)E et ultérieures utilisant un PA-A3.
7200 avec NSE : Cisco IOS version 12.1(7)E et ultérieure.
7200 avec NSE-1 Services Accelerator : Cisco IOS version 12.2(4)B1.
2600/3600 avec modules NM-1A-T3/E3 prennent en charge LLQ / CBWFQ sur Cisco IOS version 12.1(5)T et ultérieure.
2600/3600 avec modules de réseau DS3/E3 : Cisco IOS version 12.1(2)T.
Remarque : La fonctionnalité de commutation CEF (Cisco Express Forward) doit être utilisée car CBWFQ surveille uniquement les paquets commutés CEF.
Aucune spécification déterminée n'est requise pour ce document.
Les informations contenues dans ce document sont basées sur les versions de matériel suivantes :
Routeurs des gammes Cisco 7200, 3600 et 2600
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document.
Remarque : Pour en savoir plus sur les commandes utilisées dans le présent document, utilisez l’outil de recherche de commandes (clients inscrits seulement).
Ce document utilise la configuration réseau suivante :
1/130 est la valeur VPI/VCI attribuée aux deux extrémités du circuit virtuel permanent entre le 7200 et le routeur A.
Le générateur de trafic est connecté à l’interface Fast-Ethernet 3/0.
Le 7200 exécute Cisco IOS version 12.0(5)T.
Le routeur A est utilisé comme périphérique récepteur pour les tests.
La configuration est exécutée sur un 7200, mais elle est similaire sur un 2600/3600.
Voici la configuration 7200 nécessaire à la mise en oeuvre de CBWFQ :
7200 |
---|
class-map ixia match input-interface FastEthernet3/0 class-map loopbacks match access-group 102 ! policy-map mypol class ixia bandwidth 40000 queue-limit 40 class loopbacks bandwidth 10000 class class-default fair-queue ! interface ATM2/0.130 point-to-point ip address 14.0.0.2 255.0.0.0 no ip directed-broadcast pvc 1/130 service-policy output mypol vbr-nrt 100000 75000 broadcast encapsulation aal5mux ip ! access-list 102 permit ip host 10.0.0.1 host 11.0.0.1 |
Voici quelques commentaires sur la configuration :
Les cartes de classe classent et attribuent des poids au trafic. Les paramètres de classification et les cartes de classe sont définis au même endroit. Dans ce cas, une classe est appliquée à tout le trafic entrant sur Fast-Ethernet 3/0 (le trafic provenant du générateur de trafic). L'autre classe est liée au trafic entre les boucles (défini sur le 7200 et le routeur A).
Après avoir défini les paramètres de classification, vous pouvez utiliser une carte de stratégie pour appliquer les paramètres de trafic à ces flux classifiés. Dans ce cas, le flux du générateur de trafic est « alloué » une bande passante de 40 Mbits/s et une profondeur de file d'attente de 40 paquets. La bande passante allouée au trafic entre les boucles est de 10 Mbits/s.
La profondeur de la file d'attente est le nombre de paquets qui peuvent être stockés pour une classe particulière avant que des abandons ne se produisent. La valeur par défaut est 64 (ce qui correspond également à la profondeur maximale de la file d'attente).
Une fois les paramètres de trafic définis pour chaque classe, CBWFQ est appliqué sur une base VC à l'aide de la commande suivante : service-policy [input|output] policy-map-name.
Le trafic ne correspondant pas à l'une des cartes de classe définies se verra attribuer une carte de classe par défaut (par défaut de classe) définie dans la carte de stratégie. Tout le trafic non classifié sera appliqué aux paramètres définis sous cette classe par défaut. Dans ce cas, la mise en file d'attente pondérée normale est configurée.
Pour cet exemple de configuration, CBWFQ est appliqué sur un circuit virtuel, mais il peut également être utilisé sur un bundle PVC. En outre, CBWFQ peut être associé à Weighted Random Early Discard (WRED) comme mécanisme de suppression (lorsque la limite de file d'attente est atteinte).
Important :
Avant d'exécuter les tâches de configuration de cette section, vous devez d'abord créer les classes qui seront utilisées pour différencier le trafic sur le circuit virtuel, puis définir une carte de stratégie pour les inclure. Vous pouvez configurer des stratégies de classe pour autant de classes que celles définies sur le routeur, jusqu'à un maximum de 64. Cependant, la quantité totale de bande passante VC allouée (pour toutes les classes incluses dans une carte de stratégie) ne doit pas dépasser 75 % de la bande passante disponible du circuit virtuel.
Étant donné que CBWFQ offre une garantie de bande passante minimale, vous ne pouvez appliquer CBWFQ qu'aux circuits virtuels avec des classes de service autres que UBR et UBR+.
Vous ne pouvez pas appliquer WFQ et CBWFQ par VC aux circuits virtuels UBR et UBR+, car ces deux classes de services sont des classes au mieux qui ne garantissent pas la bande passante minimale. Lorsque CBWFQ est activé pour un circuit virtuel, toutes les classes configurées dans le cadre de la stratégie de service sont installées dans le système Fair Queuing.
Si vous appliquez une stratégie de service à un circuit virtuel ATM et que la stratégie inclut une fonctionnalité qui n'est pas compatible PXF (Parallel Express Forwarding), les paquets seront punis sur le chemin de commutation inférieur suivant. Exécutez la commande show pxf acc summ et recherchez une valeur incrémentée pour les pointes en raison de la « fonction de sortie ».
router#show pxf acc sum Pkts Dropped RP Processed Ignored Total 242 328395045 0 10 second averages: PXF complex busy: 28% PXF read pipeline full: 0% PXF Statistic: Packets RP -> PXF: switch ip: 0 switch raw: 556612940 qos fastsend: 0 qos enqueue: 0 Total: 556612940 Packets PXF -> RP: qos pkts: 0 fast pkts: 228217649 drops: total 242 " no route : 242 punts: total 328395045 " not IP : 597 " IP options : 676 " CEF no adjacency : 186770 " CEF receive : 265306 " output feature : 327916956
Sur les routeurs Cisco 7200 exécutant Cisco IOS version 12.1(5)E, 12.1(5)T et ultérieures, nous pouvons regrouper les classes de mappage pour former des mappages de classes plus complexes. En outre, nous pouvons associer des opérations logiques aux paramètres de mappage de classe (pour déterminer si le trafic correspond à une classe).
Examinons les cartes de classe suivantes pour clarifier ce concept :
Configuration CBWFQ avancée |
---|
class-map match-all ixia description traffic from Ixia match input-interface FastEthernet1/0 class-map match-all ftp1 description ftp traffic initiated by the traffic generator match class-map ixia match class-map ftp2 class-map match-all ftp2 match access-group 103 class-map match-any test match access-group 102 match input-interface Ethernet0/0 ! access-list 103 permit tcp any any eq ftp ! access-list 102 permit ip host 10.1.1.1 any |
La différence entre match-all et match-any est la suivante :
match-all : un flux est associé à une carte de classe si TOUTES les conditions associées sont vérifiées.
match-any signifie : un flux est associé à une class-map si l'une des conditions associées est vérifiée (pas nécessairement toutes les conditions).
Nous pouvons voir ici qu'une carte de classe peut inclure des tests sur d'autres cartes de classe configurées. Dans ce cas, un flux est associé à ftp1 s'il correspond à toutes les conditions définies sous class map ixia et class map ftp2.
Cette section présente des informations que vous pouvez utiliser pour vous assurer que votre configuration fonctionne correctement.
Certaines commandes show sont prises en charge par l'Output Interpreter Tool (clients enregistrés uniquement), qui vous permet de voir une analyse de la sortie de la commande show.
show policy-map interface atm x/y[.z] : cette commande vous permet de voir les statistiques par file d'attente, telles que les pertes. Il est utile pour surveiller les résultats d'une politique de service créée avec l'interface de ligne de commande (CLI) modulaire QoS (Quality of Service) de Cisco. Pour plus d'informations sur l'interprétation du résultat de cette commande, référez-vous à Comprendre les compteurs de paquets dans la sortie de show policy-map interface.
7200#show policy-map interface atm 2/0.130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
Note : Voir les explications suivantes concernant les deux types de gouttes :
Ignorer : total des abandons de cette file d'attente.
Pertes de queue : abandonne de cette file d'attente uniquement lorsqu'une autre file d'attente a un paquet entrant avec un numéro de séquence WFQ « inférieur » et que le système WFQ atteint le nombre maximal limite de file d'attente de paquets.
show policy-map interface atm x/y[.z] vc [vcd | vpi/vci] : cette commande donne plus de granularité pour des circuits virtuels spécifiques.
7200#show policy-map interface atm 2/0.130 vc 1/130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
Vous pouvez également utiliser d'autres commandes telles que show class-map ou show policy-map class pour obtenir des informations plus détaillées sur les classes map.
Il n'existe actuellement aucune information de dépannage spécifique pour cette configuration.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
12-Dec-2005 |
Première publication |