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 comment la fonctionnalité Internet Group Management Protocol (IGMP) sur les commutateurs de la gamme Catalyst 9K fonctionne avec des débogages.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Sans les fonctionnalités IGMP, un commutateur de couche 2 transfère une trame de multidiffusion à tous les ports (à l'exception du port entrant), ce qui représente un gaspillage des ressources du commutateur.
La surveillance IGMP permet au commutateur d'envoyer des trames de données multidiffusion uniquement aux récepteurs qui rejoignent un groupe particulier en écoutant les rapports/messages de sortie des hôtes. Par défaut, cette fonctionnalité est activée sur un commutateur Cisco de couche 2. Si vous souhaitez activer pour uniquement sur un VLAN particulier, vous pouvez le désactiver globalement et le configurer ip igmp snooping vlan vlan-id avec l'ID de VLAN requis.
Lorsque le client connecté au commutateur de couche 2 demande du trafic de multidiffusion, le commutateur surveille ces informations et crée la table de multidiffusion afin que le commutateur puisse transférer le trafic aux ports destinataires prévus plutôt que d'inonder tous les ports du commutateur.
Topologie
Explication
Afin d'acquérir une compréhension complète de la signalisation IGMP et du flux de trafic dans la communication multidiffusion, il est essentiel de l'examiner à la fois du point de vue du récepteur et de la source.
Transfert côté récepteur
Afin de comprendre le processus IGMP, vous devez comprendre le concept de port mrouter et de demandeur IGMP.
Généralement, lorsque PIM est activé sur une interface de routeur ou l'interface SVI du commutateur, il commence à envoyer des requêtes IGMP périodiquement dans le domaine de diffusion VLAN respectif. L'interface du routeur qui envoie les requêtes n'est rien d'autre que le demandeur IGMP et l'interface du commutateur qui reçoit les requêtes est le port mrouter du commutateur pour ce VLAN.
Tout périphérique d'un domaine de diffusion spécifique n'a qu'un seul port mrouter. Le commutateur commence à créer la table de groupe de surveillance IGMP sous le port mrouter correspondant.
Remarque : en cas de requêtes multiples dans le même domaine de diffusion, le processus de sélection a lieu.
SW1 et SW2 sont des commutateurs de couche 2 sans routage.
Les débogages nous permettent de comprendre le processus de surveillance IGMP.
#debug ip igmp snooping
PC21 connecté à Gi 1/0/17 de SW2, a besoin du flux de multidiffusion 239.1.2.3. PC21 a donc envoyé le rapport de jonction au commutateur.
SW2 a reçu le rapport conjoint sur Gi le 1/0/17.
*Apr 2 15:49:54.353: IGMPSN: Received IGMPv2 Report for group 239.1.2.3 received on Vlan 2717, port Gi1/0/17
*Apr 2 15:49:54.353: IGMPSN: NEW report: Call process_report port:Gi1/0/17 Querier is IGMPv1, Vlan 2717, quer_ver numeric 0.
*Apr 2 15:49:54.353: IGMPSN: Group: Received IGMPv2 report for mcast group 239.1.2.3 from Client 172.16.1.1. Received on Vlan 2717, port Gi1/0/17.
*Apr 2 15:49:54.353: IGMPSN: group: Adding client ip 172.16.1.1, port_id Gi1/0/17, on vlan 2717
Dans ce cas, comme il n'y a pas de demandeur dans le domaine de diffusion, il n'y a pas de port mrouter sur le commutateur pour le VLAN.
Ainsi, le commutateur n'a pas d'autre choix que d'abandonner le rapport IGMP provenant de Gi 1/0/17.
*Apr 2 15:49:54.353: IGMPSN: No mroute detected: Drop IGMPv2 report for group 239.1.2.3 from client 172.16.1.1 received on Vlan 2717, port Gi1/0/17
Si un client IGMP V2 souhaite se désabonner d'un flux de multidiffusion, il peut le faire en envoyant au commutateur un message IGMP-Leave.
L'exemple de rapport IGMP-Leave est mentionné ici.
En général, lorsque le commutateur reçoit le congé IGMP, il supprime l'entrée de la table de groupe de surveillance IGMP.
*Apr 2 15:52:11.237: IGMPSN: Received IGMP Leave for group 239.1.2.3 received on Vlan 2717, port Gi1/0/17
*Apr 2 15:52:11.238: IGMPSN: group: Leave for group 239.1.2.3 from Client 172.16.1.1 received on Vlan 2717, port Gi1/0/17, mvr group (No)
*Apr 2 15:52:11.238: IGMPSN: group: Skip client info adding - src_addr 172.16.1.1, client_addr 172.16.1.1, port_id Gi1/0/17, on vlan 2717
*Apr 2 15:52:11.238: IGMPSN: MCAST IP address 239.1.2.3, MAC address 0100.5e01.0203
Comme le commutateur n'a pas le port mrouter, il ne peut pas créer la table de groupe de surveillance IGMP. Ainsi, il n'a pas l'entrée d'IGMP pour le port Gi 1/0/17. Par conséquent, il ne peut pas localiser le même.
*Apr 2 15:52:11.238: IGMPSN: Can not Locate gce 0100.5e01.0203, on Vlan 2717
*Apr 2 15:52:11.238: IGMPSN: group: Group does not exist - Leave for group 239.1.2.3 from Client 172.16.1.1 received on Vlan 2717, port Gi1/0/17 send to router port
*Apr 2 15:52:11.238: IGMPSN: Call platform_l2mc_snoop_send_mrouter
La création d'un port Mrouter est la première étape essentielle pour que le commutateur démarre la surveillance IGMP avec succès.
Comme mentionné précédemment, les requêtes générales IGMP dépendent de PIM, par conséquent, le mode dense de PIM a été activé sur R2 G1/0/45. (Interface Configuration Mode Command ip pim dense-mode ).
*Apr 2 15:53:30.730: IGMPSN: router: Received non igmp pak on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: router: PIMV2 Hello packet received in 2717
*Apr 2 15:53:30.730: IGMPSN: l2mc_mrd_learn_router_port_internal Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.730: IGMPSN: router: Is not a router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: router: Is not a router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: router: Created router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: mgt: Reverting flood mode to only multicast router ports for Vlan 2717.
*Apr 2 15:53:30.730: IGMPSN: Adding router port Gi1/0/1 to all GCEs in Vlan 2717
*Apr 2 15:53:30.730: IGMPSN: added rport Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: Notify others Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: After l2mcm_rport_add-1 Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Calling HA mrouter sync Iport:Gi1/0/1 p_type:1 mrt_enable:0
*Apr 2 15:53:30.734: IGMPSN: igmpsn_ha_sync_mrouter_port_info enter Port Gi1/0/1 in vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Learning port: Gi1/0/1 as rport on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Received IGMP pak on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.734: IGMPSN: l2mc_mrd_learn_router_port_internal Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Is a router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.734: IGMPSN: router: Learning port: Gi1/0/1 as rport on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: Received IGMP Query for group 0.0.0.0 received on Vlan 2717, port Gi1/0/1 *****
*Apr 2 15:53:30.734: IGMPSN: IGMPv2 General Query received on Vlan 2717, port Gi1/0/1 Resp time 2500 (25 100) msecs, LLQ interval 2000 (2, 1000)
*Apr 2 15:53:30.734: IGMPSN: IGMP general queries received on Vlan 2717 updates all groups
*Apr 2 15:53:30.734: IGMPSN: timer: start report_timer 2500 msecs of vlan 2717
Le commutateur crée le port mrouter pour le VLAN respectif dans lequel il reçoit la requête générale de la part de l’utilisateur interrogé.
SW2#show ip igmp snooping vlan 2717
Vlan 2717:
--------
IGMP snooping : Enabled
Pim Snooping : Disabled
IGMPv2 immediate leave : Enabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY
Robustness variable : 2
Last member query count : 2
Last member query interval : 1000
SW2#show ip igmp snooping querier
Vlan IP Address IGMP Version Port
-------------------------------------------------------------
2717 172.17.1.254 v2 Gi1/0/1
SW2#show ip igmp snooping mrouter
Vlan ports
---- -----
2717 Gi1/0/1(dynamic)
Le demandeur envoie une requête générale IGMP toutes les 60 secondes.
~
*Apr 6 10:37:02.793: IGMPSN: Received IGMP Query for group 0.0.0.0 received on Vlan 2717, port Gi1/0/1
*Apr 6 10:37:02.793: IGMPSN: IGMPv2 General Query received on Vlan 2717, port Gi1/0/1 Resp time 10000 (100 100) msecs, LLQ interval 2000 (2, 1000)
*Apr 6 10:37:02.793: IGMPSN: IGMP general queries received on Vlan 2717 updates all groups
~
~
*Apr 6 10:38:02.793: IGMPSN: Received IGMP Query for group 0.0.0.0 received on Vlan 2717, port Gi1/0/1
*Apr 6 10:38:02.793: IGMPSN: IGMPv2 General Query received on Vlan 2717, port Gi1/0/1 Resp time 10000 (100 100) msecs, LLQ interval 2000 (2, 1000)
*Apr 6 10:38:02.793: IGMPSN: IGMP general queries received on Vlan 2717 updates all groups
~
L'hôte connecté au port Gi 1/0/17 (PC21) a besoin du flux de multidiffusion destiné à 239.1.2.3, de sorte que PC21 envoie le rapport destiné à 239.1.2.3 et destiné au demandeur 172.17.1.254.
Le commutateur surveille le même paquet et crée une entrée dans la table de surveillance IGMP.
*Apr 6 10:38:03.714: IGMPSN: Received IGMPv2 Report for group 239.1.2.3 received on Vlan 2717, port Gi1/0/17
*Apr 6 10:38:03.714: IGMPSN: NEW report: Call process_report port:Gi1/0/17 Querier is IGMPv1, Vlan 2717, quer_ver numeric 2.
*Apr 6 10:38:03.714: IGMPSN: Group: Received IGMPv2 report for mcast group 239.1.2.3 from Client 172.17.1.1. Received on Vlan 2717, port Gi1/0/17.
*Apr 6 10:38:03.714: IGMPSN: group: Adding client ip 172.17.1.1, port_id Gi1/0/17, on vlan 2717
*Apr 6 10:38:03.714: IGMPSN: MCAST IP address 239.1.2.3, MAC address 0100.5e01.0203
*Apr 6 10:38:03.714: IGMPSN: Locate gce 0100.5e01.0203, on Vlan 2717
*Apr 6 10:38:03.714: IGMPSN: locate group 239.1.2.3, on Vlan 2717
*Apr 6 10:38:03.714: IGMPSN: Add v2 group 239.1.2.3 member port Gi1/0/17, on Vlan 2717
*Apr 6 10:38:03.714: IGMPSN: group: Added port Gi1/0/17 to group 239.1.2.3
*Apr 6 10:38:03.714: TIMER_START for group239.1.2.3 for time 10000 * 100
*Apr 6 10:38:03.714: IGMPSN: group: Forwarding 239.1.2.3 report to router ports
*Apr 6 10:38:03.714: IGMPSN: Call platform_l2mc_snoop_send_mrouter
SW2#show ip igmp snooping group
Vlan Group Type Version Port List
-----------------------------------------------------------------------
2717 239.1.2.3 igmp v2 Gi1/0/17
Si le commutateur reçoit le trafic de données destiné au groupe de multidiffusion 239.1.2.3 soit de la liaison montante Gi1/0/1, soit de tout autre port du VLAN 2717, le commutateur le transfère uniquement à l'interface Gi1/0/17 et ne le transfère à aucun autre port du VLAN 2717.
En outre, le rapport IGMP atteint Querier (R2) à partir du port mrouter de SW2 et Querier crée l'entrée de groupe IGMP correspondante. Si R2 reçoit du trafic de données multidiffusion destiné à 239.1.2.3, il est transféré à SW2.
Transfert côté expéditeur/source
PC11, 172.16.1.1 est connecté à SW1 Gi 1/0/3, envoyant le trafic de multidiffusion destiné au port UDP 239.1.2.3 1234.
SW1#show int gigabitEthernet 1/0/3
GigabitEthernet1/0/3 is up, line protocol is up (connected)
Hardware is Gigabit Ethernet, address is 2416.9d7a.1083 (bia 2416.9d7a.1083)
~
~
5 minute input rate 1857000 bits/sec, 170 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
9410 packets input, 12890025 bytes, 0 no buffer
Received 9394 broadcasts (9394 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 9394 multicast, 0 pause input
0 input packets with dribble condition detected
~
~
SW1#show int gigabitEthernet 1/0/3 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Gi1/0/3 12890593 17 9396 0
!
SW1#show int te 1/1/1 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Te1/1/1 1166336 3940 1251 14
Port OutOctets OutUcastPkts OutMcastPkts OutBcastPkts
Te1/1/1 3229106605 2731 2358824 6
!
SW1#show ip igmp snooping querier
Vlan IP Address IGMP Version Port
-------------------------------------------------------------
2716 172.16.1.254 v2 Te1/1/1
!
SW1#show ip igmp snooping mrouter
Vlan ports
---- -----
2716 Te1/1/1(dynamic)
Sur SW1, la surveillance IGMP est activée et le commutateur a déjà un port mrouter. Par défaut, le commutateur transfère le trafic de données multidiffusion reçu sur le port mrouter vers le demandeur.
EPC sur interface source Gi 1/0/3.
SW1#show monitor capture file flash:mycap1.pcap
Starting the packet display ........ Press Ctrl + Shift + 6 to exit
1 0.000000 172.16.1.1 -> 239.1.2.3 RTCP 102 Sender Report Source description
2 0.000100 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
3 0.000140 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
4 0.000178 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
5 0.000234 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
Multidiffusion Transmission de données en continu entrant dans le commutateur SW1 et sortant de Te 1/1/1 vers le routeur PIM ou le demandeur 172.16.1.254.
Le routage multidiffusion et le protocole PIM sont activés pour 10.0.10.0/24, 10.0.20.0/24,172.16.1.0/24 et 172.17.1.0/24 sur le coeur, R1 et R2. Le routage de multidiffusion assure la transmission du flux de multidiffusion dans le réseau L3 et, finalement, le flux atteint R2. Comme R2 dispose de l'entrée de la table de groupe IGMP précédemment apprise via le processus de rapport IGMP, R2 transfère le flux à SW2.
SW2#show int gigabitEthernet 1/0/17 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Gi1/0/17 200 1709 103 0
Port OutOctets OutUcastPkts OutMcastPkts OutBcastPkts
Gi1/0/17 3661503 3 2667 0
Enfin, PC21 reçoit le flux de multidiffusion. OutMcastPkts sur Gi 1/0/17 incrémentation.
EPC sur l'interface Gi 1/0/17 de SW2.
SW2#show monitor capture file flash:mycap1.pcap
Starting the packet display ........ Press Ctrl + Shift + 6 to exit
~
~
14 18.002140 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
15 18.002178 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
16 18.002234 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
~
~
Multidiffusion Transmission en continu de données entrant dans le commutateur SW2 à partir de Gi 1/0/1 et sortant de Gi 1/0/17 vers l’hôte demandant le flux multidiffusion.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
30-Jul-2024 |
Première publication |