introduction
Tout d'abord, permettez-moi d'écrire que je passe la majeure partie de l'été à essayer de trouver un moyen correct de le faire. Plus encore, j'ai dû embaucher un CCIE à temps plein pendant une semaine environ pour aider et dans le processus, nous avons eu Cisco TAC essayant de trouver une erreur sur nos commutateurs de la série 6500.
Pourquoi voudriez-vous faire cela?
Aujourd'hui, il y a une explosion virtuelle d'applications multimédias riches sur le réseau IP. Cette explosion de types de contenu et de médias, gérés et non gérés, oblige les architectes réseau à revoir leur conception de la qualité de service (QoS).
La première étape peut sembler évidente et superflue, mais en réalité elle est cruciale: définissez clairement les objectifs commerciaux que vos politiques de QoS doivent permettre. Ceux-ci peuvent inclure tout ou partie des éléments suivants:
- Garantir la qualité de la voix répond aux normes de l'entreprise.
- Assurer une haute qualité d'expérience (QoE) pour la vidéo.
- Augmenter la productivité des utilisateurs en augmentant les temps de réponse du réseau pour les applications interactives.
- Gestion des applications qui sont des «porcs de bande passante».
- Identifier et dé-prioriser les applications grand public.
- Amélioration de la disponibilité du réseau.
- Renforcement de l'infrastructure réseau.
Avec ces objectifs à l'esprit, les architectes de réseau peuvent clairement identifier les applications pertinentes pour leur entreprise. À l'inverse, cette expérience montrera également quelles applications ne sont pas pertinentes pour atteindre les objectifs commerciaux. De telles applications pourraient être des applications orientées consommateur et / ou divertissement. En fin de compte, tout dépend de vous.
La solution
Je voulais rendre cela aussi simple et sans configuration que possible. Dans cet esprit combiné avec le fait que la QoS doit toujours être traitée dans le matériel, il m'a été recommandé d'utiliser la fonctionnalité Auto-QoS de Cisco par le CCIE que j'ai embauché.
Ainsi, au lieu de marquer le trafic au niveau de l'accès, le marquage peut être effectué par les utilisateurs finaux ou les serveurs eux-mêmes. Auto-QoS fournit ensuite les classes correctes pour le transport du trafic à travers le réseau. Cela m'a permis de décider quelles applications ou services qui devraient être priorisés ou déclassifiés via des stratégies de groupe Active Directory.
Pour commencer, je voulais le faire simpel. Cela signifiait la priorité des applications VoIP et vidéo, qui est déjà prédéfinie dans Auto-QoS lorsque vous utilisez des périphériques IP Cisco / TelePresence / Caméras, etc., ce que nous faisons.
Présentation de la topologie
Nous utilisons l'équipement d'accès / de base suivant.
- Cœur: gamme Cisco 897, gamme Cisco 3650, gamme Cisco 3850 et gamme Cisco 6500
- Accès: Cisco 3560CX Compact series et Cisco 2960X Series
Notre topologie est principalement basée sur une topologie en étoile, observez le schéma de topologie suivant (nous utilisons BGP dans notre MPLS WAN):
QoS sur la couche d'accès
La configuration est très simple et simple, lors de l'utilisation d'Auto-QoS. Remarquer le trafic et l'envoyer au FAI MPLS est un peu plus compliqué, mais je vais montrer des exemples ci-dessous.
Tous les commutateurs d'accès sont configurés avec Auto-QoS, où tous les ports d'accès et de jonction / liaisons montantes sont approuvés avec DSCP. Observez le tableau QoS suivant, où toutes les valeurs pour DSCP, CoS, ToS, etc. sont configurées dans un tableau. Cela donne un bon aperçu des classes sélectionnées et de la structure dans laquelle j'essaie d'accomplir dans ma conception:
Auto-QoS utilise les valeurs AF (Assured Forwarding) pour le marquage DSCP.
Activation de l'Auto-QoS sur le commutateur d'accès
Configuration 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)
Configuration du port
auto qos trust dscp (Activates QoS and trusts DSCP on a port)
priority-queue out (Sends all traffic to the priority queues)
Voilà, le commutateur et les ports exécuteront désormais Auto-QoS.
Guide de configuration Auto-QoS pour la série 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
Activation d'Auto-QoS sur la couche Core
Il y a une grande différence dans la façon dont la QoS est gérée par les commutateurs Core. La gamme Cisco 6500 ne prend pas en charge Auto-QoS SRND4, par conséquent, nous devrons configurer manuellement la QoS et la mapper aux classes correctes afin de préserver la conception Auto-QoS. Les gammes Cisco 3650 et 3850 prennent en charge Auto-QoS SRND4 et il est donc assez simple à configurer:
Activation de l'Auto-QoS sur les séries 3650 et 3850
Configuration globale
auto qos srnd4 (Activates and autogenerates the QoS configuration)
Configuration du port
auto qos trust dscp (Activates and autogenerates the QoS configuration)
Lors de la connexion du Core au FAI MPLS, nous voulons remarquer le trafic en 5 classes (car c'est ce que notre FAI prend en charge). C'est ainsi que le trafic sera priorisé via le MPLS à tous les emplacements de la topologie (voir dessin pour référence). Votre FAI peut être différent et, par conséquent, le remarquage doit être effectué de manière à ce qu'il corresponde à votre conception. L'exemple suivant montre comment vous remarquez tout le trafic en 5 classes.
Vous devez copier la carte de stratégie Auto-QoS "AutoQos-4.0-Output-Policy" générée automatiquement, puis en créer une nouvelle. Vous DEVEZ utiliser les mêmes class-maps que ceux générés par Auto-QoS. Si vous essayez de créer les vôtres, ils seront ignorés, donc les mêmes class-maps sont utilisés et le marquage est fait à partir de ces classes:
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
Les 5 classes seront par la suite hiérarchisées et envoyées au MPLS comme suit:
- Valeur AF DSCP: EF (VoIP)
- Valeur AF DSCP: af41 (tous les supports vidéo)
- Valeur AF DSCP: af21 (données transactionnelles, etc.)
- Valeur DSCP AF: par défaut (AF = 0 et DSCP = 0 données en masse par exemple)
- Valeur DSCP AF: cs1 (classe de récupération pour Bittorrent, etc.)
Les pourcentages de bande passante sont utilisés comme restant. Cela signifie que toutes les classes sont autorisées à utiliser 100% de la bande passante et à emprunter aux autres classes si la bande passante n'est pas utilisée. C'est comme le partage de bande passante, ce qui signifie que quelle que soit la classe priorisée, la plus élevée pourra envoyer du trafic si le lien est encombré.
Les classes et pourcentages de carte de stratégie peuvent être modifiés au besoin pour répondre à vos besoins individuels.
Sur la liaison montante du port vers le FAI, les éléments suivants doivent être configurés:
interface XXX
auto qos trust dscp
service-policy input AutoQos-4.0-Trust-Dscp-Input-Policy
service-policy output WAN-OUTPUT-QoS
C'est tout pour les séries 3650 et 3850.
Activation de la QoS sur la série 6500
La série 6500 ne prend pas en charge Auto-QoS SRND4. Il est très basique et ne comprend que les valeurs CoS de couche 2 pour la VoIP. Cela signifie que vous devez configurer toutes les QoS à partir de zéro, pour s'adapter à l'infrastructure Auto-QoS à partir de la couche d'accès. La QoS doit être configurée en fonction du module installé sur le châssis. Vous devez également créer des cartes de stratégie pour l'entrée et la sortie (entrée / sortie).
Le superviseur ne comprend que CoS entre le module et l'ASIC dans le châssis.
Pour activer Auto-QoS for CoS, vous devez utiliser la commande globale suivante:
auto qos default
Cela créera une table-carte de CoS à DSCP, mais les valeurs ne sont pas toutes conformes à la norme Auto-QoS SRND4 (CoS 7 est mappé à 54, qui devrait être 56). Par conséquent, vous devrez supprimer la table-map et la remplacer par ce qui suit:
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
Pour créer la QoS et les cartes de politique, nous devons découvrir quel modèle de mise en file d'attente un module utilise. Dans l'exemple ci-dessous, la file d'attente d'entrée et de sortie est la même, mais sur certains modules, les files d'attente Rx et Tx sont différentes et vous devrez donc créer des mappes de stratégie en fonction de la façon dont le modèle de file d'attente est. Pour savoir quel modèle de mise en file d'attente une interface utilise, vous devez exécuter la commande suivante. L'exemple ci-dessous est basé sur le module: C6800-16P10G
show queueing interface xxx | sec Transmit queues
Transmit queues [type = 1p7q4t]
show queueing interface xxx | sec Receive queues
Receive queues [type = 1p7q4t]
Comme écrit, les files d'attente sont les mêmes sur ce module et nous pouvons donc utiliser la même politique pour les entrées et les sorties.
1p7q4t signifie essentiellement: 1 file d'attente prioritaire, 7 files d'attente normales, où les 7 files d'attente normales ont 4 seuils. Vous pouvez obtenir plus d'informations en recherchant le nom du module et la file d'attente. Ce module, le C6800-16P10G est expliqué dans ce lien:
https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6800-series-switches/datasheet-c78-733662.html
Voir le tableau 1, Files d'attente.
Premièrement, nous devons créer les class-maps, qui seront utilisés pour tous les policy-maps. Cela correspondra aux valeurs DSCP pour les classes individuelles qui correspondent aux classes d'Auto-QoS SRND4. Notez que les class-maps sont créés comme lan-queue avec l'instruction match-all, qui fonctionne comme AND / OR en programmation. match-tout = ET & match-tout = OU.
Consultez le guide de configuration suivant; Conception de Cisco Campus QoS simplifiée, où des exemples de configuration sont fournis pour différents modules au bas de la présentation:
http://honim.typepad.com/files/campus-qos-design-simplified-brkcrs-2501.pdf
225 pages, le lien est lent.
Création de class-maps (configuration 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
Vous pouvez changer les noms ou les éditer à votre guise, selon vos besoins.
Après avoir créé les class-maps, je vais créer le policy-map. Il définit la priorité de la valeur DSCP et définit la bande passante dans les différentes files d'attente, une fois qu'il correspond à une valeur 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
Après avoir créé le policy-map, vous devez l'appliquer à une interface:
interface xxx
service-policy type lan-queuing input 1P7Q4T
service-policy type lan-queuing output 1P7Q4T
Pour vérifier votre configuration et voir que la mise en file d'attente est en cours, vous pouvez utiliser la commande suivante (vous devrez peut-être fermer / ne pas fermer l'interface pour qu'elle prenne effet):
show queueing interface xxx
Pour remarquer le trafic sur la série 6500, vous devez créer de nouveaux class-maps et un nouveau policy-map. Les class-maps ne sont pas créés en tant que files d'attente LAN et l'instruction match est match-any = OR au lieu de match-all car nous voulons vérifier plusieurs valeurs l'une après l'autre. Donc, si la première valeur ne correspond pas au paquet, la suivante sera vérifiée et ainsi de suite.
Je tiens à souligner que c'est là que nous avons dû impliquer Cisco TAC, car le bogue suivant est survenu:
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCuz52151
Nous avons dû changer les class-maps de la correspondance sur les valeurs AF en valeurs DSCP brutes (classe de rejet) à la place. Nous avons également dû mettre à niveau le commutateur vers la version 152-1.SY5 (MD). Après avoir suivi ces instructions, nous n'avons eu aucun problème depuis.
La configuration est la suivante:
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
Après cela, nous créons le policy-map:
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
Ensuite, nous devons l'appliquer à une interface:
interface xxx
service-policy output WAN-OUTPUT-QoS
service-policy type lan-queuing input 1P7Q4T
C'est ça. J'espère que ces informations vous aideront. Je comprends quand les gens disent que la QoS est compliquée. Cela peut être fait de différentes manières et l'exemple ci-dessus n'est qu'un aperçu de la façon dont cela peut être fait. Je sais que Cisco travaille à la diffusion de la norme Auto-QoS SRND4 à de plus en plus d'appareils pour aider à créer une bonne base pour la qualité de service.