Distribution des flux et commande des paquets
Cette rubrique décrit la distribution de charge et l’ordre des paquets sur les périphériques SRX5000 Line.
Comprendre la répartition de la charge dans les équipements de la ligne SRX5000
L’algorithme de distribution de charge, qui est pris en charge sur les appareils SRX5800, SRX5600 et SRX5400, est ajusté en fonction de la capacité de session et de la puissance de traitement. (La prise en charge effective de la plate-forme dépend de la version de Junos OS de votre installation.)
La distribution de session basée sur le hachage utilise une table de hachage. La table de pondération de session SPU permet d’attribuer un ID SPU à chaque index de hachage de la table de hachage de distribution de session. De cette façon, le nombre de sessions créées sur chaque SPU à l'aide d'une distribution basée sur le hachage est proportionnel à la pondération de l'SPU dans la table de pondération des sessions SPU. Chaque NPU conserve également une table de pondération de session et une table de hachage de distribution de session identiques qu’il utilise pour sélectionner un SPU afin de transférer les paquets qui ne correspondent pas à une session NPU.
En cas de défaillance de l’USU, le moteur de routage réinitialisera toutes les cartes du plan de données, y compris les IOC et les PNJ, afin de maintenir la cohérence de la table de hachage pour la distribution des sessions.
Dans la distribution de session basée sur le hachage, les pondérations sont basées sur la capacité de session. Nous recommandons le mode de distribution de session de hachage lorsqu’une capacité de session élevée est requise.
La répartition de la charge sur les équipements de la gamme SRX5000 est toujours basée sur le hachage.
L’insertion et la suppression de SPC entraînent un recalcul de la table de pondération de la session SPU au moment de l’initialisation du point central, car le châssis doit redémarrer après l’insertion.
À partir de la version 15.1X49-D30 de Junos OS, l’architecture du point central a été améliorée pour gérer un plus grand nombre de sessions simultanées et de connexions par seconde (cps) pour les équipements de la gamme SRX5000.
Les améliorations apportées à l’architecture du point central empêchent les paquets de données de passer par le point central en déchargeant la gestion du trafic sur les SPU. La capacité de session du système est étendue, car la limite de sessions sur le point central est supprimée.
- Calcul de l’ID SPU
- Transfert basé sur le hachage sur les SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) et SRX5K-MPC3-100G10G (IOC3)
Calcul de l’ID SPU
L’ID SPU d’un appareil équipé d’une carte de traitement des services (SPC) SRX3K-SPC-1-10-40, SRX5K-SPC-2-10-40 ou SRX5K-SPC3 est calculé comme suit :
SPU ID = (FPC ID X 4) + PIC ID
Les SRX3K-SPC-1-10-40, SRX5K-SPC-2-10-40 et SRX5K-SPC3 contiennent respectivement deux PICs par carte, quatre PICs par carte (FPC) et deux PICs par carte. Par exemple, si un appareil contient 2 cartes dans les emplacements 1 (FPC ID 0) et 2 (FPC ID 1), les SPU attendus sont les suivants :
Pour SPC1 : (0, 1) et (4, 5), totalisez 4 SPU dans 2 cartes.
Pour SPC2 : (0, 1, 2, 3) et (4, 5, 6, 7), totalisez 8 SPU dans 2 cartes.
Pour SPC3 : (0, 1) et (4, 5), totalisez 4 SPU dans 2 cartes.
Pour FPC1 (la deuxième carte) et PIC1 (le deuxième PIC de la carte), l’ID SPU est calculé comme suit :
SPU ID = (FPC ID X 4) + PIC ID = (1 X 4) + 1 = 4 + 1 = 5
Utilisez cette convention lors de la référence de l’ID SPU pour CLI et SNMP.
Transfert basé sur le hachage sur les SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) et SRX5K-MPC3-100G10G (IOC3)
Sur ces pare-feu SRX Series, un paquet passe par une série d’événements impliquant différents composants au fur et à mesure de son passage du traitement entrant au traitement sortant. La fonctionnalité de transfert de paquets Datapath vous permet d’obtenir une livraison rapide du trafic d’E/S sur la gamme d’équipements SRX 5000.
Les SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) et SRX5K-MPC3-100G10G (IOC3) sont des cartes d’interface prises en charge sur les appareils SRX5400, SRX5600 et SRX5800. Le concentrateur de port modulaire (MPC) fournit des services d’équilibrage de charge pour les unités de traitement de services (SPU) à l’aide de la méthode de transfert basée sur le hachage.
Dans le cas d’un transfert basé sur le hachage, le paquet peut être transféré par le MPC vers un SPU (DCP) sélectionné au lieu du point central. Cette approche permet d’améliorer la mise à l’échelle des sessions et d’éviter la surcharge du point central.
Le calcul de la valeur de hachage implique les étapes suivantes :
Pour les paquets IPv4, le module de transfert basé sur le hachage génère la valeur de hachage basée sur les informations des couches 3 et 4, en fonction des différents types de protocoles de couche 4.
Pour les protocoles SCTP (STREAM CONTROL TRANSMISSION PROTOCOL), TCP, UDP, Authentication Header (AH), ESP (Edge Service Provider) et ICMP (Internet Control Message Protocol), le module de hachage utilise les informations de couche 4 pour générer la valeur de hachage. Pour tous les autres protocoles, seules les informations de couche 3 sont utilisées dans la génération de hachage.
Pour les paquets de fragments IPv4, la valeur de hachage est calculée en utilisant uniquement les informations de couche 3. Cela s’applique également au premier fragment du paquet.
Pour les paquets non-IP, le module de transfert basé sur le hachage utilise les informations de couche 2 pour calculer la valeur de hachage.
Une fois qu'une valeur de hachage est calculée en fonction des informations de couche 2, 3 ou 4 du paquet, un ID SPU est attribué à chaque index de hachage dans la table de hachage de distribution de session.
SRX5K-MPC (IOC2), SRX5K-MPC3-40G10G (IOC3) et SRX5K-MPC3-100G10G (IOC3) ne peuvent être utilisés que sur les équipements SRX5400, SRX5600 et SRX5800 configurés pour la distribution de sessions basée sur le hachage.
Lorsque le mode de distribution de session basé sur le hachage est activé, le système passe en mode basé sur la capacité de session élevée lorsque SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) et SRX5K-MPC3-100G10G (IOC3) sont installés sur le périphérique.
Sur les équipements de la gamme SRX5000 équipés d’un SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) ou SRX5K-MPC3-100G10G (IOC3) installé, lors du redémarrage d’un système ou d’un SSU, lorsque le mode de distribution de session basé sur le hachage est activé, le trafic ne passe que lorsque tous les SPU sont opérationnels après le redémarrage.
Les MPC de l’IOC3 fournissent des services d’équilibrage de charge aux SPU en effectuant un transfert de paquets de chemin de données basé sur le hachage pour s’interconnecter avec tous les IOC et SPC existants.
L’IOC3 traite les paquets entrants et sortants. L’IOC3 analyse le paquet entrant et l’envoie à l’USP pour un traitement de sécurité ultérieur, y compris la recherche de session de flux, la vérification des zones et des stratégies, VPN, ALG, etc.
L’IOC3 gère la mémoire des données de paquets et la mise en file d’attente de la fabric pour les fonctions de recherche et d’encapsulation des paquets.
À partir de Junos OS version 15.1X49-D10 et de Junos OS version 17.3R1, la distribution de sessions basée sur le hachage est le mode par défaut pour les périphériques SRX5400, SRX5600 et SRX5800. Le choix des clés de hachage dépend des protocoles d’application.
À partir de la version 17.4R1 de Junos OS, le trafic est haché et distribué aux différentes SPU par l’IOC, selon un algorithme de distribution de sessions basé sur le hachage. Cette amélioration permet d’obtenir une distribution uniforme du hachage entre tous les SPU grâce à l’utilisation d’une table de hachage plus grande et de longueur fixe. Dans les versions précédentes de Junos OS, la répartition du trafic était inégale entre tous les SPU en raison d’une table de hachage de longueur fixe.
L’IOC3 configure une table de flux de sécurité (IPv4 et IPv6) comprenant la clé, la table de résultats et la mémoire des paquets.
Les fonctions suivantes sont fournies avec la table de flux :
Recherche de flux
Insertion et suppression de flux
Flux de sécurité vieillissant
Statistiques de flux de sécurité
Comprendre la fonction de commande de paquets sur les équipements de ligne SRX5000
La fonction de commande de paquets, qui est prise en charge sur les SRX5400, SRX5600 et SRX5800, les appareils et les Pare-feu virtuel vSRX, améliore les performances de l’appareil en activant la fonction de commande de paquets intégrée du moteur de commande de paquets sur le processeur XLP sur le point central de l’application.
Deux types de modes de tri des paquets sont pris en charge : le matériel et le logiciel.
Si la fonction de commande de paquets est définie sur matériel, le thread d’équilibrage de charge (LBT) et le thread de commande de paquets (POT) sont déchargés vers le moteur de commande de paquets et les ressources sont libérées pour effectuer le traitement des paquets. Si la fonction de commande des paquets est définie sur logicielle, le thread d’équilibrage de charge (LBT) et le thread de commande de paquets (POT) sont en cours d’exécution sur le SPU. Par défaut, le mode de commande de paquets à l’aide du moteur de commande de paquets (matériel) est activé sur l’appareil. Vous pouvez le désactiver avec un changement de configuration qui nécessite un redémarrage.
Le thread de flux reçoit les paquets, les traite et les envoie ou les abandonne. Pour les paquets qui ne nécessitent aucun ordre, le thread de flux informe le moteur d’accélération réseau (NAE) sortant d’envoyer ou d’abandonner les paquets. Pour les paquets qui nécessitent un ordre, le thread de flux informe le moteur de commande de paquets de retirer les paquets de la liste de commande de la liste de commande et d’envoyer ou d’abandonner les paquets dans l’ordre.
Modification du mode de commande des paquets sur les équipements de ligne SRX5000
La fonctionnalité de commande de paquets utilisant le moteur de commande de paquets est prise en charge sur les équipements SRX5400, SRX5800 et SRX5600 dotés de SPC nouvelle génération. (La prise en charge de la plate-forme dépend de la version Junos OS de votre installation.) Par défaut, le mode de commande de paquets à l’aide du moteur de commande de paquets est activé. Pour désactiver la fonctionnalité de commande de paquets à l’aide du moteur de commande de paquets, vous devez mettre à jour le mode de commande de paquets sur l’appareil.
Les modes de classement des paquets suivants sont pris en charge :
software : désactive le mode de commande de paquets à l’aide du moteur de commande de paquets.
hardware : active le mode de commande des paquets à l’aide du moteur de commande de paquets. Il s’agit de l’option par défaut.
Pour désactiver le mode de commande de paquets à l’aide du moteur de commande de paquets :
Entrez la commande suivante à l’invite de configuration de l’interface de ligne de commande pour spécifier le mode de commande des paquets.
[edit] user@host# set security forwarding-process application-services packet-ordering-mode software
Utilisez la
show security forwarding-process
commande pour vérifier votre configuration.[edit] user@host# show security forwarding-process application-services{ packet-ordering-mode software; }
Vérifiez les modifications apportées à la configuration avant de valider.
[edit] user@host# commit check
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. configuration check succeeds
Validez la configuration.
[edit] user@host# commit
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. commit complete
Redémarrez l’appareil à un moment approprié.
Utilisez la
show security flow status
commande pour vérifier le mode de commande des paquets.user@host> show security flow status
Flow forwarding mode: Inet forwarding mode: flow based Inet6 forwarding mode: drop MPLS forwarding mode: drop ISO forwarding mode: drop Flow trace status Flow tracing status: off Flow session distribution Distribution mode: RR-based Flow packet orderingOrdering mode: Software (reboot needed to change to Software)
Comprendre la distribution des sessions sur les appareils de ligne SRX5000 en mode adaptatif
À partir de Junos OS version 15.1X49-D30 et de Junos OS version 17.3R1, la distribution des sessions en mode adaptatif a été remplacée par des améliorations apportées à l’architecture des points centraux.
La distribution de sessions en mode adaptatif est implémentée sur les équipements de la gamme SRX5000 exécutés en mode mixte avant Junos OS version 15.1X49-D30 et Junos OS version 17.1R1. La distribution de sessions en mode adaptatif optimise l’utilisation des ressources système en tenant compte de la capacité d’une unité de traitement des services (SPU) et de ses ressources disponibles. Elle est activée uniquement sur les équipements de la gamme SRX5000 s’exécutant en mode mixte XLR/XLP, c’est-à-dire dans les déploiements en châssis dans lesquels différents types de SPU sont utilisés dans différentes combinaisons. Si un équipement SRX5800, SRX5600 ou SRX5400 contient un mélange de cartes de traitement des services (SPC) de nouvelle génération et de SPC existants, la distribution de session en mode adaptatif est considérée comme valeur par défaut. Pour les équipements de la gamme SRX5000 qui ne s’exécutent pas en mode mixte, l’équilibrage de charge basé sur le hachage est utilisé par défaut.
Une carte SPC (Services Processing Card) contient une ou plusieurs SPU, chacune d’entre elles traitant les paquets d’un flux en fonction des fonctionnalités de sécurité et des autres services configurés pour les sessions qui lui sont distribuées par le point central (CP). La charge CPU d’un SPU change de temps en temps. Pour tirer pleinement parti de l’évolution de la capacité disponible et adapter la distribution des sessions en conséquence, le système attribue dynamiquement une pondération à chaque SPU en mode adaptatif. C’est le poids des SPU qui détermine la distribution des sessions.
Chaque SPU envoie périodiquement ses informations d’utilisation du processeur au point central (CP). Le point central vérifie ces valeurs, calcule le poids toutes les 1 seconde et répartit les sessions de manière à maximiser les performances globales du système. En d’autres termes, en mode adaptatif, la distribution des sessions est basée sur un système d’affectation dynamique pondérée qui est calculé en temps réel, ce qui permet d’utiliser la pleine capacité des CPU de tous les SPU, quel que soit leur type.
C’est le calcul dynamique des pondérations qui permet de distinguer la distribution des sessions en mode adaptatif de la distribution des sessions WRR (weighted round-robin). Alors que WRR différencie les SPU et leur capacité CPU en calculant et en attribuant des poids aux différents types de SPU, le calcul et l’affectation sont statiques, c’est-à-dire qu’ils ne sont effectués qu’une seule fois, à l’initialisation. Le mode adaptatif améliore le processus de distribution de sessions à ratio fixe de WRR. Le WRR entraîne une sous-utilisation des ressources système, car les limites de traitement des sessions sont définies uniquement en fonction du type d’unité unique (SSU) et de sa capacité processeur, sans tenir compte de sa puissance de traitement disponible.
Pour la distribution des sessions en mode adaptatif, la formule suivante est utilisée pour calculer la pondération attribuée à un SPU :
Wi = Somme(W1-n)*Ci*Si/Somme(C1-n*S1-n)
Où:
Wi
— poids attribué à l’USP.Sum(W1-n)
— Poids total du système. Cette valeur est constante.n
—nombre total d’USP.Ci
—la puissance de calcul disponible du processeur du SPU.Si
—capacité de session disponible de l’USP.
En mode adaptatif, lorsque l’utilisation du processeur d’un SPU est élevée, moins de sessions sont distribuées à ce SPU. Les exemples suivants expliquent le calcul.
Prenons l’exemple d’un appareil doté de deux SPU. La capacité de session de chaque SPU est de 1 million.
Pendant un certain temps :
Lorsque SPU1 compte 500 000 sessions, l’utilisation du processeur est de 10 % :
Capacité CPU disponible de SPU1 (C1) = 1-10 % = 90 (pourcentage).
Capacité de session disponible de SPU1 (S1) = 1-500 000/1M = 50 (pourcentage).
Lorsque SPU2 compte 400 000 sessions, l’utilisation du processeur est de 20 % :
Capacité disponible de SPU2 (C2) = 1-20 pour cent = 80 (pour cent).
Capacité de session disponible de SPU2 (S2) = 1 à 400 000/1 M = 60 (pourcentage).
Si le poids de l’ensemble du système est de 100, les valeurs de poids distinctes pour chaque SPU sont les suivantes :
Poids de SPU1 (W1) = 100*90*50/(50*90+80*60) = 48
Poids de SPU2 (W2) = 100*80*60/(50*90+80*60) = 52
Pour les sessions entrantes, 48 % des sessions sont allouées à SPU1 tandis que 52 % des paquets sont alloués à SPU2.
Les nombres pondérés peuvent prendre effet sur le système dans un court laps de temps, avant que le point central ne vérifie les informations d’utilisation du temps d’exécution et ajuste les pondérations à une nouvelle valeur.
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.