Comprendre le DCBX
Le protocole DCBX (Data Center Bridging Capability Exchange) est une extension du protocole LLDP (Link Layer Data Protocol). Si vous désactivez LLDP sur une interface, celle-ci ne peut pas exécuter DCBX. Si vous tentez d’activer DCBX sur une interface sur laquelle LLDP est désactivé, l’opération de validation de configuration échoue. Les dispositifs de pontage de centre de données (DCB) utilisent le DCBX pour échanger des informations de configuration avec des homologues directement connectés.
Cette rubrique décrit :
Principes de base du DCBX
Le DCBX peut :
Découvrez les capacités DCB de vos pairs.
Détectez les erreurs de configuration des fonctionnalités DCB ou les incompatibilités entre pairs.
Configurez les fonctionnalités DCB sur les pairs.
Vous pouvez configurer le fonctionnement DCBX pour le contrôle de flux basé sur les priorités (PFC), les applications de couche 2 et de couche 4 telles que FCoE et iSCSI, et ETS. DCBX est activé ou désactivé pour chaque interface.
Les commutateurs QFX5200 et QFX5210 ne prennent pas en charge la planification hiérarchique ETS (Enhanced Transmission Select). Utilisez la planification de ports pour gérer la bande passante sur ces commutateurs.
Par défaut, pour PFC et ETS, DCBX négocie automatiquement l’état administratif et la configuration avec l’homologue connecté de chaque interface. Pour activer la négociation DCBX pour les applications, vous devez configurer les applications, les mapper aux points de code IEEE 802.1p dans une carte d’application et appliquer la carte d’application aux interfaces.
L’application FCoE n’a besoin d’être incluse dans une carte d’application que si vous souhaitez qu’une interface échange le type, la longueur et les valeurs (TLV) pour d’autres applications en plus de FCoE. Si FCoE est la seule application dont vous souhaitez qu’une interface fasse la publicité, vous n’avez pas besoin d’utiliser de mappage d’application. Pour ETS, DCBX envoie la configuration du commutateur aux homologues s’ils sont configurés pour apprendre la configuration à partir du commutateur (sauf si vous désactivez l’envoi du TLV de recommandation ETS sur les interfaces en mode IEEE DCBX).
Vous pouvez remplacer le comportement par défaut pour PFC, pour ETS ou pour toutes les applications mappées à une interface en désactivant la négociation automatique pour forcer une interface à activer ou désactiver cette fonctionnalité. Vous pouvez également désactiver la négociation automatique DCBX pour les applications d’une interface en excluant ces applications de la carte d’application que vous appliquez à cette interface ou en supprimant la carte d’application de l’interface.
Le comportement de négociation automatique par défaut pour les applications mappées à une interface est le suivant :
DCBX est activé sur l’interface si l’appareil homologue connecté prend également en charge DCBX.
DCBX est désactivé sur l’interface si l’appareil homologue connecté ne prend pas en charge DCBX.
Au cours de la négociation des capacités, le commutateur peut envoyer la configuration PFC à un homologue attaché si celui-ci est configuré comme étant « disposé » à apprendre la configuration PFC auprès d’autres homologues. Le commutateur Juniper Networks ne prend pas en charge le provisionnement automatique automatique et ne modifie pas sa configuration pendant la négociation automatique pour correspondre à la configuration homologue. (Le commutateur Juniper n’est pas « disposé » à apprendre la configuration PFC de ses pairs.)
Lorsqu’un port sur lequel DCBX est activé commence à échanger des entrées TLV (type, longueur et valeur), les TLV LLDP facultatifs sur ce port ne sont pas annoncées aux voisins, de sorte que le commutateur peut interagir avec une plus grande variété de cartes réseau convergentes (CNA) et de commutateurs de couche 2 qui prennent en charge DCBX.
Modes DCBX et prise en charge
Cette section décrit la prise en charge de DCBX :
- Modes DCBX (versions)
- Négociation automatique
- Prise en charge de CNA pour les modes DCBX
- Prise en charge de l’interface DCBX
Modes DCBX (versions)
Les deux modes DCBX les plus courants sont pris en charge :
IEEE DCBX : version DCBX la plus récente. Différentes TLV ont des sous-types différents (par exemple, le sous-type de la TLV de configuration ETS est 9) ; l’identifiant unique organisationnel (OUI) IEEE DCBX est 0x0080c2.
DCBX version 1.01 : version CEE (Converged Enhanced Ethernet) de DCBX. Il a un sous-type de 2 et un OUI de 0x001b21.
IEEE DCBX et DCBX version 1.01 diffèrent principalement par le format des trames. La version 1.01 de DCBX utilise un TLV qui inclut toutes les informations d’attribut DCBX, qui sont envoyées sous forme de sous-TLV. IEEE DCBX utilise un TLV unique pour chaque attribut DCB.
Le commutateur ne prend pas en charge les versions DCBX pré-CEE (pré-DCB). Les anciennes versions non prises en charge de DCBX ont un sous-type de 1 et un OUI de 0x001b21. Le commutateur abandonne les trames LLDP qui contiennent des TLV DCBX pré-CEE.
Le Tableau 1 récapitule les différences entre IEEE DCBX et DCBX version 1.01, y compris la sortie de la commande show :
Caractéristique |
IEEE DCBX |
DCBX version 1.01 |
---|---|---|
OUI |
0x0080c2 |
0x001b21 |
Format de l’image |
Envoie un TLV distinct et unique pour chaque attribut DCBX. Par exemple, IEEE DCBX utilise des TLV distincts pour ETS, PFC et chaque application. Les informations de configuration et de recommandation sont envoyées dans différentes TLV |
Envoie un TLV qui inclut toutes les informations d’attribut DCBX organisées en sous-TLV. Le bit « volontaire » détermine si une interface peut ou non modifier sa configuration pour correspondre à l’homologue connecté. |
Configuration symétrique/asymétrique avec homologue |
Asymétrique ou symétrique |
Symétrique uniquement |
Différences dans le |
|
|
Vous pouvez configurer les interfaces pour qu’elles utilisent les modes DCBX suivants :
IEEE DCBX : l’interface utilise IEEE DCBX, quelle que soit la configuration de l’homologue connecté.
DCBX version 1.01 : l’interface utilise DCBX version 1.01, quelle que soit la configuration sur l’homologue connecté.
Autonegotiation (Négociation automatique) : l’interface négocie automatiquement avec l’homologue connecté pour déterminer la version DCBX utilisée par les homologues. La négociation automatique est le mode DCBX par défaut.
Si vous configurez un mode DCBX sur une interface, celle-ci ignore les unités de données de protocole (PDU) DCBX qu’elle reçoit de l’homologue connecté si les PDU ne correspondent pas à la version DCBX configurée sur l’interface. Par exemple, si vous configurez une interface pour qu’elle utilise IEEE DCBX et que l’homologue connecté envoie des PDU LLDP DCBX version 1.01, l’interface ignore les PDU de la version 1.01. Si vous configurez une interface pour utiliser DCBX version 1.01 et que l’homologue envoie des PDU IEEE DCBX LLDP, l’interface ignore les PDU IEEE DCBX.
Sur les interfaces qui utilisent le mode IEEE DCBX, la commande opérationnelle n’inclut pas l’état opérationnel de l’application, du show dcbx neighbors interface interface-name
PFC ou de l’ETS dans la sortie.
Négociation automatique
La négociation automatique est le mode DCBX par défaut. Chaque interface négocie automatiquement avec son homologue connecté pour déterminer la version de DCBX que les deux interfaces utilisent pour échanger des informations DCBX.
Lorsqu’une interface se connecte à son homologue, celui-ci lui attribue des TLV IEEE DCBX. Si l’interface reçoit une PDU IEEE DCBX de l’homologue, elle définit le mode DCBX sur IEEE DCBX. Si l’interface reçoit trois TLV DCBX version 1.01 de l’homologue, l’interface définit DCBX version 1.01 comme mode DCBX.
La négociation automatique fonctionne légèrement différemment sur les commutateurs autonomes par rapport aux systèmes QFabric :
Commutateurs autonomes : lorsqu’une interface se connecte à son homologue, l’interface lui attribue des TLV IEEE DCBX. Si l’interface reçoit un IEEE DCBX TLV de l’homologue, l’interface définit IEEE DCBX comme mode DCBX. Si l’interface reçoit trois TLV DCBX version 1.01 consécutives de l’homologue, l’interface définit DCBX version 1.01 comme mode DCBX.
Système QFabric : lorsqu’une interface se connecte à son interface homologue, l’interface annonce des TLV DCBX version 1.01 à l’homologue. Si l’interface reçoit un TLV IEEE DCBX de l’homologue, l’interface définit IEEE DCBX comme mode DCBX. Si l’interface reçoit trois TLV DCBX version 1.01 consécutives de l’homologue, l’interface conserve DCBX version 1.01 comme mode DCBX.
Si la liaison bascule ou si le processus LLDP redémarre, l’interface redémarre le processus de négociation automatique. L’interface n’utilise pas le dernier mode de communication DCBX reçu.
Prise en charge de CNA pour les modes DCBX
Différents fournisseurs CNA prennent en charge différentes versions et capacités de DCBX. La configuration DCBX que vous utilisez sur les interfaces de commutation dépend des fonctionnalités DCBX prises en charge par les CNA de votre réseau.
Prise en charge de l’interface DCBX
Vous pouvez configurer le DCBX sur des interfaces 10 Gigabit Ethernet et sur des interfaces LAG (Link Aggregation Group) dont les interfaces membres sont toutes des interfaces Ethernet 10 Gigabit.
Types d’attributs DCBX
DCBX possède trois types d’attributs :
Information : ces attributs sont échangés à l’aide de LLDP, mais n’affectent pas l’état ou le fonctionnement du DCBX ; ils ne communiquent des informations qu’à l’homologue. Par exemple, les TLV de priorité d’application sont des TLV informationnels.
Asymétrique : il n’est pas nécessaire que les valeurs de ces types d’attributs soient identiques sur les interfaces homologues connectées. Les homologues échangent des attributs asymétriques lorsque les valeurs d’attribut peuvent différer sur chaque interface homologue. Les configurations de l’interface homologue peuvent correspondre ou différer. Par exemple, les TLV de configuration et de recommandation ETS sont des TLV asymétriques.
Symétrique : l’objectif est que les valeurs de ces types d’attributs soient les mêmes sur les deux interfaces homologues connectées. Les interfaces homologues échangent des attributs symétriques afin d’assurer une configuration DCBX symétrique pour ces attributs. Par exemple, les TLV de configuration PFC sont des TLV symétriques.
Les sections suivantes décrivent les attributs DCBX asymétriques et symétriques :
Attributs asymétriques
DCBX transmet des attributs asymétriques entre les interfaces homologues connectées pour communiquer des informations de paramètres sur ces attributs (entités). La configuration résultante d’un attribut peut être différente sur chaque homologue, de sorte que les paramètres configurés sur une interface peuvent ne pas correspondre aux paramètres de l’interface homologue connectée.
Il existe deux types de TLV d’attribut asymétrique :
TLV de configuration : les TLV de configuration communiquent l’état opérationnel actuel et l’état du bit « volontaire ». Le bit « volontaire » indique si l’interface est disposée ou non à accepter et à utiliser la configuration de l’interface homologue. Si une interface est « volontaire », elle utilise la configuration qu’elle reçoit de l’interface homologue. (La configuration de l’interface homologue peut remplacer la configuration de l’interface « volontaire ».) Si une interface n’est pas disposée à le faire, la configuration de l’interface ne peut pas être remplacée par la configuration de l’interface homologue.
TLV de recommandation : les TLV de recommandation communiquent les paramètres que l’interface recommande à l’interface homologue connectée d’utiliser. Lorsqu’une interface envoie un TLV de recommandation, si l’homologue connecté est « disposé », il modifie sa configuration pour correspondre aux paramètres du TLV de recommandation.
Attributs symétriques
DCBX transmet des attributs symétriques entre les interfaces homologues connectées pour communiquer des informations de paramètres sur ces attributs (caractéristiques), l’objectif étant que les deux interfaces utilisent la même configuration. L’objectif est que les paramètres configurés sur une interface correspondent aux paramètres de l’interface homologue connectée.
Il existe un type de TLV d’attribut symétrique, le TLV de configuration. Comme pour les attributs asymétriques, les TLV de configuration d’attributs symétriques communiquent l’état opérationnel actuel et l’état du bit « volontaire ». Les interfaces « volontaires » utilisent les valeurs des paramètres de l’interface homologue pour l’attribut. (La configuration de l’attribut de l’homologue remplace la configuration de l’interface « volontaire ».)
Échange TLV du protocole d’application DCBX
DCBX annonce les capacités du commutateur pour les applications de couche 2 telles que FCoE et les applications de couche 4 telles que iSCSI :
- Échange TLV de protocole d’application
- Protocole d’application FCoE TLV Exchange
- Désactivation de l’échange TLV Application Protocol
Échange TLV de protocole d’application
Pour toutes les applications, DCBX annonce l’état de l’application et les points de code IEEE 802.1p sur les interfaces auxquelles l’application est mappée. Si une application n’est pas mappée à une interface, celle-ci n’annonce pas les TLV de l’application. Il existe une exception pour l’échange TLV du protocole d’application FCoE lorsque FCoE est la seule application que vous souhaitez que DCBX annonce sur une interface.
Protocole d’application FCoE TLV Exchange
L’échange de TLV de protocole pour l’application FCoE varie selon que FCoE est la seule application que vous souhaitez que l’interface annonce ou que vous souhaitiez que l’interface échange d’autres TLV d’application en plus des TLV FCoE.
Si FCoE est la seule application que vous souhaitez que DCBX annonce sur une interface, DCBX échange les TLV de protocole d’application FCoE par défaut si l’interface :
Transporte le trafic FCoE (trafic mappé par la configuration CoS à la classe de transfert FCoE)
Dispose d’un profil de notification d’encombrement avec PFC activé sur la priorité FCoE (point de code IEEE 802.1p)
N’a pas de carte d’application
Si aucune configuration CoS pour FCoE n’est mappée à une interface, celle-ci n’échange pas de TLV de protocole d’application FCoE.
Si vous souhaitez que DCBX annonce FCoE et d’autres applications sur une interface, vous devez spécifier toutes les applications, y compris FCoE, dans un mappage d’application et appliquer le mappage d’application aux interfaces souhaitées.
Si un mappage d’application est appliqué à une interface, l’application FCoE doit être explicitement configurée dans le mappage d’application, sinon l’interface n’échange pas de TLV FCoE.
Lorsque DCBX annonce l’application FCoE, il annonce l’état FCoE et les points de code IEEE 802.1p. Si un périphérique homologue connecté à une interface de commutateur ne prend pas en charge FCoE, DCBX utilise la négociation automatique pour marquer l’interface comme « FCoE inactif » et FCoE est désactivé sur cette interface.
Désactivation de l’échange TLV Application Protocol
Pour désactiver l’échange de protocole d’application DCBX pour toutes les applications d’une interface, exécutez la set protocols dcbx interface interface-name applications no-auto-negotiation
commande.
Vous pouvez également désactiver l’échange de protocole d’application DCBX pour les applications d’une interface en supprimant le mappage d’application de l’interface ou en supprimant une application particulière du mappage d’application. Toutefois, lorsque vous supprimez une application d’un mappage d’application, le protocole d’application n’est plus échangé sur les interfaces qui utilisent ce mappage d’application.
DCBX et PFC
Une fois que vous avez activé PFC sur une interface de commutateur, DCBX utilise la négociation automatique pour contrôler l’état opérationnel de la fonctionnalité PFC.
Si l’appareil homologue connecté à l’interface prend en charge PFC et est provisionné de manière compatible avec le commutateur, DCBX définit l’état opérationnel PFC sur activé. Si l’appareil homologue connecté à l’interface ne prend pas en charge PFC ou n’est pas provisionné de manière compatible avec le commutateur, DCBX définit l’état opérationnel sur désactivé. (Le PFC doit être symétrique.)
Si l’homologue annonce qu’il est « disposé » à apprendre sa configuration PFC à partir du commutateur, DCBX envoie la configuration PFC du commutateur à l’homologue et ne vérifie pas l’état administratif de l’homologue.
Vous pouvez remplacer manuellement le contrôle DCBX de l’état opérationnel PFC par interface en désactivant la négociation automatique. Si vous désactivez la négociation automatique sur une interface sur laquelle vous avez configuré PFC, PFC est activé sur cette interface, quelle que soit la configuration de l’homologue. Pour désactiver PFC sur une interface, ne le configurez pas sur cette interface.
DCBX et ETS
Cette section décrit :
- Publication DCBX ETS par défaut
- Publication ETS et configuration des pairs
- TLV de la recommandation ETS
Publication DCBX ETS par défaut
Si vous ne configurez pas ETS sur une interface, le commutateur crée automatiquement un groupe de priorité par défaut qui contient toutes les priorités (classes de transfert, qui représentent les files d’attente de sortie) et attribue 100 % de la bande passante de sortie du port à ce groupe de priorités. Le groupe de priorité par défaut est transparent. Il n’apparaît pas dans la configuration et est utilisé pour la publication DCBX. DCBX annonce le groupe de priorité par défaut, ses priorités et la bande passante attribuée.
Si vous configurez ETS sur une interface, DCBX annonce :
Chaque groupe de priorité sur l’interface
Les priorités de chaque groupe prioritaire
Les propriétés de bande passante de chaque groupe de priorité et de chaque priorité
Toute priorité sur cette interface qui ne fait pas partie d’un groupe de priorité explicitement configuré (ensemble de classes de transfert) est affectée au groupe de priorité par défaut généré automatiquement et ne reçoit aucune bande passante. Si vous configurez ETS sur une interface, chaque classe de transfert (priority) sur cette interface pour laquelle vous souhaitez transférer le trafic doit appartenir à un ensemble de classes de transfert (groupe de priorités).
Publication ETS et configuration des pairs
DCBX ne contrôle pas l’état opérationnel ETS (planification hiérarchique) du commutateur. Si l’homologue connecté est configuré comme « volontaire », DCBX envoie la configuration ETS du commutateur aux homologues du commutateur si la TLV de recommandation ETS est activée (elle est activée par défaut). Si l’homologue ne prend pas en charge ETS ou n’est pas provisionné de manière cohérente avec le commutateur, DCBX ne modifie pas l’état opérationnel ETS sur le commutateur. L’état opérationnel ETS reste activé ou désactivé en fonction de la configuration de planification hiérarchique du commutateur uniquement et est activé par défaut.
Lorsque ETS est configuré, DCBX annonce les groupes prioritaires, les priorités dans les groupes prioritaires et la configuration de la bande passante pour les groupes prioritaires et les priorités. Toute priorité (essentiellement une classe ou une file d’attente de transfert) qui ne fait pas partie d’un groupe de priorité n’a pas de propriétés de planification et ne reçoit pas de bande passante.
Vous pouvez remplacer manuellement si DCBX annonce l’état ETS à l’homologue pour chaque interface en désactivant la négociation automatique. Cela n’affecte pas l’état ETS sur le commutateur ou sur l’homologue , mais empêche le commutateur d’envoyer le TLV de recommandation ou le TLV de configuration à l’homologue connecté. Pour désactiver ETS sur une interface, ne configurez pas de groupes de priorités (ensembles de classes de transfert) sur l’interface.
TLV de la recommandation ETS
Le TLV de recommandation ETS communique les paramètres ETS que le commutateur souhaite que l’interface homologue connectée utilise. Si l’interface homologue est « volontaire », elle modifie sa configuration pour qu’elle corresponde à la configuration de la TLV de la recommandation ETS. Par défaut, les interfaces de commutation envoient la TLV de recommandation ETS à l’homologue. Les paramètres communiqués sont les paramètres ETS de sortie définis par la configuration de la planification hiérarchique sur l’interface.
Nous vous recommandons d’utiliser les mêmes paramètres ETS sur l’homologue connecté que sur l’interface du commutateur et de laisser la TLV de recommandation ETS activée. Toutefois, sur les interfaces qui utilisent IEEE DCBX comme mode DCBX, si vous souhaitez une configuration asymétrique entre l’interface du commutateur et l’homologue connecté, vous pouvez désactiver le TLV de la recommandation ETS en incluant l’instruction no-recommendation-tlv
au niveau de la [edit protocols dcbx interface interface-name enhanced-transmission-selection]
hiérarchie.
Vous ne pouvez désactiver le TLV de recommandation ETS que lorsque le mode DCBX de l’interface est IEEE DCBX. La désactivation de la TLV de recommandation ETS n’a aucun effet si le mode DCBX sur l’interface est DCBX version 1.01. (IEEE DCBX utilise des TLV d’attributs d’application distincts, mais la version 1.01 de DCBX envoie tous les attributs d’application dans le même TLV et utilise des sous-TLV pour séparer les informations.)
Si vous désactivez le TLV de recommandation ETS, le commutateur continue d’envoyer le TLV de configuration ETS à l’homologue connecté. Par conséquent, l’homologue connecté est informé de la configuration ETS DCBX du commutateur, mais même s’il est « d’accord », il ne modifie pas sa configuration pour qu’elle corresponde à la configuration du commutateur. Il s’agit d’une configuration asymétrique : les deux interfaces peuvent avoir des valeurs de paramètre différentes pour l’attribut ETS.
Par exemple, si vous souhaitez qu’une CNA connectée à une interface de commutation ait des allocations de bande passante différentes de celles de la configuration ETS du commutateur, vous pouvez désactiver la TLV de recommandation ETS et configurer la CNA pour la bande passante souhaitée. L’interface du commutateur et le CNA échangent des paramètres de configuration, mais le CNA ne modifie pas sa configuration pour correspondre à la configuration de l’interface du commutateur.