SUR CETTE PAGE
Exemple : Configuration de mécanismes de contrôle hiérarchiques pour limiter les débits de services dans un environnement statique
Cet exemple montre comment configurer un mécanisme de contrôle hiérarchique et l’appliquer au trafic entrant de couche 2 au niveau d’une interface logique sur un routeur MX Series.
Exigences
Avant de commencer, assurez-vous que votre environnement répond aux exigences suivantes :
L’interface sur laquelle vous appliquez le régulateur hiérarchique est une interface hébergée sur un routeur MX Series.
Aucun autre mécanisme de contrôle n’est appliqué à l’entrée de l’interface à laquelle vous appliquez le mécanisme de contrôle hiérarchique.
Vous savez que, si vous appliquez le régulateur hiérarchique à l’interface logique sur laquelle un filtre d’entrée est également appliqué, le régulateur est exécuté en premier.
Vue d’ensemble
Dans cet exemple, vous configurez un mécanisme de contrôle hiérarchique et l’appliquez au trafic entrant de couche 2 au niveau d’une interface logique. Le Tableau 1 décrit les niveaux hiérarchiques auxquels vous pouvez configurer et appliquer des mécanismes de contrôle hiérarchiques sur les interfaces logiques et physiques.
Configuration du régulateur |
Application de couche 2 |
Points clés |
|---|---|---|
| Mécanisme de contrôle hiérarchique Le débit limite hiérarchiquement le trafic entrant de couche 2 pour toutes les familles de protocoles. Ne peut pas être appliqué au trafic sortant, au trafic de couche 3 ou à un niveau de protocole spécifique de la hiérarchie des interfaces. Pris en charge sur les interfaces des concentrateurs de ports denses (DPC) des routeurs MX Series. |
||
Composants de police agrégés et premium d’un policer hiérarchique : [edit dynamic-profiles profile-name firewall]
hierarchical-policer policer-name {
aggregate {
if-exceeding {
bandwidth-limit bps;
burst-size-limit bytes;
}
then {
discard;
forwarding-class class-name;
loss-priority supported-value;
}
}
premium {
if-exceeding {
bandwidth-limit bps;
burst-size-limit bytes;
}
then {
discard;
}
}
}
|
Option A (interface physique) : s’applique directement au trafic d’entrée de couche 2 sur une interface physique : [edit dynamic-profiles profile-name interfaces]
interface-name {
layer2-policer {
input-hierarchical-policer policer-name;
}
}
|
Limite hiérarchiquement le trafic entrant de couche 2 pour toutes les familles de protocoles et interfaces logiques configurées sur une interface physique. Incluez l’instruction de
Remarque :
Si vous appliquez un mécanisme de contrôle hiérarchique à une interface physique, vous ne pouvez pas également appliquer un mécanisme de contrôle hiérarchique à l’une des interfaces logiques membres. |
Option B (interface logique) : s’applique directement au trafic d’entrée de couche 2 sur une interface logique : [edit dynamic-profiles profile-name interfaces]
interface-name {
unit unit-number {
layer2-policer {
input-hierarchical-policer policer-name;
}
}
}
|
Limite hiérarchiquement le trafic entrant de couche 2 pour toutes les familles de protocoles configurées sur une interface logique spécifique. Incluez l’instruction de
Remarque :
Vous devez configurer au moins une famille de protocoles pour l’interface logique. |
|
Vous appliquez le mécanisme de contrôle à l’interface logique Gigabit Ethernet ge-1/2/0.0, que vous configurez pour le trafic IPv4. Lorsque vous appliquez le mécanisme de contrôle hiérarchique à l’interface logique, le trafic IPv4 est limité hiérarchiquement par le débit. Si vous choisissez d’appliquer le contrôle hiérarchique à l’interface physique ge-1/2/0, le contrôle hiérarchique s’applique également au trafic IPv4 sur l’interface logique.
La configuration
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, consultez Utilisation de l’éditeur CLI en mode Configuration.
Pour configurer cet exemple, effectuez les tâches suivantes :
- Configuration rapide de la CLI
- Configuration d’un profil dynamique de base pour la gestion des abonnés
- Configuration des interfaces
- Configuration du filtre de pare-feu
- Configuration des classes de transfert
- Configuration du régulateur hiérarchique
- Application du mécanisme de contrôle hiérarchique au trafic entrant de couche 2 au niveau d’une interface physique ou logique
Configuration rapide de la CLI
Pour configurer rapidement cet exemple, copiez les commandes de configuration suivantes dans un fichier texte, supprimez les sauts de ligne, puis collez-les dans la CLI au niveau de la [edit] hiérarchie.
set dynamic-profiles basic-profile set dynamic-profiles basic-profile interfaces “$junos-interface-ifd-name” set dynamic-profiles basic-profile interfaces "$junos-interface-ifd-name" unit “$junos-underlying-interface-unit” set dynamic-profiles basic-profile interfaces "$junos-interface-ifd-name" unit $junos-underlying-interface-unit family inet set dynamic-profiles interfaces ge-1/2/0 unit 0 family inet address 203.0.113.80/31 set dynamic-profiles basic-profile firewall family inet filter hierarch-filter set dynamic-profiles basic-profile firewall family inet filter hierarch-filter interface-specific set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip1 set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip2 set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip1 from precedence critical-ecp protocol set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip1 from protocol tcp set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip1 then hierarchical-policer hp1-share filter-specific set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip2 from precedence internet-control set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip2 from protocol tcp set dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip2 then hierarchical-policer hp2-share set class-of-service forwarding-classes class fc0 queue-num 0 priority high policing-priority premium set class-of-service forwarding-classes class fc1 queue-num 1 priority low policing-priority normal set class-of-service forwarding-classes class fc2 queue-num 2 priority low policing-priority normal set class-of-service forwarding-classes class fc3 queue-num 3 priority low policing-priority normal set dynamic-profiles basic-profile firewall hierarchical-policer policer-agg-prem aggregate if-exceeding bandwidth-limit 10m burst-size-limit 100k set dynamic-profiles basic-profile firewall hierarchical-policer policer-agg-prem aggregate then forwarding-class fc1 set dynamic-profiles basic-profile firewall hierarchical-policer policer-agg-prem premium if-exceeding bandwidth-limit 2m burst-size-limit 50k set dynamic-profiles basic-profile firewall hierarchical-policer policer-agg-prem premium then discard set dynamic-profiles basic-profile interfaces ge-1/2/0 unit 0 layer2-policer input-hierarchical-policer policer-agg-prem
Configuration d’un profil dynamique de base pour la gestion des abonnés
Procédure étape par étape
Un profil dynamique est un ensemble de caractéristiques, définies dans un type de modèle, que vous pouvez utiliser pour fournir un accès et des services d’abonné dynamiques pour les applications haut débit. Ces services sont affectés dynamiquement aux interfaces. Un profil de base doit contenir un nom de profil et avoir à la fois un nom de variable d’interface (tel que $junos-interface-ifd-name) au niveau de la [edit dynamic-profiles profile-name interfaces hiérarchie et un nom de variable d’interface logique (tel que $junos-underlying-interface-unit $junos-interface-unitou ) au niveau de la [edit dynamic-profiles profile-name interfaces variable-interface-name unit] hiérarchie.
Créez le profil dynamique.
[edit] user@host# set dynamic-profiles basic-profile
Définissez l’instruction variable
interface-nameavec la variable interne $junos-interface-ifd-name utilisée par le routeur pour correspondre au nom de l’interface de l’interface réceptrice.[edit dynamic-profiles basic-profile] user@host# set interfaces “$junos-interface-ifd-name”
Définissez l’instruction
variable-interface-name unitavec la variable interne.Lorsque vous référencez une interface existante, spécifiez la $junos-underlying-interface-unit variable utilisée par le routeur pour qu’elle corresponde à la valeur unitaire de l’interface de réception.
Lors de la création d’interfaces dynamiques, spécifiez la $junos-interface-unit variable utilisée par le routeur pour générer une valeur unitaire pour l’interface.
[edit dynamic-profiles basic-profile interfaces "$junos-interface-ifd-name"] user@host# set unit $junos-underlying-interface-unit
ou
[edit dynamic-profiles basic-profile interfaces "$junos-interface-ifd-name"] user@host# set unit $junos-interface-unit
Définissez le type d’adresse familiale (inet pour IPv4) pour la $junos-interface-unit variable.
[edit dynamic-profiles basic-profile interfaces "$junos-interface-ifd-name" unit $junos-underlying-interface-unit] user@host# set family inet
Résultats
Confirmez la configuration du profil dynamique en entrant la commande de show dynamic-profiles configuration. Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cette procédure pour corriger la configuration.
[edit]
user@host# show dynamic-profiles
dynamic-profiles {
basic-profile {
interfaces {
"$junos-interface-ifd-name" {
unit "$junos-underlying-interface-unit" {
family inet;
}
}
}
}
}
Si vous avez terminé de configurer l’appareil, entrez en commit mode configuration.
Configuration des interfaces
Procédure étape par étape
Définissez les interfaces physiques et logiques de cet exemple de régulateur hiérarchique.
Configurez l’interface physique.
[edit dynamic-profiles basic-profile] user@host# set interfaces ge-1/2/0
Configurez l’interface logique en tant qu’unité 0 avec son interface de famille de protocoles IPv4 (inet).
[edit dynamic-profiles basic-profile interfaces ge-1/2/0] user@host# set unit 0 family inet address 203.0.113.80/31
Remarque :Si vous appliquez un mécanisme de contrôle de couche 2 à cette interface logique, vous devez configurer au moins une famille de protocoles.
Résultats
Confirmez la configuration en entrant la commande de show dynamic-profiles basic-profile interfaces configuration. Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cette procédure pour corriger la configuration.
[edit]
user@host# show dynamic-profiles basic-profile interfaces
ge-1/2/0 {
unit 0 {
family inet {
address 203.0.113.80/31;
}
}
}
Configuration du filtre de pare-feu
Procédure étape par étape
Pour configurer un mécanisme de contrôle hiérarchique en tant qu’action de filtre, vous devez d’abord configurer un filtre de pare-feu.
Configurez le type d’adresse familiale (inet pour IPv4) pour le filtre de pare-feu et spécifiez le nom du filtre.
Nous vous recommandons de nommer le filtre de manière à indiquer son objectif.
[edit dynamic-profiles basic-profile] user@host# set firewall family inet filter hierarch-filter
Pour remplacer l’agrégation des compteurs et des actions de contrôle et rendre chaque compteur ou fonction de stratégie spécifique à chaque application d’interface, incluez l’instruction
interface-specificdans le filtre.[edit dynamic-profiles basic-profile firewall family inet filter hierarch-filter] user@host# set interface-specific
Spécifiez les noms des termes du filtre.
Rendez chaque nom de terme unique et représentez sa fonction.
[edit dynamic-profiles basic-profile firewall family inet filter hierarch-filter] user@host# set term match-ip1 user@host# set term match-ip2
Dans chaque terme de filtre de pare-feu, spécifiez les conditions utilisées pour faire correspondre les composants d’un paquet.
Configurez le premier terme pour qu’il corresponde aux paquets IPv4 reçus via TCP avec le champ de précédence IP critical-ecp (0xa0) protocol, et appliquez le mécanisme de contrôle hiérarchique en tant qu’action de filtre.
[edit dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip1] user@host# set from precedence critical-ecp protocol user@host# set from protocol tcp
Spécifiez les actions à entreprendre lorsque le paquet répond à toutes les conditions du premier terme. Activez tous les mécanismes de contrôle hiérarchiques d’un filtre pour qu’ils partagent la même instance de mécanisme de contrôle dans le moteur de transfert de paquets.
[edit dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip1] user@host# set then hierarchical-policer hp1-share filter-specific
Configurez le deuxième terme pour qu’il corresponde aux paquets IPv4 reçus via TCP avec le champ IP precedence internet-control (0xc0), et appliquez le mécanisme de contrôle hiérarchique en tant qu’action de filtre.
[edit dynamic-profiles basic-profile firewall family inet filter hierarch-filter term match-ip2] user@host# set from precedence internet-control user@host# set from protocol tcp
Spécifiez les actions à entreprendre lorsque le paquet répond à toutes les conditions du deuxième terme.
[edit dynamic-profiles basic-profile firewall family inet filter inet-filter term match-ip2] user@host# set then hierarchical-policer hp2-share
Résultats
Confirmez la configuration en entrant la commande de show dynamic-profiles basic-profile firewall configuration. Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cette procédure pour corriger la configuration.
[edit]
user@host# show dynamic-profiles basic-profile firewall
family inet {
filter hierarch-filter {
interface-specific;
term match-ip1 {
from {
precedence critical-ecp protocol;
protocol tcp;
}
then hierarchical-policer hp1-share;
}
term match-ip2 {
from {
precedence internet-control;
protocol tcp;
}
then hierarchical-policer hp2-share;
}
}
}
Configuration des classes de transfert
Procédure étape par étape
Définissez les classes de transfert référencées en tant qu’actions de régulateur agrégées. Pour que les mécanismes de contrôle hiérarchiques fonctionnent, le trafic entrant doit être correctement classé en compartiments premium et non-premium. Une configuration de classe de service (CoS) est requise, car le régulateur hiérarchique doit être capable de séparer le trafic EF (Premium/Expedited Forwarding) du trafic non-premium/non-EF.
Activez la configuration des classes de transfert.
[edit] user@host# set class-of-service forwarding-classes
Définissez les classes de transfert CoS pour inclure la désignation de la classe de transfert premium. Il s’agit par défaut de la classe de transfert associée au trafic EF.
[edit class-of-service forwarding-classes] user@host# set class fc0 queue-num 0 priority high policing-priority premium user@host# set class fc1 queue-num 1 priority low policing-priority normal user@host# set class fc2 queue-num 2 priority low policing-priority normal user@host# set class fc3 queue-num 3 priority low policing-priority normal
Résultats
Confirmez la configuration des classes de transfert référencées en tant qu’actions de régulateur agrégé en entrant la commande configuration show class-of-service . Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cette procédure pour corriger la configuration.
[edit]
user@host# show class-of-service
forwarding-classes {
class fc0 queue-num 0 priority high policing-priority premium;
class fc1 queue-num 1 priority low policing-priority normal;
class fc2 queue-num 2 priority low policing-priority normal;
class fc3 queue-num 3 priority low policing-priority normal;
}
Configuration du régulateur hiérarchique
Procédure étape par étape
Configurez les composants de contrôle agrégé et premium d’un régulateur hiérarchique.
Activer la configuration du régulateur hiérarchique.
[edit dynamic-profiles basic-profile] user@host# set firewall hierarchical-policer policer-agg-prem
Configurez le régulateur d’agrégation pour qu’une limite de bande passante soit définie sur 10 Mbit/s, que la taille de rafale soit limitée à 100 Ko et que l’action non conforme soit définie pour changer la classe de transfert en fc1.
[edit dynamic-profiles basic-profile firewall hierarchical-policer policer-agg-prem] user@host# set aggregate if-exceeding bandwidth-limit 10m burst-size-limit 100k user@host# set aggregate then forwarding-class fc1
Remarque :Pour les mécanismes de contrôle agrégés, les actions configurables pour un paquet dans un flux non conforme consistent à supprimer le paquet, à modifier la priorité des pertes ou à modifier la classe de transfert.
Configurez le régulateur premium pour qu’une limite de bande passante soit définie sur 2 Mbit/s, que la taille de rafale soit limitée à 50 Ko et que l’action non conforme soit définie pour ignorer les paquets.
[edit dynamic-profiles basic-profile firewall hierarchical-policer policer-agg-prem] user@host# set premium if-exceeding bandwidth-limit 2m burst-size-limit 50k user@host# set premium then discard
Remarque :La limite de bande passante du régulateur premium ne doit pas être supérieure à celle du régulateur agrégé. Pour les policers premium, la seule action configurable pour un paquet dans un flux de trafic non conforme est de rejeter le paquet.
Résultats
Confirmez la configuration du régulateur hiérarchique en entrant la commande configuration show dynamic-profiles basic-profile firewall . Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cette procédure pour corriger la configuration.
[edit]
user@host# show dynamic-profiles basic-profile firewall
hierarchical-policer policer-agg-prem {
aggregate {
if-exceeding {
bandwidth-limit 10m;
burst-size-limit 100k;
}
then {
forwarding-class fc1;
}
}
premium {
if-exceeding {
bandwidth-limit 2m;
burst-size-limit 50k;
}
then {
discard;
}
}
}
Application du mécanisme de contrôle hiérarchique au trafic entrant de couche 2 au niveau d’une interface physique ou logique
Procédure étape par étape
Vous pouvez appliquer des mécanismes de contrôle directement à une interface ou les appliquer via un filtre pour affecter uniquement le trafic correspondant. Dans la plupart des cas, vous pouvez appeler une fonction de contrôle à l’entrée, à la sortie ou dans les deux sens.
Pour les interfaces physiques, un régulateur hiérarchique utilise une seule instance de régulateur pour limiter le débit de toutes les interfaces logiques et familles de protocoles configurées sur une interface physique, même si les interfaces logiques ont des familles mutuellement exclusives telles que inet ou bridge.
Pour les interfaces logiques, un régulateur hiérarchique peut contrôler le trafic à partir de plusieurs familles de protocoles sans qu’il soit nécessaire d’instancier un régulateur distinct pour chacune de ces familles sur l’interface logique.
Pour limiter hiérarchiquement le trafic entrant de couche 2 pour le trafic IPv4 sur l’interface logique ge-1/2/0.0, référencez le mécanisme de contrôle à partir de la configuration de l’interface logique.
Configurez l’interface logique.
[edit dynamic-profiles basic-profile] user@host# set interfaces ge-1/2/0 unit 0
Lorsque vous appliquez un mécanisme de contrôle au trafic de couche 2 au niveau d’une interface logique, vous devez définir au moins une famille de protocoles pour l’interface logique.
Appliquez le mécanisme de contrôle à l’interface logique.
[edit dynamic-profiles basic-profile interfaces ge-1/2/0 unit 0] user@host# set layer2-policer input-hierarchical-policer policer-agg-prem
Sinon, pour limiter hiérarchiquement le trafic entrant de couche 2 pour toutes les familles de protocoles et pour toutes les interfaces logiques configurées sur l’interface physique ge-1/2/0, référencez le régulateur à partir de la configuration de l’interface physique.
Résultats
Confirmez la configuration du régulateur hiérarchique en entrant la commande configuration show dynamic-profiles basic-profile interfaces . Si la sortie de la commande n’affiche pas la configuration prévue, répétez les instructions de cette procédure pour corriger la configuration.
[edit]
user@host# show dynamic-profiles basic-profile interfaces
ge-1/2/0 {
unit 0 {
layer2-policer {
input-hierarchical-policer policer-agg-prem;
}
family inet {
address 203.0.113.80/31;
}
}
}
Vérification
Vérifiez que la configuration fonctionne correctement.
- Affichage des statistiques de trafic de l’interface
- Affichage du nombre de paquets contrôlés par le régulateur spécifié
Affichage des statistiques de trafic de l’interface
Objet
Vérifiez le flux de trafic via l’interface physique.
Mesures à prendre
Utilisez la commande de mode opérationnel pour l’interface show interfaces physique ge-1/2/0 et incluez l’option detail ou extensive .
user@host> show interfaces ge-1/2/0 extensive
Physical interface: ge-1/2/0, Enabled, Physical link is Down
Interface index: 156, SNMP ifIndex: 630, Generation: 159
Link-level type: Ethernet, MTU: 1514, MRU: 1522, Speed: 1000mbps, BPDU Error: None, MAC-REWRITE Error: None, Loopback: Disabled,
Source filtering: Disabled, Flow control: Enabled, Auto-negotiation: Enabled, Remote fault: Online
Pad to minimum frame size: Disabled
Device flags : Present Running Down
Interface flags: Hardware-Down SNMP-Traps Internal: 0x4000
Link flags : None
CoS queues : 8 supported, 8 maximum usable queues
Schedulers : 0
Hold-times : Up 0 ms, Down 0 ms
Current address: 00:00:5E:00:53:4c, Hardware address: 00:00:5E:00:53:4c
Last flapped : 2014-11-10 13:36:25 EST (01:26:30 ago)
Statistics last cleared: Never
Traffic statistics:
Input bytes : 0 0 bps
Output bytes : 42 0 bps
Input packets: 0 0 pps
Output packets: 1 0 pps
IPv6 transit statistics:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Dropped traffic statistics due to STP State:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Input errors:
Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0,
FIFO errors: 0, Resource errors: 0
Output errors:
Carrier transitions: 0, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0,
Resource errors: 0
Egress queues: 8 supported, 8 in use
Queue counters: Queued packets Transmitted packets Dropped packets
0 0 0 0
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
Queue number: Mapped forwarding classes
0 best-effort
1 expedited-forwarding
2 assured-forwarding
3 network-control
4 be1
5 ef1
6 af1
7 nc1
Active alarms : LINK
Active defects : LINK
MAC statistics: Receive Transmit
Total octets 0 0
Total packets 0 0
Unicast packets 0 0
Broadcast packets 0 0
Multicast packets 0 0
CRC/Align errors 0 0
FIFO errors 0 0
MAC control frames 0 0
MAC pause frames 0 0
Oversized frames 0
Jabber frames 0
Fragment frames 0
VLAN tagged frames 0
Code violations 0
Total errors 0 0
Filter statistics:
Input packet count 0
Input packet rejects 0
Input DA rejects 0
Input SA rejects 0
Output packet count 0
Output packet pad count 0
Output packet error count 0
CAM destination filters: 0, CAM source filters: 0
Autonegotiation information:
Negotiation status: Incomplete
Packet Forwarding Engine configuration:
Destination slot: 0 (0x00)
CoS information:
Direction : Output
CoS transmit queue Bandwidth Buffer Priority Limit
% bps % usec
0 best-effort 95 950000000 95 0 low none
3 network-control 5 50000000 5 0 low none
Interface transmit statistics: Disabled
Signification
La section de sortie de la commande for Traffic statistics répertorie le nombre d’octets et de paquets reçus et transmis sur l’interface.
Affichage du nombre de paquets contrôlés par le régulateur spécifié
Objet
Vérifiez le nombre de paquets évalué par le régulateur. Les compteurs de policer premium ne sont pas pris en charge.
Mesures à prendre
Utilisez la show policer commande mode opérationnel et spécifiez éventuellement le nom du régulateur policer-agg-prem. La sortie de la commande affiche le nombre de paquets évalués par le régulateur spécifié dans chaque direction.
user@host> show policer policer-agg-prem Policers: Name Bytes Packets policer-agg-prem-ge-1/2/0.0-inet-i 10372300 103723
Le -inet-i suffixe désigne un mécanisme de contrôle appliqué au trafic d’entrée IPv4. Dans cet exemple, le mécanisme de contrôle s’applique uniquement au trafic d’entrée.
Signification
La sortie de la commande affiche le nombre de paquets évalués par le régulateur spécifié dans chaque direction.