Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Comprendre la notification explicite d’encombrement CoS

La notification explicite d’encombrement (ECN) permet d’envoyer des notifications d’encombrement de bout en bout entre deux points de terminaison sur les réseaux TCP/IP. Les deux points de terminaison sont un émetteur compatible ECN et un récepteur compatible ECN. ECN doit être activé sur les deux points de terminaison. Toutefois, dans le cas d’un homologue non pris en charge, un pare-feu SRX Series prenant en charge ECN amorce les paquets entrants à partir de l’homologue non pris en charge et marque les paquets pour signaler la congestion du réseau lorsqu’elle se produit.

L’ECN avertit les réseaux de la congestion dans le but de réduire la perte de paquets et les retards en obligeant l’appareil émetteur à réduire le taux de transmission jusqu’à ce que la congestion disparaisse, sans perdre de paquets. La RFC 3168, L’ajout de la notification explicite de congestion (ECN) à l’IP, définit l’ECN.

ECN est désactivé par défaut. Normalement, vous activez ECN uniquement sur les files d’attente qui gèrent le trafic au mieux, car d’autres types de trafic utilisent des méthodes différentes de notification d’encombrement : le trafic sans perte utilise le contrôle de flux basé sur la priorité (PFC) et le trafic de priorité stricte-élevée reçoit toute la bande passante de port dont il a besoin jusqu’à un débit maximal configuré.

Vous activez ECN sur des files d’attente de sortie individuelles (représentées par des classes de transfert) en activant ECN dans la configuration du planificateur de files d’attente, en mappant le planificateur aux classes de transfert (files d’attente), puis en appliquant le planificateur aux interfaces.

Note:

Pour que l’ECN fonctionne sur une file d’attente, vous devez également appliquer un profil d’abandon de paquets WRED (Weighted Random Early Detection) à la file d’attente.

Fonctionnement de l’ECN

Sans ECN, les équipements réagissent à la congestion du réseau en abandonnant les paquets TCP/IP. Les paquets abandonnés signalent au réseau qu’un encombrement est en cours. Les appareils du réseau IP réagissent aux pertes de paquets TCP en réduisant le taux de transmission des paquets pour permettre à la congestion de disparaître. Cependant, la méthode d’abandon de paquets de notification et de gestion de la congestion présente certains inconvénients. Par exemple, des paquets sont abandonnés et doivent être retransmis. En outre, le trafic en rafale peut amener le réseau à réduire excessivement le taux de transmission, ce qui entraîne une utilisation inefficace de la bande passante.

Au lieu d’abandonner des paquets pour signaler la congestion du réseau, l’ECN marque les paquets pour signaler la congestion du réseau, sans perdre les paquets. Pour qu’ECN fonctionne, l’ECN doit être activé sur tous les périphériques se trouvant sur le chemin entre deux points de terminaison compatibles ECN. L’ECN est négocié lors de l’établissement de la connexion TCP entre les points de terminaison.

Les équipements compatibles ECN déterminent l’état d’encombrement de la file d’attente en fonction de la configuration du profil d’abandon de paquets WRED appliquée à la file d’attente. De sorte que chaque file d’attente compatible ECN doit également avoir un profil d’abandon WRED. Si une file d’attente se remplit au niveau auquel le profil d’abandon WRED a une probabilité d’abandon de paquet supérieure à zéro (0), l’équipement marque le paquet comme étant congestionné. Le fait qu’un équipement marque ou non un paquet comme étant congestionné est la même probabilité que la probabilité d’abandon de la file d’attente à ce niveau de remplissage.

L’ECN indique si un encombrement se produit ou non en marquant les deux bits les moins significatifs dans le champ Services différenciés (DiffServ) de l’en-tête IP. Les six bits les plus significatifs du champ DiffServ contiennent les bits DSCP (Differentiated Services Code Point). L’état des deux bits ECN indique si le paquet est compatible ECN ou non et s’il y a eu ou non un encombrement.

