Configuration de l’équilibrage de charge par paquet
Dans Junos OS, activez l’équilibrage de charge par flux en définissant l’action d’équilibrage de charge par paquet dans la configuration de la stratégie de routage. Cette dénomination peut sembler contre-intuitive, car dans Junos, l’équilibrage de charge par paquet est fonctionnellement équivalent à ce que d’autres fournisseurs appellent l’équilibrage de charge par flux.
Pour configurer l’équilibrage de charge par paquet, incluez l’instruction soit en tant qu’option de l’instruction load-balance per-packet
route-filter
au niveau de la [edit policy-options policy-statement policy-name term term-name from]
hiérarchie :
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { load-balance per-packet; }
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-packet;
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 :
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-packet; } } } 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-packet; } } } 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 ];