Contenido

Introducción

Prerequisites

Componentes Utilizados

Antecedentes

Topología

Explicación

Reenvío del lado receptor

Reenvío del lado remitente/origen

Introducción

Este documento describe cómo funciona la función Internet Group Management Protocol (IGMP) en los switches Catalyst 9K Series con los debugs.

Prerequisites

Cisco recomienda que tenga conocimiento sobre estos temas:

- Comprensión básica de los protocolos L2 y switching

- Conceptos básicos de PIM e IGMP Multicast

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Catalyst 9300 Versión 17.9.4a

- Catalyst 9500x Versión 17.13.1

- PC con Windows 10 y reproductor VLC

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

Sin las capacidades de IGMP, un switch de capa 2 reenviará una trama de multidifusión a todos los puertos (excepto al puerto de entrada), lo que supone un desperdicio de recursos del switch.

La indagación IGMP permite que el switch envíe tramas de datos multicast solamente a aquellos receptores que se unen a un grupo determinado al escuchar los informes o dejar mensajes de los hosts. De forma predeterminada, esta función está activada en un switch de capa 2 de Cisco. Si desea habilitar para solamente en una VLAN determinada, puede inhabilitarla globalmente y configurarla ip igmp snooping vlan vlan-id con el VLAN-id requerido.

Cuando el cliente conectado al switch L2 solicita tráfico multicast, el switch detecta esta información y construye la tabla multicast de modo que el switch pueda reenviar el tráfico a los puertos destinatarios previstos en lugar de inundar todos los puertos del switch.

Topología

Topología de multidifusión

Explicación

Para obtener una comprensión integral de la señalización IGMP y el flujo de tráfico en la comunicación multidifusión, es crucial examinarla desde las perspectivas del receptor y del origen.

Reenvío del lado receptor

Para comprender el proceso IGMP, debe entender el concepto de puerto mrouter y solicitante IGMP.

Generalmente, cuando se habilita PIM en una interfaz de router o la SVI del switch, comienza a enviar consultas IGMP periódicamente en el dominio de broadcast de VLAN respectivo. La interfaz del router que envía las consultas no es otra cosa que el solicitante IGMP y la interfaz del switch que recibe las consultas es el puerto mrouter del switch para esa VLAN.

Cualquier dispositivo en un dominio de broadcast específico sólo tiene un puerto mrouter. El switch comienza a crear la tabla de grupos de indagación IGMP bajo el puerto mrouter respectivo.

Nota: En caso de múltiples consultas en el mismo dominio de broadcast, el proceso de elección se lleva a cabo.

SW1 y SW2 son switches de capa 2 puros sin routing.

Las depuraciones nos permiten comprender el proceso de indagación de IGMP.

#debug ip igmp snooping

El PC21 conectado al Gi 1/0/17 de SW2 necesita un flujo de multidifusión 239.1.2.3. Así que PC21 envió el informe de unión al switch.

SW2 recibió el informe conjunto sobre Gi el 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

En este caso, como no hay ningún consultor en el dominio de broadcast, no hay ningún puerto mrouter en el switch para la VLAN.

Por lo tanto, el switch no tiene más opción que descartar el informe IGMP que llega desde 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 cliente IGMP V2 desea darse de baja de un flujo multicast, puede hacerlo enviando al switch un mensaje de ausencia de IGMP.

Aquí se menciona el ejemplo del informe IGMP-Leave.

En general, cuando el switch recibe la ausencia de IGMP, el switch elimina la entrada de la tabla de grupos de indagación de 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

Como el switch no tiene el puerto mrouter, no puede crear la tabla de grupos de indagación IGMP. Por lo tanto, no tiene la entrada de IGMP para el puerto Gi 1/0/17. Por lo tanto, no puede localizar el mismo.

*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 creación del puerto Mrouter es el primer paso vital para que el switch inicie la indagación IGMP con éxito.

Como se mencionó anteriormente, las consultas generales de IGMP dependen de PIM, por lo tanto, el modo denso de PIM se ha habilitado en 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

El switch crea el puerto mrouter para la VLAN respectiva en la que recibe la consulta general del router consultado.

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)

El solicitante envía una consulta general IGMP cada 60 segundos.

~

*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

~

El host conectado al puerto Gi 1/0/17 (PC21) necesita el flujo de multidifusión destinado a 239.1.2.3, por lo que PC21 envía el informe destinado a 239.1.2.3 destinado al solicitante 172.17.1.254.

El switch detecta el mismo paquete y crea una entrada en la tabla de indagación 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 el switch recibe tráfico de datos destinado al grupo multicast 239.1.2.3 desde el link ascendente Gi1/0/1 o desde cualquier otro puerto en VLAN 2717, el switch solamente lo reenvía a la interfaz Gi 1/0/17 y no reenvía a ningún otro puerto en VLAN 2717.

Además, el informe IGMP llega al solicitante (R2) desde el puerto mrouter de SW2 y el solicitante crea la entrada de grupo IGMP respectiva para el mismo. Si R2 recibe tráfico de datos multicast destinado a 239.1.2.3, se reenvía a SW2.

Reenvío del lado remitente/origen

PC11, 172.16.1.1 está conectado a SW1 Gi 1/0/3, enviando tráfico multicast destinado al puerto 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)

En SW1, la indagación IGMP está habilitada y el switch ya tiene el puerto mrouter, el switch reenviará de forma predeterminada el tráfico de datos multicast recibido en el puerto mrouter hacia el solicitante.

EPC en la interfaz de origen 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

Transmisión de datos de multidifusión entrando en el switch SW1 y saliendo desde Te 1/1/1 hacia el router PIM o el solicitante 172.16.1.254.

El routing multidifusión y PIM están habilitados para 10.0.10.0/24, 10.0.20.0/24,172.16.1.0/24 y 172.17.1.0/24 en Core, R1 y R2. El ruteo multicast asegura reenviar el flujo multicast en la red L3 y finalmente, el flujo alcanza R2. Como R2 tiene la entrada de tabla de grupo IGMP previamente aprendida a través del proceso de informe IGMP, R2 reenvía la secuencia al 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

Finalmente, PC21 recibe el flujo de multidifusión. OutMcastPkts on Gi 1/0/17 incrementando.

EPC en la interfaz 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

~

~

Transmisión de datos de multidifusión entrando en el switch SW2 desde Gi 1/0/1 y saliendo desde Gi 1/0/17 hacia el host que solicita la transmisión de multidifusión.