Les expéditeurs compatibles ECN marquent les paquets comme étant compatibles ECN. Si un expéditeur n’est pas compatible ECN, il marque les paquets comme n’étant pas compatibles ECN. Si un paquet compatible ECN rencontre un encombrement au niveau de la file d’attente de sortie d’un équipement, l’équipement marque le paquet comme étant congestionné. Lorsque le paquet atteint le récepteur compatible ECN (point de terminaison de destination), le récepteur fait écho à l’indicateur d’encombrement à l’expéditeur (point de terminaison source) en envoyant un paquet marqué pour indiquer l’encombrement.

Après avoir reçu l’indicateur d’encombrement du récepteur, le point de terminaison source réduit le débit de transmission pour soulager l’encombrement. Ceci est similaire au résultat de la notification et de la gestion d’encombrement TCP, mais au lieu d’abandonner le paquet pour signaler l’encombrement du réseau, ECN marque le paquet et le récepteur renvoie la notification d’encombrement à l’expéditeur. Étant donné que le paquet n’est pas abandonné, il n’a pas besoin d’être retransmis.

Note:

ECN est pris en charge sur SRX380, SRX300, SRX320, SRX340, SRX345 et vSRX3.0.

Bits ECN dans le champ DiffServ

Les deux bits ECN dans le champ DiffServ fournissent quatre codes qui déterminent si un paquet est marqué comme un paquet de transport compatible ECN (ECT), ce qui signifie que les deux extrémités du protocole de transport sont compatibles ECN, et s’il y a une congestion ressentie (CE), comme indiqué dans le Tableau 1 :

Tableau 1 : Codes binaires ECN

Bits ECN (code)

Sens

00

Non-ECT : le paquet est marqué comme non compatible ECN

01

ECT(1) : les points de terminaison du protocole de transport sont compatibles ECN

10

ECT(0) : les points de terminaison du protocole de transport sont compatibles ECN

11

CE : congestion ressentie

Les codes 01 et 10 ont la même signification : les points de terminaison d’envoi et de réception du protocole de transport sont compatibles ECN. Il n’y a pas de différence entre ces codes.

Comportement ECN de bout en bout

Une fois que les points de terminaison d’envoi et de réception ont négocié ECN, le point de terminaison d’envoi marque les paquets comme compatibles ECN en définissant le champ ECN DiffServ sur ECT(1) (01) ou ECT(0) (10).

Lorsqu’un paquet traverse un périphérique et subit un encombrement au niveau d’une file d’attente de sortie qui utilise le mécanisme d’abandon de paquets WRED, le périphérique marque le paquet comme subissant un encombrement en définissant le champ ECN DiffServ sur CE (11). Au lieu de supprimer le paquet (comme dans le cas de la notification d’encombrement TCP), l’équipement transfère le paquet.

Note:

Au niveau de la file d’attente de sortie, l’algorithme WRED détermine si un paquet est éligible ou non à l’abandon en fonction du niveau de remplissage de la file d’attente (niveau de remplissage de la file d’attente). Si un paquet est éligible à l’abandon et marqué comme compatible ECN, il peut être marqué CE et transféré. Si un paquet est éligible à l’abandon et n’est pas marqué comme compatible ECN, il est abandonné. Pour plus d’informations sur l’algorithme WRED, reportez-vous à la section Contrôle du profil d’abandon WRED des seuils ECN .

Lorsque le paquet atteint le point de terminaison du récepteur, le marquage CE indique au récepteur qu’il y a un encombrement du réseau. Le récepteur envoie alors (écho) un message à l’expéditeur qui indique qu’il y a une congestion sur le réseau. L’expéditeur accuse réception du message de notification d’encombrement et réduit son taux de transmission. La figure 1 résume la manière dont ECN agit pour réduire la congestion du réseau :

Figure 1 : notification Explicit Congestion Notification explicite d’encombrement

