O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como o recurso Internet Group Management Protocol (IGMP) nos switches da série Catalyst 9K funciona com depurações.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Sem os recursos de IGMP, um switch de camada 2 encaminhará um quadro multicast para todas as portas (exceto a porta de entrada), o que é um desperdício de recursos do switch.
O rastreamento de IGMP permite que o switch envie quadros de dados de multicast somente para os receptores que se unem a um grupo específico, ouvindo relatórios/deixando mensagens dos hosts. Por padrão, esse recurso é ativado em um switch de camada 2 da Cisco. Se quiser habilitar somente para uma VLAN específica, você poderá desabilitá-la globalmente e configuráip igmp snooping vlan vlan-id-la com a VLAN-id necessária.
Quando o cliente conectado ao switch L2 solicita tráfego multicast, o switch rastreia essas informações e cria a tabela multicast para que o switch possa encaminhar o tráfego para as portas de destinatário pretendidas, em vez de inundar todas as portas do switch.
Topologia
Explicação
Para obter uma compreensão abrangente da sinalização de IGMP e do fluxo de tráfego na comunicação multicast, é crucial examiná-la da perspectiva do receptor e da origem.
Encaminhamento do lado do receptor
Para entender o processo IGMP, você precisa entender o conceito de porta do roteador mrouter e consultante IGMP.
Geralmente, quando o PIM é ativado em uma interface de roteador ou no SVI do switch, ele começa a enviar consultas IGMP periodicamente no respectivo domínio de broadcast da VLAN. A interface do roteador que envia as consultas não é nada além do consultante IGMP e a interface do Switch que recebe as consultas é a porta mrouter do switch para essa VLAN.
Qualquer dispositivo em um domínio de broadcast específico tem apenas uma porta mrouter. O switch começa a criar a tabela de grupos de rastreamento IGMP na respectiva porta mrouter.
Observação: no caso de várias consultas no mesmo domínio de broadcast, o processo de eleição ocorre.
SW1 e SW2 são switches de Camada 2 puros sem roteamento.
As depurações nos permitem compreender o processo de espionagem de IGMP.
#debug ip igmp snooping
PC21 conectado à Gi 1/0/17 de SW2, precisa de fluxo multicast 239.1.2.3. Então o PC21 enviou o relatório de união ao switch.
SW2 recebeu o relatório conjunto sobre Gi em 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
Nesse caso, como não há nenhum consultante no domínio de broadcast, não há nenhuma porta mrouter no switch para a VLAN.
Portanto, o switch não tem escolha a não ser descartar o relatório IGMP que chega da 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
Se um cliente IGMP V2 desejar cancelar a assinatura de um fluxo de multicast, ele poderá fazer isso enviando ao switch uma mensagem IGMP-leave.
O exemplo de relatório IGMP-Leave é mencionado aqui.
Em geral, quando o switch recebe a saída IGMP, ele remove a entrada da tabela de grupos de rastreamento 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 o switch não tem a porta mrouter, ele não pode criar a tabela de grupos de rastreamento IGMP. Portanto, ele não tem a entrada de IGMP para a porta Gi 1/0/17. Portanto, não pode localizar o mesmo.
*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
A criação da porta do roteador Mé é a primeira etapa vital para que o switch inicie o rastreamento IGMP com êxito.
Como mencionado anteriormente, as consultas gerais de IGMP dependem do PIM, portanto, o modo denso de PIM foi ativado em R2 G1/0/45. (Comandoip pim dense-mode do Modo de Configuração de Interface ).
*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
O switch cria a porta mrouter para a respectiva VLAN na qual recebe a consulta geral do 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)
O consultante envia a consulta geral de IGMP a 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
~
O host conectado à porta Gi 1/0/17 (PC21) precisa do fluxo multicast destinado a 239.1.2.3, portanto, o PC21 envia o relatório destinado a 239.1.2.3 destinado ao consultante 172.17.1.254.
O switch rastreia o mesmo pacote e cria uma entrada na tabela de rastreamento 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
Se o switch receber tráfego de dados destinado ao grupo multicast 239.1.2.3 do uplink Gi1/0/1 ou de qualquer outra porta na VLAN 2717, o switch apenas o encaminhará para a interface Gi 1/0/17 e não o encaminhará para qualquer outra porta na VLAN 2717.
Além disso, o relatório IGMP alcança o consultante (R2) da porta mrouter do SW2 e o consultante cria a respectiva entrada de grupo IGMP para o mesmo. Se R2 receber tráfego de dados multicast destinado a 239.1.2.3, ele será encaminhado para SW2.
Encaminhamento do lado do remetente/origem
PC11, 172.16.1.1 está conectado à Gi 1/0/3 do SW1, enviando tráfego multicast destinado à porta UDP 1234 239.1.2.3.
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)
No SW1, o snooping IGMP está habilitado e o switch já tem a porta mrouter, o switch encaminhará por padrão o tráfego de dados multicast recebido na porta mrouter para o consultante.
EPC na interface Gi 1/0/3 de origem.
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
Transmissão de dados multicast entrando no switch SW1 e saindo de Te 1/1/1 em direção ao roteador PIM ou Querier 172.16.1.254.
O roteamento multicast e o PIM estão habilitados para 10.0.10.0/24, 10.0.20.0/24,172.16.1.0/24 e 172.17.1.0/24 no Core, R1 e R2. O roteamento multicast garante o encaminhamento do fluxo multicast na rede L3 e, finalmente, o fluxo alcança R2. Como R2 tem a entrada da tabela de grupos IGMP aprendida anteriormente através do processo de relatório IGMP, R2 encaminha o fluxo para 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 recebe o fluxo multicast. OutMcastPkts em Gi incrementando 1/0/17.
EPC na interface Gi 1/0/17 do 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
~
~
Transmissão de dados multicast entrando no switch SW2 a partir da Gi 1/0/1 e saindo da Gi 1/0/17 em direção ao host que solicita a transmissão multicast.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
30-Jul-2024 |
Versão inicial |