Table des matières

Introduction

Conditions préalables

Composants utilisés

Informations générales

Topologie

Explication

Transfert côté récepteur

Transfert côté expéditeur/source

Introduction

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.

Conditions préalables

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Compréhension de base des protocoles de couche 2 et de la commutation

- Notions de base sur PIM et la multidiffusion IGMP

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- Catalyst 9300 version 17.9.4a

- Catalyst 9500x version 17.13.1

- PC Windows 10 avec lecteur VLC

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.

Informations générales

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

Topologie multidiffusion

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.