Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document explique comment Cisco IOS ? Le logiciel implémente l'équilibrage de charge de couche 3 sur plusieurs liaisons parallèles lors de l'utilisation de Cisco Express Forwarding.
Ce document suppose une compréhension des deux structures de données de Cisco Express Forwarding.
Base d'informations de transfert (Forwarding Information Base [FIB]).
Table de contiguïté
Reportez-vous à la section « Informations connexes » de ce document pour obtenir une vue d'ensemble du fonctionnement de Cisco Express Forwarding.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. All of the devices used in this document started with a cleared (default) configuration. Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
La commutation IP est le mécanisme interne utilisé par Cisco IOS pour transférer des paquets via un routeur. Les mécanismes disponibles incluent la commutation de processus, la commutation rapide et Cisco Express Forwarding. Selon le mécanisme utilisé pour commuter la majorité des paquets, les performances globales du système et l'équilibrage de charge sont affectés.
Les mécanismes de commutation IP prennent en charge deux modes : le mode par paquet et le mode par destination. Le tableau suivant indique les avantages et les inconvénients des deux modes.
Par destination | Par paquet | |
---|---|---|
Mécanisme de commutation IP | Commutation rapide et Cisco Express Forwarding par destination. | Commutation de processus et Cisco Express Forwarding par paquet. |
Avantages | La commutation rapide permet de garantir que les paquets d'une destination donnée prennent tous le même chemin même si plusieurs chemins sont disponibles. La commutation Cisco Express Forwarding permet de garantir que les paquets d'une paire d'hôtes source-destination donnée prennent tous le même chemin, même si plusieurs chemins sont disponibles. Le trafic destiné à des paires différentes tend à prendre des chemins différents. | L'utilisation de chemin avec l'équilibrage de charge par paquet est recommandée, car l'équilibrage de charge par paquet permet au routeur d'envoyer des paquets de données successifs sur les chemins, quelles que soient les sessions hôte ou utilisateur individuelles. Il utilise la méthode Round Robin pour déterminer le chemin que chaque paquet prend vers la destination |
Inconvénients | Avec la commutation rapide, la commutation par destination peut avoir comme conséquence un partage de charge inégal étant donné que les paquets pour une destination suivent toujours le même chemin. La commutation Cisco Express Forwarding peut avoir pour résultat une distribution inégale avec un petit nombre de paires source-destination. L'équilibrage de charge par destination dépend de la distribution statistique du trafic ; le partage de charge devient plus efficace à mesure que le nombre de paires source-destination augmente. | Les paquets pour une paire d'hôtes source-destination donnée sont susceptibles de prendre des chemins différents, ce qui peut entraîner une réorganisation des paquets. Cela n'est pas recommandé pour la voix sur IP (VoIP) et d'autres flux qui requièrent une livraison par ordre séquentiel. |
L'équilibrage de charge décrit la capacité d'un routeur à transmettre des paquets à une adresse IP de destination (également appelée préfixe IP) sur plusieurs chemins.
Lorsque nous parlons d'équilibrage de charge, nous devons tout d'abord définir les termes suivants.
Terme | Définition |
---|---|
Préfixe | Décrit un réseau IP de destination, tel que 192.16.10.0/24. Cisco IOS ajoute un préfixe IP de destination à la table de routage en utilisant les informations obtenues à partir de l'échange de messages à l'aide d'un protocole de routage dynamique ou par configuration manuelle des routes statiques. |
Chemin | Décrit une route valide pour atteindre un préfixe de destination. Cisco IOS attribue un coût à chaque chemin. Un ensemble de chemins actifs vers un préfixe de destination peut avoir des coûts égaux ou inégaux. |
Session | Décrit un flux de communication unidirectionnel entre deux nœuds IP. Tous les paquets d'une session utilisent la même adresse IP source et de destination. |
Pour des informations supplémentaires, consultez Comment l'équilibrage de charge fonctionne-t-il ?
Cisco Express Forwarding utilise les informations de chemin dans la table de routage IP pour équilibrer le trafic sur plusieurs liaisons. Pour cette raison, la confirmation d'un équilibrage de charge Cisco Express Forwarding approprié commence par la confirmation du contenu de la table de routage IP.
Dans la topologie suivante, deux routeurs, le routeur A et le routeur B, se connectent dos à dos sur trois interfaces série avec une encapsulation High-Level Data Link Control (HDLC).
Router A | Router B |
---|---|
interface Ethernet 0 ip address 192.168.20.1 255.255.255.0 ! interface Serial1 ip address 10.10.10.1 255.255.255.0 ! interface Serial2 ip address 20.20.20.1 255.255.255.0 ! interface Serial3 ip address 30.30.30.1 255.255.255.0 ip ospf cost 100 ! router ospf 1 network 10.10.10.0 0.0.0.255 area 0 network 20.20.20.0 0.0.0.255 area 0 network 30.30.30.0 0.0.0.255 area 0 network 192.168.20.0 0.0.0.255 area 0 |
interface Serial1 ip address 10.10.10.2 255.255.255.0 clockrate 2000000 ! interface Serial2 ip address 20.20.20.2 255.255.255.0 clockrate 148000 ! interface Serial3 ip address 30.30.30.2 255.255.255.0 ip ospf cost 100 clockrate 148000 router ospf 1 network 10.10.10.0 0.0.0.255 area 0 network 20.20.20.0 0.0.0.255 area 0 network 30.30.30.0 0.0.0.255 area 0 maximum-paths 1 |
Observons comment le routeur B sélectionne un ou plusieurs chemins pour atteindre le réseau IP 192.168.20.0 de l'interface Ethernet du routeur A.
Par défaut, l'Open Shortest Path First (OSPF) prend en charge quatre chemins de coût égal vers une destination. Dans ce scénario, le routeur B est configuré avec la commande maximum-paths égale à un. Le routeur B choisira donc un seul chemin parmi les chemins égaux possibles en fonction du chemin qu'il a reçu en premier. Le routeur B commence par sélectionner la série 2 comme chemin unique vers le réseau 192.168.20.0. Utilisez les commandes show ip cef et show ip route pour afficher le chemin actuellement défini.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 59, cached adjacency to Serial2 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies next hop 20.20.20.1, Serial2 valid cached adjacency RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 20.20.20.1 on Serial2, 00:03:58 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:03:58 ago, via Serial2 Route metric is 74, traffic share count is 1
Utilisez la commande maximum-paths sous l'OSPF pour autoriser plusieurs chemins vers la table de routage. L'OSPF autorise uniquement l'équilibrage de charge à coût égal. Pour configurer l'équilibrage de charge à coût inégal, configurez l'Enhanced Interior Gateway Routing Protocol ou l'Interior Gateway Routing Protocol (EIGRP/IGRP) comme votre Interior Gateway Protocol (IGP). Voir Comment l'équilibrage de charge à coût inégal (variance) fonctionne-t-il dans IGRP et EIGRP ? pour de plus d'informations.
RouterB(config)#router ospf 1 RouterB(config-router)#maximum-paths ? <1-6> Number of paths RouterB(config-router)#maximum-paths 3
Utilisez la commande show ip route pour vérifier que la table de routage contient deux chemins vers 192.168.20.0.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 10.10.10.1 on Serial1, 00:00:11 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:00:11 ago, via Serial2 Route metric is 74, traffic share count is 1 10.10.10.1, from 204.204.204.1, 00:00:11 ago, via Serial1 Route metric is 74, traffic share count is 1 !--- The route metric is 74 for both paths.
Bien que nous ayons configuré l'OSPF pour prendre en charge trois chemins de coût égal, seuls deux chemins actifs sont affichés dans la sortie de show ip route. Nous pouvons utiliser la commande show ip ospf interface pour en déterminer la raison. La série 3 a un coût plus élevé que la série 1 et la série 2, et elle est donc inégale.
RouterB#show ip ospf interface s1 Serial1 is up, line protocol is up Internet Address 10.10.10.4/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 RouterB#show ip ospf interface s2 Serial2 is up, line protocol is up Internet Address 20.20.20.2/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 RouterB#show ip ospf interface s3 Serial3 is up, line protocol is up Internet Address 30.30.30.2/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 100
Utilisez la commande show run pour vérifier si la série 3 est configurée avec la commande ip ospf cost 100. Utilisez la commande de sous-interface no ip ospf cost 100 pour la supprimer de la configuration et rendre le coût égal sur chacune des trois liaisons série.
RouterB#show run interface s3 Building configuration... Current configuration: ! interface Serial3 ip address 30.30.30.2 255.255.255.0 no ip directed-broadcast ip ospf cost 100 ip ospf interface-retry 0
La commande show ip route affiche maintenant trois chemins de coût égal vers le réseau 192.168.20.0.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 10.10.10.1 on Serial1, 00:00:01 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:00:01 ago, via Serial2 Route metric is 74, traffic share count is 1 30.30.30.1, from 204.204.204.1, 00:00:01 ago, via Serial3 Route metric is 74, traffic share count is 1 10.10.10.1, from 204.204.204.1, 00:00:01 ago, via Serial1 Route metric is 74, traffic share count is
Étudions maintenant la façon dont l'équilibrage de charge de Cisco Express Forwarding utilise les informations de la table de routage pour transférer des paquets.
Cisco Express Forwarding effectue l'équilibrage de charge via l'utilisation de la table de partage de charge. Comme avec toutes les autres solutions d'équilibrage de charge sur les routeurs Cisco, la décision d'équilibrage de charge est prise sur les interfaces de sortie. À la différence d'autres méthodes de commutation, Cisco Express Forwarding effectue le suivi des chemins en se basant à la fois sur l'adresse source et sur l'adresse de destination du chemin. Pour simplifier ceci, vous pourriez dire que le chemin est une session IP et que chaque session est logiquement identifiée comme seule paire d'adresses source-destination.
Afin de comprendre comment l'équilibre de charge s'effectue, vous devez d'abord comprendre comment les tables s'associent. La table Cisco Express Forwarding pointe vers 16 compartiments de hachage (table de partage de charge), qui pointent vers la table de contiguïté des chemins parallèles. Consultez la section Mécanismes internes d'équilibrage de charge de Cisco Express Forwarding pour des informations plus détaillées. Chaque paquet devant être commuté est scindé en paire d'adresses source-destination, puis vérifié par rapport à la table de partage de charge.
Remarque : il existe deux types principaux de commutation Cisco Express Forwarding, par destination et par paquet. Si les deux types sont en service sur un routeur, chaque type a sa propre table de partage de charge.
L'équilibrage de charge par destination permet au routeur d'utiliser plusieurs chemins pour réaliser le partage de charge. L'équilibrage de charge par destination est activé par défaut quand vous activez Cisco Express Forwarding ; c'est la méthode d'équilibrage de charge la plus adaptée pour la plupart des situations. Dans la mesure où l'équilibrage de charge par destination dépend de la distribution statistique du trafic, le partage de charge devient plus efficace à mesure que le nombre de paires source-destination augmente.
L'équilibrage de charge par paquet permet au routeur d'envoyer les paquets de données successifs sur des chemins sans tenir compte des sessions hôte ou utilisateur individuelles. Il utilise la méthode Round Robin pour déterminer le chemin que chaque paquet prend vers la destination. L'équilibrage de charge par paquet assure l'équilibrage sur plusieurs liaisons. L'utilisation de chemin avec l'équilibrage de charge par paquet est recommandée, mais les paquets d'une paire d'hôtes source-destination donnée sont susceptibles de prendre des chemins différents ce qui peut entraîner leur réorganisation. Pour cette raison, l'équilibrage de charge par paquet est inapproprié pour certains types de trafics de données, comme le VoIP, qui dépendent des paquets arrivant à destination par ordre séquentiel. Utilisez l'équilibrage de charge par paquet pour vous assurer qu'un chemin destiné à une seule paire source-destination ne devient pas surchargé.
Utilisez la commande ip load-sharing pour permuter entre les méthodes par paquet et par destination.
7200-1.3(config)#interface fast 0/0 7200-1.3(config-if)#ip load-sharing ? per-destination Deterministic distribution per-packet Random distribution 7200-1.3(config-if)#ip load-sharing per-packet
Utilisez la commande show cef interface pour vérifier les modifications apportées.
7200-1.3#show cef interface fast 0/0 FastEthernet0/0 is up (if_number 3) Corresponding hwidb fast_if_number 3 Corresponding hwidb firstsw->if_number 3 Internet address is 172.16.81.13/24 ICMP redirects are always sent Per packet load-sharing is enabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set IP policy routing is disabled Hardware idb is FastEthernet0/0 Fast switching type 1, interface type 18 IP CEF switching enabled IP Feature Fast switching turbo vector IP Feature CEF switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 1(1) Slot 0 Slot unit 0 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500
Commençons par décomposer le mécanisme interne derrière l'équilibrage de charge Cisco Express Forwarding.
Un chemin actif est attribué à chaque session (voir le tableau ci-dessus).
L'affectation session-to-path est faite à l'aide d'une fonction de hachage qui prend les adresses IP source et de destination et, dans les versions récentes de Cisco IOS, un ID de hachage unique qui effectue de façon aléatoire l'affectation sur le chemin d'accès de bout en bout.
Des chemins actifs sont attribués de façon interne à plusieurs des 16 compartiments de hachage. L'affectation path-to-bucket varie avec le type d'équilibrage de charge et le nombre de chemins actifs.
Le résultat de la fonction de hachage est utilisé pour choisir un des compartiments activés et par conséquent le chemin à utiliser pour la session.
Pour toutes les sessions transférées par le routeur, chaque chemin actif achemine le même nombre de sessions.
Regardons un exemple de ces Cisco Express Forwarding internes.
Utilisez la commande maximum-paths pour réduire à deux le nombre de chemins actifs pour le préfixe de destination.
RouterB(config)#router ospf 1 RouterB(config-router)#maximum-paths 2
Utilisez la commande show ip cef {prefix} internal pour afficher l'affectation path-to-bucket.
RouterB#show ip cef 192.168.20.0 internal 192.168.20.0/24, version 66, per-destination sharing 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency 0 packets, 0 bytes switched through the prefix Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (refcount 1) !--- The load distribution line summarizes how each path is !--- assigned to the hash buckets. Hash OK Interface Address Packets 1 Y Serial2 point2point 0 2 Y Serial3 point2point 0 3 Y Serial2 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 0 6 Y Serial3 point2point 0 7 Y Serial2 point2point 0 8 Y Serial3 point2point 0 9 Y Serial2 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial3 point2point 0 13 Y Serial2 point2point 0 14 Y Serial3 point2point 0 15 Y Serial2 point2point 0 16 Y Serial3 point2point
Les 16 compartiments de hachage sont configurés selon le type d'équilibrage de charge et le nombre de chemins actifs. Le cas simple est pour un nombre pair de chemins. Les 16 compartiments sont remplis uniformément avec les chemins actifs. Si 16 n'est pas divisible par le nombre de chemins actifs, les derniers compartiments qui représentent le reste sont désactivés. Le tableau suivant montre comment les compartiments de hachage recherchent deux et trois chemins actifs.
Compartiment/chemins | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | x |
Dans l'exemple suivant, nous avons trois chemins vers la destination. Remarquez comment Cisco Express Forwarding a supprimé le compartiment de hachage 16 et comment les trois liaisons série ont été attribuées uniformément aux compartiments de hachage 1 à 15.
RouterB#show ip cef 192.168.20.0 interface 192.168.20.0/24, version 64, per-destination sharing 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) !--- The active paths are assigned to hash buckets in a !--- round-robin pattern. Hash OK Interface Address Packets 1 Y Serial2 point2point 0 2 Y Serial3 point2point 0 3 Y Serial1 point2point 0 4 Y Serial2 point2point 0 5 Y Serial3 point2point 0 6 Y Serial1 point2point 0 7 Y Serial2 point2point 0 8 Y Serial3 point2point 0 9 Y Serial1 point2point 0 10 Y Serial2 point2point 0 11 Y Serial3 point2point 0 12 Y Serial1 point2point 0 13 Y Serial2 point2point 0 14 Y Serial3 point2point 0 15 Y Serial1 point2point 0 !--- Hash bucket 16 has been removed.
Remarque : bien qu'ils sélectionnent un chemin unique pour une destination, les mécanismes de transfert rapide et de transfert par destination de Cisco Express diffèrent quant à la manière dont ils sélectionnent ce chemin. Cisco Express Forwarding prend en compte l'adresse IP source et adresse IP de destination, alors que la commutation rapide prend uniquement en compte l'adresse IP de destination.
Suivez les étapes ci-dessous pour vérifier l'équilibrage de charge de Cisco Express Forwarding sur votre routeur.
Vérifiez que Cisco Express Forwarding est activé globalement sur le routeur.
S3-4K-2#show ip cef %CEF not running Prefix Next Hop Interface !--- This output shows Cisco Express Forwarding is not enabled. !--- Use ip cef command in global configuration to enable it.
Vérifiez que la commutation par destination ou par paquet est activée sur les interfaces de sortie spécifiques. Le valeur par défaut est par destination.
RouterA#show cef interface s1 Serial1 is up (if_number 3) Internet address is 10.10.10.1/24 ICMP redirects are always sent Per packet loadbalancing is disabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set Interface is marked as point to point interface Hardware idb is Serial1 Fast switching type 4, interface type 40 IP CEF switching enabled !--- Cisco Express Forwarding is enabled on the interface. IP CEF Fast switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 5(5) Slot 0 Slot unit 1 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500
Utilisez la commande show ip route pour vérifier que la table de routage et la table Cisco Express Forwarding contiennent tous les chemins parallèles.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/32, 1 known subnets O 192.168.20.1 [110/65] via 20.20.20.1, 00:06:54, Serial1 [110/65] via 10.10.10.1, 00:06:54, Serial2 [110/65] via 30.30.30.1, 00:06:54, Serial3
Utilisez la commande show ip cef pour vérifier le FIB de Cisco Express Forwarding.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 18, per-destination sharing 0 packets, 0 bytes via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes RouterB#show ip cef 192.168.20.0 internal 192.168.20.0/24, version 18, per-destination sharing 0 packets, 0 bytes via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) Hash OK Interface Address Packets 1 Y Serial3 point2point 0 2 Y Serial2 point2point 0 3 Y Serial1 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 0 6 Y Serial1 point2point 0 7 Y Serial3 point2point 0 8 Y Serial2 point2point 0 9 Y Serial1 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial1 point2point 0 13 Y Serial3 point2point 0 14 Y Serial2 point2point 0 15 Y Serial1 point2point 0
Note : La table de partage de charge ci-dessus montre la répartition de charge 0 1 2 0 1 2 . . . , et le partage du trafic est 1 pour chaque route. Cela signifie un partage de charge par destination de coût égal parmi trois routes de coût égal.
Vérifiez les contiguïtés de Cisco Express Forwarding.
RouterB#show adjacency detail Protocol Interface Address IP Serial1 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31 IP Serial2 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31 IP Serial3 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31
Vérifiez que le mécanisme d'équilibrage de charge prévu de Cisco Express Forwarding est configuré sur toutes les interfaces de sortie.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 89, per-destination sharing 0 packets, 0 bytes via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency [output omitted]
Activez la prise en compte des compartiments de hachage pour recueillir des statistiques afin de mieux comprendre les séquences de Cisco Express Forwarding dans votre réseau. Par exemple, vous pourriez vouloir collecter des informations telles que le nombre de paquets et d'octets commutés vers une destination ou le nombre de paquets commutés par une destination. Utilisez la commande suivante :
router(config)# ip cef accounting load-balance-hash
Vérifiez le flux de paquets en observant les valeurs sous le champ Packet.
RouterB#show ip cef 192.168.20.0 internal [...] Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) Hash OK Interface Address Packets 1 Y Serial point2point 0 2 Y Serial2 point2point 0 3 Y Serial1 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 35 6 Y Serial1 point2point 0 7 Y Serial3 point2point 0 8 Y Serial2 point2point 60 9 Y Serial1 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial1 point2point 0 13 Y Serial3 point2point 0 14 Y Serial2 point2point 30 15 Y Serial1 point2point 0
125 paquets ont été transmis via la série 2. Si vous utilisez la commande ping pour générer le trafic, assurez-vous que les paquets ping doivent transiter par le routeur commuté par Cisco Express Forwarding. En d'autres termes, les paquets Ping doivent entrer par une interface commutée par Cisco Express Forwarding, être commutés par Cisco Express Forwarding, puis repartir d'une autre interface commutée par Cisco Express Forwarding.
Remarque : le partage de charge par destination devient plus efficace à mesure que le nombre de paires source-destination augmente.
Lors de l'envoi du trafic au préfixe, capturez plusieurs sorties de la commande show interface. Analysez les valeurs « txload » et « rxload ». (Certaines interfaces affichent une seule valeur de « charge », qui prend en compte la transmission et la réception). Bien que l'équilibrage de charge par paquet fournisse une distribution égale dans le nombre de paquets, les liaisons parallèles peuvent montrer un débit légèrement inégal selon la taille de paquet.
Serial1/0:0 is up, line protocol is up reliability 255/255, txload 10/255, rxload 3/255 Serial1/1:0 is up, line protocol is up reliability 255/255, txload 18/255, rxload 3/255
Avec l'équilibrage de charge par destination de Cisco Express Forwarding, vous pouvez déterminer le chemin auquel une session est attribuée à l'aide de la commande suivante. Ajoutez le mot clé internal pour afficher le compartiment de hachage utilisé.
show ip cef exact-route {source-ip-address} {dest-ip-address} [internal] RouterB# show ip cef exact-route 50.50.50.2 192.168.20.1 internal 50.50.50.2 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 4 from 15, total 3 paths RouterB# show ip cef exact-route 5.5.5.1 192.168.20.1 internal 5.5.5.1 ->192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 7 from 15, total 3 paths RouterB# show ip cef exact-route 6.6.6.1 192.168.20.1 internal 6.6.6.1 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 7 from 15, total 3 paths RouterB# show ip cef exact-route 8.8.8.1 192.168.20.1 internal 8.8.8.1 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 13 from 15, total 3 paths
Si la sortie semble inégale, prenez en compte ce qui suit :
Le nombre de paires d'adresses source-destination uniques traversant les liaisons parallèles.
Le nombre et la taille des paquets dans chaque session. Une session a-t-elle un grand nombre de paquets ? L'équilibrage de charge par destination dépend de la distribution statistique du trafic et devient plus efficace à mesure que le nombre de paires source-destination augmente.
Quand une modification de table de routage ajuste le nombre de chemins actifs à une destination, Cisco Express Forwarding met à jour les structures d'équilibre de charge figurant dans la sortie de la commande show ip cef {prefix} internal. Cisco Express Forwarding fait ensuite correspondre les paquets venant d'arriver à une contiguïté et un compartiment de hachage correspondant. Le compartiment sélectionné peut être ou ne pas être identique à celui utilisé précédemment.
Les étapes suivantes décrivent comment les informations d'équilibrage de charge de Cisco Express Forwarding sont mises à jour après un changement dans le nombre de chemins actifs vers un préfixe de destination.
Supposons qu'un préfixe de destination soit accessible via deux chemins. Le chemin 1 est inactif et le chemin 2 est actif et porte tout le trafic.
Quand le chemin 1 est à nouveau disponible, il invite les processus de reconvergence de routage IP.
Cisco Express Forwarding équilibre maintenant la charge sur les deux chemins et ne préserve pas les flux existants sur le chemin 2. Cela laisserait le chemin 1 inutilisé. En d'autres termes, Cisco Express Forwarding ne considère pas qu'il peut transférer les paquets d'une session sur un chemin valide et qu'il peut sélectionner un nouveau chemin pour un flux en fonction du compartiment de hachage qu'il sélectionne.
Après une modification dans la table de routage, Cisco Express Forwarding supprime puis reconstruit les structures d'équilibrage de charge qui attribuent des chemins actifs aux compartiments de hachage. Durant le processus de reconstruction, certains paquets peuvent être perdus et la commande show ip cef {prefix} internal indique les informations de partage de charge destinées à la suppression.
router#show ip cef 10.10.128.0 int 10.10.128.0/28, version 63, per-destination sharing 0 packets, 0 bytes via 10.8.0.31, 0 dependencies, recursive next hop 10.8.2.49, POS0/0/0 valid adjacency Load sharing information due for deletion
Les modifications implémentées par l'ID de bogue Cisco CSCdm87127 réduisent la perte de paquets en cas de modification du nombre de chemins actifs pour la route par défaut 0.0.0.0. En particulier, Cisco Express Forwarding alloue maintenant une entrée FIB avec un espace pour le plus grand nombre de chemins actifs possible pour cette route.
L'équilibrage de charge de Cisco Express Forwarding n'est pas égal sur les quatre chemins. Pour des détails supplémentaires, consultez CSCdm87756 (clients enregistrés uniquement).
Dans les versions Cisco IOS antérieures à 12.0(16)S, la saisie de la commande show ip cef exact-route peut entraîner la recharge du processeur de routage dans un routeur Internet de la gamme Cisco 12000 ou un routeur de la gamme Cisco 7500/RSP. Cette situation se produit quand le préfixe de destination est récursif et que le routeur effectue un partage de charge au saut suivant. Pour plus de détails, consultez CSCdt80914 (clients enregistrés uniquement), qui résout ce problème.
Sur la plate-forme de la gamme 6500, l'équilibrage de charge CEF par paquet n'est pas pris en charge. Cela est dû à une limitation matérielle et seul l'équilibrage de charge par destination est actuellement possible. La seule option possible est donc d'utiliser le protocole dMLPPP (Distributed Multilink Point-to-Point Protocol) ou le partage de charge du flux de couche 4.
L'équilibrage de charge par paquet de Cisco Express Forwarding a tout d'abord été pris en charge sur les plates-formes qui utilisent le transfert basé sur logiciel. Ces plates-formes incluent les gammes 2600, 3600 et 7200. L'équilibrage de charge par paquet est maintenant pris en charge sur le matériel utilisant le transfert PXF (Parallel Express Forwarding) sur la gamme 7200 dotée d'un NSE-1, et sur la gamme 10000. Dans la gamme Catalyst 6000, les commandes Cisco IOS Cisco Express Forwarding ip load-sharing per-packet, ip cef accounting per-prefix et ip cef accounting non-recursive sont uniquement applicables au trafic commuté par Cisco Express Forwarding dans le logiciel sur la carte MSFC2. Ces commandes n'affectent pas le trafic commuté par la couche 3 au niveau matériel sur le PFC2 ou sur les modules de commutation équipés DFC. Consultez Configuration de la commutation de couche 3 de monodiffusion IP sur Supervisor Engine 2 pour plus d'informations.
Remarque : Un routeur Cisco 7300 avec une carte processeur NSE-100 ne prend pas en charge l'équilibrage de charge CEF par paquet dans PXF. Le PXF prend uniquement en charge l'équilibrage de charge par destination. Il n'est cependant pris en charge que parce que les commandes de configuration étaient disponibles dans le CLI du routeur. Cela a été corrigé et enregistré dans l'ID de bogue Cisco CSCdx63389.
Dans la gamme 12000, l'équilibrage de charge par paquet est disponible sur tous les moteurs de transfert de couche 3 excepté les moteurs 3 et 4. Chaque carte de ligne prend des décisions de transmission indépendantes. Pour afficher la route exacte de chaque flux IP, utilisez la commande exec slot X show ip hardware-cef exact-route src dst sur les cartes de ligne qui utilisent les tables Cisco Express Forwarding matérielles.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
10-Aug-2005 |
Première publication |