IP : Technologie Cisco Express Forwarding (CEF)

Dépannage de l'équilibrage de charge sur des liens parallèles utilisant Cisco Express Forwarding

18 juin 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (19 décembre 2015) | Commentaires


Contenu


Introduction

Ce document clarifie comment les mises en place de logiciel de½ du¿Â du Cisco IOSï posent l'Équilibrage de charge 3 à travers de plusieurs liens parallèles en utilisant 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é

Voyez la section « de l'information relative » de ce document pour un aperçu de Cisco Express Forwarding d'exécution.

Composants utilisés

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. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). 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).

routeur A routeur 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 commutations 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 seul chemin pour une destination, les mécanismes de Cisco Express Forwarding par destination et de commutation rapide diffèrent dans la façon 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
    

    Remarque: 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 à présent la charge sur les deux chemins et ne conserve pas les flux existants sur le chemin 2 afin que le chemin 1 soit utilisé. 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 doté d'une carte processeur NSE-100 ne prend pas en charge l'équilibrage de charge par paquet CEF 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.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 18285