Ce document fournit des informations sur la façon de dépanner les problèmes relatifs à ARP (Address Resolution Protocol) ou à la table CAM (Content Addressable Memory) sur les commutateurs Catalyst 6500/6000.
Aucune spécification déterminée n'est requise pour ce document.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Les commutateurs Catalyst gèrent plusieurs types de tables qui sont adaptées à la commutation couche 2 ou multicouches (MLS), et sont maintenus dans une mémoire très rapide de sorte que beaucoup de zones d'une trame ou d'un paquet puissent être comparées en parallèle.
ARP - Mappe une adresse IP à une adresse MAC afin de fournir une communication IP dans un domaine de diffusion de couche 2. Par exemple, l'Hôte B veut envoyer des informations à l'Hôte A mais n'a pas l'adresse MAC de l'hôte A dans son cache ARP. L'Hôte B produit un message de diffusion pour tous les hôtes du domaine de diffusion afin d'obtenir l'adresse MAC associée à l'adresse IP de l'Hôte A. Tous les hôtes du domaine de diffusion reçoivent la requête ARP, et seul l'Hôte A répond avec son adresse MAC.
CAM - Tous les modèles de commutateurs Catalyst utilisent une table CAM pour la commutation de couche 2. Pendant que les trames arrivent sur des ports de commutateur, les adresses MAC source sont apprises et enregistrées dans la table CAM. Le port d'arrivée et le VLAN sont tous deux enregistrés dans la table, avec un horodatage. Si une adresse MAC apprise sur un port de commutateur s'est déplacée vers un port différent, l'adresse MAC et l'horodatage sont enregistrés pour le port d'arrivée le plus récent. Puis, l'entrée précédente est supprimée. Si une adresse MAC est déjà présente dans la table pour le port d'arrivée correct, seul son horodatage est mis à jour.
Mémoire TCAM (Ternary Content Addressable Memory) : dans les commutateurs multicouches, tous les processus que les listes de contrôle d'accès (ACL) fournissent dans le routage traditionnel, tels que la correspondance, le filtrage ou le contrôle du trafic spécifique, sont implémentés dans le matériel. TCAM permet à un paquet d'être évalué par rapport à une liste d'accès entière au cours d'une seule recherche de table. La plupart des commutateurs ont plusieurs TCAM de sorte que la sécurité en entrée et en sortie, ainsi que les ACL QoS, puissent être évalués simultanément, ou entièrement en parallèle avec une décision de transmission de couche 2 ou 3.
Dans la commutation distribuée, chaque carte DFC (Distributed Feature Card) est responsable de la gestion de chacune de ses propres tables CAM. Cela signifie que chaque DFC apprend les adresses MAC et les vieillit, en fonction de la capacité de la mémoire CAM à vieillir cette entrée particulière et à la mettre en correspondance avec le trafic. Avec la commutation distribuée, il est normal que le moteur de superviseur ne voie pas le trafic correspondant à une adresse MAC particulière pendant un moment, ainsi l'entrée peut arriver à expiration. Il existe actuellement deux mécanismes disponibles pour assurer la cohérence des tables CAM entre les différents moteurs, comme DFC (présent dans les modules de ligne) et PFC (Policy Feature Card) (présent dans des modules de supervision) :
Flood to Fabric (FF)
MAC Notification (MN)
Quand une entrée d'adresse MAC expire sur le PFC, la commande show mac-address address <adresse_MAC> all affiche le DFC ou le PFC qui contient cette adresse MAC.
Afin d'empêcher l'expiration d'une entrée sur un DFC ou un PFC, même s'il n'y a pas de trafic pour cette adresse MAC, activez la synchronisation des adresses MAC. Émettez ces commandes afin d'activer la synchronisation :
!--- This is a global configuration command and is used to enable the synchronization. Cat6K-IOS(config)#mac-address-table synchronize
!--- This is a privileged EXEC command and is used to clear dynamic MAC addresses. Cat6K-IOS#clear mac-address-table dynamic
La commande mac-address-table synchronize est disponible à partir du logiciel Cisco IOS® versions 12.2(18)SXE4 et ultérieures. Après avoir activé la synchronisation, il est possible que vous voyiez toujours des entrées qui ne sont pas présentes dans PFC ou DFC. Cependant, le module a un moyen d'apprendre à partir d'autres modules qui utilisent le canal Ethernet Out of Band Channel (EOBC).
Attention : La commande mac-address-table synchronize purge les entrées MAC routées. Pour éviter cela, désactivez la purge des adresses MAC routées à l'aide de la commande de configuration globale mac-address-table aging-time 0 routed-mac .
Cisco Express Forwarding (CEF) est une technologie de Commutation IP de couche 3 qui offre des performances supérieures comparé à d'autres technologies de commutation, particulièrement dans les réseaux avec des configurations de trafic dynamique. CEF gère des structures de données appelées tableaux de juxtaposition FIB (Forwarding Information Base). Le tableau FIB reflète les informations de la table de routage et il est utilisé pour prendre des décisions de transmission. La table de juxtaposition contient l'en-tête de la couche de liaison précalculée pour les périphériques de prochain saut. En fonction de l'interface du prochain saut, des entrées de la table FIB sont mappées à des entrées de la table de juxtaposition. Un périphérique ne peut pas exécuter de paquets de communication CEF si la table de juxtaposition n'est pas renseignée avec les informations requises.
Si CEF supprime des paquets à intervalles réguliers, en alternance avec des périodes de fonctionnement normal, cela est probablement dû au fait que la table de juxtaposition est effacée périodiquement. Le vieillissement de l'entrée ARP est à l'origine de ce problème. Les paquets ne sont pas commutés par CEF pendant la période où la table de juxtaposition est à nouveau renseignée avec les informations de prochain saut requises. Bien que les entrées ARP soient régénérées par défaut toutes les quatre heures, la configuration d'une valeur très petite pour le délai d'expiration ARP peut nuire au fonctionnement de CEF.
Émettez la commande arp timeout dans le mode configuration de l'interface afin de modifier la durée pendant laquelle une entrée est conservée dans le cache ARP.
Référez-vous à l'ID de bogue Cisco CSCeb53542 (clients enregistrés seulement) pour plus d'informations sur cette vulnérabilité. Référez-vous à Dépannage des juxtapositions inachevées avec CEF pour plus d'informations sur la juxtaposition CEF.
Le commutateur filtre les trames ayant une adresse MAC source 00-00-00-00-00-00 , qui est une adresse non valide, depuis la table CAM. Voici un exemple de la sortie d'erreur du syslog quand cela se produit :
%SYS-4-P2_WARN: 1/Filtering MAC address 00-00-00-00-00-00 on port 2/48 from host table
Ces messages sont informatifs et vous indiquent qu'une trame ayant comme adresse MAC source 00-00-00-00-00-00 a été trouvée, et que le commutateur ne l'ajoutera jamais à la table CAM. Cependant, le commutateur transmettra le trafic provenant d'une adresse MAC ne contenant que des zéros.
La solution de contournement consiste à identifier la station d'extrémité qui produit des trames ayant une adresse MAC source ne contenant que des zéros. En général, l'un des périphériques suivants transmet de telles trames :
Un générateur de trafic, tel que Spirent SmartBits
Certains types de serveurs, tels que les serveurs IBM WebSphere à équilibrage de charge
Un routeur ou une station d'extrémité mal configurés, tel qu'un périphérique qui transmet des diffusions ne contenant que des zéros
Une carte NIC défectueuse
Les commutateurs LAN utilisent des tables de transfert, telles que des tables CAM et de couche 2, pour diriger le trafic vers des ports spécifiques en fonction du numéro de VLAN et de l'adresse MAC de destination de la trame. Quand il n'y a aucune entrée qui correspond à l'adresse MAC de destination de la trame dans le VLAN entrant, la trame (monodiffusion) est envoyée à tous les ports de transfert du VLAN respectif. Cela entraîne la propagation. La cause même de la propagation est que l'adresse MAC de destination du paquet n'est pas dans la table de transfert de couche 2 du commutateur. Dans ce cas, le paquet est évacué de tous les ports de transfert de son VLAN (sauf du port sur lequel il a été reçu).
Le délai de vieillissement de la table ARP par défaut est de 4 heures, alors que la CAM conserve les entrées pendant seulement 5 minutes. Le commutateur envoie une trame à tous les ports de transfert du VLAN respectif lorsque l'adresse MAC de destination arrive à expiration dans la table CAM. Vous devez définir un délai de vieillissement pour la CAM supérieur ou égal au délai d'expiration ARP pour empêcher la propagation monodiffusion. Comme solution de contournement, vous pouvez émettre l'une de ces commandes afin d'augmenter le délai de vieillissement de la CAM pour le VLAN dans lequel vous n'arrivez pas à faire correspondre le délai d'expiration ARP :
Pour CatOS, émettez la commande set cam agingtime .
Pour le logiciel Cisco IOS, émettez la commande mac-address-table aging-time .
Remarque : dans tout environnement Catalyst qui exécute un protocole HSRP (Hot Standby Router Protocol), il est recommandé de s'assurer que les compteurs CAM et ARP sont synchronisés.
En mode hybride, le moteur de superviseur exécute CatOS et la carte MSFC (Multilayer Switch Feature Card, carte fonctionnalités du commutateur multicouches) exécute Cisco IOS. CatOS fonctionne au niveau de la couche 2 et construit la table d'adresses CAM pour contenir le VLAN, l'adresse MAC et les informations sur le numéro de port. Cisco IOS dans MSFC fonctionne au niveau de la couche 3 et crée la table ARP pour conserver la résolution de l'adresse IP en adresse MAC.Lorsque vous modifiez l'adresse IP d'un périphérique, tel qu'une imprimante ou un serveur, vous ne pouvez peut-être pas envoyer de requête ping à cette nouvelle adresse IP. Cependant, vous pouvez envoyer un ping à la nouvelle adresse IP depuis le même VLAN. Il peut s'agir d'un problème d'ARP sur le MSFC.
Cette solution de contournement peut vous aider à isoler et à résoudre le problème :
Effacez la table ARP sur le MSFC.
MSFC2#clear arp int vlan 40
Vérifiez la valeur du délai d'expiration ARP. La valeur par défaut est de 4 heures. Si le délai d'expiration ARP dans le VLAN est élevé, vous pouvez définir cette valeur sur la valeur par défaut ou la valeur optimale.
MSFC2#show int vlan 40 Vlan40 is up, line protocol is up Hardware is Cat6k RP Virtual Ethernet, address is 00d0.0050.33fc (bia 00d0.005 0.33fc) Internet address is 40.40.40.3/24 MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive not supported ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:01:44, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
MSFC2#conf t Enter configuration commands, one per line. End with CNTL/Z. MSFC2(config)#int vlan 40 MSFC2(config-if)#arp timeout ? <0-2147483> Seconds MSFC2(config-if)#arp timeout 240
Rechargez le MSFC.
MSFC2#write memory Building configuration... [OK] MSFC2#reload Proceed with reload? [confirm] Supervisor> (enable)
Voici un exemple de la sortie d'erreur de syslog quand ce problème survient :
%EARL-2-EARL4LOOKUPRAMERROR:Address eac6, data 0-0-8000-0, count 8
Cela apparaît quand vous effectuez une recherche dans la table CAM. Cela se produit en raison d'une erreur de parité lorsque vous accédez à la mémoire. Cette erreur est habituellement générée quand vous émettez la commande show cam afin d'accéder à la table CAM. Dans certains cas, le commutateur se réinitialise également lorsque la commande show cam est émise.
%EARL-2-EARLLOOKUPRAMERROR: Address [hex], data [hex]-[hex]-[hex]-[hex], count [dec]
Ce message d'erreur indique qu'une erreur de parité de la RAM de recherche a été détectée. La zone [hex] d'adresse correspond à l'adresse de la table de transfert où l'erreur a été détectée. La zone [hex]-[hex]-[hex]-[hex] de données correspond aux word0, word1, word2 et word3 des données de RAM qui ont causé l'erreur de parité. La zone de nombre [dec] est le nombre total d'erreurs de parité.
Ce message n'est pas catastrophique et peut ne pas avoir comme conséquence des situations de panne si vous en avez seulement isolé des occurrences. Si vous recevez ce message continuellement, cela indique que le commutateur essaye d'écrire dans un secteur de DRAM incorrect lorsqu'il ajoute une nouvelle entrée à la table CAM. Vous devez alors remplacer la DRAM ou le superviseur lui-même.
Des entrées CAM statiques qui sont configurées sur le moteur de superviseur actif sont perdues après une commutation rapide. Comme solution de contournement pour ce problème, vous devez reconfigurer les entrées de CAM suite à une commutation rapide.
Référez-vous aux ID de bogue Cisco CSCed87627 (clients enregistrés seulement) et CSCee27955 (clients enregistrés seulement) pour plus d'informations sur cette vulnérabilité.
Si la TCAM est pleine et que vous essayez d'ajouter de nouvelles listes de contrôle d'accès (ACL), ou des entrées de contrôle d'accès(ACE) à des ACL qui existent, le processus de validation ou de mappage échoue. Toute configuration antérieure reste effective. Dans le cas des listes de contrôle d'accès des routeurs (RACL), l'ACL est imposée dans le logiciel sur la carte MSFC (Multilayer Switch Feature Card) avec la baisse de performances correspondante.
Sur un commutateur qui exécute un logiciel hybride, si vous configurez une liste de contrôle d'accès de réseau local virtuel (VACL) ou des entrées ACE de l'ACL de QoS qui dépassent la capacité du filtre ou du masque du TCAM, un message syslog semblable au suivant s'affiche sur la console :
%ACL-5-TCAMFULL: acl engine TCAM table is full
Sur des systèmes IOS du superviseur, ou sur le MSFC dans un système hybride, si vous configurez des ACE de RACL qui dépassent la capacité de la TCAM, un message syslog semblable au suivant s'affiche sur la console :
%FM-4-TCAM_ENTRY: Hardware TCAM entry capacity exceeded
Sur des systèmes IOS du superviseur, ou sur le MSFC dans un système hybride, émettez la commande show fm summary afin de voir quelles interfaces imposent des ACL dans le matériel (ACTIVE) et quelles interfaces imposent des ACL dans le logiciel (INACTIVE).
La solution de contournement pour ce problème consiste à supprimer l'ACL ou le QoS inutilisés de la configuration du commutateur. Référez-vous à Comprendre les ACL sur les commutateurs de la gamme Catalyst 6500 pour plus d'informations.
Quand vous envoyez un ping à une interface de VLAN, une requête ARP avec une IP source de ce VLAN est envoyée au routeur par défaut (MSFC), mais le routeur ne répond pas à la requête ARP et l'ARP de débogage montre ce message d'erreur :
IP ARP req filtered src [ip-address] [mac-address] dst [ip-address] [mac-address] wrong cable, interface-id
Pour chaque datagramme d'ARP, une réponse ARP est rejetée si l'adresse IP de destination ne correspond pas à l'adresse de l'hôte local. Une requête ARP est rejetée si l'adresse IP source n'est pas dans le même sous-réseau. Il est souhaitable que ce test soit remplacé par un paramètre de configuration afin de prendre en charge les cas peu fréquents où plusieurs sous-réseaux peuvent coexister sur le même câble.
Une réponse ARP est générée seulement si l'adresse IP de destination est accessible depuis l'hôte local, comme déterminé par l'algorithme de routage, et si le prochain saut ne s'effectue pas par la même interface. Si l'hôte local fonctionne comme passerelle, cela peut entraîner des réponses ARP pour des destinations ne se trouvant pas dans le même sous-réseau. Cela montre que l'abandon de la requête ARP est justifiable.
Ce problème peut être résolu en faisant en sorte que Catalyst 6500 ne réponde pas à toutes les requêtes ARP parce que l'adresse IP source de la requête ARP se trouve sur un sous-réseau différent de l'adresse IP de destination de l'ARP. Par conséquent, le MSFC/Routeur conclut que l'ARP n'est pas resté dans le même domaine de couche 2 et indique le type de câble incorrect. En d'autres termes, le message de débogage de câble incorrect est généré quand la source et la destination de l'ARP n'appartiennent pas au même domaine de couche 2. Pour faire en sorte qu'ARP fonctionne dans ce scénario, l'adresse IP de destination doit être accessible grâce à l'utilisation d'une route statique comme contournement.
Deux entrées s'affichent pour l'adresse MAC dans la table d'adresses MAC.
Cat6K#show mac-address-table int gi 6/11 Displaying entries from Line card 6: Legend: * - primary entry age - seconds since last seen n/a - not available vlan mac address type learn age ports ------+----------------+--------+-----+----------+-------------------------- [FE 1]: * 100 0011.857c.4d10 dynamic Yes 0 Gi6/11 [FE 2]: * 100 0011.857c.4d10 dynamic Yes 95 Gi6/11 Cat6K#show module 6 Mod Ports Card Type Model Serial No. --- ----- -------------------------------------- ------------------ ----------- 6 48 CEF720 48 port 10/100/1000mb Ethernet WS-X6748-GE-TX SADxxxxxxxx Mod MAC addresses Hw Fw Sw Status --- ---------------------------------- ------ ------------ ------------ ------- 6 001d.45fd.xx4a to 001d.45fd.xx79 2.6 12.2(14r)S5 12.2(18)SXF8 Ok Mod Sub-Module Model Serial Hw Status ---- --------------------------- ------------------ ----------- ------- ------- 6 Distributed Forwarding Card WS-F6700-DFC3B SALxxxxxxxx 4.6 Ok Mod Online Diag Status ---- ------------------- 6 Pass
Deux moteurs de recherche de transfert de couche 2 existent dans l'environnement DFC. Dans l'environnement dCEF, il est courant que les moteurs FE1 et FE2 apprennent la même adresse MAC sur le même port sur des cartes de ligne à architecture CEF720/dCEF720.
Les routeurs Cisco ont besoin d'une entrée d'ARP (Address Resolution Protocol) pour chaque adresse IP virtuelle. Tandis que l'équilibrage de charge réseau utilise la multidiffusion de couche 2 pour la livraison des paquets. Dans l'implémentation Cisco de RFC, la multidiffusion est utilisée seulement pour le multicast IP. Par conséquent, quand le routeur ne voit pas d'adresse multicast IP, il ne crée pas automatiquement d'entrée ARP, et vous devez l'ajouter manuellement au routeur.
Normalement, les périphériques Cisco ne placent pas une adresse MAC multicast (l'adresse MAC virtuelle du cluster) dans la table ARP si elle a été résolue par une adresse IP unicast (l'adresse virtuelle du cluster). Afin de résoudre ce problème, vous avez besoin d'un mappage statique de l'adresse IP virtuelle unicast à l'adresse MAC multicast.
Pour plus d'informations, référez-vous à la section Mode multicast de la rubrique Exemple de configuration de commutateurs Catalyst pour l'équilibrage de charge réseau Microsoft.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
27-Oct-2009 |
Première publication |