Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Informations générales

Qu'est ce que l'équilibrage de charge ?

Avant Cisco Express Forwarding - Collecte de plusieurs chemins ou routes

Configuration du partage de charge de Cisco Express Forwarding

Mécanismes internes d'équilibrage de charge de Cisco Express Forwarding

Vérification de l'équilibrage de charge de Cisco Express Forwarding

Partage de charge après une modification de liaison

Informations sur le partage de charge destinées à être supprimées

Problèmes identifiés

Prise en charge matérielle pour l'équilibrage de charge de Cisco Express Forwarding

Informations connexes

Discussions connexes de la communauté d’assistance Cisco

Introduction

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.

Conditions préalables

Conditions requises

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.

Components Used

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.

Conventions

Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.

Informations générales

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.

Qu'est ce que l'équilibrage de charge ?

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 ?

Avant Cisco Express Forwarding - Collecte de plusieurs chemins ou routes

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.

Configuration du partage de charge de Cisco Express Forwarding

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

Mécanismes internes d'équilibrage de charge de Cisco Express Forwarding

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.

1. 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

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.

Vérification de l'équilibrage de charge de Cisco Express Forwarding

Suivez les étapes ci-dessous pour vérifier l'équilibrage de charge de Cisco Express Forwarding sur votre routeur.

1. 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.

2. 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

3. 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

4. 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.

5. 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

6. 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]

7. 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.

8. 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

9. 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

10. 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.

Partage de charge après une modification de liaison

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.

1. 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.

2. Quand le chemin 1 est à nouveau disponible, il invite les processus de reconvergence de routage IP.

3. 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.

Informations sur le partage de charge destinées à être supprimées

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.

Problèmes identifiés

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.

Prise en charge matérielle pour l'équilibrage de charge de Cisco Express Forwarding

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.

Informations connexes

- Cisco Express Forwarding

- Équilibrage de charge avec Cisco Express Forwarding

- Prise en charge du routage IP

- Support et documentation techniques - Cisco Systems