Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit l'utilisation élevée du CPU sur différentes plates-formes Catalyst en raison de l'inondation de paquets de détection de l'écouteur multidiffusion IPV6 et des moyens d'atténuer ce problème.
Il n'y a aucune condition préalable.
Aucune spécification déterminée n'est requise pour ce document.
Les informations de ce document sont basées sur les commutateurs de la gamme Cisco Catalyst 6500, Catalyst 4500 et Catalyst 3850.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration.
L'utilisation élevée du CPU peut être vue sur certaines plates-formes Cisco Catalyst en raison du trafic de multidiffusion IPv6 dont l'adresse MAC se situe dans la plage 3333.xxxx.xxxx et qui est transmis au CPU.
Conformément à la RFC7042, tous les identificateurs de multidiffusion MAC-48 prédéfinis « 33-33 » (c'est-à-dire les identificateurs MAC de multidiffusion 2**32 dans la plage de 33-33-00-00-00 à 33-33-FF-FF-FF-FF) sont utilisés comme spécifié dans [RFC2464] pour la multidiffusion IPv6. Un paquet IPv6 avec une adresse de destination de multidiffusion DST, composée des seize octets DST[1] à DST[16], est transmis à l'adresse de multidiffusion Ethernet dont les deux premiers octets sont la valeur hexadécimale 333 et dont les quatre derniers octets sont les quatre derniers octets de DST, comme illustré à la Figure 1.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 1 1 0 0 1 1|0 0 1 1 0 0 1 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DST[13] | DST[14] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DST[15] | DST[16] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(Figure 1: Address Mapping - Multicast)
Il a été constaté à certaines occasions que lorsque des périphériques hôtes utilisant une certaine carte réseau passent en mode veille, ils inondent le trafic de multidiffusion IPv6. Ce problème ne se limite pas à un fournisseur d'hôte particulier, bien que certains chipsets aient été vus comme présentant ce comportement plus souvent que d'autres.
Vous pouvez utiliser les procédures suivantes pour savoir si votre commutateur Catalyst qui voit une utilisation élevée du CPU est affecté par ce problème et implémenter les solutions correspondantes.
Sur les commutateurs Catalyst 3850, NGWC L2M Process utilise le CPU pour traiter les paquets IPv6. Lorsque la surveillance MLD (Multicast Listener Discovery) est désactivée sur le commutateur, le paquet de jonction/sortie MLD est diffusé à tous les ports membres. Et, s'il y a beaucoup de paquets entrants de jonction/sortie MLD, ce processus consommera plus de cycles CPU pour envoyer les paquets sur tous les ports membres. Il a été constaté que lorsque certaines machines hôtes passent en mode veille, elles peuvent envoyer plusieurs milliers de paquets/s de trafic IGMPv6 MLD.
3850#show processes cpu detailed process iosd sorted | exc 0.0
Core 0: CPU utilization for five seconds: 43%; one minute: 35%; five minutes: 33%
Core 1: CPU utilization for five seconds: 54%; one minute: 46%; five minutes: 46%
Core 2: CPU utilization for five seconds: 75%; one minute: 63%; five minutes: 58%
Core 3: CPU utilization for five seconds: 48%; one minute: 49%; five minutes: 57%
PID T C TID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
12577 L 2766882 2422952 291 23.52 23.67 23.69 34816 iosd
12577 L 3 12577 1911782 1970561 0 23.34 23.29 23.29 34818 iosd
12577 L 0 14135 694490 3264088 0 0.28 0.34 0.36 0 iosd.fastpath
162 I 2832830 6643 0 93.11 92.55 92.33 0 NGWC L2M
Configurez ipv6 mld snooping sur les commutateurs concernés pour activer globalement ipv6 mld snooping. Cela devrait réduire l'utilisation du processeur.
3850#conf t
Enter configuration commands, one per line. End with CNTL/Z.
3850(config)#ipv6 mld snooping
3850(config)#end
Lorsque la surveillance MLD est activée, une table d'adresses de multidiffusion IPv6 par VLAN est créée dans le logiciel et le matériel. Le commutateur effectue ensuite un pontage IPv6 basé sur les adresses de multidiffusion dans le matériel, ce qui empêche le traitement de ces paquets par le logiciel.
Cliquez sur le lien pour plus d'informations sur la configuration de la surveillance MLD
Sur les versions antérieures d'IOS XE, il a été constaté que la file d'attente du processeur pouvait être bloquée en raison de ce problème qui empêcherait tous les paquets de contrôle de cette file d'attente d'accéder au processeur. Ceci a été corrigé via CSCuo14829 dans IOS versions 3.3.3 et 3.6.0 et ultérieures. Veuillez consulter ce bogue pour plus de détails.
Les commutateurs de la gamme Catalyst 4500 prennent en charge le transfert matériel du trafic de multidiffusion IPv6 à l'aide de la mémoire TCAM (Ternary Content Addressable Memory). Ceci est expliqué dans Multicast sur les commutateurs Cisco Catalyst 4500E et 4500X
Lorsqu'il s'agit du trafic de découverte de l'écouteur multidiffusion IPv6, le commutateur doit effectuer le transfert logiciel (en utilisant les ressources du processeur). Comme expliqué dans Configuration de la surveillance IPv6 MLD sur les commutateurs Catalyst 4500, la surveillance MLD peut être activée ou désactivée globalement ou par VLAN. Lorsque la surveillance MLD est activée, une table d'adresses MAC de multidiffusion IPv6 par VLAN est créée dans le logiciel et une table d'adresses de multidiffusion IPv6 par VLAN est construite dans le logiciel et le matériel. Le commutateur effectue ensuite un pontage IPv6 basé sur les adresses de multidiffusion dans le matériel. Voici le comportement attendu sur les commutateurs de la gamme Catalyst 4500.
Afin de vérifier le type de paquet qui est pointé sur le CPU, nous pouvons exécuter “ paquet de plateforme de débogage tous les ” de tampon suivi de “ show platform cpu packet buffered ”.
4500#debug platform packet all buffer
platform packet debugging is on
Cat4500#sh platform cpu packet buffered
Total Received Packets Buffered: 1024
-------------------------------------
Index 0:
33 days 11:42:21:833532 - RxVlan: 214, RxPort: Te1/15
Priority: Normal, Tag: Dot1Q Tag, Event: L2 Router, Flags: 0x40, Size: 90
Eth: Src 44:39:C4:39:5A:4A Dst 33:33:FF:7F:EB:DB Type/Len 0x86DD
Remaining data:
0: 0x60 0x0 0x0 0x0 0x0 0x20 0x0 0x1 0xFE 0x80
10: 0x0 0x0 0x0 0x0 0x0 0x0 0x46 0x39 0xC4 0xFF
20: 0xFE 0x39 0x5A 0x4A 0xFF 0x2 0x0 0x0 0x0 0x0
30: 0x0 0x0 0x0 0x0 0x0 0x1 0xFF 0x7F 0xEB 0xDB
40: 0x3A 0x0 0x5 0x2 0x0 0x0 0x1 0x0 0x83 0x0
Ce paquet est arrivé sur l'interface Tengigabitethernet1/15 sur le VLAN 214 à partir de l'adresse MAC source 44:39:C4:39:5A:4A. Le protocole 0x86DD est IPv6 et Dst MAC 33:33:FF:7F:EB:DB est utilisé pour les noeuds MLD IPv6 multidiffusion dans ce cas.
Nous avons deux options pour corriger l'utilisation élevée du CPU en raison de ce trafic.
ipv6 access-list IPv6-Block
permit ipv6 any any
!
class-map TEST
match access-group name IPv6-Block
!
policy-map ipv6
class TEST
police 32000 conform-action drop exceed-action drop
!
control-plane
service-policy input ipv6
Dans l'exemple ci-dessus, nous limitons la quantité de trafic IPv6 qui est traitée par le processeur à 32 000 paquets par seconde.
Les commutateurs Catalyst 6500 prennent des décisions de transfert dans le matériel à l'aide de TCAM qui n'a normalement pas besoin d'assistance CPU tant que TCAM a l'entrée de transfert.
Supervisor Engine 720 sur les commutateurs Catalyst 6500 ont deux processeurs. Un processeur est le NMP (Network Management Processor) ou le SP (Switch Processor). L'autre processeur est le processeur de couche 3, appelé processeur de routage (RP).
L'utilisation du processeur de processus et d'interruption est répertoriée dans la commande show process cpu. Comme indiqué ci-dessous, Élevé Le processeur provoqué par les interruptions est principalement basé sur le trafic. Le trafic commuté d'interruption est un trafic qui ne correspond pas à un processus spécifique, mais qui doit encore être transféré. L'exemple suivant illustre un commutateur Catalyst 6500 dont l'utilisation du CPU sur le RP est élevée en raison d'interruptions.
6500#show process cpu
CPU utilization for five seconds: 98%/92%;
one minute: 99%; five minutes: 99% PID Runtime(ms) Invoked
Vérifiez si une interface ou un VLAN de couche 3 abandonne une grande quantité de trafic. (La file d'attente d'entrée est abandonnée). Si c’est le cas, le trafic peut être acheminé vers le RP à partir de ce VLAN.
Vlan19 is up, line protocol is up
Input queue: 0/75/6303532/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
5 minute input rate 19932000 bits/sec, 26424 packets/sec
5 minute output rate 2662000 bits/sec, 1168 packets/sec
La commande suivante peut être utilisée pour rechercher tous les paquets dans la mémoire tampon de file d’attente d’entrée pour l’interface vlan 19.
6500#show buffer input-interface vlan 19 packet
Vous pouvez également utiliser la capture NetDR pour capturer le trafic allant au CPU sur un commutateur Catalyst 6500. Ce document explique comment interpréter les paquets capturés à l'aide de la capture NetDR.
------- dump of incoming inband packet ------- interface Vl16, routine mistral_process_rx_packet_inlin, timestamp 03:17:56.380 dbus info: src_vlan 0x10(16), src_indx 0x1001(4097), len 0x5A(90) bpdu 0, index_dir 0, flood 1, dont_lrn 0, dest_indx 0x4010(16400) E8820000 00100000 10010000 5A080000 0C000418 01000008 00000008 4010417E mistral hdr: req_token 0x0(0), src_index 0x1001(4097), rx_offset 0x76(118) requeue 0, obl_pkt 0, vlan 0x10(16) destmac 33.33.FF.4A.C3.FD, srcmac C8.CB.B8.29.33.62, protocol 86DD protocol ipv6: version 6, flow 1610612736, payload 32, nexthdr 0, hoplt 1 class 0, src FE80::CACB:B8FF:FE29:3362, dst FF02::1:FF4A:C3FD
Utilisez une ou plusieurs des solutions ci-dessous.
6500(config)#mac-address-table static 3333.FF4A.C3FD vlan <vlan #> drop
6500(config)#mac-address-table 3333.FF4A.C3FD vlan 19 interface Gi1/22
6500(config)#mac access-li extended Multicast_MAC
6500(config-ext-macl)#permit any host 3333.FF4A.C3FD
6500(config-ext-macl)#exit
6500(config)#vlan access-map block-ipv6 10
6500(config-access-map)#action drop
6500(config-access-map)#match mac address Multicast_MAC
6500(config-access-map)#exit
6500(config-access-map)#vlan access-map block-ipv6 20
6500(config-access-map)#action forward
6500(config-access-map)#exit
6500(config)#vlan filter block-ipv6 vlan-list <vlan #>
6500(config)#no ipv6 mld snoopin
6500(config)#ipv6 access-list test
6500(config-ipv6-acl)#permit ipv6 any any
6500(config-ipv6-acl)#exit
6500(config)#class-map TEST
6500(config-cmap)#match access-group name test
6500(config-cmap)#exit
6500(config)#policy-map ipv6
6500(config-pmap)#class TEST
6500(config-pmap-c)#police 320000 conform-action drop exceed-action drop
6500(config-pmap-c)#exit
6500(config)#control-plane
6500(config-cp)#service-policy in ipv6
6500(config-cp)#exit
6500(config)#interface Gi2/22
6500(config-if)#storm-control multicast level 10
7. Si le processeur est élevé sur le SP (processeur de commutation), appliquez la solution de contournement ci-dessous.
6500(config)#mls rate-limit ipv6 mld 10 1
Si vous n'arrivez pas à déterminer la raison en fonction des informations fournies dans ce document, veuillez ouvrir une demande de service TAC pour approfondir votre enquête.