La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come usare la funzione IGMP (Internet Group Management Protocol) sugli switch Catalyst serie 9K con i debug.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Senza le funzionalità IGMP, uno switch di layer 2 inoltra un frame multicast a tutte le porte (ad eccezione della porta in ingresso), sprecando risorse dello switch.
Lo snooping IGMP consente allo switch di inviare frame di dati multicast solo ai ricevitori che si uniscono a un particolare gruppo ascoltando i report/lasciando i messaggi dagli host. Per impostazione predefinita, questa funzione è abilitata su uno switch Cisco layer 2. Per abilitare la VLAN solo su una determinata VLAN, è possibile disabilitarla globalmente e configurarla ip igmp snooping vlan vlan-id con l'ID VLAN richiesto.
Quando il client connesso allo switch L2 richiede traffico multicast, lo switch ignora queste informazioni e crea la tabella multicast in modo che lo switch possa inoltrare il traffico alle porte del destinatario previste invece di inviare il traffico a tutte le porte dello switch.
Topologia
Spiegazione
Per ottenere una comprensione completa della segnalazione IGMP e del flusso del traffico nella comunicazione multicast, è fondamentale esaminarla sia dal punto di vista del ricevitore che da quello dell'origine.
Receiver Side Forwarding
Per comprendere il processo IGMP, è necessario comprendere il concetto di porta del router e di query IGMP.
In genere, quando il protocollo PIM è abilitato sull'interfaccia di un router o sulla SVI dello switch, inizia a inviare periodicamente query IGMP sul dominio di broadcast della VLAN interessata. L'interfaccia del router che invia le query non è altro che il querier IGMP e l'interfaccia dello switch che riceve le query è la porta del router dello switch per quella VLAN.
Ogni dispositivo in uno specifico dominio di broadcast ha solo una porta router. Lo switch inizia a creare la tabella dei gruppi di snooping IGMP sotto la rispettiva porta del router.
Nota: in caso di più query nello stesso dominio di trasmissione, viene eseguito il processo di selezione.
SW1 e SW2 sono switch puri di layer 2 senza routing.
I debug consentono di comprendere il processo dello snooping IGMP.
#debug ip igmp snooping
PC21 collegato a Gi 1/0/17 di SW2, richiede uno streaming multicast 239.1.2.3. Il PC21 ha quindi inviato il rapporto di join allo switch.
SW2 ha ricevuto la relazione congiunta su Gi il 1/01/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
In questo caso, poiché non vi sono interrogatori nel dominio di broadcast, non vi è alcuna porta del router sullo switch per la VLAN.
Quindi, lo switch non ha altra scelta che eliminare il report IGMP in arrivo 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 un client IGMP V2 desidera annullare la sottoscrizione a un flusso multicast, può farlo inviando allo switch un messaggio IGMP-leave.
Di seguito è riportato l'esempio del report IGMP-Leave.
In generale, quando lo switch riceve il congedo IGMP, rimuove la voce dalla tabella dei gruppi di snooping 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
Poiché lo switch non dispone della porta del router, non può creare la tabella dei gruppi di snooping IGMP. Quindi, non ha la voce IGMP per la porta Gi 1/0/17. Quindi non può individuare lo stesso.
*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 creazione della porta del router è il primo e fondamentale passaggio per l'avvio corretto dello snooping IGMP da parte dello switch.
Come accennato in precedenza, le query generali IGMP dipendono da PIM; pertanto, la modalità PIM dense è stata abilitata in R2 G1/0/45. (Comando della modalità di configurazione interfaccia 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
Lo switch crea la porta del router per la VLAN corrispondente in cui riceve la query generale dalla VLAN interrogata.
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)
Querier invia una query generale IGMP ogni 60 secondi.
~
*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'host connesso alla porta Gi 1/0/17 (PC21) richiede il flusso multicast destinato alla porta 239.1.2.3, quindi PC21 invia il report destinato alla porta 239.1.2.3 destinata alla query 172.17.1.254.
Lo switch snooping lo stesso pacchetto e crea una voce nella tabella di snooping 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 lo switch riceve il traffico di dati destinato al gruppo multicast 239.1.2.3 dal collegamento in uplink Gi1/0/1 o da qualsiasi altra porta della VLAN 2717, lo switch lo inoltra solo all'interfaccia Gi 1/0/17 e non all'interfaccia Gi 2717.
Inoltre, il report IGMP raggiunge Querier (R2) dalla porta del router di SW2 e Querier crea la voce di gruppo IGMP corrispondente. Se R2 riceve traffico di dati multicast destinato a 239.1.2.3, viene inoltrato a SW2.
Inoltro laterale mittente/origine
PC11, 172.16.1.1 è collegato a SW1 Gi 1/0/3, inviando il traffico multicast destinato alla porta 1234 239.1.2.3 UDP.
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)
Sul software SW1, lo snooping IGMP è abilitato e lo switch ha già una porta router. Per impostazione predefinita, lo switch inoltra il traffico di dati multicast ricevuto sulla porta router al querier.
EPC su interfaccia di origine 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
Streaming di dati multicast in entrata nello switch SW1 e in uscita da Te 1/1/1 verso il router PIM o Query 172.16.1.254.
Il routing multicast e PIM sono abilitati per 10.0.10.0/24, 10.0.20.0/24,172.16.1.0/24 e 172.17.1.0/24 sui core, R1 e R2. Il routing multicast assicura l'inoltro del flusso multicast nella rete L3 e, infine, il flusso raggiunge R2. Poiché R2 dispone della voce IGMP della tabella dei gruppi appresa in precedenza mediante il processo di report IGMP, R2 inoltra il flusso a 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
Infine, PC21 riceve il flusso multicast. OutMcastPkts su Gi 1/0/17 incrementale.
EPC sull'interfaccia Gi 1/0/17 di 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
~
~
Streaming di dati multicast in ingresso nello switch SW2 da Gi 1/0/1 e in uscita da Gi 1/0/17 verso l'host che richiede lo streaming multicast.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
30-Jul-2024 |
Versione iniziale |