Le comportement ECN de bout en bout comprend :

  1. L’émetteur et le récepteur compatibles ECN négocient la capacité ECN lors de l’établissement de leur connexion.

    Note:

    Si le client n’est pas compatible ECN, le pare-feu SRX négocie l’ECN au nom du client lors de l’établissement de la connexion. Le pare-feu SRX définit les bits ECE et CWR dans l’en-tête TCP du paquet SYN.

  2. Après avoir négocié avec succès la capacité ECN, l’émetteur compatible ECN envoie des paquets IP avec le champ ECT défini au récepteur.

  3. Si l’algorithme WRED d’une file d’attente de sortie d’équipement détermine que la file d’attente subit un encombrement et que le paquet est éligible à l’abandon, l’équipement peut marquer le paquet comme « encombrement constaté » (CE) pour indiquer au destinataire qu’il y a un encombrement sur le réseau. Si le paquet a déjà été marqué CE (un encombrement a déjà été constaté à la sortie d’un autre équipement), l’équipement transfère le paquet avec le marquage CE.

    S’il n’y a pas d’encombrement au niveau de la file d’attente de sortie de l’équipement, celui-ci transfère le paquet et ne modifie pas le marquage ECN des bits ECN, de sorte que le paquet est toujours marqué comme compatible ECN, mais pas comme étant congestionné.

  4. Le récepteur reçoit un paquet marqué CE pour indiquer qu’un encombrement s’est produit le long du chemin d’encombrement.

  5. Le récepteur renvoie (envoie) un paquet à l’expéditeur avec le bit ECE (bit 9) marqué dans le champ flag de l’en-tête TCP. Le bit ECE est le bit d’indicateur d’écho ECN, qui avertit l’expéditeur qu’il y a un encombrement sur le réseau.

  6. L’émetteur réduit le débit de transmission des données et envoie un paquet au récepteur avec le bit CWR (bit 8) marqué dans le champ flag de l’en-tête TCP. Le bit CWR est le bit d’indicateur réduit de la fenêtre d’encombrement, qui accuse réception de la notification d’encombrement subie.

  7. Lorsque le récepteur reçoit l’indicateur CWR, le récepteur cesse de définir le bit ECE dans les réponses à l’expéditeur.

Le Tableau 2 récapitule le comportement du trafic sur les files d’attente activées par ECN.

Tableau 2 : Comportement du trafic sur les files d’attente activées par ECN

Marquage des paquets IP entrants des bits ECN

Configuration ECN sur la file d’attente de sortie

Mesures à prendre si l’algorithme WRED détermine que le paquet est éligible à l’abandon

Marquage sortant des paquets de bits ECN

Format du journal

Non-ECT (00) SYN

WRED activé : à la fois dans les scénarios où le seuil est franchi et dans la limite du seuil

Bootstrap pour assurer la prise en charge de l’ECN

Définir ECE et CWR dans l’en-tête TCP et ECT dans l’en-tête IP

ECT-BIT : 00

WRED-MET : vrai

Données hors ECT (00)

Compatible avec WRED

Ne pas laisser tomber. Marquer le bit ECN à 01/10.

Paquet marqué ECT 01/10

Non applicable

Données hors ECT (00)

WRED activé : seuil atteint

Ne pas laisser tomber. Marquer le bit ECN 11.

Paquet marqué ECT (CE)

ECT-BIT : 00

WRED-MET : vrai

Non-ECT (00)

WRED désactivé

Pas de changement

Pas de changement

Non applicable

ECT (10 ou 01)

Compatible avec WRED

Pas de changement

Pas de changement

Non applicable

ECT (10 ou 01)

WRED activé : seuil atteint

Ne pas laisser tomber. Marquez le bit ECN à 11 et laissez tomber selon le profil de goutte.

Paquet marqué ECT (CE)

ECT-BIT : 10

WRED-MET : vrai

ECT (10 ou 01)

WRED désactivé

Pas de changement

