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.
A finalidade da espionagem do Cisco Group Management Protocol (CGMP) e do Internet Group Management Protocol (IGMP) é restringir o tráfego multicast em uma rede comutada. Por padrão, um switch LAN inunda tráfego multicast no domínio de broadcast, e isso poderá consumir muita largura de banda se muitos servidores de multicast enviarem fluxos para o segmento.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Não existem requisitos específicos para este documento.
Este documento não se restringe a versões de software e hardware específicas.
O tráfego multicast é inundado porque um switch geralmente aprende endereços MAC ao olhar o campo de endereço de origem de todos os quadros que recebe. Um endereço MAC de multicast nunca é usado como o endereço de origem de um pacote. Tais endereços não aparecem na tabela de endereços MAC, e o switch não tem nenhum método para aprendê-los.
A primeira solução para esse problema é configurar os endereços MAC estáticos de cada grupo e cliente. Essa solução funciona bem, mas não é escalável nem dinâmica. Você pode usas essa solução em um Catalyst 4000, 5000 ou 6000 Switch ao executar um dos seguintes comandos:
set cam static
set cam permanent
Esses dois comandos têm o mesmo efeito, exceto que as entradas estáticas desaparecem na reinicialização e as entradas permanentes não.
A segunda solução é utilizar CGMP, que é um protocolo proprietário da Cisco executado entre o roteador de transmissão múltipla e o Switch. O CGMP permite que o roteador multicast da Cisco compreenda as mensagens de IGMP enviadas pelos hosts e notifique o switch sobre as informações contidas no pacote de IGMP.
A última (e mais eficiente) solução é usar a espionagem de IGMP. Com a espionagem de IGMP, o switch intercepta mensagens de IGMP do host em si e atualiza sua tabela de MAC de acordo. Para dar suporte a espionagem do IGMP é necessário hardware avançado.
As configurações de CGMP mostradas neste documento destinam-se aos Catalyst 4000 e 5000 Switches com CatOS (o CGMP não é aceito em Catalyst 6000 Switches). As configurações de espionagem de IGMP aplicam-se aos Catalyst 5000 e 6000 Switches com CatOS.
A seção a seguir descreve brevemente um endereço de multicast, explica a funcionalidade do IGMP e fornece detalhes adicionais sobre a espionagem de CGMP e de IGMP.
Os endereços IP de multicast são endereços IP da Classe D. Portanto, todos os endereço de IP de 224.0.0.0 até 239.255.255.255 são de multicast. Eles também são conhecidos como Endereços de Destino de Grupo (GDA).
Há um endereço MAC associado a cada GDA. Esse endereço MAC é formado por 01-00-5e, seguido pelos últimos 23 bits do GDA convertidos em hexadecimal, como mostrado a seguir.
239.20.20.20 corresponde ao MAC 01-00-5e-14-14-14.
239.10.10.10 corresponde ao MAC 01-00-5e-0a-0a-0a.
Consequentemente, esse é um não mapeamento um a um, mas um mapeamento de um para muitos. Desses dois endereços, você pode ver que o primeiro octeto (239) não é usado no endereço MAC. Assim, os endereços de multicast com os mesmos três últimos octetos, mas com o primeiro octeto diferente, possuem endereços MAC sobrepostos.
Alguns endereços IP multicast são reservados para uso especial, como mostrado abaixo.
224.0.0.1 – Todos os hosts habilitados para multicast.
224.0.0.2 - Todos os roteadores habilitados para multicast.
O 224.0.0.5 e o 224.0.0.6 são usados pelo OSPF (Open Shortest Path First).
Geralmente, os endereços de 224.0.0.1 a 224.0.0.255 são reservados e usados por vários protocolos (padrão ou de proprietário, como o protocolo de Hot Standby Router Protocol [HSRP]). A Cisco recomenda usá-los para GDA em uma rede de multicast. A espionagem de CGMP e IGMP não funciona com essa faixa de endereços reservados.
O IGMP é um padrão definido em RFC1112 para IGMPv1, em RFC2236 para IGMPv2 e em RFC3376 para IGMPv3. O IGMP especifica como um host pode se registrar em um roteador a fim de receber tráfego multicast específico. A próxima seção fornece uma visão geral resumida do IGMP.
As mensagens do IGMP Versão 1 (IGMPv1) são transmitidas em datagramas IP e contêm os seguintes campos:
Versão: 1
Digite: Há dois tipos de mensagens de IGMP: Consulta de Associação e Relatório de Associação.
Checksum
GDA
Os relatórios de associação são emitidos pelos hosts que desejam receber um grupo de multicast específico (GDA). As consultas de associação são emitidas pelos roteadores em intervalos regulares para verificar se ainda há um host interessado no GDA daquele segmento.
Os relatórios de associação de hosts são emitidos de forma não solicitada (quando o host deseja receber o tráfego GDA primeiro) ou em resposta a uma consulta de associação. Eles são enviados com os seguintes campos:
MAC de origem: Endereço MAC do host
MAC de destino: MAC de destino para o GDA
IP de origem: Endereço IP do host
IP de destino: GDA
Os dados de IGMP contêm, além disso, os campos do GDA e alguns outros campos.
As consultas de associação do host são enviadas pelo roteador para o endereço somente multicast: 224.0.0.1. Essas consultas usam 0.0.0.0 no campo IGMP GDA. Um host para cada grupo deverá responder a essa consulta. Caso contrário, o roteador irá para de enviar o tráfego desse GDA para esse segmento (após três tentativas). O roteador mantém a entrada do roteamento de multicast para cada fonte e a vincula a uma lista de interfaces de saída (a interface de origem do relatório IGMP). Após três tentativas de consulta de IGMP sem resposta, essa interface é apagada da lista de interfaces de saída para todas as entradas vinculadas a esse GDA.
Note: O IGMPv1 não possui nenhum mecanismo de saída. Se um host não deseja mais receber o tráfego, ele simplesmente sai. Se esse for o último host na sub-rede, o roteador não receberá qualquer tipo de resposta para a consulta e eliminará o GDA dessa sub-rede.
No IGMP Versão 2 (IGMPv2), o campo de versão foi removido e o campo de tipo pode agora aceitar diferentes valores. Os tipos são mostrados abaixo.
Consulta de associação
Relatório de associação do IGMPv1
Relatório de Associação da Versão 2
Saída de Grupo
As descrições dos novos recursos mais importantes adicionados ao IGMPv2 estão listadas a seguir.
Mensagem de IGMP Leave: quando um host quer sair de um grupo, ele deve enviar uma mensagem de saída de grupo do IGMP para o destino 224.0.0.2 (em vez de sair silenciosamente como no IGMPv1).
Um roteador pode agora enviar uma consulta específica de grupo enviando uma Consulta de Associação ao grupo GDA em vez de enviá-la a 0.0.0.0.
No IGMP Versão 3 (ICMPv3), há um tipo campo que pode ter os seguintes valores:
Consulta de associação
Relatório de Associação da Versão 3
Uma implementação do IGMPv3 deve também oferecer suporte aos seguintes três tipos de mensagem para a interoperação com versões anteriores do IGMP:
Relatório de Associação da Versão 1 [RFC1112]
Relatório de Associação da Versão 2 [RFC2236]
Saída de Grupo da Versão 2 [RFC2236]
O IGMPv3 adiciona suporte à filtragem de origem, ou seja, a capacidade de um sistema relatar o interesse em receber pacotes de endereços de origem específicos ou de todos, com exceção dos endereços de origem específicos enviados para um endereço de multicast específico. Este recurso também é chamado Source Specific Multicast (SSM).
Para que um computador ofereça suporte ao SSM, ele deverá oferecer suporte ao IGMPv3. Relativamente poucos SO, no entanto, oferecem suporte ao IGMPv3. O Windows XP oferece suporte ao IGMPv3 e há patches de suporte ao IGMPv3 disponíveis para FreeBSD e Linux.
Os administradores devem distinguir entre o suporte ao IGMPv3 em nível de roteador e à espionagem de IGMPv3 em nível de switch. Eles são dois recursos diferentes.
O Catalyst 6000 que executa software de modo híbrido (CatOS no Supervisor e Cisco IOS® Software no MSFC) oferecem suporte oficialmente à espionagem de IGMPv3 a partir da versão 7.5(1).
Nas versões anteriores à 7.5(1), o Catalyst 6000 Switch não possuía suporte oficial ao IGMPv3, mas deve ser capaz de lidar normalmente com os pacotes IGMPv3.
Os Catalyst 6000 que executam IOS Software integrado oferecem suporte ao IGMPv3 em nível de roteador (interface L3) a partir da versão versão 12.1(8a)E.
O Catalyst 4000 apenas oferece suporte ao IGMPv3 em nível de roteador no Supervisor III e IV. Ele não oferece suporte à espionagem de IGMPv3.
O IGMPv3 é aceito em todas as plataformas que executam o Cisco IOS® Software Release 12.1(5)T ou posterior.
Quando um switch executa a espionagem de IGMP, ele intercepta os pacotes de IGMP e preenche a tabela de encaminhamento estática da camada 2 (L2) com base no conteúdo dos pacotes interceptados. Quando há hosts IGMPv1 ou v2 na rede, o switch lê as uniões e saídas do IGMP para determinar quais hosts querem receber qual fluxo de multicast ou parar de receber o fluxo de multicast.
O IGMPv3 é mais complicado, porque usa não somente o endereço de grupo (endereço de multicast), mas também as origens das quais o tráfego é esperado. Independentemente de o switch Catalyst 6000 executar o CatOS 7.5, ou versões posteriores, e a versão 12.1(8a)E nativa do IOS, ou versões posteriores, nenhum outro switch está habilitado a rastrear esses pacotes e criar uma tabela de encaminhamento com base nessas informações. Consequentemente, a espionagem de IGMP deve ser desligada quando há um host IGMPv3 no switch. Quando a espionagem de IGMP é desativada, o switch não pode construir dinamicamente uma tabela de encaminhamento L2 para os fluxos de multicast. Ou seja, o switch inunda os fluxos de multicast.
Quando a espionagem de IGMP está desabilitada, uma solução é configurar manualmente as entradas CAM dinâmicas de multicast para evitar inundação da sub-rede com tráfego multicast. Esta é uma tarefa administrativa, porém não é uma solução dinâmica. Quando um cliente não quer mais receber o tráfego, a entrada de CAM não é removida do switch (a menos que por intervenção manual). Assim, o tráfego de rede ainda é endereçado para o host.
Além disso, quando o IGMPv3 é usado na rede, os switches que usam o CGMP funcionam normalmente, independentemente do fato do CGMP Fastleave não funcionar. Se o CGMP Fastleave for necessário, é melhor reverter para o IGMPv2.
As advertências pendentes específicas de plataforma podem ser encontradas nas notas de versão dos respectivos Switches.
Com o IGMPv1 e o IGMPv2, apenas um roteador por sub-rede de IP envia consultas. Este roteador é denominado roteador de consulta. No IGMPv1, o roteador de consulta é escolhido com a ajuda do Multicast Routing Protocol. No IGMPv2, ele é escolhido pelo menor endereço IP entre os roteadores. Há várias possibilidades abaixo:
O roteador não compreende o relatório de IGMPv2 e, portanto, todos os hosts devem usar apenas o relatório de IGMPv1.
Os hosts IGMPv1 não compreendem a consulta IGMPv2 ou a pergunta de associação de grupo IGMPv2. O roteador deve usar somente o IGMPv1 e suspender a operação de saída.
O roteador IGMPv1 não tem como detectar o roteador IGMPv2. Assim, o roteador IGMPv2 deve ser configurado pelo administrador como um roteador IGMPv1. Em todo caso, ele possível que eles não concordem sobre o roteador de consulta.
Com todas as versões do IGMP, somente um roteador por sub-rede de IP envia consultas. Este roteador é denominado roteador de consulta. No IGMPv1, o roteador de consulta é escolhido com a ajuda do Multicast Routing Protocol. No IGMPv2 e no IGMPv3, ele é escolhido pelo endereço IP mais baixo entre os roteadores. A seguir são mostradas várias opções de interoperabilidade.
Como o roteador não compreende os relatórios IGMPv3, todos os hosts usam relatórios IGMPv1/IGMPv2.
Os hosts IGMPv1/IGMPv2 não compreendem a consulta IGMPv3 ou a consulta de associação IGMPv3. O roteador deverá usar apenas a versão do IGMP correspondente à versão mais baixa de cliente IGMP presente. Se houver clientes IGMPv3 e IGMPv2, o roteador usará o IGMPv2. Se houver clientes IGMPv1, IGMPv2 e IGMPv3, o roteador usará o IGMPv1.
Quando há roteadores de versões diferentes no mesmo segmento, os roteadores da versão menor não têm nenhum meio de detectar os roteadores de versão mais alta. Portanto, os roteadores diferentes devem ser configurados pelo administrador como a mesma versão. Essa versão deve corresponder à versão mais baixa presente em qualquer roteador de consulta.
Se, por padrão, não houver nenhum usuário registrado em um grupo específico em uma sub-rede, o roteador não enviará o tráfego multicast para esse grupo nessa sub-rede. Isso significa que um roteador precisa receber um relatório de IGMP para um GDA para adicioná-lo à tabela de roteamento de multicast e para iniciar o tráfego de encaminhamento para esse grupo.
Em um roteador, você precisa executar as seguintes ações:
Habilite o Multicast Routing no modo global, conforme mostrado abaixo.
ip multicast-routing
Configure um protocolo de roteamento multicast na interface envolvida, conforme mostrado abaixo.
ip pim dense-mode
Monitore o IGMP, como mostrado abaixo.
show ip igmp interface show ip igmp group show ip mroute
Configure um roteador para enviar o relatório IGMP (na interface), conforme mostrado abaixo.
ip igmp join-group [GDA_ip_address]
ip igmp version [1 | 2 | 3]
Um roteador é configurado para rotear entre duas subinterfaces, Fast-Ethernet 0.2 e Fast-Ethernet 0.3. Ambas as interfaces também são configuradas para executar IGMP. Na saída abaixo, você pode ver a versão do IGMP, o grupo unido, e assim por diante.
ip multicast-routing interface FastEthernet0 no ip address no ip directed-broadcast ! interface FastEthernet0.2 encapsulation isl 2 ip address 10.2.2.1 255.255.255.0 no ip redirects no ip directed-broadcast ip pim dense-mode ! interface FastEthernet0.3 encapsulation isl 3 ip address 10.3.3.1 255.255.255.0 no ip redirects no ip directed-broadcast ip pim dense-mode !
show ip igmp interface
Fa0.2 is up, line protocol is up Internet address is 10.2.2.1/24 IGMP is enabled on interface Current IGMP version is 2 CGMP is disabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set IGMP activity: 3 joins, 2 leaves Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 10.2.2.1 (this system) IGMP querying router is 10.2.2.1 (this system) Multicast groups joined: 224.0.1.40 Fa0.3 is up, line protocol is up Internet address is 10.3.3.1/24 IGMP is enabled on interface Current IGMP version is 2 CGMP is disabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set IGMP activity: 1 joins, 1 leaves Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 10.3.3.1 (this system) IGMP querying router is 10.3.3.1 (this system) No multicast groups joined
show ip mroute and show ip igmp group
Router_A#show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.10.10.10), 00:01:15/00:02:59, RP 0.0.0.0, flags: DJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0.3, Forward/Dense, 00:01:16/00:00:00 (10.2.2.2, 239.10.10.10), 00:00:39/00:02:20, flags: CT Incoming interface: FastEthernet0.2, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0.3, Forward/Dense, 00:00:39/00:00:00 Router_A#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.10.10.10 Fa0.3 00:02:48 00:02:04 10.3.3.2 Router_A#
Para o suporte ao CGMP em Catalyst Switches, consulte a Matriz de Suporte dos Catalyst Switches Multicast.
O CGMP foi implementado pela primeira vez pela Cisco para restringir o tráfego de multicast em uma rede L2. Como o Switch, por natureza, não é capaz de buscar os pacotes L3, ele não consegue distinguir um pacote IGMP. Com o CGMP, o roteador fornece a interface entre os hosts. Os roteadores “falam” IGMP e os switches “falam” CGMP.
Os quadros CGMP são quadros Ethernet com o endereço MAC de destino 01-00-0c-dd-dd-dd e com um cabeçalho Subnetwork Access Protocol (SNAP) igual as0x2001. Os quadros CGMP contêm os seguintes campos:
Versão: 1 ou 2.
Tipo de mensagem: União ou Saída.
Contagem: O número de pares de endereços multicast/unicast na mensagem.
GDA: O endereço MAC de 48 bits do grupo de multicast.
Endereço de origem unicast (EUA): O endereço unicast MAC de 48 bits dos dispositivos que querem se unir ao GDA.
Note: O valor do campo do contador determina quantas vezes os dois últimos campos são exibidos.
Por padrão, os processadores de um switch (chamado de NMP no Catalyst) ouvem somente endereços multicast quando o show cam system
é emitido. Quando você ativa o CGMP em um switch, o endereço 01-00-0c-dd-dd-dd é adicionado ao show cam system
Saída do comando.
A tabela abaixo lista todos as possíveis mensagens de CGMP.
GDA | USA | Juntar/Separar | Significado |
---|---|---|---|
Mcast MAC | Cliente MAC | União | Adicione porta ao grupo. |
Mcast MAC | Cliente MAC | Sair | Exclua a porta do grupo. |
00-00-00-00-00-00 | MAC de roteador | União | Atribuir a porta do roteador. |
00-00-00-00-00-00 | MAC de roteador | Sair | Cancele a atribuição da porta do roteador. |
Mcast MAC | 00-00-00-00-00-00 | Sair | Eliminar grupo. |
00-00-00-00-00-00 | 00-00-00-00-00-00 | Sair | Exclua todos os grupos. |
O switch precisa estar ciente de todas as portas de roteador para que elas sejam adicionadas automaticamente qualquer entrada de multicast recém-criada. O Switch identifica as portas do roteador quando recebe uma Junção CGMP para GDA 00-00-00-00-00-00 com Roteador MAC USA (terceiro tipo de mensagem na tabela). Essas mensagens são geradas pelo roteador em todas as interfaces configuradas para executar o CGMP. Há também um método estático para configurar portas de roteador no switch.
Um cliente novo solicita o recebimento do tráfego para um GDA e, portanto, envia uma mensagem de relatório de associação IGMP.
O roteador recebe o relatório IGMP, processa-o e envia uma mensagem CGMP ao Switch. O roteador copia o endereço MAC de destino no campo GDA da união de CGMP e copia o endereço MAC de origem no USA da união de CGMP. Ele então o envia de volta para o switch.
Um switch com CGMP habilitado precisa escutar os endereços CGMP 01-00-0c-dd-dd-dd. O processador do switch procura na tabela CAM o USA. Quando o USA é encontrado na tabela CAM, o switch sabe em qual porta o USA se encontra e executa uma das seguintes ações:
Cria uma entrada estática nova para o GDA e vincular a porta USA a ela junto com todas as portas de roteador.
Adiciona a porta USA à lista de portas deste GDA (se a entrada estática já existir).
As entradas estáticas aprendidas com o CGMP são permanentes, a não ser que ocorra uma alteração na topologia da árvore de abrangência na VLAN ou o roteador envie uma das últimas mensagens de CGMP Leave na tabela anterior.
Quando o IGMPv1 é o host, não envie mensagens de IGMP Leave. O roteador envia somente mensagens de saída se não recebe uma resposta a três consultas do IGMP consecutivas. Isso significa que nenhuma porta será eliminada de um grupo se houver usuários ainda interessados nesse grupo.
Com a introdução de IGMPv2 e a presença de IGMP Leave, a Cisco fez um acréscimo à especificação CGMP original (CGMPv2). Essa adição é denominada CGMP Fast-Leave.
O processamento CGMP Fast-Leave permite que o switch detecte as mensagens de saída do IGMPv2 enviadas para o endereço de multicast somente de roteador (224.0.0.2) por hosts em qualquer uma das portas do Supervisor Engine Module. Quando o Supervisor Engine Module receber uma mensagem de saída, um temporizador de consulta-resposta é iniciado e uma mensagem é enviada à porta na qual a saída foi recebida para determinar se ainda há um host aguardando o recebimento do grupo de multicast naquela porta. Se esse temporizador expirar antes que uma mensagem de união do CGMP seja recebida, a porta será removida da árvore de multicast do grupo de multicast especificado na mensagem de saída original. Se essa for a última porta no grupo de multicast, ela encaminhará a mensagem de IGMP Leave para todas as portas do roteador. O roteador então inicia o processo normal de exclusão ao enviar uma consulta específica de grupo. Como nenhuma resposta é recebida, o roteador remova esse grupo da tabela de Multicast Routing dessa interface. Ele também envia uma mensagem de CGMP Leave para o switch que apaga o grupo da tabela estática. O processamento de licença rápida garante um melhor gerenciamento da largura de banda para todos os hosts em uma rede comutada, mesmo que vários grupos de multicast estejam em uso simultaneamente.
Quando CGMP Leave está habilitado, duas entradas são adicionadas ao show cam system
saída do comando, conforme mostrado abaixo.
01-00-5e-00-00-01 01-00-5e-00-00-02
A mensagem de IGMP Leave utiliza 224.0.0.2 e a consulta de IGMP utiliza 224.0.0.1.
Use as etapas a seguir para fazer Troubleshooting de CGMP:
Devido a um conflito com o HSRP, o processamento do CGMP Leave é desabilitado por padrão. O HSRP usa o endereço MAC 01-00-5e-00-00-02, o qual é o mesmo do IGMP Leave no IGMP Versão 2. Com o CGMP Fast-Leave, todos os pacotes HSRP vão para a CPU do switch. Porque uma mensagem HSRP não é um pacote de IGMP, o switch regenera todas as mensagens desse tipo e as envia para todas as portas de roteador. Os roteadores que recebem saudação hsrp ou peers hsrp perdem conectividade. Portanto, ao depurar problemas de HSRP, tente desabilitar CGMP Fast-Leave.
Para habilitar o processamento CGMP Leave, emita o comando set cgmp leave enable
comando.
Quando o processamento do CGMP Leave está habilitado, o Catalyst 5000 Family Switch aprende as portas de roteador através de mensagens do PIM-v1, do HSRP e de auto-união do CGMP. Quando o processamento de licença do CGMP está desabilitado, o Switch da família Catalyst 5000 identifica as portas do roteador somente por meio de mensagens de junção automática do CGMP.
O CGMP não elimina o tráfego multicast para nenhum endereço IP de multicast mapeado no intervalo de endereços MAC de 01-00-5E-00-00-00 a 01-00-5E-00-00-FF. Os endereços IP de multicast reservados, no intervalo de 224.0.0.0 a 224.0.0.255, são utilizados para encaminhar o tráfego IP de multicast local em um único salto L3.
Uma rede somente de origem é um segmento com apenas um multicast de origem e nenhum cliente real. Por isso, existe a possibilidade de que nenhum relatório IGMP seja gerado nesse segmento. No entanto, o CGMP ainda precisa restringir a inundação dessa origem (apenas para o uso do roteador). Se um roteador detectar tráfego multicast em uma interface sem relatório de IGMP, ela é identificada como uma rede multicast somente de origem. O roteador gera uma mensagem de união do CGMP para si, e o switch simplesmente adiciona esse grupo (com a porta de roteador apenas).
Os comandos abaixo são válidos somente para o Catalyst 4000 e 5000 Series (mais 2901, 2902, 2926, 2948G e 4912).
Roteador Multicast
Habilitar o multicasting de IP (comando global):
ip multicast-routing
Habilite cada interface que executa o CGMP (modo de interface) com os seguintes comandos:
ip pim
ip igmp
ip cgmp
Depure o problema de multicast de L2 com os seguintes comandos:
debug ip igmp
debug ip cgmp
Catalyst 4000 ou 5000 Series
Habilitar/desabilitar CGMP com os seguintes comandos:
set cgmp
Habilite/desabilite o CGMP Fast-Leave com os seguintes comandos:
set cgmp leave
Configure o roteador de multicast (estático) com os seguintes comandos:
set multicast router
Limpe o roteador multicast com os seguintes comandos:
clear multicast router
A seguir, uma lista dos vários comandos para verificar a operação do CGMP é apresentada.
show cam static
show cgmp statistic
show cgmp leave
show multicast router
show multicast group
show multicast group cgmp
show multicast group count
Este é um exemplo de configuração prático de um roteador Cisco e de Catalyst Switches.
Essa configuração mostra as operações envolvidas quando um host se une a um grupo. Os alos desta configuração mostram as operações enquanto um host sai de um grupo com o Fast-Leave habilitado. Os rastreamentos do farejador e a configuração do switch e do roteador também são fornecidos.
Consulte estas etapas ao se unir a um grupo com CGMP.
Habilite o CGMP no switch, como mostrado abaixo.
Switch_B (enable) set cgmp en MCAST-CGMP: Set CGMP Sys Entrie MCAST-CGMP: Set CGMP Sys Entrie MCAST-CGMP: Set CGMP Sys Entrie CGMP support for IP multicast enabled. Switch_B (enable)
Como você pode ver abaixo, a entrada 01-00-0c-dd-dd-dd é incluída para todas as VLANs no show cam system
Saída do comando. Além disso, como a rede está executando o CGMP Fast-Leave, é possível ver as entradas para 01-00-5e-00-00-01 e 01-00-5e-00-00-02.
Switch_B (enable) show cgmp leave CGMP: enabled CGMP leave: enabled Switch_B (enable) show cam system * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 1 00-10-2f-00-14-00 # 7/1 1 00-e0-fe-4b-f3-ff # 1/9 1 01-00-0c-cc-cc-cc # 1/9 1 01-00-0c-cc-cc-cd # 1/9 1 01-00-0c-dd-dd-dd # 1/9 1 01-00-0c-ee-ee-ee # 1/9 1 01-80-c2-00-00-00 # 1/9 1 01-80-c2-00-00-01 # 1/9 2 00-10-2f-00-14-00 # 7/1 2 01-00-0c-cc-cc-cc # 1/9 2 01-00-0c-cc-cc-cd # 1/9 2 01-00-0c-dd-dd-dd # 1/9 2 01-80-c2-00-00-00 # 1/9 2 01-80-c2-00-00-01 # 1/9 3 01-00-0c-cc-cc-cc # 1/9 3 01-00-0c-cc-cc-cd # 1/9 3 01-00-0c-dd-dd-dd # 1/9 3 01-80-c2-00-00-00 # 1/9 3 01-80-c2-00-00-01 # 1/9 Total Matching CAM Entries Displayed = 19
O roteador envia uma mensagem CGMP Join a GDA 00-00-00-00-00-00 com o MAC USA do roteador. Consequentemente, a porta de roteador é adicionada à lista de portas de roteador (veja o primeiro exemplo abaixo).
No roteador
6d01h: CGMP: Sending self Join on Fa0.3 6d01h: GDA 0000.0000.0000, USA 0060.70cd.83c9
No switch
MCAST-CGMP-JOIN: recvd CGMP JOIN msg on port 3/1 vlanNo 2 MCAST-CGMP-JOIN: join GDA 00-00-00-00-00-00 MCAST-CGMP-JOIN:USA 00-60-70-cd-83-c9 MCAST-ROUTER: Adding QUERIER port 3/1, vlanNo 2 MCAST-ROUTER: Creating RouterPortTimer for port 3/1, vlanNo 2 Switch_B (enable) show multi router CGMP enabled IGMP disabled Port Vlan --------- ---------------- 3/1 2-3 Total Number of Entries = 1 '*' - Configured
O PC em 3/1 envia ao IGMP um relatório contendo o GDA: 239.10.10.10 (veja o quadro 2 abaixo). Abaixo é mostrado o comando show ip igmp group
saída do comando no roteador Router_A.
Isso mostra que o roteador agora encaminha o tráfego do endereço 224.10.10.10 para o fa0.3. Esta é uma consequência do recebimento do relatório IGMP de 10.3.3.2, que é o PC cliente.
Router_A#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.10.10.10 Fa0.3 00:02:48 00:02:04 10.3.3.2 Router_A#
O roteador recebe o relatório e envia uma mensagem CGMP Join junto com as seguintes informações:
MAC de origem: Endereço MAC do roteador
MAC de destino: 01-00-cc-dd-dd-dd
Índice: Endereço MAC do PC cliente (EUA): Endereço MAC 00-00-0c-07-ac-00 do grupo de multicast: 01-00-5e-0a-0a-0a (consulte o quadro 3 a seguir)
No roteador
6d01h: IGMP: Received v2 Report from 10.3.3.2 (Fa0.3) for 239.10.10.10 6d01h: CGMP: Received IGMP Report on Fa0.3 6d01h: from 10.3.3.2 for 239.10.10.10 6d01h: CGMP: Sending Join on Fa0.3
O switch com 01-00-cc-dd-dd-dd no show cam system
a saída do comando tem o CGMP ativado. O switch pode processar o pacote.
O switch faz uma consulta na tabela de CAM dinâmica para determinar em que porta o endereço MAC do PC cliente se encontra. O endereço está localizado na porta 3/2 e o switch faz uma entrada estática na tabela CAM para 01-00-5e-0a-0a-0a-0a, vinculada à porta 3/2. O switch também adiciona a porta de roteador 3/1 à entrada estática para esse GDA.
No switch
MCAST-CGMP-JOIN: recvd CGMP JOIN msg on port 3/1 vlanNo 3 MCAST-CGMP-JOIN: join GDA 01-00-5e-0a-0a-0a MCAST-CGMP-JOIN:USA 00-60-5c-f4-bd-e2 MCAST-CGMP-JOIN: 3/2/3: index 81 MCAST-CGMP-JOIN: recvd CGMP JOIN msg on port 3/1 vlanNo 2 MCAST-CGMP-JOIN: join GDA 01-00-5e-00-01-28 MCAST-CGMP-JOIN:USA 00-60-70-cd-83-c9 MCAST-CGMP-JOIN: 3/1/2: index 80
Todo o tráfego subsequente para o grupo de multicast 239.10.10.10 é enviado somente para essa porta nesta VLAN. Abaixo é mostrada a entrada estática no Catalyst Switch onde 3/1 é a porta de roteador e 3/2 é a porta do cliente.
Switch_B (enable) show cam static * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 3 01-00-5e-0a-0a-0a 3/1-2 Total Matching CAM Entries Displayed = 3 Switch_B (enable)
O exemplo abaixo exige que o cliente seja um IGMP Versão 2 e que o Fast-Leave seja habilitado no Switch.
O seguinte procedimento habilita o CGMP Fast-Leave. Veja o show cgmp leave
para determinar se está ativado. Além disso, veja o show cam system
para determinar se o switch está ouvindo 01-00-5e-00-00-01 e 01-00-5e-00-00-02 (endereços usados para a licença).
Switch_B (enable) show cgmp leave CGMP: enabled CGMP leave: enabled Switch_B (enable) show cam sys * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 1 00-10-2f-00-14-00 # 7/1 1 00-e0-fe-4b-f3-ff # 1/9 1 01-00-0c-cc-cc-cc # 1/9 1 01-00-0c-cc-cc-cd # 1/9 1 01-00-0c-dd-dd-dd # 1/9 1 01-00-0c-ee-ee-ee # 1/9 1 01-80-c2-00-00-00 # 1/9 1 01-80-c2-00-00-01 # 1/9 2 00-10-2f-00-14-00 # 7/1 2 01-00-0c-cc-cc-cc # 1/9 2 01-00-0c-cc-cc-cd # 1/9 2 01-00-0c-dd-dd-dd # 1/9 2 01-00-5e-00-00-01 # 1/9 2 01-00-5e-00-00-02 # 1/9 2 01-80-c2-00-00-00 # 1/9 2 01-80-c2-00-00-01 # 1/9 3 01-00-0c-cc-cc-cc # 1/9 3 01-00-0c-cc-cc-cd # 1/9 3 01-00-0c-dd-dd-dd # 1/9 3 01-00-5e-00-00-01 # 1/9 3 01-00-5e-00-00-02 # 1/9 3 01-80-c2-00-00-00 # 1/9 Do you wish to continue y/n [n]? y Total Matching CAM Entries Displayed = 22
O cliente envia uma mensagem de saída do IMPG para 224.0.0.2. O switch a intercepta e envia uma consulta de IGMP na porta em que recebe a saída. O seguinte é debug
saída no switch:
MCAST-IGMP-LEAVE:Recvd leave on port 3/2 vlanNo 3 MCAST-IGMP-LEAVE:router_port_tbl[vlanNo].QueryTime = 0 MCAST-IGMP-LEAVE:deletion_timer = 1 MCAST-SEND:Transmitting IGMP Mac Based GS Query msg on port 3/2 vlanNo 3 MCAST-SEND: Transmit Succeeded for IGMP Group Specific Query msg on port 3/2 vlanNo 3
Como nenhuma resposta foi recebida, o Catalyst encaminha a mensagem de IGMP Leave para o roteador, conforme mostrado abaixo.
MCAST-TIMER:IGMPLeaveTimer expired on port 3/2 vlanNo 3 GDA 01-00-5e-0a-0a-0a MCAST-TIMER:IGMPLeaveTimer expiry: Transmit IGMP Leave on port 3/1 vlanNo 3 MCAST-SEND:Transmitting IGMP Leave msg on port 3/1 vlanNo 3 MCAST-SEND: Inband Transmit Succeeded for IGMP Leave Message on port 3/1 vlanNo 3
O roteador recebe uma mensagem IGMP Leave, portanto, envia uma mensagem CGMP Leave para o Switch e também exclui o grupo de sua lista de grupos IGMP. Abaixo está o debug
saída do comando no roteador.
No roteador
IGMP: Received Leave from 10.200.8.108 (Fa0.3) for 239.10.10.10 IGMP: Send v2 Query on Fa0.3 to 239.10.10.10 IGMP: Send v2 Query on Fa0.3 to 239.10.10.10 CGMP: Sending Leave on Fa0.3 GDA 0100.5e0a.0a0a, USA 0000.0000.0000 IGMP: Deleting 239.10.10.10 on Fa0.3
Quadro 1
O quadro 1 é um quadro de união do CGMP ao GDA 00-00-00-00-00-00. Ele é usado para adicionar a porta de roteador à lista de porta de roteador.
ISL: ----- ISL Protocol Packet ----- ISL: ISL: Destination Address = 01000C0000 ISL: Type = 0 (Ethernet) ISL: User = 0 (Normal) ISL: Source Address = 8C958B7B1000 ISL: Length = 76 ISL: Constant value = 0xAAAA03 ISL: Vendor ID = 0x8C958B ISL: Virtual LAN ID (VLAN) = 2 ISL: Bridge Protocol Data Unit (BPDU) = 0 ISL: Port Index = 193 ISL: Reserved ISL: ETHER: ----- Ethernet Header ----- ETHER: ETHER: Destination = Multicast 01000CDDDDDD !--- Send to the CGMP !--- macaddress present inshow cam sys
!--- command output. ETHER: Source = Station Cisco11411E1 ETHER: 802.3 length = 24 ETHER: LLC: ----- LLC Header ----- LLC: LLC: DSAP Address = AA, DSAP IG Bit = 00 (Individual Address) LLC: SSAP Address = AA, SSAP CR Bit = 00 (Command) LLC: Unnumbered frame: UI LLC: SNAP: ----- SNAP Header ----- SNAP: SNAP: Vendor ID = Cisco1 SNAP: Type = 2001 (CGMP) SNAP: CGMP: ----- CGMP ----- CGMP: CGMP: Version = 16 CGMP: Type = 0 (Join) CGMP: Reserved CGMP: Count = 1 CGMP: CGMP: Group Destination Address and Unicast Source Address CGMP: CGMP: GDA =0000.0000.0000 CGMP: USA =0000.0C14.11E1 !--- MAC address of the router. CGMP:
O resultado do quadro 1 está no switch, onde 3/1 é a porta conectada ao roteador:
Quadro 2
O quadro 2 é um relatório de associação de IGMP enviado pelo host para solicitar (ou confirmar) que os usuários desejam receber tráfego para o grupo 239.10.10.10.
ISL: ----- ISL Protocol Packet ----- ISL: ISL: Destination Address = 01000C0000 ISL: Type = 0 (Ethernet) ISL: User = 0 (Normal) ISL: Source Address = 8C958B7B1000 ISL: Length = 76 ISL: Constant value = 0xAAAA03 ISL: Vendor ID = 0x8C958B ISL: Virtual LAN ID (VLAN) = 2 ISL: Bridge Protocol Data Unit (BPDU) = 0 ISL: Port Index = 195 ISL: Reserved ISL: ETHER: ----- Ethernet Header ----- ETHER: ETHER: Destination = Multicast 01005E0A0A0A !--- Destination is the GDA MAC. ETHER: Source = Station Cisco176DCCA !--- Sourced by the PC connected in 3/1. ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = C0 IP: 110. .... = internetwork control IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: Total length = 28 bytes IP: Identification = 0 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 1 seconds/hops IP: Protocol = 2 (IGMP) IP: Header checksum = CC09 (correct) IP: Source address = [10.1.1.2] IP: Destination address = [224.10.10.10] IP: No options IP: IGMP: ----- IGMP header ----- IGMP: IGMP: Version = 1 IGMP: Type = 6 (Ver2 Membership Report) IGMP: Unused = 0x00 IGMP: Checksum = FFEA (correct) IGMP: Group Address = [224.10.10.10] IGMP:
Quadro 3
O quadro 3 é o quadro de CGMP enviado pelo roteador ao Switch, para instruí-lo a adicionar uma entrada estática para 01-00-5e-0a-0a-0a.
ISL: ----- ISL Protocol Packet ----- ISL: ISL: Destination Address = 01000C0000 ISL: Type = 0 (Ethernet) ISL: User = 0 (Normal) ISL: Source Address = 8C958B7B1000 ISL: Length = 76 ISL: Constant value = 0xAAAA03 ISL: Vendor ID = 0x8C958B ISL: Virtual LAN ID (VLAN) = 2 ISL: Bridge Protocol Data Unit (BPDU) = 0 ISL: Port Index = 193 ISL: Reserved ISL: ETHER: ----- Ethernet Header ----- ETHER: ETHER: Destination = Multicast 01000CDDDDDD ETHER: Source = Station Cisco11411E1 ETHER: 802.3 length = 24 ETHER: LLC: ----- LLC Header ----- LLC: LLC: DSAP Address = AA, DSAP IG Bit = 00 (Individual Address) LLC: SSAP Address = AA, SSAP CR Bit = 00 (Command) LLC: Unnumbered frame: UI LLC: SNAP: ----- SNAP Header ----- SNAP: SNAP: Vendor ID = Cisco1 SNAP: Type = 2001 (CGMP) SNAP: CGMP: ----- CGMP ----- CGMP: CGMP: Version = 16 CGMP: Type = 0 (Join) CGMP: Reserved CGMP: Count = 1 CGMP: CGMP: Group Destination Address and Unicast Source Address CGMP: CGMP: GDA =0100.5E0A.0A0A !--- GDA MAC added inshow cam static
!--- command output. CGMP: USA =0000.0C76.DCCA !--- MAC of the PC in 3/1. CGMP:
Abaixo é mostrada a configuração do roteador e do switch.
Router_A (router) Configuration: Router_A#write terminal Building configuration... Current configuration: ! version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname Router_A ! ! ip subnet-zero ip multicast-routing ip dvmrp route-limit 20000 interface FastEthernet0 no ip address no ip directed-broadcast ! interface FastEthernet0.1 encapsulation isl 1 ip address 10.1.1.1 255.255.255.0 no ip redirects no ip directed-broadcast ! interface FastEthernet0.2 encapsulation isl 2 ip address 10.2.2.1 255.255.255.0 no ip redirects no ip directed-broadcast ip pim dense-mode ip cgmp ! interface FastEthernet0.3 encapsulation isl 3 ip address 10.3.3.1 255.255.255.0 no ip redirects no ip directed-broadcast ip pim dense-mode ip cgmp ! Switch_B configuration for CGMP: #cgmp set cgmp enable set cgmp leave enable ! CGMP statistics for VLAN 3: Switch_B (enable) show cgmp sta 3 CGMP enabled CGMP statistics for vlan 3: valid rx pkts received 109 invalid rx pkts received 0 valid cgmp joins received 108 valid cgmp leaves received 1 valid igmp leaves received 1 valid igmp queries received 63 igmp gs queries transmitted 1 igmp leaves transmitted 1 failures to add GDA to EARL 0 topology notifications received 0 Switch_B (enable)
A espionagem de IGMP é uma outra característica que permite capturar diretamente quadros IGMP. Para o suporte à espionagem de IGMP nos Catalyst Switches, consulte Matriz de suporte aos Multicast Catalyst Switches.
A espionagem de IGMP, como implicado pelo nome, é uma característica que permite ao switch “escutar” as conversações IGMP entre hosts e roteadores. Quando um switch ouve um relatório IGMP de um host para um determinado grupo de multicast, o switch adiciona o número da porta do host à lista GDA para esse grupo. E, quando o switch ouve um IGMP Leave, ele remove a porta do host da entrada da tabela CAM.
O switch escuta as seguintes mensagens a fim de detectar portas de roteador com aespionagem de IGMP:
IGMP Membership query send to 01-00-5e-00-00-01
PIMv1 hello send to 01-00-5e-00-00-02
PIMv2 hello send to 01-00-5e-00-00-0d
Provas DVMRP enviar para 01-00-5e-00-04
Mensagem MOSPF envia para 01-00-5e-00-05 ou 06.
Ao ativar o rastreamento IGMP em um switch, todas as entradas MAC acima são adicionadas ao show cam system
saída de comando do switch de espionagem. Quando uma porta de roteador é detectada, ela é adicionada à lista de portas de todos os GDA nessa VLAN.
A seguir encontram-se dois cenários de associação:
Cenário A: O host A é o primeiro host a se unir a um grupo no segmento.
O host A envia um relatório de sociedade de IGMP não solicitado.
O switch intercepta os relatórios de associação de IGMP que foram enviados pelo host que queria se unir ao grupo.
O switch cria uma entrada de multicast para esse grupo e a vincula à porta em que recebeu o relatório e a todas as portas de roteador.
O switch envia o relatório de IGMP a todas as portas de roteador. O roteador também recebe o relatório de IGMP e atualiza sua tabela de roteamento de multicast de acordo.
Cenário B: O host B agora é o segundo host a juntar-se ao mesmo grupo.
Host B envia um relatório de associação de IGMP não solicitado.
O switch intercepta o relatório de associação de IGMP que foi enviado pelo host que queria se unir ao grupo.
O switch não necessariamente envia o relatório de IGMP a todas as portas de roteador. Na realidade, o switch envia relatórios de IGMP às portas de roteador usando o relatório de proxy e encaminha somente um relatório por grupo dentro de 10s.
Note: A fim de manter a associação ao grupo, o roteador multicast envia a uma consulta IGMP a cada 60 segundos. Essa consulta é interceptada pelo switch e encaminhada para todas as portas no switch. Todos os hosts que são membros do grupo respondem a essa consulta. No entanto, considerando que o switch intercepta o relatório da resposta também, o outro host não vê cada um dos outros relatórios e, assim, todos os hosts enviam um relatório (em vez de um por grupo). O switch usa então o relatório de proxy para enviar somente um relatório por grupo entre todas as respostas recebidas.
Suponha que Host A deseje sair do grupo, mas Host B ainda queira recebê-lo.
O switch captura a mensagem de IGMP Leave de Host A.
O switch emite uma consulta IGMP específica do grupo para o grupo nessa porta (e somente nessa porta).
Se o Switch não receber um relatório, ele descartará essa porta da entrada. Caso ele receba uma resposta dessa porta, nada será feito e a licença será descartada.
Host B ainda está interessado pelo grupo nesse switch. Esta não seria a última porta sem roteador na entrada. Consequentemente, o switch não encaminha a mensagem de licença.
Agora suponha que o host B deseja sair do grupo e o host B é o último usuário interessado por este grupo neste segmento.
O switch captura a mensagem de IGMP Leave de Host A.
O switch emite uma consulta IGMP específica do grupo para o grupo nessa porta.
Se o switch não receber um relatório, ele descartará esta porta da entrada.
Esta é a última porta "não roteador" para o GDA. O switch envia a mensagem de IGMP Leave para todas as portas de roteador e remove a entrada da sua tabela.
Em algumas redes, devido às limitações de hardware, talvez você não consiga usar a espionagem de IGMP em todos os switches. Nesse caso, talvez seja necessário para executar CGMP em alguns Switches em alguma rede.
Observe que este é um caso especial. O switch que executa a espionagem de IGMP detecta mensagens de CGMP e também que alguns switches na rede estão executando o CGMP. Portanto, ele entra em um modo IGMP-CGMP especial e desabilita a geração de relatórios de proxy. Isso é absolutamente necessário para a operação apropriada do CGMP porque os roteadores usam o endereço MAC de origem do relatório de IGMP para criar uma união de CGMP. Roteadores que executam o CGMP precisam ver todos os relatórios de IGMP para que a geração de relatórios de proxy seja desabilitada. Os relatórios enviados para o roteador devem ser somente aqueles estritamente necessários para a espionagem do IGMP.
Se o segmento contiver somente um servidor multicast (origem de multicast) e nenhum cliente, você poderá se ver frente a uma situação em que não terá nenhum pacote IGMP nesse segmento, mas terá muito tráfego multicast. Nesse caso, o switch simplesmente envia o tráfego desse grupo para todos no segmento. Felizmente, um switch que executa a espionagem de IGMP pode detectar estes fluxos de multicast e adicionar uma entrada de multicast para esse grupo com somente a porta de roteador. Essas entradas são sinalizadas internamente como mcast_source_only e expiram a cada 5 minutos, ou quando a porta do roteador sai. Observe que, mesmo depois de tal envelhecimento, o endereço será reaprendido em alguns segundos se o tráfego continuar. Dentro do período de retransmissão, pode ocorrer inundação momentânea na VLAN. Para evitar isso e manter as entradas, use o comando set igmp flooding enable | disable
comando. Depois que a inundação é desativada, o switch não envelhece as entradas somente de origem.
Assim como no CGMP, os GDAs mapeados em um MAC do intervalo 01-00-5e-00-00-xx nunca são removidos pela espionagem de IGMP.
Para habilitar/desabilitar a espionagem de IGMP, emita o seguinte comando:
set igmp
Para configurar o roteador de multicast (estático), execute o seguinte comando:
set multicast router
clear multicast router
Para monitorar e verificar as estatísticas IGMP, acione os seguintes comandos:
show igmp statistics
show multicast router
A configuração para este exemplo é similar à do teste de CGMP utilizado anteriormente neste documento. A única diferença é que as portas 3/2 e 3/3 estão ambas conectadas à mesma VLAN e ambas estão configuradas para clientes e para se juntarem ao grupo 224.10.10.10.
O exemplo a seguir explica várias manipulações, examina o que o Switch faz e a saída resultante. No exemplo a seguir, Switch_B é um Catalyst 5500 que executa a espionagem de IGMP e Router_A é o roteador multicast conectado à porta 3/1.
Ative o rastreamento IGMP no switch e veja o resultado emitindo o comando debug
comando. Observe que cada conjunto de entradas foi adicionado ao show cam sys
saída do comando, permitindo a detecção da porta do roteador através de PIM, MOSPF e assim por diante.
Switch_B (enable) set igmp en MCAST-IGMP: Set Sys Entries MCAST-SYS-ENTRIES: Add system Entries in vlan 1 MCAST-IGMP: Set Sys Entries MCAST-SYS-ENTRIES: Add system Entries in vlan 2 MCAST-IGMP: Set Sys Entries MCAST-SYS-ENTRIES: Add system Entries in vlan 3 IGMP feature for IP multicast enabled Switch_B (enable) show cam sys * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 1 00-10-2f-00-14-00 # 7/1 1 00-e0-fe-4b-f3-ff # 1/9 1 01-00-0c-cc-cc-cc # 1/9 1 01-00-0c-cc-cc-cd # 1/9 1 01-00-0c-dd-dd-dd # 1/9 1 01-00-0c-ee-ee-ee # 1/9 1 01-00-5e-00-00-01 # 1/9 1 01-00-5e-00-00-04 # 1/9 1 01-00-5e-00-00-05 # 1/9 1 01-00-5e-00-00-06 # 1/9 1 01-00-5e-00-00-0d # 1/9 1 01-80-c2-00-00-00 # 1/9 1 01-80-c2-00-00-01 # 1/9 2 00-10-2f-00-14-00 # 7/1 2 01-00-0c-cc-cc-cc # 1/9 2 01-00-0c-cc-cc-cd # 1/9 2 01-00-0c-dd-dd-dd # 1/9 2 01-00-5e-00-00-01 # 1/9 2 01-00-5e-00-00-04 # 1/9 2 01-00-5e-00-00-05 # 1/9 2 01-00-5e-00-00-06 # 1/9 2 01-00-5e-00-00-0d # 1/9
O switch recebe um pacote PIMv2 do roteador Router_A e adiciona a porta de roteador.
MCAST-IGMPQ:recvd a PIM V2 packet of type HELLO on the port 3/1 vlanNo 2 MCAST-ROUTER: Adding port 3/1, vlanNo 2 MCAST-ROUTER: Creating RouterPortTimer for port 3/1, vlanNo 2 MCAST-IGMPQ:recvd a PIM V2 packet of type HELLO on the port 3/1 vlanNo 3 MCAST-ROUTER: Adding port 3/1, vlanNo 3 MCAST-ROUTER: Creating RouterPortTimer for port 3/1, vlanNo 3 Switch_B (enable) show multi router CGMP disabled IGMP enabled Port Vlan --------- ---------------- 3/1 2-3 Total Number of Entries = 1 '*' - Configured Switch_B (enable)
Conecte um novo host no grupo 224.10.10.10 (na porta 3/2). Esse host envia um relatórios de associação de IGMP. O relatório é recebido e espionado pelo switch, a entrada é adicionada e o relatório de IGMP é enviado para o roteador.
Em Switch_B
MCAST-IGMPQ:recvd an IGMP V2 Report on the port 3/2 vlanNo 3 GDA 224.10.10.10 MCAST-RELAY:Relaying packet on port 3/1 vlanNo 3 MCAST-SEND: Inband Transmit Succeeded for IGMP RELAY msg on port 3/1 vlanNo 3 Switch_B (enable) show cam static * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 3 01-00-5e-0a-0a-0a 3/1-2
Adicione mais um usuário na VLAN 3 na porta 3/3, conforme mostrado abaixo.
Switch_B (enable) show cam static * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 3 01-00-5e-0a-0a-0a 3/1-3
Remova a porta 3/2. A porta 3/2 envia uma mensagem de IGMP Leave; o switch envia de volta uma consulta específica de grupo IGMP na porta 3/2 e inicia um temporizador. Quando o temporizador expira sem receber uma resposta, ele exclui a porta do grupo.
MCAST-IGMPQ:recvd an IGMP Leave on the port 3/2 vlanNo 3 GDA 224.10.10.10 MCAST-IGMPQ-LEAVE:router_port_tbl[vlanNo].QueryTime = 0 MCAST-DEL-TIMER: Deletion Timer Value set to Random Value 1 MCAST-SEND:Transmitting IGMP Mac Based GS Query msg on port 3/2 vlanNo 3 MCAST-SEND: Transmit Succeeded for IGMP Group Specific Query msg on port 3/2 vlanNo 3 MCAST-TIMER:IGMPLeaveTimer expired on port 3/2 vlanNo 3 GDA 01-00-5e-0a-0a-0a MCAST-TIMER:IGMPLeaveTimer:delete leave timer Switch_B (enable) show cam static * = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 3 01-00-5e-0a-0a-0a 3/1,3/3
O host na porta 3/3 sai o grupo e envia uma mensagem de IGMP Leave. A única diferença do ponto anterior é que a mensagem de IGMP Leave é finalmente encaminhada para porta do roteador.
MCAST-IGMPQ:recvd an IGMP Leave on the port 3/3 vlanNo 3 GDA 224.10.10.10 MCAST-SEND:Transmitting IGMP Mac Based GS Query msg on port 3/3 vlanNo 3 MCAST-SEND: Transmit Succeeded for IGMP Group Specific Query msg on port 3/3 vlanNo 3 MCAST-TIMER:IGMPLeaveTimer expired on port 3/3 vlanNo 3 GDA 01-00-5e-0a-0a-0a MCAST-TIMER:IGMPLeaveTimer expiry: Transmit IGMP Leave on port 3/1 vlanNo 3 MCAST-SEND:Transmitting IGMP Leave msg on port 3/1 vlanNo 3 MCAST-SEND: Inband Transmit Succeeded for IGMP Leave Message on port 3/1 vlanNo 3 MCAST-TIMER:IGMPLeaveTimer:delete leave timer
A configuração da sub-rede agora voltou para o início, seu estado no Passo 1. A entrada multicast desapareceu do show cam static
Saída do comando.
Para concluir, veja um exemplo de show igmp static
saída do comando, conforme mostrado abaixo.
Switch_B (enable) show igmp stat 2 IGMP enabled IGMP statistics for vlan 2: Total valid pkts rcvd: 329 Total invalid pkts recvd 0 General Queries recvd 82 Group Specific Queries recvd 0 MAC-Based General Queries recvd 0 Leaves recvd 0 Reports recvd 82 Queries Xmitted 0 GS Queries Xmitted 0 Reports Xmitted 0 Leaves Xmitted 0 Failures to add GDA to EARL 0 Topology Notifications rcvd 0 Switch_B (enable) show igmp stat 3 IGMP enabled IGMP statistics for vlan 3: Total valid pkts rcvd: 360 Total invalid pkts recvd 0 General Queries recvd 93 Group Specific Queries recvd 6 MAC-Based General Queries recvd 0 Leaves recvd 11 Reports recvd 64 Queries Xmitted 0 GS Queries Xmitted 14 Reports Xmitted 0 Leaves Xmitted 10 Failures to add GDA to EARL 0 Topology Notifications rcvd 1 Switch_B (enable)
Revisão | Data de publicação | Comentários |
---|---|---|
2.0 |
07-Mar-2022 |
Links quebrados atualizados e removidos. |
1.0 |
07-Feb-2014 |
Versão inicial |