Introduction
Ce document décrit le fonctionnement de l'équilibrage de charge dans les fonctionnalités du logiciel et des plates-formes du routeur.
Conditions préalables
Exigences
Aucune exigence spécifique n'est associée à ce document.
Composants utilisés
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Conventions
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous aux Conventions relatives aux conseils techniques Cisco.
Informations générales
L'équilibrage de charge est une fonctionnalité standard de la plate-forme logicielle Cisco IOS®. Elle est disponible sur toutes les plates-formes de routage. Il est inhérent au processus de transfert dans le routeur et est automatiquement activé si la table de routage a plusieurs chemins vers une destination. Il est basé sur des protocoles de routage standard, tels que le Protocole d'informations de routage (RIP), RIPv2, Enhanced interior gateway routing protocol (EIGRP), Open Short est Path First (OSPF) et Interior Gateway Routing Protocol (IGRP), ou dérivé de mécanismes de transfert de paquets et de routes configurés statiquement. Il permet à un routeur d'utiliser plusieurs chemins vers une destination lors du transfert de paquets.
Équilibrage de charge
Quand un routeur apprend plusieurs routes vers un réseau donnée via plusieurs processus de routage (ou protocoles de routage, tels que RIP, RIPv2, IGRP, EIGRP et OSPF), il installe la route avec la plus faible distance administrative dans la table de routage. Référez-vous à Sélection de route pour les routeurs Cisco pour plus d'informations.
Parfois le routeur doit sélectionner une route parmi beaucoup apprises par l'intermédiaire du même processus de routage avec la même distance administrative. Dans ce cas, le routeur choisit le chemin avec le coût (ou métrique) le plus faible vers la destination. Chaque processus de routage calcule son coût différemment et les coûts doivent parfois être manipulés afin d'atteindre l'équilibrage de charge.
Si le routeur reçoit et installe plusieurs chemins avec la même distance administrative et le même coût vers une destination, l’équilibrage de charge peut se produire. Le nombre de chemins utilisés est limité par le nombre d'entrées que le protocole de routage met dans la table de routage. Quatre entrées sont utilisées par défaut dans Cisco IOS pour la plupart des protocoles de routage IP, à l'exception du protocole BGP (Border Gateway Protocol), où une entrée est utilisée par défaut. Six chemins différents configurés est le nombre maximal.
Les processus de routage IGRP et EIGRP prennent également en charge l’équilibrage de charge à coût inégal. Vous pouvez utiliser la commande variance avec IGRP et EIGRP pour effectuer un équilibrage de charge de coût inégal. Émettez la commande maximum-paths afin de déterminer le nombre de routes qui peuvent être installées en fonction de la valeur configurée pour le protocole. Si vous définissez la table de routage sur une entrée, elle désactive l'équilibrage de charge. Référez-vous à Comment fonctionne l'équilibrage de charge à coût inégal (variance) dans IGRP et EIGRP ? pour plus d'informations sur la variance.
Vous pouvez habituellement employer la commande show ip route pour trouver des routes de coût égal. L'exemple suivant est la sortie de la commande show ip route vers un sous-réseau particulier qui a plusieurs routes. Notez qu’il existe deux blocs descripteurs de routage. Chaque bloc est une route. Un astérisque (*) apparaît également à côté de l'une des entrées du bloc. Cela correspond à la route active utilisée pour le nouveau trafic. Le terme « nouveau trafic » correspond à un seul paquet ou à un flux entier vers une destination, en fonction du type de commutation configuré.
-
Pour la commutation de processus : l'équilibrage de charge est effectué paquet par paquet et l'astérisque (*) pointe vers l'interface sur laquelle le paquet suivant est envoyé.
-
Pour la commutation rapide : l'équilibrage de charge est effectué par destination et l'astérisque (*) pointe vers l'interface sur laquelle le flux suivant basé sur la destination est envoyé.
La position de l’astérisque (*) continue de tourner entre les chemins de coût égal chaque fois qu’un paquet/flux est servi.
M2515-B#show ip route 10.0.0.0
Routing entry for 10.0.0.0/8
Known via "rip", distance 120, metric 1
Redistributing via rip
Advertised by rip (self originated)
Last update from 192.168.75.7 on Serial1, 00:00:00 ago
Routing Descriptor Blocks:
* 192.168.57.7, from 192.168.57.7, 00:00:18 ago, via Serial0
Route metric is 1, traffic share count is 1
192.168.75.7, from 192.168.75.7, 00:00:00 ago, via Serial1
Route metric is 1, traffic share count is 1
Équilibrage de charge par destination et par paquet
Vous pouvez définir l'équilibrage de charge sur travail par destination ou par paquet. L’équilibrage de charge par destination signifie que le routeur distribue les paquets en fonction de l’adresse de destination. Étant donné deux chemins sur le même réseau, tous les paquets pour la destination1 sur ce réseau passent par le premier chemin, tous les paquets pour la destination2 sur ce réseau passent par le deuxième, etc. Cela préserve l'ordre des paquets, avec une utilisation potentiellement inégale des liens. Si un hôte reçoit la majorité du trafic, tous les paquets utilisent un seul lien, ce qui laisse de la bande passante inutilisée sur d'autres liens. Un grand nombre d'adresses de destination entraîne une utilisation plus égale des liens. Pour obtenir des liaisons plus homogènes, utilisez la plate-forme logicielle Cisco IOS pour créer une entrée de cache de route pour chaque adresse de destination, au lieu de chaque réseau de destination, comme c’est le cas lorsqu’un seul chemin existe. Par conséquent, le trafic de différents hôtes sur le même réseau de destination peut utiliser des chemins différents. L'inconvénient de cette approche est que pour les routeurs fédérateurs centraux qui acheminent le trafic vers des milliers d'hôtes de destination, les besoins en mémoire et en traitement pour la maintenance du cache deviennent un défi.
L’équilibrage de charge par paquet signifie que le routeur envoie un paquet pour destination1 sur le premier chemin, le deuxième paquet pour (le même) destination1 sur le deuxième chemin, etc. L'équilibrage de charge par paquet garantit une charge égale sur tous les liens. Cependant, il est possible que les paquets arrivent dans le désordre à la destination, car un délai différentiel peut exister au sein du réseau. Dans le logiciel Cisco IOS, sauf la version 11.1CC, l'équilibrage de charge par paquet désactive l'accélération de transfert par un cache de route, car les informations de cache de route incluent l'interface sortante. Pour l'équilibrage de charge par paquet, le processus de transfert détermine l'interface sortante pour chaque paquet lorsqu'il recherche la table de routage et sélectionne l'interface la moins utilisée. Cela garantit une utilisation égale des liaisons, mais constitue une tâche exigeante pour le processeur et a un impact sur les performances globales de transfert. Cette forme d'équilibrage de charge par paquet n'est pas bien adaptée aux interfaces de vitesse plus élevée.
L'équilibrage de charge par destination ou par paquet dépend du type de schéma de commutation utilisé pour les paquets IP. Par défaut, sur la plupart des routeurs Cisco, la commutation rapide est activée sous des interfaces. Il s'agit d'un schéma de mise en cache de la demande qui effectue un équilibrage de charge par destination. Pour définir l'équilibrage de charge par paquet, activez la commutation de processus (ou désactivez la commutation rapide), en utilisant ces commandes :
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#no ip route-cache
Router(config-if)#^Z
Maintenant le CPU du routeur regarde chaque paquet unique et équilibre la charge sur le nombre de routes dans la table de routage pour la destination. Cela peut bloquer un routeur bas de gamme car le CPU doit faire tout le traitement. Pour réactiver la commutation rapide, utilisez ces commandes :
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#ip route-cache
Router(config-if)#^Z
De plus nouveaux schémas de commutation tels que Cisco Express Forwarding (CEF) vous permettent d'effectuer un équilibrage de charge par paquet et par destination plus rapidement. Cependant, cela implique que vous ayez les ressources supplémentaires pour maintenir les entrées et la contiguïté CEF.
Lorsque vous travaillez avec CEF, vous pouvez vous demander : Qui l'équilibrage de charge, CEF ou le protocole de routage utilisé ? Le fonctionnement de CEF consiste en ce que CEF effectue la commutation du paquet sur la base de la table de routage qui est chargée par les protocoles de routage tels qu'EIGRP. En bref, CEF effectue l'équilibrage des charges une fois que la table de protocole de routage est calculée.
Référez-vous à Dépannage de l'équilibrage de charge sur des liens parallèles utilisant Cisco Express Forwarding et à Équilibrage de charge avec CEF pour plus d'informations sur l'équilibrage de charge CEF.
Ces documents suivants fournissent plus d'informations sur la façon dont les différents protocoles sélectionnent un meilleur chemin, calculent leurs coûts vers des destinations spécifiques et comment ils effectuent l'équilibrage de charge lorsqu'ils sont appliqués.
Informations connexes