Pas de changement

Non applicable

ECT(11)

Compatible avec WRED

Ne pas laisser tomber. Comme le paquet est déjà marqué CE, envoyez-le sans aucune modification

Paquet marqué ECT (11) pour indiquer l’encombrement

ECT-BIT : 11

WRED-MET : faux

ECT (11)

WRED désactivé

Drop packet

Drop packet

Non applicable

ECT (11)

WRED activé : seuil atteint

Ne pas laisser tomber. Le paquet est déjà marqué comme étant congestionné, transférez-le sans modifier le marquage ECN.

Paquet marqué ECT (11) pour indiquer l’encombrement

ECT-BIT : 11

WRED-MET : vrai

Lorsqu’une file d’attente de sortie ne subit pas d’encombrement tel que défini par le profil d’abandon WRED mappé à la file d’attente, tous les paquets sont transférés et aucun paquet n’est abandonné.

Comparaison entre ECN et PFC et Ethernet PAUSE

L’ECN est un mécanisme de notification de congestion réseau de bout en bout pour le trafic IP. Le contrôle de flux basé sur la priorité (PFC) (IEEE 802.1Qbb) et Ethernet PAUSE (IEEE 802.3X) sont différents types de mécanismes de gestion de la congestion.

ECN exige qu’une file d’attente de sortie soit également associée à un profil d’abandon de paquets WRED. Les files d’attente de sortie utilisées pour le trafic sur lequel PFC est activé ne doivent pas avoir de profil d’abandon WRED associé. Les interfaces sur lesquelles Ethernet PAUSE est activé ne doivent pas être associées à un profil d’interruption WRED.

Le PFC est un mécanisme de contrôle de flux peer-to-peer qui prend en charge le trafic sans perte. Le PFC permet aux appareils homologues connectés de suspendre la transmission de flux pendant les périodes de congestion. PFC vous permet de suspendre le trafic sur un type de flux spécifié sur une liaison plutôt que sur l’ensemble du trafic sur une liaison. Par exemple, vous pouvez (et devriez) activer PFC sur les classes de trafic sans perte telles que la fcoe classe de transfert. Ethernet PAUSE est également un mécanisme de contrôle de flux peer-to-peer, mais au lieu de suspendre uniquement les flux de trafic spécifiés, Ethernet PAUSE suspend tout le trafic sur une liaison physique.

Avec PFC et Ethernet PAUSE, les points de terminaison d’envoi et de réception d’un flux ne communiquent pas d’informations d’encombrement entre les périphériques intermédiaires. Au lieu de cela, PFC contrôle les flux entre deux appareils homologues compatibles PFC qui prennent en charge les normes DCB (Data Center Bridging). PFC fonctionne en envoyant un message de pause à l’homologue connecté lorsque la file d’attente de sortie de flux devient encombrée. Ethernet PAUSE met simplement en pause tout le trafic sur une liaison pendant les périodes d’encombrement et ne nécessite pas de DCB.

WRED Drop Profile Contrôle des seuils ECN

Vous appliquez des profils d’abandon WRED aux classes de transfert (qui sont mappées aux files d’attente de sortie) pour contrôler la façon dont l’équipement marque les paquets compatibles ECN. Un mappage de planificateur associe un profil de dépôt à un planificateur et à une classe de transfert, puis vous appliquez le mappage de planificateur aux interfaces pour implémenter les propriétés de planification de la classe de transfert sur ces interfaces.

Les profils d’abandon définissent les paires de niveau de remplissage de la file d’attente (le pourcentage de saturation de la file d’attente) et de probabilité d’abandon (le pourcentage de probabilité qu’un paquet soit abandonné). Lorsqu’une file d’attente se remplit à un niveau spécifié, le trafic qui correspond au profil d’abandon a la probabilité d’abandon associée à ce niveau de remplissage. Lorsque vous configurez un profil d’abandon, vous configurez des paires de niveaux de remplissage et de probabilités d’abandon pour contrôler la façon dont les paquets sont abandonnés à différents niveaux de remplissage de la file d’attente.

