Configuration de l’équilibrage de charge par flux
Dans Junos OS, activez l’équilibrage de charge par flux en définissant l’option d’équilibrage de charge par flux dans la configuration de la stratégie de routage. Notez que l’option existante d’équilibrage de charge par paquet est également prise en charge sur les logiciels Junos OS et Junos OS Evolved.
Lorsqu’il existe plusieurs chemins d’accès à coût égal vers la même destination pour l’itinéraire actif, Junos OS utilise un algorithme de hachage par défaut pour choisir l’une des adresses de saut suivant à installer dans la table de transfert. Lorsque vous utilisez l’équilibrage de charge par flux, toutes les adresses de saut suivant pour une destination de destination sont installées dans la table de transfert. La charge est ainsi équilibrée pour répartir le trafic sur plusieurs chemins entre les itinéraires.
Pour configurer l’équilibrage de charge par flux, incluez l’instruction load-balance per-packet
ou load-balance per-flow
en tant qu’option de l’instruction route-filter
au [edit policy-options policy-statement policy-name term term-name from]
niveau hiérarchique :
Vous pouvez utiliser l’option load-balance per-packet
ou load-balance per-flow
et les deux ont la même fonctionnalité.
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { load-balance per-flow; }
ou au niveau de la [edit policy-options policy-statement policy-name term term-name then]
hiérarchie :
[edit policy-options policy-statement policy-name term term-name then] load-balance per-flow;
Pour terminer la configuration, vous devez appliquer la stratégie de routage aux routes exportées de la table de routage vers la table de transfert, en incluant le nom de la stratégie dans la liste spécifiée par l’instruction export
:
export [ policy-names ];
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
-
[edit routing-options forwarding-table]
-
[edit logical-systems logical-system-name routing-options forwarding-table]
Par défaut, Junos ignore les données de port lors de la détermination des flux. Pour inclure des données de port dans la détermination du flux, incluez l’instruction family inet
au niveau de la [edit forwarding-options hash-key]
hiérarchie :
[edit forwarding-options hash-key] family inet { layer-3; layer-4; }
Si vous incluez à la fois les instructions de couche 3 et de couche 4 , l’appareil utilise les informations de couche 3 et de couche 4 suivantes pour équilibrer la charge :
-
Adresse IP source
-
Adresse IP de destination
-
Protocole
-
Numéro de port source
-
Numéro de port de destination
-
Index de l’interface entrante
-
Type de service IP
Lorsque tous les paramètres de couche 3 et de couche 4 sont identiques, l’équipement envoie des paquets dans le flux via la même interface, ce qui permet d’éviter la livraison dans le désordre pour les flux TCP et UDP.
Les paquets ICMP (Internet Control Message Protocol) sont gérés différemment, car le décalage de l’emplacement du champ est le champ de somme de contrôle, ce qui fait de chaque paquet ping un « flux » distinct. Il existe d’autres protocoles qui peuvent être encapsulés dans IP et qui peuvent avoir une valeur variable dans l’offset 32 bits. Cela peut également être problématique, car ces protocoles sont considérés comme un flux distinct.
Avec les routeurs M Series (à l’exception du routeur M120) et T Series, le premier fragment est mappé à la même destination à charge équilibrée que les paquets non fragmentés. Les autres fragments peuvent être mappés à d’autres destinations d’équilibrage de charge.
Pour le routeur M120 uniquement, tous les fragments sont mappés à la même destination d’équilibrage de charge. Cette destination n’est pas nécessairement la même que celle des paquets non fragmentés.
Par défaut, ou si vous incluez uniquement l’instruction de couche 3 , le routeur utilise l’index de l’interface entrante ainsi que les informations de couche 3 suivantes dans l’en-tête du paquet pour équilibrer la charge du trafic :
-
Réf. PTX-1000
-
PTX-10002-60
-
QFX-10001-I-20C
-
QFX-10002-60C
-
QFX-10003-160C
-
QFX-10003-80C
-
Fichier de configuration par défaut du PTX Junos Evo
-
Fichier de configuration par défaut de Junos PTX
-
Adresse IP source
-
Adresse IP de destination
-
Protocole
Par défaut, les paquets IP version 6 (IPv6) font l’objet d’un équilibrage de charge automatique en fonction des informations de couche 3 et de couche 4 suivantes :
-
Adresse IP source
-
Adresse IP de destination
-
Protocole
-
Numéro de port source
-
Numéro de port de destination
-
Index de l’interface entrante
-
Classe de trafic
Exemples d’équilibrage de charge par paquet
Effectuez un équilibrage de charge par paquet pour toutes les routes :
[edit] policy-options { policy-statement load-balancing-policy { then { load-balance per-flow; } } } routing-options { forwarding-table { export load-balancing-policy; } }
Effectuez un équilibrage de charge par paquet uniquement pour un ensemble limité de routes :
[edit] policy-options { policy-statement load-balancing-polic { from { route-filter 192.168.10/24 orlonger; route-filter 10.114/16 orlonger; } then { load-balance per-flow; } } } routing-options { forwarding-table { export load-balancing-policy; } }
Pour configurer l’équilibrage de charge par pulvérisation aléatoire par paquet, incluez l’instruction load-balance random
au niveau de la [edit policy-options policy-statement policy-name term term-name then]
hiérarchie :
[edit policy-options policy-statement policy-name term term-name then] load-balance random;
Pour terminer la configuration, vous devez appliquer la stratégie de routage aux routes exportées de la table de routage vers la table de transfert, en incluant le nom de la stratégie dans la liste spécifiée par l’instruction export
au niveau de la [edit routing-options forwarding-table]
hiérarchie
[edit routing-options forwarding-table] export [ policy-names ];