La première paire de niveau de remplissage et de probabilité de chute est le point de départ de la chute. Tant que la file d’attente n’a pas atteint le premier niveau de remplissage, les paquets ne sont pas abandonnés. Lorsque la file d’attente atteint le premier niveau de remplissage, les paquets qui dépassent le niveau de remplissage ont une probabilité d’abandon égale à la probabilité d’abandon associée au niveau de remplissage.

La dernière paire de niveau de remplissage et de probabilité de chute est le point final de chute. Lorsque la file d’attente atteint le dernier niveau de remplissage, tous les paquets sont abandonnés, sauf s’ils sont configurés pour ECN.

Note:

Les files d’attente sans perte (classe de transfert configurée avec l’attribut d’abandon de no-loss paquets) et les files d’attente de priorité stricte n’utilisent pas de profils d’abandon. Les files d’attente sans perte utilisent PFC pour contrôler le flux de trafic.

La configuration du profil d’abandon affecte les paquets ECN comme suit :

  • Point de départ de l’interruption : les paquets compatibles ECN peuvent être marqués comme ayant subi une congestion (CE).

  • Point d’extrémité d’abandon : les paquets compatibles ECN sont toujours marqués CE.

Au fur et à mesure qu’une file d’attente se remplit du point de départ au point d’arrivée de l’abandon, la probabilité qu’un paquet ECN soit marqué CE est la même que la probabilité qu’un paquet non-ECN soit abandonné si vous appliquez le profil d’abandon au trafic au mieux. Au fur et à mesure que la file d’attente se remplit, la probabilité qu’un paquet ECN soit marqué CE augmente, tout comme la probabilité qu’un paquet non-ECN soit abandonné augmente lorsque vous appliquez le profil d’abandon au trafic best-effort.

Au point de fin de dépôt, tous les paquets ECN sont marqués CE, mais les paquets ECN ne sont pas abandonnés. Lorsque le niveau de remplissage de la file d’attente dépasse le point de fin d’abandon, tous les paquets ECN sont marqués CE. Les paquets ECN (et tous les autres paquets) sont abandonnés à la fin si la file d’attente se remplit complètement.

Pour configurer un profil d’abandon de paquets WRED et l’appliquer à une file d’attente de sortie (à l’aide de la planification hiérarchique sur les périphériques prenant en charge ETS) :

  1. Configurez un profil de suppression à l’aide de l’instruction set class-of-service drop-profiles profile-name interpolate fill-level drop-start-point fill-level drop-end-point drop-probability 0 drop-probability percentage.

  2. Mappez le profil d’abandon à un planificateur de file d’attente à l’aide de l’instruction set class-of-service schedulers scheduler-name drop-profile-map loss-priority (low | medium-high | high) protocol any drop-profile profile-name. Le nom du profil drop-profile est le nom du profil WRED configuré à l’étape 1.

  3. Mappez le planificateur, que l’étape 2 associe au profil d’abandon, à la file d’attente de sortie à l’aide de l’instruction set class-of-service scheduler-maps map-name forwarding-class forwarding-class-name scheduler scheduler-name. La classe de transfert identifie la file d’attente de sortie. Les classes de transfert sont mappées aux files d’attente de sortie par défaut et peuvent être remappées à différentes files d’attente par configuration utilisateur explicite. Le nom du planificateur est le planificateur configuré à l’étape 2.

  4. Associez la carte du planificateur à un profil de contrôle du trafic à l’aide de l’instruction set class-of-service traffic-control-profiles tcp-name scheduler-map map-name. Le nom de la carte du planificateur est le nom configuré à l’étape 3.

  5. Associez le profil de contrôle du trafic à une interface à l’aide de l’instruction set class-of-service interface interface-name forwarding-class-set forwarding-class-set-name output-traffic-control-profile tcp-name. Le nom du profil de contrôle du trafic en sortie est le nom du profil de contrôle du trafic configuré à l’étape 4.

    L’interface utilise la carte du planificateur dans le profil de contrôle du trafic pour appliquer le profil d’abandon (et d’autres attributs, y compris l’attribut enable ECN) à la file d’attente de sortie (classe de transfert) sur cette interface. Étant donné que vous pouvez utiliser différents profils de contrôle du trafic pour mapper différents planificateurs à différentes interfaces, le même numéro de file d’attente sur différentes interfaces peut gérer le trafic de différentes manières.

Vous pouvez configurer un profil d’abandon de paquets WRED et l’appliquer à une file d’attente de sortie sur les périphériques qui prennent en charge la planification de ports (la planification hiérarchique ETS n’est pas prise en charge ou n’est pas utilisée). Pour configurer un profil d’abandon de paquets WRED et l’appliquer à une file d’attente de sortie sur les périphériques qui prennent en charge la planification de ports (la planification hiérarchique ETS n’est pas prise en charge ou n’est pas utilisée) :

  1. Configurez un profil de suppression à l’aide de l’instruction set class-of-service drop-profiles profile-name interpolate fill-level level1 level2 ... level32 drop-probability probability1 probability2 ... probability32. Vous pouvez spécifier aussi peu que deux paires de niveau de remplissage/probabilité de chute ou jusqu’à 32 paires.

  2. Mappez le profil d’abandon à un planificateur de file d’attente à l’aide de l’instruction set class-of-service schedulers scheduler-name drop-profile-map loss-priority (low | medium-high | high) drop-profile profile-name. Le nom du profil drop-profile est le nom du profil WRED configuré à l’étape 1.

  3. Mappez le planificateur, que l’étape 2 associe au profil d’abandon, à la file d’attente de sortie à l’aide de l’instruction set class-of-service scheduler-maps map-name forwarding-class forwarding-class-name scheduler scheduler-name. La classe de transfert identifie la file d’attente de sortie. Les classes de transfert sont mappées aux files d’attente de sortie par défaut et peuvent être remappées à différentes files d’attente par configuration utilisateur explicite. Le nom du planificateur est le planificateur configuré à l’étape 2.

  4. Associez la carte du planificateur à une interface à l’aide de l’instruction set class-of-service interfaces interface-name scheduler-map scheduler-map-name.

    L’interface utilise le mappage du planificateur pour appliquer le profil d’abandon (et d’autres attributs) à la file d’attente de sortie mappée à la classe de transfert sur cette interface. Étant donné que vous pouvez utiliser différentes cartes de planification sur différentes interfaces, le même numéro de file d’attente sur différentes interfaces peut gérer le trafic de différentes manières.

Assistance, limitations et remarques

Si l’algorithme WRED mappé à une file d’attente ne détecte pas d’interruption de paquets, la configuration ECN et le marquage des bits ECN n’ont pas d’importance. Le comportement de transport des paquets est le même que lorsque l’ECN n’est pas activé.

ECN est désactivé par défaut. Normalement, vous activez ECN uniquement sur les files d’attente qui gèrent le trafic best-effort, et vous ne l’activez pas sur les files d’attente qui gèrent le trafic sans perte ou le trafic à priorité stricte.

ECN prend en charge les éléments suivants :

  • Paquets IPv4 et IPv6

  • Paquets non étiquetés, étiquetés simplement et doublement étiquetés

  • L’en-tête IP externe des paquets tunnelisés IP (mais pas l’en-tête IP interne)

ECN ne prend pas en charge les éléments suivants :

  • Paquets IP avec encapsulation MPLS

  • L’en-tête IP interne des paquets tunnelisés IP (cependant, ECN fonctionne sur l’en-tête IP externe)

  • Échec du trafic de multidiffusion, de diffusion et de recherche de destination (DLF)

  • Trafic non-IP